用虚机建立PXE服务器的时候,为了方便安装软件,可以在实机上搭建一个本地源。这里做四个源:11G base/ 14G epel/ 660M extras/ 4.1G updates/。
YUM的基本工作机制如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
实机工作(服务器):
1.编辑repo文件
base,extras,updates这三个源是系统缺省自带的,不用添加了。
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo |
---|
2.在FTP本地目录中进行同步并制作repo
cd /var/ftp/pub/localrepo reposync --repoid=base reposync --repoid=updates reposync --repoid=extras reposync --repoid=epel cd base; createrepo .; cd - cd epel; createrepo .; cd - cd extras; createrepo .; cd - cd updates; createrepo .; cd - |
---|
3. 启动FTP服务
yum install vsftpd systemctl enable vsftpd systemctl start vsftpd |
---|
PS:如果客户端访问出现如下问题,执行setsebool -P allow_ftpd_full_access 1
[root@localhost yum.repos.d]# yum update Loaded plugins: fastestmirror, langpacks, priorities ftp://192.168.56.1/pub/localrepo/base/repodata/repomd.xml: [Errno 14] FTP Error 550 - RETR response: 550 Trying other mirror. Loading mirror speeds from cached hostfile * extras: mirrors.yun-idc.com * updates: mirrors.yun-idc.com No packages marked for update |
---|
虚机工作(客户端):
1.将自带的源移入bak,然后添加repo文件
cd /etc/yum.repos.d mkdir bak mv *.repo bak vi yumftp-base.repo [ftp-base] |
---|
gpgcheck:表示是否进行gpg检测,0表示不进行,1表示进行。gpg检查就是在使用yum安装软件是对软件输入公钥进行验证,看是否来源安全。
gpgkey:进行gpg检查时,使用file协议导入公钥,后面接的路径就是系统自带的公钥存放路径。
其他三个repo文件依此类推即可。
2.测试
yum clean all yum list |
---|
完