[TOC]
mount /dev/cdrom /mnt
# 查看光盘中的 rpm 包
cp /mnt/AppStream/Packages/vsftpd-3.0.3-33.el8.x86_64.rpm .
RPM 软件包由四个部分组成 name-version-release.architecture
- Name 包的名字: vsftpd
- Version 原始软件版本号: 3.0.3
- Release 基于该版本的软件包的发行版号: 33.el8
- Arch 软件架构: x86_64
rpm -q [select-options] [query-options]
# 列出所有已安装的软件包
rpm -qa
rpm -qa | grep vsftpd
rpm -qa vsftpd
# 列出软件包所安装的文件
rpm -ql vsftpd
# 列出软件包所安装的配置文件
rpm -qc vsftpd
# 列出软件包所安装的文档文件
rpm -qd vsftpd
# 列出软件包的详细信息
rpm -qi vsftpd
# 列出安装或删除软件包之前或之后运行的 Shell 脚本
rpm -q --scripts vsftpd
# 通过文件查找是由哪个软件包所安装的
rpm -qf /etc/vsftpd/vsftpd.conf
# -i, install
rpm -ivh vsftpd-3.0.3-33.el8.x86_64.rpm
# -e, erase
rpm -evh vsftpd
升级内核的时候,是可以多版本共存的。
# 先卸载旧版本,然后安装新版本
rpm -Uvh updated_pkg
# 查看当前安装的包有没有被修改过
rpm -V vsftpd
# RPM 包使用私钥做过数字签名,所以可以使用红帽提供的公钥来验证包
# 1. 查找是否安装了公钥
rpm -qa | grep pubkey
# 2. 如果没有,需要导入公钥
# 使用光盘
rpm --import /mnt/RPM-GPG-KEY-redhat-release
# 使用 PKI
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
# 验证 RPM 包签名
rpm -K vsftpd-3.0.3-33.el8.x86_64.rpm
yum 全称为 YellowdogUpdater Modified,用于在Linux系统中基于 RPM 技术进行软件包的管理。它的优点是可以自动处理软件依赖关系,一次性安装全部软件。
dnf 全称为 Dandified YUM,与 yum 命令高度相同,主要是为了解决 yum 命令的运行缓慢、内存占用高等问题。
[root@server1 ~]# ls -l `which yum`
lrwxrwxrwx. 1 root root 5 3月 8 2021 /usr/bin/yum -> dnf-3
[root@server1 ~]# ls -l `which dnf`
lrwxrwxrwx. 1 root root 5 3月 8 2021 /usr/bin/dnf -> dnf-3
# 安装 FTP 服务
rpm -ivh /mnt/AppStream/Packages/vsftpd-3.0.3-33.el8.x86_64.rpm
# 启用匿名登录
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
systemctl restart vsftpd
systemctl enable vsftpd
# 设置防火墙
firewall-cmd --set-default-zone=trusted
# 设置 SELinux
setenforce 0
vi /etc/selinux/config
SELINUX=permissive
-
默认情况下,服务端 ftp 共享的目录是
/var/ftp
-
客户端访问
ftp://192.168.26.133
相当于直接访问的是服务端的/var/ftp
cd /var/ftp
mkdir dvd
# 设置共享目录,将光盘共享出去
mount /dev/cdrom dvd
vi /etc/fstab
/dev/dvd /var/ftp/dvd iso9660 defaults 0 0
- 正常情况下,含有
repodata
的目录才可以作为源,dvd/AppStream/
和dvd/BaseOS/
可以作为源
[root@server133 ftp]# ls dvd dvd/AppStream/ dvd/BaseOS/
dvd:
AppStream BaseOS EFI EULA extra_files.json GPL images isolinux media.repo RPM-GPG-KEY-redhat-beta RPM-GPG-KEY-redhat-release TRANS.TBL
dvd/AppStream/:
Packages repodata
dvd/BaseOS/:
Packages repodata
# 默认的源为 redhat.repo
[root@server130 ~]# cd /etc/yum.repos.d/
[root@server130 yum.repos.d]# ls
redhat.repo
# 配置FTP源
[root@server130 yum.repos.d]# vi dvd.repo
[appstream]
name=appstream
baseurl=ftp://192.168.26.133/dvd/AppStream/
enabled=1
gpgcheck=0
[baseos]
name=baseos
baseurl=ftp://192.168.26.133/dvd/BaseOS/
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.26.133/dvd/RPM-GPG-KEY-redhat-release
# 查看当前可用的源
[root@server130 yum.repos.d]# yum repolist
仓库 id 仓库名称
appstream appstream
baseos baseos
# 查看安装包,以及在本机是否安装.
# 默认需要精确匹配包名,也可以使用 * 来模糊匹配 yum list vsftp\* or yum list 'http*'
[root@server130 yum.repos.d]# yum list vsftpd
上次元数据过期检查:0:01:13 前,执行于 2023年07月19日 星期三 21时26分27秒。
可安装的软件包
vsftpd.x86_64 3.0.3-33.el8 appstream
# 按关键字查找安装包 yum search KEYWORD
[root@server130 yum.repos.d]# yum search vsftpd
上次元数据过期检查:0:03:11 前,执行于 2023年07月19日 星期三 21时26分27秒。
================================== 名称 精准匹配:vsftpd ===================================
vsftpd.x86_64 : Very Secure Ftp Daemon
# 查看包的详细信息
yum info PACKAGENAME
# 显示与指定的路径名匹配的软件包
yum provides /var/www/html
# 安装 yum 包
yum install vsftpd
# 卸载 yum 包
yum remove vsftpd
# 更新 yum 包
yum update vsftpd
# 查询哪个包可以提供某个命令
yum whatprovides */smbclient
[root@server130 yum.repos.d]# yum whatprovides */smbclient
上次元数据过期检查:0:28:42 前,执行于 2023年07月19日 星期三 21时26分27秒。
bash-completion-1:2.7-5.el8.noarch : Programmable completion for Bash
仓库 :@System
匹配来源:
文件名 :/usr/share/bash-completion/completions/smbclient
bash-completion-1:2.7-5.el8.noarch : Programmable completion for Bash
仓库 :baseos
匹配来源:
文件名 :/usr/share/bash-completion/completions/smbclient
samba-client-4.13.3-3.el8.x86_64 : Samba client programs
仓库 :baseos
匹配来源:
文件名 :/usr/bin/smbclient
yum 中的组是指针对特定目的一起安装的软件集合。
- 常规组是软件包的集合
- 环境组是常规组的集合
# 显示已安装和可用的组的集合
[root@server130 yum.repos.d]# LANG=C yum grouplist
Last metadata expiration check: 0:35:08 ago on Wed Jul 19 21:26:27 2023.
Available Environment Groups:
Server
Minimal Install
Workstation
Virtualization Host
Custom Operating System
Installed Environment Groups:
Server with GUI
Installed Groups:
Container Management
Headless Management
Available Groups:
.NET Core Development
RPM Development Tools
Development Tools
Graphical Administration Tools
Legacy UNIX Compatibility
Network Servers
Scientific Support
Security Tools
Smart Card Support
System Tools
# 显示组的信息
yum group info ".NET Core Development"
# 安装一个组
[root@server130 yum.repos.d]# yum groupinstall 'Virtualization Host'
AppStream 中包含两种类型的内容:模块和传统的RPM包。
模块描述了属于一个整体的一组 RPM 软件包
yum 模块由三部分组成
- name: 模块名
- stream: 模块所包含的版本,每个版本独立接受更新
- profile: 配置文件是为特定用例一起安装的软件包列表,比如服务器、客户端、开发、最小安装等。
yum module list
yum module list php
yum module info php
yum module install php
# 卸载和重置模块
yum module remove php
yum module reset php
yum install createrepo_c.x86_64
createrepo /dir