1. RPM的使用
RPM全称 Redhat Package Manager 缩写,由红帽开发用于软件包的安装升级卸载与查询。
rpm常用选项及说明
选项 | 说明 |
---|---|
i | 安装在rpm的软件包 |
v | 显示安装的详细信息 |
h | 显示安装的进度 |
U | 升级软件包 |
e | 卸载软件包 |
q | 查看版本信息 |
qa | 查看所有已安装的软件包 |
ql | 查看软件所有的文件所在的路径 |
qc | 查看软件配置文件所在的路径 |
qf | 查看系统已安装的命令属于哪个软件包(需要用文件的绝对路径) |
rpm安装软件
[root@ennan ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
[root@ennan ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
# 安装本地的软件包
Preparing... ################################# [100%]
Updating / installing...
1:tree-1.6.0-10.el7 ################################# [100%]
[root@ennan ~]# rpm -ivh https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm
# 安装网络的软件包
Retrieving https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm
Preparing... ################################# [100%]
Updating / installing...
1:vsftpd-3.0.2-25.el7 ################################# [100%]
rpm软件包升级
[root@ennan ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
Retrieving https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
warning: /var/tmp/rpm-tmp.7LX5Zg: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zabbix-agent-3.0.9-1.el7 ################################# [100%]
[root@ennan ~]# rpm -q zabbix-agent
# 查看软件包的版本号
zabbix-agent-3.0.9-1.el7.x86_64
[root@ennan ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.5-1.el7.x86_64.rpm
# 通过-U选项对软件包升级
Retrieving https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.5-1.el7.x86_64.rpm
warning: /var/tmp/rpm-tmp.8ZlRib: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zabbix-agent-4.2.5-1.el7 ################################# [ 50%]
Cleaning up / removing...
2:zabbix-agent-3.0.9-1.el7 ################################# [100%]
[root@ennan ~]# rpm -q zabbix-agent
# 通过软件包版本号查看是否升级成功
zabbix-agent-4.2.5-1.el7.x86_64
rpm卸载软件包
[root@ennan ~]# rpm -e zabbix-agent
# 通过-e选项卸载软件包
[root@ennan ~]# rpm -q zabbix-agent
# 查看软件包是否存在
package zabbix-agent is not installed
rpm查询相关
查询所有已经安装的软件包(可通过grep进行模糊查询)
[root@ennan ~]# rpm -qa
# 列出系统安装的所有软件包
byacc-1.9.20130304-3.el7.x86_64
libproxy-0.4.11-11.el7.x86_64
[root@ennan ~]# rpm -qa | grep ftp
# 查询系统安装的有ftp的包
vsftpd-3.0.2-25.el7.x86_64
查看软件包所有文件
[root@ennan ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
查看软件包的配置文件的路径
[root@ennan ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
查询已经安装的命令属于哪个软件包
[root@ennan ~]# rpm -qf /usr/sbin/vsftpd
# 查询的命令必须为绝对路径
vsftpd-3.0.2-25.el7.x86_64
[root@ennan ~]# rpm -qf $(which vsftpd)
vsftpd-3.0.2-25.el7.x86_64
2. yum的使用
使用rpm安装软件时,有些软件包会存在依赖关系,会导致软件安装失败。
[root@ennan ~]# rpm -ivh /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm error: Failed dependencies:
libCHARSET3-samba4.so()(64bit) is needed by samba-0:4.8.3-4.el7.x86_64
libCHARSET3-samba4.so(SAMBA_4.8.3)(64bit) is needed by samba-0:4.8.3-4.el7.x86_64
使用yum工具安装,会自动解决依赖关系,yum本质上安装的也是.rpm的安装包。
yum源配置
- vim手动编辑.repo文件。
- wget下载已经编辑好的.repo文件。
[root@ennan ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 安装-release软件,会释放一个.repo文件至/etc/yum.repos.d/目录
root@ennan ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
Retrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.P8jQMy: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:zabbix-release-4.2-2.el7 ################################# [100%]
[root@ennan ~]# ls /etc/yum.repos.d/
# /etc/yum.repos.d/下多了zabbix.repo
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Sources.repo
CentOS-Base.repo.bak CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo zabbix.repo
yum源配置实列
系统默认为国外的yum源,需要我们换成国内的yum源,且需要按章扩展源。
# 基本源
[root@ennan ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#扩展源
[root@ennan ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装Nginx时,需要使用到官方的yum源
[root@ennan ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
# 查看可用的yum源
[root@ennan ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
nginx | 2.9 kB 00:00:00
nginx/x86_64/primary_db | 49 kB 00:00:19
repo id repo name status
base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,019
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,343
extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 435
nginx/x86_64 nginx repo 164
updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 2,500
zabbix/x86_64 Zabbix Official Repository - x86_64 93
zabbix-non-supported/x86_64 Zabbix Official Repository non-supported - x86_64 4
repolist: 26,558
在使用zabbix、Docker、Nginx、OpenStack之类的程序时,都可以同通过官方网站找yum源。
yum安装软件
使用网络的yum源安装“小火车”
[root@ennan ~]# yum install sl -y
[root@ennan ~]# sl
( ) (@@) ( ) (@) () @@ O @ O @ O
(@@@)
( )
(@@@@)
( )
==== ________ ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___| _________________
/ | | H | | | | ||_| |_|| _| \_____A
| | | H |__--------------------| [___] | =| |
| ________|___H__/__|_____/[][]~\_______| | -| |
|/ | |-----------I_____I [][] [] D |=======|____|________________________|_
__/ =| o |=-O=====O=====O=====O \ ____Y___________|__|__________________________|_
|/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D__D__D_|
\_/ \__/ \__/ \__/ \__/ \_/ \_/ \_/ \_/ \_/
使用yum安装本地软件包
[root@ennan ~]# ls
samba-4.8.3-4.el7.x86_64.rpm
[root@ennan ~]# yum localinstall samba-4.8.3-4.el7.x86_64.rpm
# yum会联网找安装本地软件包所使用的依赖包
Dependencies Resolved
===========================================================================================
Package Arch Version Repository Size
===========================================================================================
Installing:
samba x86_64 4.8.3-4.el7 /samba-4.8.3-4.el7.x86_64 1.9 M
Installing for dependencies:
libldb x86_64 1.3.4-1.el7 base 137 k
libtalloc x86_64 2.1.13-1.el7 base 32 k
libtdb x86_64 1.3.15-1.el7 base 48 k
libtevent x86_64 0.9.36-1.el7 base 36 k
libwbclient x86_64 4.8.3-4.el7 base 109 k
pytalloc x86_64 2.1.13-1.el7 base 17 k
samba-client-libs x86_64 4.8.3-4.el7 base 4.8 M
samba-common noarch 4.8.3-4.el7 base 206 k
samba-common-libs x86_64 4.8.3-4.el7 base 164 k
samba-common-tools x86_64 4.8.3-4.el7 base 448 k
samba-libs x86_64 4.8.3-4.el7 base 276 k
Transaction Summary
===========================================================================================
Install 1 Package (+11 Dependent packages)
利用yum安装本地的软件包适用于安装大型软件。可提前将软件包下载至本地,通过yum可安装可以解决依赖关系,快速安装软件,节约软件安装的时间。
yum软件升级
查看系统中哪些软件包可以升级
[root@ennan ~]# yum check-update
升级软件包
[root@ennan ~]# yum update openssl
yum update可以升级系统容内核,适用于刚装完系统的服务器。
yum卸载软件
[root@ennan ~]# yum remove samba -y
因为多个软件可能依赖于同一个文件,当卸载软件时,会同时删除依赖文件。可能会导致其他软件不萌正常使用。所以卸载软件,慎用!!!
yum查询
查询所有软件包,包括已安装的和未安装的
[root@ennan ~]# yum list
列出系统中已成功安装的软件包
[root@ennan ~]# yum list installed
网友评论