# 官方提供@yunTaoScripts 网包管理软件络管理 🔥🔥
# RPM (Redhat Package Management)
包命名方式
mount /dev/cdrom /mnt/
find /mnt/ -name vsftp*
cp /mnt/AppStream/Packages/vsftpd-3.0.3-33.el8x86_64.rpm .
- vsftpd是包的名字
- 3.0.3 是版本version
- 28.el8 是小版本号,release,其中el8指的是此包用于安装 rhel8系统上
- x86_64 指的是架构,到底是32位的还是64位的
# 包安装
rpm -ivh vsftpd-3.0.3-33.el8.x86_64.rpm
rpm -ivh vsftpd-3.0.3-33.el8.x86_64.rpm --force
- -i 安装
- -v 显示安装信息
- -h 校验
- --force #已经安装了,但是某个文件丢失了,可以强制安装
# 包卸载
rpm -e vsftpd
# 包更新
- 卸载旧版本,安装新版本
rpm -Uvh vsftpd-3.0.3-33.el8.x86_64.rpm
是否使用U分情况
- 普通软件如果安装目录重叠,可使用
U
- 内核软件可以多内核共存,可以直接安装不用
U
,确认升级成功后再删除旧的包。
# 包查询
rpm -qa # 查看已安装的所有包
rpm2cpio vsftpd-3.0.3-33.el8.x86_64.rpm |cpio -id #解压缩包
rpm -ql vsftpd #查看包生成所有的文件
rpm -qc vsftpd #查看包生成配置文件
rpm -qd vsftpd #查看包生成文档文件
rpm -qi vsftpd #查看已安装包信息
rpm -qip vsftpd-3.0.3-33.el8.x86_64.rpm #查看未安装包信息
rpm -qf /etc/vsftpd/ftpusers #查询文件由哪个包生成
查询软件安装包名
rpm -qf `which ifconfig`
# 包验证
rpm -V vsftpd # 无输出代表没有被改过 (针对已安装的包)
rpm -K vsftpd-3.0.3-33.el8.x86_64.rpm # 验证包数字签名
验证说明
- 有输出代表被修改
[root@server1 opt]# rpm -V vsftpd
S.5....T. c /etc/vsftpd/vsftpd.conf
- 无公钥验证失败
[root@server1 opt]# rpm -qa | grep pubkey
[root@server1 opt]# rpm -K vsftpd-3.0.3-33.el8.x86_64.rpm
vsftpd-3.0.3-33.el8.x86_64.rpm: digests SIGNATURES NOT OK
- 导入红帽公钥,验证成功
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# rpm --import /mnt/RPM-GPG-KEY-redhat-release
[root@server1 opt]# rpm --import /mnt/RPM-GPG-KEY-redhat-release
[root@server1 opt]# rpm -qa | grep pubkey
gpg-pubkey-fd431d51-4ae0493b
gpg-pubkey-d4082792-5b32db75
[root@server1 opt]# rpm -K vsftpd-3.0.3-33.el8.x86_64.rpm
vsftpd-3.0.3-33.el8.x86_64.rpm: digests signatures OK
# YUM
dnf
的软连接,可以实现多包依赖的安装。
# 创建yum源
- 在server1修改/etc/vsftpd/vsftpd.conf
anonymous_enable=YES
mount /dev/cdrom /var/ftp/pub/
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd.service
- 在server2 配置 yum源
[root@server2 ~]# cat /etc/yum.repos.d/iso.repo
#[localAppStream]
#name=AppStream
#baseurl=file:///mnt/AppStream/
#enabled=1
#gpgcheck=0
#
#[localBaseOS]
#name=BaseOS
#baseurl=file:///mnt/BaseOS
#enabled=1
#gpgcheck=0
[ftpAppStream]
name=AppStream
baseurl=ftp://192.168.26.129/pub/AppStream
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.26.129/pub/RPM-GPG-KEY-redhat-release
[ftpBaseOS]
name=BaseOS
baseurl=ftp://192.168.26.129/pub/BaseOS
enabled=1
gpgcheck=0
注意FTP 路径⚠️
yum list
查看yum源的安装包- ftp发布目录为
/var/ftp
,baseurl要写紧跟后面的目录,不要带/var/ftp
。 - 配置目录必须包含
repodata
,它包含rpm包依赖关系。
# 自定义仓库
yum install createrepo_c.x86_64 -y
createrepo -v ansible
提示
在 ansible 目录中就会增加 repodata 目录。此时 该目录就可以作为yum源使用
# 第三方免费源-epel
# 安装包
- 缓存目录
rpm -qc dnf
/var/cache/dnf
- 只下载不安装,指定下载目录
yum install -y httpd --downloadonly --downloaddir=./data
# 安装组
- 查看和安装可用组
yum grouplist
LANG=en_US.UTF-8 grouplist # 英文查看
LANG=C grouplist # 英文查看
yum groupinstall 'System Tools' -y # 安装组
yum groupremove 'System Tools' -y # 安装组
# 撤销安装
yum history
yum history undo 3 #撤销第三步
# 安装模块
[root@server2 ~]# yum module list |head
Last metadata expiration check: 1:59:17 ago on Thu 28 Jul 2022 09:24:36 AM CST.
AppStream
Name Stream Profiles Summary
389-ds 1.4 389 Directory Server (base)
ant 1.10 [d] common [d] Java build tool
对于一个模块来说由三部分组成:
- name:模块的名字
- stream:模块的所包含的版本 (带【d】就是默认安装版本)
- profile:是最小安装、普通安装还是安装服务器端 还是客户端等
- 查看某个包模块
[root@server2 ~]# yum module list php
Last metadata expiration check: 2:38:35 ago on Thu 28 Jul 2022 09:24:36 AM CST.
AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
默认值
默认安装【d】,即php:7.2/common
- 安装指定版本
yum module install php:7.3/devel -y
- 删除模块
yum module remove php:7.3/devel -y
yum module reset php:7.3 # 重置下, 否则【e】仍会显示
# 删除包
yum remove vsftpd -y
# 更新包
- 更新系统所有包
yum update
- 只更新特定包
yum update vsftpd -y
# 查找包
yum list vsftpd # 完整匹配
yum search vsftp # 不完整匹配
yum list docker-ce.x86_64 --showduplicates | sort -r # 查找包版本
- 查找命令所需要的安装包
[root@server2 ~]# yum whatprovides vsftpd
Last metadata expiration check: 0:10:24 ago on Thu 28 Jul 2022 09:24:36 AM CST.
vsftpd-3.0.3-33.el8.x86_64 : Very Secure Ftp Daemon
Repo : ftpAppStream
Matched from:
Provide : vsftpd = 3.0.3-33.el8
← 快速链接