Linux——安装及管理程序
一、Linux应用程序基础
1、应用程序与系统命令的关系
2、典型应用程序的目录结构
3、常见的软件包封装类型
二、RPM包管理工具
1、rpm软件包管理器Red-Hat Package Manager
2、RPM软件包
3、rmp命令格式
三、查询RPM软件包信息
1、查询已安装的RPM软件信息
常用选项
2、查询RPM软件包文件中的信息
常用选项
四、安装、升级、卸载RPM软件包
1、安装或升级RPM软件
2、卸载指定的RPM软件
五、维护RPM数据库
1、重建RPM数据库
2、导入验证公钥
六、解决软件包依赖关系方法
1、安装有依赖关系的多个软件时
2、卸载有依赖关系的多个软件时
3、忽略依赖关系
七、源代码编译
1、源代码编译概述
2、编译安装的基本过程
3、yum一键安装
(1)配置本地yum源仓库
(2)yum常用的操作命令
(3)使用阿里云仓库当做YUM源方法
一、Linux应用程序基础
1、应用程序与系统命令的关系
2、典型应用程序的目录结构
3、常见的软件包封装类型
二、RPM包管理工具
1、rpm软件包管理器Red-Hat Package Manager
由Red Hat 公司提出,被众多Linux发行版所采用
建立统一的文件数据库
详细记录软件包安装、卸载、升级等变化信息
自动分析软件包依赖关系
2、RPM软件包
软件素材参考: http://www.rpm.org
一般格式:
3、rmp命令格式
rpm命令能够实现几乎所有对RPM软件包的管理功能
执行 “man rpm” 命令可以获得关于rpm命令的详细帮助信息
rpm命令功能
查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
维护重建RPM数据库信息等综合管理操作
三、查询RPM软件包信息
1、查询已安装的RPM软件信息
常用选项
常用选项 说明
rpm -q 软件名 查询指定软件是否已安装
rpm -qi 软件名 显示己安装的指定软件的详细信息
rpm -ql 软件名 显示己安装的指定软件的文件列表
rpm -qc 软件名 列出己安装的指定软件的配置文件
rpm -qd 软件名 列出己安装的指定软件的软件包文档所在位置
rpm -qR 软件名 列出已安装的指定软件的依赖的软件包及文件
rpm -qF软件名 查询已安装的指定软件属于哪个安装包
rpm -qa 显示当前系统中以rpm方式安装的所有软件列表
rpm -qa | grep -i postfix 查询软件postfix是否安装
2、查询RPM软件包文件中的信息
常用选项
常用选项 说明
rpm -qpi RMP包文件名 查询指定软件包的详细信息
rpm -qpl RMP包文件名 查询指定软件包的文件列表
rpm -qpc RMP包文件名 查询指定软件包的配置文件
rpm -qpd RMP包文件名 查询指定软件包的软件包文档的位置
四、安装、升级、卸载RPM软件包
1、安装或升级RPM软件
常用选项 说明
-i 安装一个新的RPM包文件
-U 升级某个软件包,若未安装过,则进行安装
-F 升级某个软件包,若未安装过,则放弃安装
-h 在安装或升级软件包的过程中,以“#”号显示安装进度
-v 显示软件安装过程中的详细信息
–force $强制安装某个软件包,比如要安装版本更旧的软件包
2、卸载指定的RPM软件
常用选项 说明
-e 卸载指定名称的软件包
-nodeps 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系
五、维护RPM数据库
1、重建RPM数据库
当RPM数据库发生损坏时,可通过重建RPM数据库修复
2、导入验证公钥
在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要向RPM数据库中导入位于光盘根目录下的公钥文件。
以挂载在mnt目录为例:
mount /dev/sr0 /mnt/
rpm --import /mnt/RPM-GPG-KEY-CentOS-7
六、解决软件包依赖关系方法
1、安装有依赖关系的多个软件时
被依赖的软件包需要先安装
可同时指定多个 .rpm 包文件进行安装
2、卸载有依赖关系的多个软件时
依赖其他程序的软件包需要先卸载
可同时指定多个软件名进行卸载
3、忽略依赖关系
结合"–nodeps"选项,但可能导致软件异常
七、源代码编译
1、源代码编译概述
使用源代码安装软件的优点
获得最新的软件版本,及时修复bug
根据用户需要,灵活定制软件功能
应用场合举例
安装较新版本的应用程序时
当前安装版本无法满足需要时
需要为应用程序添加新的功能时
Tarball封包
.tar.gz和.tar.bz2格式居多
软件素材参考:http://sourceforge.net
完整性校验
md5sum校验工具
确认源代码编译环境
需要安装支持C/C++程序语言的编译器,如gcc、gcc-c++、make等
2、编译安装的基本过程
(1)tar解包
tar zxvf/jxvf xxx.tar.gz/xxx.tar.bz2 -C
(2)配置软件模块(安装路径、开启或关闭模块功能、管理服务进程的用户设定)
./configure --prefix=目标路径(此软件安装到哪里去)
(3)编译(将源代码转换为可执行的程序)
make
(4)安装
make install
3、yum一键安装
(1)配置本地yum源仓库
mount /dev/cdrom /mnt/ #光盘挂载到/mnt目录下
cd /etc/yum.repos.d/
mkdir repos.bak #创建一个新目录用来存放本目录内 .repo 格式的文件
mv *.repo repos.bak
cd /etc/yum.repos.d/ #回到目录
vim local.repo #进入local.repo进行配置
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定 URL 访问路径为光盘挂载目录 /mnt
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不验证软件包的签名
yum clean all && yum makecache #删除yum缓存并更新
(2)yum常用的操作命令
使用yum方式进行安装
yum install -y gcc gcc-c++ make
(3)使用阿里云仓库当做YUM源方法
第一步:将我们创建的local.repo文件移动到repo.bak目录下(也可以是别的备份目录)
第二步:将可以连外网的系统打开,执行wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 将阿里云镜像下载到/etc/yum.repos.d/目录下
第三步:刷新缓存, yum claen all && yum makecache #清理缓存并且生成新的缓存
,执行wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 将阿里云镜像下载到/etc/yum.repos.d/目录下
第三步:刷新缓存, yum claen all && yum makecache #清理缓存并且生成新的缓存
然后就可以直接用阿里云仓库里的软件包安装文件了,都是最新的软件包,但是必须有网的环境下才可以使用。如果想在没有网的情况下也能使用yum仓库里的软件,就需要将阿里云仓库下载到本地,占用空间较高。