搭建yum仓库需要两种资源: rpm包 rpm包的元数据(repodata) 搭建好仓库后需要使用三种网络协议共享出来 http或https ftp 范例:使用http协议搭建私有仓库 (本示例使用光盘作为源) #仓库
- rpm包
- rpm包的元数据(repodata)
- http或https
- ftp
(本示例使用光盘作为源)
#仓库服务器配置
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的文件,此时这个存放软件包的目录就可以作为私有仓库了
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 --- 查看这个是事务都干了些啥
#CentOS 7以前版本日志
/var/log/yum.log
#CentOS 8 版本日志
/var/log/dnf.rpm.log
/var/log/dnf.log
日志命令:yum history xxxx