Linux 软件包管理
一、yum/dnf工具简介
引入:软件仓库是一种能进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术
最大的优势就是能够解决rpm包的依赖问题;Yum能够自动解决软件安装时的依赖关系。有优势就有劣势;yum工具也有缺点,如存在分析不正确、内存占用量大、不能多人同时安装软件等硬伤。于是红帽又给了一个全新的选择—DNF,因此也叫Yum v4版本
二、yum/dnf的工作原理
yum工具除了能够解决软件安装时的依赖关系以外,还提供了一个仓库的功能。
yum仓库也叫yum源,类似安卓系统的软件商店;Linux系统配置了yum仓库之后就可以直接从仓库获取rpm包,就不需要去单独下载;yum的工作需要两部分来合作,一部分是yum服务器端,另一部分就是客户端的yum工具。
三、配置软件仓库
yum/dnf的配置文件有哪些:
/etc/yum.conf 或 /etc/dnf.conf 作用:为所有仓库提供公共配置
/etc/yum.repos.d/*.repo 作用:为仓库的指向提供配置
3.1 本地仓库配置
进入/etc/yum.repos.d/目录中
配置本地仓库/etc/yum.repos.d/*.repo
#Redhat8.0以后需要配置两个仓库BaseOS和AppStream。7.0只需要配置一个即可
[BaseOS] //仓库名称 name=BaseOS //描述信息 baseurl=file:///media/cdrom/BaseOS //仓库位置,软件包的获取方式 gpgcheck=0 //是否校验,1为校验,0为不校验 enabled=1 //是否启用,1为可用,0为不可用 [AppStream] name=AppStream baseurl=file:///media/cdrom/AppStream gpgccheck=0 enabled=1
注:公钥位置(gpgkey):若上面的参数开启了校验功能,则此处为公钥文件位置。若没有开启,则省略不写。
4.创建挂载点,挂载光盘镜像,实现永久挂载
mkdir /mnt/cdrom
mount /dev/sro /mnt/cdrom
echo "/dev/sr0 /mnt/cdrom iso9660 defaults 0 0" >> /etc/fstab
5.清空本地仓库缓存、缓存元数据
yum clean all
yum makecache
6.列出所有可用仓库
yum repolist all
3.2 网络仓库配置
网络仓库可以从阿里镜像站、清华镜像站、163镜像站获取
开源镜像站:
我们可以
#下载阿里Base源(基本软件仓库,解决rpm软件的依赖关系)
[root@localhost ~]#wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
四、yum常用命令
yum repolist #列出仓库可用软件包
yum list 软件包名 #查看系统中提供的软件包(包含未安装的软件包)
yum install 软件包名 #安装软件包,-y自动回答yes
yum update 软件包名 #升级软件包版本
yum remove 软件包名 #卸载软件包
yum clean all #清除仓库缓存
yum provides 命令 搜索该命令由哪个软件包产生(主要用于系统未安装的命令)
yum makecache #生成缓存
yum list 软件包名 --showduplicates #列出仓库该软件所有版本
yum -y install --setopt=obsoletes=0 软件包全名 #指定安装具体版本,否则安装仓库内最新版
评论区