目录
1. Linux应用程序基础
1.1 应用程序与系统命令的关系
| 角色 | 系统命令 | 应用程序 |
| 文件位置 | 一般在/bin和/sbin目录中,或为Shell内部指令 | 通常在/usr/bin和/usr/sbin目录中 |
| 主要用途 | 完成对系统的基本管理工作,例如IP配置工具 | 完成相对独立的其他辅助任务,例如网页浏览器 |
| 适用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在图形界面中运行 |
| 运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式 |
1.2 典型应用程序的目录结构
| 文件类型 | 保存目录 |
| 普通执行程序文件 | /usr/bin |
| 服务器执行程序文件和管理程序文件 | /usr/sbin |
| 应用程序配置文件 | /etc |
| 日志文件 | /var/log |
| 应用程序参考文档文件 | /usr/share/doc |
| 应用程序手册页文件 | /usr/share/man |
1.3 常见的软件包封装类型
| 文件类型 | 保存目录 |
| RPM软件包 | 扩展名为“.rpm” |
| DEB软件包 | 扩展名为“.deb” |
| 源代码软件包 | 一般为“.tar.gz”、“.tar.bz2”等格式的压缩包 |
| 包含程序的原始代码 | |
| 绿色免安装的软件包 | 软件包的扩展名不一,以TarBall格式的居多;在压缩包内提供已编译好的执行程序文件;解开压缩包后的文件即可直接使用 |
2.RPM软件包管理工具
2.1 RPM包管理工具
Red-Hat Package Manager
由Red Hat公司提出,被众多Linux发行版所采用
建立统一的数据库文件
详细记录软件包安装、卸载等变化信息
自动分析软件包依赖关系
2.2 RPM软件包
软件素材参考:http://www.rpm.org
一般命名格式:
bash-4.1.2-15.el6_4.x86_64.rpm
bash软件名称-4.1.2版本号-15发布次数-x86_64硬件平台-rpm扩展名
2.3 rpm命令的格式
rpm命令能够实现几乎所有对RPM软件包的管理功能
执行“man rpm”命令可以获得关于rpm命令的详细帮助信息
rpm命令功能:
查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
维护RPM数据库信息等综合管理操作
2.4 查询RPM软件包信息
①查询已安装的 RPM 软件信息

②查询已安装rpm软件信息
| rpm | -q | 软件名 | 查询指定软件是否已安装 |
| rpm | -qi | 软件名 | 显示已安装的指定软件的详细信息 |
| rpm | -ql | 软件名 | 显示已安装的指定软件的文件列表 |
| rpm | -qc | 软件名 | 列出已安装的指定软件的配置文件 |
| rpm | -qd | 软件名 | 列出己安装的指定软件的软件包文档所在位置 |
| rpm | -qR | 软件名 | 列出己安装的指定软件的依赖的软件包及文件 |
| rpm | -qf | 文件或目录 | 查询已安装的指定软件属于哪个安装包 |
rpm -qa #显示当前系统中以rpm方式安装的所有软件列表
rpm -qa I grep -i postfix #查询软件postfix是否己安装
③查询未安装的RPM软件包文件中信息
| rpm | -qpi | RPM包文件名 | 查询指定软件包的详细信息 |
| rpm | -qpl | RPM包文件名 | 查询指定软件包的文件列表 |
| rpm | -qpc | RPM包文件名 | 查询指定软件包的配置文件 |
| rpm | -qpd | RPM包文件名 | 查询指定软件包的软件包文档的位置 |
④安装、升级、RPM软件包格式:
rpm [选项] RPM包文件
rpm -ivh RPM软件包
常用选项

