Linux yum搭建私有仓库,服务端使用搭建好的私


搭建yum仓库需要两种资源:

  • rpm软件包

  • 元数据信息(repodata)

搭建好仓库后需要使用三种网络协议共享出来

  • http或https

  • ftp

范例:

使用http协议搭建私有仓库
#使用光盘作为源

#下载并启动实现http协议的httpd服务软件
	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

[AppStream]
name=Appstream
baseurl=http://10.0.0.8/centos/8/AppStream/
gpgkey=0

#enable=1不写默认就是开启enable=1

只有软件包,没有元数据

如果创建的私有仓库里面只有rpm软件包,没有repodata这个元数据信息目录,可以使用createrepo这个工具来生成repodata。

#格式:
createrepo 存放软件包的目录

范例:

使用互联网上面的epel源搭建私有仓库

1.把epel源中的rpm包下载下来

2.将下载的软件包放到指定的目录
#配置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源

#-repoid=epel:指定使用的仓库,会从这个仓库的指定路径去下载

#-P:指定路径

#--download-metadata:下载元数据信息(repodata这个目录)

#下载完成后会在指定目录下生成一个叫epel的子目录

下载软件包的时候会顺便把相关的依赖都下载下来。卸载的时候相关依赖不会跟着卸载。(centos8不存在这个问题)

卸载某个软件包的时候把对应的依赖也卸载
  1. 使用yum history 查看执行过的历史纪录

  2. 使用 yum undo number(history中的编号)进行卸载 --- 相当于重装

下载软件包的时候会顺便把相关的依赖都下载下来。卸载的时候相关依赖不会跟着卸载 #centos8会自动卸载掉依赖

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

相关内容