Linux 使用笔记:YUM

文章目录

  • YUM简介
  • 常用命令
  • 换源
  • 本地源
  • 其他问题

YUM简介

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

常用命令

查看当前的源

yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
源标识						源名称												状态
!base/7/x86_64				CentOS-7 - Base - mirrors.aliyun.com				10,070
!extras/7/x86_64			CentOS-7 - Extras - mirrors.aliyun.com				412
!updates/7/x86_64			CentOS-7 - Updates - mirrors.aliyun.com				898
repolist: 11,380

安装

yum install -y tree

升级

yum update -y

删除

yum remove -y tree

换源

YUM是一个下载工具,系统软件升级所需要的包还是要从各大源站获取,官方默认的源很慢,这时候就需要换源。
这里推荐阿里云,稳定,速度快,更新有保证。

阿里巴巴开源镜像站

备份

# 1. 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

换源

# 2. 换源(阿里)(CentOS 7)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

缓存

# 3. 生成缓存
yum makecache

其他
非阿里云ECS用户会出现 Couldn’t resolve host ‘mirrors.cloud.aliyuncs.com’ 信息,不影响使用。
用户也可自行修改相关配置: eg:

sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

本地源

系统安装的时候,往往不会选择完全安装,所以大量常用软件收录在IOS当中,却没有被安装,这个时候如果服务器又处于离线状态,将YUM临时换到本地源,则可以很方便的解决系统安装问题。

# 挂载系统光盘
mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

# 查看光盘所在目录
df -h

# 查看光盘文件
cd /mnt/cdrom && ls

# 备份配置
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/

# 添加新配置文件
vim /etc/yum.repos.d/dvd.repo

[RHEL]
name=CentOS7
baseurl=file:///mnt/cdrom
gpgcheck=0
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release
enabled=1

# 清空并重载 yum
yum clean all 
yum makecache

# 测试
yum -y install tree 

其他问题

RPM数据库问题解决方法
遇到升级突然终端,RPM数据库就会出现问题,重现重复的安装记录,需要清理掉

# 发现 N 个已存在的 RPM 数据库问题
package-cleanup --cleandupes

# 如果有依赖项无法删除,尝试
package-cleanup --cleandupes --removenewestdupes

你可能感兴趣的:(Linux使用)