需要:CentOS-7-x86_64-Everything-1611.iso
mount -t iso9660 -o loop CentOS-7-x86_64-Everything-1611.iso /media
创建local repository
vi /etc/yum.repos.d/local.repo
###
[Local]
name=Local CentOS 7.3 Repository
baseurl=file:///media/
gpgcheck=0
enabled=1
从local repository安装httpd和YUM工具
yum --disablerepo=base,extras,updates --enablerepo=Local install httpd yum-utils
禁止Base、Extras、Updates三个默认的公有YUM
yum-config-manager --disable Base,Extras,Updates
yum list
yum list命令会列出Local Repository中所有的安装包。
systemctl start httpd.service
systemctl enable httpd.service
systemctl status httpd.service
启动httpd服务,让httpd服务随系统自动启动,确认httpd服务的状态。
vi /etc/httpd/conf/httpd.conf
## line 95 change server name to IP
ServerName 192.168.10.78:80
保存退出后,重启httpd服务
systemctl restart httpd.server
创建私有YUM
mkdir -p /var/www/html/centos
mkdir -p /data3/centos-repository/7/
cp -a /media/* /data3/centos-repository/7/
ln -sf /data3/centos-repository/7/ /var/www/html/centos/7
yum install -y setroubleshoot-server selinux-policy-devel
setenforce 0
##
cat /etc/yum.repos.d/private.repo
[Private]
name=Private CentOS 7.3 Repository
baseurl=http://192.168.10.78/centos/7/x86_64/
gpgcheck=0
enabled=0
yum-config-manager --disable local
yum list
在禁止local YUM后,只有private YUM是可用的,如果yum list命令输出很多包列表,说私有YUM配置成功。
yum install createrepo
## 把自定义的rpm包复制到私有YUM仓库的实际目录的Packages目录下
cp *.rpm centos-repository/7/x86_64/Packages/
##重新创建repomod.xml文件
cd centos-repository/7/
createrepo x86_64/
更新私有YUM仓库索引后,使用yum search yourpackage可以搜索到相关的包