yum(全称为 Yellow dog Updater, Modified)是一个前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记
YUM:解决依赖关系问题,自动下载软件包,它是基于C/S架构
C=client S=ftp\http\file
配置yum源
1、挂载镜像:
先确定虚拟机光驱中有加载系统镜像
[root@xuegod63 Packages]# mount /dev/cdrom /mnt/
[root@xuegod63 Packages]# ls /mnt/
2、本地配置yum源文件:
centos8本地YUM源配置:
在centos8当中,本地光盘中的安装包被分别放在了两个路径下。假设挂载路径为/mnt,那么两个Package路径分别为:/mnt/AppStream/Packages和/mnt/BaseOS/Packages。
因为IOS镜像内的设置,所以导致了在编辑本地yum源的时候需要分别写两个路径在配置文件中。同时网络yum源也被分别写到了两个配置文件内。所以就需要把两个网络yum源配置文件改名
#centos8与之前版本不同的是增加了一个CentOS-AppStream.repo文件,CentOS-AppStream.repo和CentOS-Base.repo文件都需要移除目录或者改名。
BaseOS类似于原来的软件仓库,主要提供了系统的基础组件,提供的是RPM形式的包,它支持与之前版本兼容
AppStream:它提供的是系统以外的应用程序,如httpd,nginx,php,mariadb-server等
更多技术干货尽在公众号【学神来啦】!
(1)首先挂载光盘:
[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
(2)创建一个本地yum配置文件centos8.repo:
[root@bogon ~]# vim /etc/yum.repos.d/centos8.repo #写入以下内容
[c8-media-BaseOS]
name=CentOS-BaseOS-$releasever - Media
baseurl=file:///mnt/BaseOS
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[c8-media-AppStream]
name=CentOS-AppStream-$releasever - Media
baseurl=file:///mnt/AppStream
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
#添加修改完两个区域后保存退出。
注:如果 gpgcheck=1 ,需要导入rpm公钥。方便后期校对rpm包。一般情况,写为0. 工作就写成1并导入公钥。这样安全。
[root@xuegod63 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
(3)移动网络yum源配置文件位置:
[root@bogon ~]# mv /etc/yum.repos.d/C* /opt
#将网络yum配置文件移动到任意位置,使其不被yum所识别。
[root@bogon ~]# yum list
注:在centos8版本当中可以继续使用yum命令进行安装包管理。
[root@xuegod63 ~]# ll /usr/bin/yum
lrwxrwxrwx. 1 root root 5 4月 25 03:57 /usr/bin/yum -> dnf-3
注:但是我们执行的yum命令是一个软连接,它被链接到了dnf-3命令上。
使用DNF来管理软件包,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面内容。
3.网络yum源
Centos8使用阿里网络源:
https://developer.aliyun.com/mirror/centos
[root@xuegod63 ~]# wget -O /etc/yum.repos.d/Centos-8.repo http://mirrors.aliyun.com/repo/Centos-8.repo
[root@xuegod63 ~]# rpm --import https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-Official
#导入阿里的公钥
例:安装centos epel扩展yum源。
注:epel源是对centos系统中自带的 base源的扩展。(因为不是所有包都放在base源里,base源你可以理解成是光盘镜像)
[root@xuegod63 ~]# yum -y install epel-release
[root@xuegod63 ~]# ls /etc/yum.repos.d/epel.repo #这就是安装的epel源
epel源我们在讲第四阶段时下载docker,openstack等经常会用到。
阿里epel源安装
https://developer.aliyun.com/mirror/epel
yum使用
yum常用操作:
[root@xuegod63 ~]# yum -y install httpd #安装软件包, -y 直接安装
[root@xuegod63 ~]# yum update #升级软件包,改变软件设置和系统设置,系统版本内核都升级。
这里选择:n ,先不升级,因为升级需要的下载的包太多
[root@xuegod63 ~]# yum upgrade
#升级软件包,不改变软件设置和系统设置,系统版本升级,内核不改变。工作中推荐使用这种升级方式。
[root@xuegod63 ~]# yum info httpd #查询rpm包作用
[root@xuegod63 ~]# yum provides /usr/bin/find #查看命令是哪个软件包安装的
注: 发现find命令是findutils包中的文件
[root@xuegod63 ~]# yum -y remove 包名 #卸载包
例:[root@xuegod63 ~]# yum -y remove httpd-tools
[root@xuegod63 ~]# yum search keyword #在软件包的包名和详细描述信息中搜索包括指定字符串的软件包
例:[root@xuegod63 ~]# yum search httpd #查找包括httpd字符的软件包
yum报错,注意的几个小问题:
1、确定光盘是否链接,光盘是否挂载
2、配置文件中格式是否正确,字母,符号有没有少写,挂载点和配置文件中设置的是否一致
3、网络源需要联网,操作和RPM类似,只是会自动安装依赖项。
yum安装开发工具软件包组
[root@xuegod63 ~]# yum grouplist #查看有哪些软件包组
语法:yum groupinstall GROUPNAME
yum grouplist #显示中文,如果想变成英文,则执行以一下命令
[root@bogon Packages]# echo $LANG
zh_CN.UTF-8
[root@bogon Packages]#LANG=en_US.UTF-8
yum grouplist
[root@localhost Packages]# yum grouplist
测试:
当你最小化安装系统后,在源码编译安装软件包时,觉得很需要安装很多依赖包,很痛苦,可以先安装好这个Development tools开发工具软件包组。
[root@xuegod63 ~]# yum groupinstall 'Development tools' #安装开发工具软件包组。
到此介绍想要获取源码笔记和视频联系我们的小姐姐