yum管理
一、yum发展与作用
在linux系统维护中管理员经常遇到软件包的依赖问题,有时无法解决,比如你在安装库文件时常出现报错问题,说依赖其它软件包。由于这个问题一直困绕linux的广大爱好者,开源社区的软件爱好者开始开发一些工具来解决这个问题;比如Yellow Dog的YUM(Yellow dog Update,Modified),Debian的APT(Advanced Packaging tool)等,开发这些工具都是为了解决rpm包的依赖关系。而yum起初是由yellow dog发行版的开发者Terra soft 研发,用python写成,那时叫做yum(yellow dog updater),后经杜克大学的linux@Duke开团队时行改进便得此名;yum的宗旨是自动化升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决,而其关键之处就是有可靠的repository(软件的仓库),可以是http、ftp、操作系统本机,但是必须包含rpm的(header),header包括了rpm包的信息,包括描述,功能,提供的文件,依赖等,正是收集了这些header并加以分析,才能自动化完成余下的任务。
Yum具有如下功能:
1、自动解决包的依赖性问题,并能够添加/删除/更新RPM包
2、便于管理大量系统的更新问题
3、可以同时配置多个资源库
4、简洁的配置多个资源库(Repository)
5、保持与RPM的数据的一致
6、有一个比较详细的log,可以查看何时升级安装了什么软件
二、yum仓库:
仓库(repository)是一个预备好的目录,或是一个网站,包含了软件包和索引文件,yum可以在仓库中自动地定位并获取正确的RPM软件包,这样就不必要手动搜索和安装新应用程序和升级补丁了,只要用一个命令就可以更新系统 所有的软件,也可以根据指定搜索目标来查找安装新软件
仓库的分类:
如下是本地仓库的配置:
[base]
name=cdrom
baseurl=file:///media/
enabled=0
gpgcheck=0
配置文件内容简介:
[]内的是仓库的名称
name 是仓库的位置
baseurl 仓库的位置
enabled 是否启用这个仓库,为1是起用,0为禁用
gpgcheck 是否检查GPG签名(用来验证要安装的包是不是redhat官方的)
GPGKEY是存放地址我们需要用下面的命令来导入到这个签名,才能使用此功能
yum或者Yellow dog Update或者Modified是杜克大学为了提高RPM软件包安装性而开发的一种软件包管理器。Yum可以从众多软件包仓库中搜索软件的依赖关系,因此可以减少由于依赖关系带来的问题。
1.安装软件包:
yum install package
yum localinstall package 从本机目录安装软件包
yum groupinstall group 安装某个组件的全部软件包
2.更新软件包:
yum update package
yum check-update 列出所有可更新的软件包
yum list updates mysql* 查找mysql的更新
yum update 更新所有可更新的软件包
yum update mysql* 更新所有mysql的软件包
yum groupupdate group 更新某个组件的所有软件包
3.删除软件包:
yum remove package
yum groupremove group 删除某个组件的全部软件包
4.清除软件包
yum clean packages 清除遗留在缓存里的包文件
yum clean metadata 清除遗留在缓存里的元数据
yum clean headers 清除遗留在缓存里的头文件
yum clean all 清除包文件,元数据,头文件
5.搜索软件包:
yum search package
yum info package 查找一个软件包的信息
yum list package 列出包含指定信息的软件包
yum list installed 列出已安装的软件包
yum list extras 列出不是通过软件仓库安装的软件包
yum list *ttp* 列出标题包含ttp的软件包
yum list updates 列出可以更新的软件包
yum whatprovides *tshark* 搜索软件包
实例操作:
挂载光盘
mount /dev/cdrom /media/
挂载ISO镜像
mount -o loop /media/CentOS-7-x86_64-DVD-1810.iso /mnt/
配置yum源
[base] name=cdrom baseurl=file:///media/ #enabled=0 gpgcheck=0
清除及加载新的缓存
yum clean #清除缓存目录下的软件包及旧的headers
生成缓存
yum makecache
#############
搭建yum仓库服务器,然后客户端配置yum源代理访问
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
配置服务器端(192.168.10.10)yum仓库,将镜像挂载放到mirror目录: [root@host-192.168.10.10 /]# ll /mirror/ 总用量 0 drwxr-xr-x. 4 root root 38 10月 31 2019 base drwxr-xr-x. 4 root root 38 10月 24 2019 epel drwxr-xr-x. 4 root root 38 10月 31 2019 extras drwxr-xr-x. 2 root root 34 6月 21 2019 script drwxr-xr-x. 4 root root 38 10月 24 2019 updates Nginx设置代理功能: server { listen 80; server_name localhost; root /mirror ; #这里是yum源存放目录 location / { autoindex on; #打开目录浏览功能 autoindex_exact_size off; # off:以可读的方式显示文件大小 autoindex_localtime on; # on、off:是否以服务器的文件时间作为显示的时间 charset utf-8,gbk; #展示中文文件名 index index.html; } yum clean all yum makecache yum makecache 客户端yum源配置: [root@host-10-226-10-62 yum.repos.d]# cat cc.repo [base] name=CentOS-$releasever - Base - mirror.com baseurl=http://192.168.10.10/base/ path=/ enabled=1 gpgcheck=0 [updates] name=CentOS-$releasever - Updates - mirror.com baseurl=http://192.168.10.10/updates path=/ enabled=1 gpgcheck=0 [extras] name=CentOS-$releasever - Extras - mirror.com baseurl=http://192.168.10.10/extras path=/ enabled=1 gpgcheck=0 [epel] name=CentOS-$releasever - epel - mirror.com baseurl=http://192.168.10.10/epel/ failovermethod=priority enabled=1 gpgcheck=0 [root@host-10-226-10-62 yum.repos.d]# # yum clean all # yum makecache
安装软件同时下载安装及依赖包,用于别的主机离线安装:
yum install --downloadonly --downloaddir=目录 httpd