文章目录
引言
今天我们来说说如何来建立yum库和yum库的几种类型以及nfs共享服务。
一、yum概述
1.1 YUM (Yellow dog Updater Moddified)
1.基于 RPM 包构建的软件更新机制
2.可以自动解决依赖关系
3.所以软件包由集中的YUM软件仓库提供
1.2 软件仓库的提供方式
FTP服务: ftp://…
HTTP服务: http://…
本地目录: file://…
1.3 RPM 软件包的来源
1.CentOS发布的RPM包集合
2.第三方组织发布的RPM包集合
3.用户自定义的RPM包集合
二、yum配置文件
2.1 基本设置
位置:/etc/yum.conf
[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever ###yum下载的RPM包的缓存目录 $basearch代表硬件 $releasever系统版本比如7
keepcache=0 ###是否保存缓存 0代表不保存,1代表保存
debuglevel=2 ###调试级别了解即可
logfile=/var/log/yum.log ###日志文件位置
exactarch=1 ###是否允许不同版本的rpm安装
obsoletes=1 ###update 的一个参数是否可以允许旧版本的运行
gpgcheck=1 ###验证秘钥
plugins=1 ###是否允许插件1代表可以
installonly_limit=5 ###保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
2.2 仓库设置文件
位置:/etc/yum.repos.d/*.repo
[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
2.3 日志文件
位置:/var/log/yum.log
[root@localhost ~]# cat /var/log/yum.log
Jan 13 21:20:29 Updated: rpcbind-0.2.0-49.el7.x86_64
Jan 13 21:20:30 Updated: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
Jan 13 21:37:14 Installed: httpd-tools-2.4.6-97.el7.centos.2.x86_64
Jan 13 21:37:14 Installed: mailcap-2.1.41-2.el7.noarch
Jan 13 21:37:15 Installed: httpd-2.4.6-97.el7.centos.2.x86_64
三、yum命令
3.1 查询软件包命令
#显示可用的安装包
[root@localhost ~]# yum list httpd
#显示安装包详细信息
[root@localhost ~]# yum info [软件名]
3.2 查询软件包组命令
#安装包组的查询 不加包组名 就是显示所有
[root@localhost ~]#yum grouplist [包组名]
#不加包组名显示全部
[root@localhost ~]# yum groupinfo <包组名>
3.3 yum安装升级
#安装软件包
[root@localhost ~]# yum install httpd
#安装包组名
[root@localhost ~]# yum groupinstall gnome desktop
#更新安装包,可以单个也可以全部 后面加具体名称就是单个更新,不加就是全部更新。但是首先你要有更新的包组库否则也无法更新。
[root@localhost yum.repos.d]# yum upgrade
#组包更新
[root@localhost yum.repos.d]# yum groupupdate
3.4 软件卸载
#卸载已安装的软件必须加软件名
[root@localhost yum.repos.d]# yum remove httpd
#查看历史的使用记录,选择ID 1,2,3,4,5,可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除
[root@localhost yum.repos.d]# yum history
[root@localhost .ssh]# yum history undo 3 //3代表id号
#如果后悔 卸载 可以使用两种方式
yum history redo 4 (重新安装一遍)
yum history undo 6 (反悔卸载等于重新安装一遍)
四、 搭建yum仓库
4.1 搭建本地yum仓库
1.将光驱中的镜像文件进行挂载
[root@localhost ~]# mount /dev/cdrom /mnt/ ###把光盘挂载到/mnt目录下
[root@localhost ~]# df -Th ###查看磁盘挂载情况
2.切换到 yum.repo.d 目录 将自带的源仓库移走 避免冲突
[root@localhost ~]# cd /etc/yum.repos.d ###切换至cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir repos.bak ###创建一个文件夹,名为repos.bak
[root@localhost yum.repos.d]# mv *.repo repos.bak ###把自带以.repo结尾的源,转移到新建的repos.bak文件夹下
3.新建yum仓库文件
[root@localhost yum.repos.d]# vim local.repo ###新建yum仓库文件
[local] ###仓库类别
name=local ###仓库名称
baseurl=file:///mnt ###指定URL 访问路径为光盘挂载目录(第三个“/”代表根)
enabled=1 ###开启此yum源,此为默认项,可省略
gpgcheck=0 ###不验证软件包的签名
4.删除yum缓存并更新
[root@localhost yum.repos.d]# yum clean all && yum makecache ###删除yum缓存并更新
5.验证
[root@localhost ~]# yum install -y httpd
4.2 ftp方式搭建云仓库
服务端:192.168.146.30
客户端:192.168.146.40
1.服务端安装vsftp服务
[root@localhost ~]# yum install -y vsftpd
2.服务端切换到 ftp目录下创建一个目录
服务端将光驱文件拷贝到 centos7 中
[root@localhost ~]# mkdir /var/ftp/centos7
[root@localhost ~]# mount /dev/sr0 /mnt
[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7/ &
[root@localhost ~]# mkdir /var/ftp/other
[root@localhost ~]# cd /var/ftp/other
[root@localhost other]# createrepo -g /mnt/repodata/repomd.xml ./
3.服务端开启相关服务,关闭防火墙
[root@localhost other]# systemctl stop firewalld.service
[root@localhost other]# setenforce 0
[root@localhost other]# systemctl start vsftpd
4.客户端
[root@localhost ~]# cd /etc/yum.repo.d
[root@localhost yum.repo.d]# mkdir bak.repo
[root@localhost yum.repo.d]# mv CentOS-* bak.repo
[root@localhost yum.repo.d]# vim centos7.repo
[centos7]
named=centos7
baseurl=ftp://192.168.146.30/centos7
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.146.30/centos7/RPM-GPG-KEY-CentOS-7
[other]
name=centos7
baseurl=ftp://192.168.146.30/other
enabled=1
gpgcheck=0
5.清理缓存、更新并验证
[root@localhost ~]# yun clean all && yum makecache
验证:
[root@localhost ~]# yum install -y httpd
五、总结
1.了解yum仓库
2.如何配置yum仓库