Linux初学者在CentOS 7虚拟机中rpm、yum、dnf的操作练习
Linux初学者在CentOS 7虚拟机中rpm/yum/dnf的操作练习
本篇文章为个人练习用,仅供参考
学习部分:Linux应用程序的安装与管理
环境准备
- 创建CentOS 7虚拟机(最小化安装)
- 获取CentOS ISO镜像(用于本地仓库)
- 以root用户登录或使用sudo权限
第一阶段:基础操作练习
1. RPM包管理实战
# 挂载CentOS ISO镜像
mount -t iso9660 /dev/cdrom /mnt # 或指定ISO路径# 浏览ISO中的RPM包
ls /mnt/Packages | grep zip # 查找zip相关包# 安装zip工具
rpm -ivh /mnt/Packages/zip-3.0-*.el7.x86_64.rpm# 验证安装
rpm -q zip # 查询是否安装
which zip # 查看执行路径# 查看包信息
rpm -qi zip # 详细信息
rpm -ql zip # 查看安装的文件# 卸载软件包
rpm -e zip
rpm -q zip # 验证已卸载
2. YUM基础操作
# 配置本地YUM仓库
cd /etc/yum.repos.d/
vim server.repo[local]
name=Local CentOS Repository
baseurl=file:///mnt/
enabled=1
gpgcheck=0# 清理缓存
yum clean all# 安装HTTP服务器
yum install -y httpd# 查看安装的包
yum list installed | grep httpd# 卸载软件包
yum remove -y httpd
第二阶段:进阶技巧练习
1. 解决依赖问题
# 尝试安装有依赖的软件
yum install -y postgresql-server# 查看解决的依赖
yum deplist postgresql-server# 手动下载依赖包练习
yumdownloader postgresql-libs # 需先安装yum-utils
rpm -ivh postgresql-libs-*.rpm --test # 测试安装
2. 软件组管理
# 查看可用软件组
yum group list# 安装开发工具组
yum groupinstall -y "Development Tools"# 移除软件组
yum groupremove -y "Development Tools"
第三阶段:DNF体验(需手动安装)
# 在阿里云Centos镜像网站复制下载Centos7
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# 安装DNF
yum install -y dnf# DNF基础操作(与YUM相似)
dnf install -y nano
dnf info nano
dnf history # 更详细的历史记录
dnf remove -y nano# 比较YUM和DNF速度
time yum install -y tree
time dnf install -y tree
第四阶段:综合项目
搭建LAMP环境
# 1. 安装Apache
yum install -y httpd
systemctl start httpd# 2. 安装MariaDB
yum install -y mariadb-server
systemctl start mariadb
mysql_secure_installation # 安全初始化# 3. 安装PHP
yum install -y php php-mysql# 4. 测试安装
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
curl http://localhost/info.php # 应显示PHP信息
故障排除练习
# 1. 模拟依赖问题
rpm -e zlib --nodeps # 危险操作!仅用于练习
yum install httpd # 将报错# 2. 修复依赖
yum install -y zlib # 重新安装依赖# 3. 仓库故障模拟
mv /etc/yum.repos.d/local.repo /tmp # 移走仓库文件
yum update # 观察错误信息
mv /tmp/local.repo /etc/yum.repos.d/ # 恢复仓库
学习建议
-
每日练习:
# 每日任务:安装/卸载一个随机软件 random_pkg=$(yum list available | shuf -n 1 | awk '{print $1}') yum install -y $random_pkg yum remove -y $random_pkg
-
日志分析:
bash
tail -f /var/log/yum.log # 实时查看操作记录
-
安全练习:
# 启用GPG检查 sed -i 's/gpgcheck=0/gpgcheck=1/' /etc/yum.repos.d/local.repo yum clean all yum update # 观察错误
虚拟机快照策略
- 初始状态:纯净的CentOS 7最小化安装
- 练习前快照:每次练习前创建快照
- 故障恢复:当系统损坏时回滚快照
提示:使用
yum history undo <ID>
可撤销操作,比虚拟机快照更快恢复