- 安装及管理程序
- 1.Linux应用程序基础
- 1)应用程序与系统命令的关系
- 2)典型应用程序的目录结构
- 3)常见的软件包封装类型
- 2.RPM包管理工具
- 3.查询已安装的RPM软件信息
- 4.查询未安装的RPM软件包文件中信息
- 5.安装、升级、卸载RPM软件包
- 6.维护RPM数据库
- 1)重建RPM数据库
- 2)导入验证公钥
- 7.解决软件包的依赖关系
- 8.源代码编译概述
●Red-Hat Package Manager
由Red Hat公司提出,被众多Linux发行版所采用
建立统一的数据库文件
详细记录软件包安装、卸载等变化信息
自动分析软件包依赖关系
●RPM软件包
软件素材参考:
http://www.rpm.org
一般命名格式:
bash-4.1.2-15.el6_4.x86_64.rom
3.查询已安装的RPM软件信息rpm -q 软件名 查询指定软件是否已安装
rpm -qi 软件名 显示已安装的指定软件的详细信息
rpm -ql 软件名 显示已安装的指定软件的文件列表
rpm -qc 软件名 列出已安装的指定软件的配置文件
rpm -qd 软件名 列出已安装的指定软件的软件包文档所在位置
rpm -qR 软件名 列出已安装的指定软件的依赖的软件包及文件
rpm -qF 文件或目录 查询已安装的指定软件属于哪个安装包
rpm -qa 显示当前系统中以rpm方式安装的所有软件列表
rpm -qa | grep -i postfix 查询软件postfix是否已安装
4.查询未安装的RPM软件包文件中信息rpm -qpi RPM包文件名 查询指定软件包的详细信息
rpm -qpl RPM包文件名 查询指定软件包的文件列表
rpm -qpc RPM包文件名 查询指定软件包的配置文件
rpm -qpd RPM包文件名 查询指定软件包的软件包文档的位置
5.安装、升级、卸载RPM软件包-i:安装一个新的RPM软件包
-U:升级某个软件包,若未安装过,则进行安装
-F:升级某个软件包,若为安装过,则放弃安装
-h:在安装或升级软件包的过程中,以#号显示安装进度
-v:显示软件安装过程中的详细信息
–force:强制安装某个软件包,比如要安装版本更旧的软件包
-e:卸载指定名称的软件包
–nodeps:在安装或升级、卸载一个软件包时,不检查与其它文件的依赖关系
rpm -ivh *.rpm 安装
rpm -evh *.rpm 删除
6.维护RPM数据库 1)重建RPM数据库当RPM数据库发生损坏,可通过重建RPM数据库修复
rpm --rebuilddb 或者 rpm --initdb
2)导入验证公钥在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。需要RPM数据库中导入位于光盘根目录下的公钥文件
mount /dev/sr0 /mnt/
rpm --import /mnt/RPM-GPG-KEY-CentOs-7
辅助选项:
- –nodeps就是安装时不检查依赖关系,比如你这个rpm需要A,但是你没有装A,这样你的包就装不上,用了 --nodeps你就能装上了。
- –force就是强制安装,比如你装过这这个rpm的版本1,如果你想装这个rpm的版本2,就需要 --force强制安装
–force、–nodeps、-h、-v
先rpm -ivh /mnt/Packages/perl-URL-1.60-9.el7.noarch.rpm
rpm -ivh --nodeps /mnt/Packages/perl-1.60-9.el7.noarch.rpm
httpd --nodeps
7.解决软件包的依赖关系●安装有依赖关系的多个软件时
被依赖的软件包需要先安装
可同时指定多个 .rpm包文件进行安装
●卸载有依赖关系的多个软件时
依赖其它程序的软件包需要先卸载
可同时指定多个软件名进行卸载
●忽略依赖关系
结合 “–nodeps”选项,但可能导致软件异常
8.源代码编译概述●使用源代码安装软件的优点
获得最新的软件版本,及时修复bug
根据用户需要,灵活定制软件功能
●应用场合举例
安装较新版本的应用程序时
当前安装的程序无法满足需要时
需要为应用程序添加新的功能时
●安装源代码软件包需要编译安装,需要安装支持c和c++程序语言的编译器,如gcc、gcc-c++、make
如果使用rpm方式安装,则需要先安装多个依赖包,这样会很繁琐。这里可以使用yum方式进行一键安装
mount /dev/cdrom /mnt/
cd /etc/yum.repos.d/
mkdir bak
mv .repo bak
cd /etc/yum.repos.d/
vim local.repo
[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0
:wq
yum clean all
yum makecache
●手工编译安装过程
大环境需要关闭防火墙、永久禁用自启动、关闭核心防护



