CentOS程序包管理

通过程序包管理器安装软件

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

通过RPM方式解决程序包依赖关系十分麻烦

使用yum工具自动解决依赖关系

你可能感兴趣的:(CentOS程序包管理)