通过程序包管理器安装软件
Linux上通过使用程序包管理器安装软件
程序包管理器 :将源代码 编译后目标二进制格式文件 再组织成一个或几个"包"文件,降低用户安装,查询,安装,卸载难度
CentOS使用rpm「redhat package manager」作为程序包管理器
.rpm结尾文件是CentOS上程序包
rpm包命名格式:
name-vesrion-release-arch.rpm
zsh-5.0.2-14.el7.x86_64.rpm
获取程序包的途径:
1.发行版光盘,将光盘挂载至系统,
2.官方站点
3.epel源,https://opsx.alibaba.com
4.google
rpm命令实践
安装程序包:rpm -ivh package_file
重新安装:rpm --replacepkgs package_file
[root@mini Packages]# rpm -ivh zsh-5.0.2-14.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:zsh-5.0.2-14.el7 ################################# [100%]
升级程序包:rpm -[U|F]vh package_file
卸载程序包:rpm -e package_file
查询操作在日常维护管理中十分重要
查询程序包:rpm -q [options] package_file
查询已安装程序包:rpm -qa
查询未安装程序包信息:rpm -qp [ilcd]
查询程序包生成文件列表:rpm -ql
查询程序包相关信息:rpm -qi
查询程序包生成配置文件:rpm -qc
查询程序包文档:rpm -qd
查询程序包依赖关系:rpm -qR
查询指定文件由那个程序包生成 :rpm -qf file
查询程序包脚本:rpm -q --scripts
[root@mini ~]# rpm -qi bash
Name : bash
Version : 4.2.46
Release : 19.el7
[root@mini ~]# rpm -qc bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
/etc/skel/.bashrc
[root@mini ~]# rpm -ql bash
/etc/skel/.bash_logout
/etc/skel/.bash_profile
[root@mini ~]# rpm -qR httpd
/etc/mime.types
system-logos >= 7.92.1-1
httpd-tools = 2.4.6-40.el7.centos
/usr/sbin/useradd
[root@mini ~]# rpm -qf /etc/fstab
setup-2.8.71-6.el7.noarch
导入信任的包制作者的[公钥]密钥
[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-CentOS-7
[root@mini Packages]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
手动验证程序包,安装程序包自动验证
[root@mini Packages]# rpm -K zsh-5.0.2-14.el7.x86_64.rpm
zsh-5.0.2-14.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK
初始化rpm数据库,重新构建rpm数据库
[root@mini ~]# rpm --initdb --dbpath=/tmp/rpm/
[root@mini rpm]# rpm --rebuilddb --dbpath=/tmp/rpm
在安装程序包过程中,程序包存在依赖关系
A 依赖 B C 程序包 ,需要在安装A时先安装B C程序包
B 依赖 X Y
C 依赖 Z