- A+
所属分类:linux技术
搭建yum仓库需要两种资源:
- rpm包
- rpm包的元数据(repodata)
搭建好仓库后需要使用三种网络协议共享出来
- http或https
- ftp
范例:
使用http协议搭建私有仓库
(本示例使用光盘作为源)
#仓库服务器配置 yum -y install httpd systemctl enable --now httpd mkdir /var/www/html/centos/8 -p mount /dev/sr0 /mnt/ #挂载本地光盘到指定文件夹 cp -a /mnt/* /var/www/html/centos/8 #把光盘里面的文件复制到对应文件
#yum客户端配置 [root@repo-client ~]#cat /etc/yum.repos.d/test.repo [BaseOS] #仓库唯一标识 name=BaseOS #说明 baseurl=http://10.0.0.8/centos/8/BaseOS #仓库路径 gpgkey=0 #enable=1不写默认就是开启的 [AppStream] name=Appstream baseurl=http://10.0.0.8/centos/8/AppStream/ gpgkey=0
只用rpm包,没有元数据信息:
createrepo 存放软件包的目录
执行这条命令以后就会在这个目录文件下面生成要给repodata的文件,此时这个存放软件包的目录就可以作为私有仓库了
使用互联网上面的epel源搭建私有仓库
1.把epel源中的rpm包下载下来
2.在httpd服务的指定目录下创建epel源的目录文件
#下载相关仓库包和元数据 #首先需要吧epel源配好: #cat /etc/yum.repos.d/base.repo #[epel] #name=EPEL #baseurl=https://mirrors.aliyun.com/epel/8/Everything/x86_64/ #gpgcheck=0 yum reposync --repoid=epel --download-metadata -p /var/www/html #下载epel源 #epel --- 配置好的epel源唯一标识 会从这个仓库的指定路径去下载 -P:指定路径 #搞定以后会在指定目录下生成一个叫epel的子目录 #--download-meta
下载软件包的时候会顺便把相关的依赖都下载下来。卸载的时候相关依赖不会跟着卸载。
(centos8不存在这个问题)
全部卸载干净的解决方法:
- 使用yum history 查看执行过的历史纪录
- 使用 yum undo number(history的编号)进行卸载 --- 相当于重装
yum history --- 查看yum的历史事务
yum history info yum的历史事务编号id --- 查看这个是事务都干了些啥
yum日志文件
#CentOS 7以前版本日志 /var/log/yum.log #CentOS 8 版本日志 /var/log/dnf.rpm.log /var/log/dnf.log
日志命令:yum history xxxx