⑤维护RPM数据库
1.重建RPM数据库
当 RPM 数据库发生损坏,可通过 重建RPM数据库 修复
[root@localhost ~]# rpm --rebuilddb
或[root@localhost ~]# rpm --initdb
2.导入验证公钥
在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件
[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7
3.源代码编译概述
3.1 使用源代码安装软件的优点
获得最新的软件版本,及时修复bug
根据用户需要,灵活定制软件功能
3.2 应用场景使用简单举例
安装较新版本的应用程序时
当前安装的程序无法满足需要时
需要为应用程序添加新的功能时
Tarball封包
.tar.gz和.tar.bz2格式居多
软件素材参考:http://sourceforge.net
完整性校验
md5sum校验工具
[root@localhost ~]# md5sum httpd-2.4.25.tar.gz
24fb8b9e36cf131d78caae864fea0f6a httpd-2.4.25.tar.gz
确认源代码编译环境
需安装支持C/C++程序语言的编译器,如:gcc、gcc-c++、make、……
3.3 用yum解决源码安装依赖关系问题

配置本地yum源仓库
先配置本地yum源仓库
mount /dev/cdrom /mnt/ #把光盘挂载到/mnt目录下
cd /etc/yum.repos.d/
mkdir repos.bak
mv * repos.bak
vim local.repo
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定URL 访问路径为光盘挂载目录
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不验证软件包的签名
yum clean all && yum makecache #删除yum缓存并更新
yum常用的操作命令:
yum -y install 软件名 #安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名 #卸载软件包,可自动解决其依赖关系
yum -y update 软件名 #升级软件包
yum list #查询软件包列表
yum list installed #查询系统中已安装的软件包
yum list available #查询仓库中尚未安装的软件包
yum list updates #查询可以升级版本的软件包
yum info 软件名 #查询软件包的描述信息
yum info httpd
yum search [all] 关键词 #根据某个关键词来查找相关的软件包
yum search all httpd
yum -y install 软件名 安装、升级软件包,“-y”选项表示自动确认
yum -y remove 软件名 卸载软件包,可自动解决其依赖关系
yum -y update 软件名 升级软件包
yum list 查询软件包列表
yum list installed 查询系统中已安装的软件包
yum list available 查询仓库中尚未安装的软件包
yum list updates 查询可以升级版本的软件包
yum info httpd
yum info 软件名 查询软件包的描述信息
yum search all httpd
yum search [all] 关键词 根据某个关键词来查找相关的软件包
yum whatprovides netstat
yum whatprovides 命令 查询命令属于哪个软件包
使用yum方式进行安装
yum install -y gcc gcc-c++ make
3.4 yum常用操作命令

4.源代码编译安装
编译安装的基本过程
第一步:tar 解包
tar zxvf/jxvf xxx.tar.gz/xxx.tar.bz2 -C 目标路径
第二步:配置软件模块(安装路径、开启或关闭模块功能、管理服务进程的用户设定)
./configure --prefix=目标路径(此软件安装到哪里去)
第三步:编译(将源代码转换为可执行的程序)
make
第四步:安装
make install
tar解包
习惯上将软件包释放到/usr/src/目录;解包后的源代码文件位置 /usr/src/软件名-版本号/
解包示例:[root@localhost ~]# tar zxf httpd-2.4.25.tar.gz -C /usr/src/
解压源代码包,并指定释放目录
./configure配置
使用源码目录中的configure脚本;执行“./configure --help”可查看帮助
典型的配置选项:
–prefix=软件安装目录
解包示例:[root@localhost ~]# cd /usr/src/httpd-2.4.25/
[root@localhost httpd-2.4.25]# ./configure --prefix=/usr/local/apache
若不指定任何配置选项,将采用默认值
make编译与安装
编译
执行make命令
安装
执行make install命令
命令示例:[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install
测试、应用、维护软件
使用前
[root@localhost httpd-2.4.25]# vim /usr/local/apache/conf/httpd.conf
启动Apache
[root@localhost httpd-2.4.25]# /usr/local/apache/bin/apachectl start
运行 lynx 127.0.0.1查看本机Apache运行状态
总结
本章主要学习了yum软件包的安装和管理
本文详细介绍了Linux系统中RPM软件包的管理,包括查询、安装、升级和卸载等操作,以及源代码编译安装的过程,强调了源码安装的灵活性和获取最新软件版本的优势。通过实例演示了如何使用yum工具解决依赖关系问题,并提供了常用yum命令的使用方法。
7249

被折叠的 条评论
为什么被折叠?



