This article mainly describes how to build a custom YUM source, in a host environment with a large number of local networks, can reduce dependence on the external network.
Server
Install vsftp package
[root@server ~]# yum install vsftpd -y
Adding related resource bundles
- Create directories to store
[root@server ~]# mkdir /var/ftp/centos7 /var/ftp/others [root@server ~]# ls /var/ftp/ centos7 others pub
- Copy the contents of the mirror file to the relevant directory
[root@server ~]# mount /dev/cdrom /mnt/ mount: /dev/sr0 is write-protected, mounting read-only [root@server ~]# cp -r /mnt/* /var/ftp/centos7/
- Create repodata for the other directory
[root@server ~]# createrepo -g /var/ftp/centos7/repodata/repomd.xml /var/ftp/others/ Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
- Check that the documents are complete
[root@server ~]# ls /var/ftp/centos7/ CentOS_BuildTag EFI EULA GPL images isolinux LiveOS Packages repodata RPM-GPG-KEY-CentOS-7 RPM-GPG-KEY-CentOS-Testing-7 TRANS.TBL
[root@server ~]# ls /var/ftp/others/ repodata
Open Services
[root@server ~]# systemctl enable vsftpd Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service. [root@server ~]# systemctl start vsftpd [root@server ~]# netstat -ntuap | grep vsftpd tcp6 0 0 :::21 :::* LISTEN 35971/vsftpd
Close the firewall
[root@server ~]# systemctl stop firewalld [root@server ~]# setenforce 0
Client
Install ftp packages
[root@client ~]# yum install ftp -y
Anonymous login view
[root@client ~]# ftp 192.168.28.128 Connected to 192.168.28.128 (192.168.28.128). 220 (vsFTPd 3.0.2) Name (192.168.28.128:root): ftp 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (192,168,28,128,255,56). 150 Here comes the directory listing. drwxr-xr-x 8 0 0 2048 Sep 05 2017 centos7 drwxr-xr-x 3 0 0 22 Sep 16 19:42 others drwxr-xr-x 2 0 0 6 Oct 30 2018 pub 226 Directory send OK. ftp> bye 221 Goodbye.
Edit YUM source configuration file
- Back up existing yum sources
[root@client ~]# cd /etc/yum.repos.d/ [root@client yum.repos.d]# mkdir bak [root@client yum.repos.d]# mv *.repo bak/
- Edit custom yum source
[root@client yum.repos.d]# vim ftp.repo [base] name=centos7.Packages baseurl=ftp://192.168.28.128/centos7/ enabled=1 gpgcheck=1 gpgkey=ftp://192.168.28.128/centos7/RPM-GPG-KEY-CentOS-7 [others] name=others.Packages baseurl=ftp://192.168.28.128/others/ enabled=1 gpgcheck=0
View the results
[root@client ~]# yum clean all Loaded plugins: fastestmirror Cleaning repos: base others Cleaning up everything Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos Cleaning up list of fastest mirrors [root@client ~]# yum list