1. Baixe o pacote de software necessário em um servidor com acesso à Internet
Há muitas maneiras de baixar um pacote de software, você pode pesquisar diretamente por um pacote de software no navegador e baixá-lo
https://centos.pkgs.org/7/centos-x86_64/zlib-devel-1.2.7-18.el7.x86_64.rpm.html
Você também pode usar o seguinte comando para fazer o download após instalar o armazém YUM correspondente em uma máquina Linux com acesso à Internet
yum --downloadonly reinstall createrepo deltarpm python-deltarpm --downloaddir=/tmp
Depois de executar o comando acima, /tmp
haverá os seguintes pacotes de software no diretório
[root@qq ~]# ls /tmp/*.rpm
/tmp/createrepo-0.9.9-28.el7.noarch.rpm
/tmp/deltarpm-3.6-3.el7.x86_64.rpm
/tmp/python-deltarpm-3.6-3.el7.x86_64.rpm
Empacote o pacote de software baixado
[root@qq tmp]# cd /tmp
[root@qq tmp]# tar -zcf pakg.tar.gz ./*.rpm
Em seguida, encontre uma maneira de transferir o pacote de software empacotado para o servidor que precisa construir um armazém YUM
2. Crie um armazém YUM local
As seguintes operações serão realizadas em um servidor que não pode acessar a Internet e precisa estabelecer um armazém YUM local
1 Instale ferramentas para fazer um armazém YUM local
Se o pacote foi transferido para a necessidade de criar um bom pacote no /opt/
diretório do servidor de repositório YUM local
Os três pacotes de software que baixamos acima são, na verdade, os pacotes de software necessários para criar uma ferramenta de warehouse YUM local, então agora nós os instalamos no servidor do warehouse YUM local e executamos o seguinte comando
[root@yumserver opt]# cd /opt
[root@yumserver opt]# tar -xf pakg.tar.gz
[root@yumserver opt]# ls
createrepo-0.9.9-28.el7.noarch.rpm
deltarpm-3.6-3.el7.x86_64.rpm
pakg.tar.gz
python-deltarpm-3.6-3.el7.x86_64.rpm
[root@yumserver opt]# yum localinstall *.rpm
2 Crie um armazém YUM local
Suponha que o diretório do nosso armazém YUM local esteja em /yum-repo-package
E ja tem um pacote
[root@yumserver ~]# ls /yum-repo-package/
zlib-devel-1.2.7-18.el7.x86_64.rpm
Em seguida, execute o seguinte comando para criar os dados de índice do pacote da fonte YUM local
[root@yumserver ~]# createrepo /yum-repo-package/
Spawning worker 0 with 1 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@yumserver ~]# ls /yum-repo-package/
repodata zlib-devel-1.2.7-18.el7.x86_64.rpm
[root@yumserver ~]#
Se você adicionar um novo software a este diretório no futuro, você precisará executar o seguinte comando para atualizar o arquivo de índice
[root@yumserver ~]# createrepo --update /yum-repo-package/
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
Terceiro, deixe a máquina usar o armazém YUM local
Primeiro faça backup dos arquivos originais do warehouse local em um diretório
[root@yumserver ~]# cd /etc/yum.repos.d/
[root@yumserver yum.repos.d]# mkdir back
[root@yumserver yum.repos.d]# ls
back CentOS-Sources.repo
CentOS-Base.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo epel.repo
CentOS-fasttrack.repo epel-testing.repo
CentOS-Media.repo
[root@yumserver yum.repos.d]# mv *.repo back/
[root@yumserver yum.repos.d]#
Em seguida, continue na máquina /etc/yum.repos.d
para criar um local.repo
arquivo de diretório e escrever o seguinte
[local-yum]
name=local-yum
baseurl=file:///yum-repo-package/
enabled=1
gpgcheck=0
Em seguida, limpe o cache do armazém YUM original da máquina
[root@yumserver yum.repos.d]# cd
[root@yumserver ~]# yum clean all
Loaded plugins: fastestmirror, ovl
Cleaning repos: local-yum
Cleaning up list of fastest mirrors
Other repos take up 104 M of disk space (use --verbose for details)
[root@yumserver ~]#
Finalmente, confirme se a fonte YUM local pode ser usada
[root@yumserver ~]# yum repolist
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
local-yum | 2.9 kB 00:00
local-yum/primary_db | 1.8 kB 00:00
repo id repo name status
local-yum local-yum 1
repolist: 1
Você também pode pesquisar um pacote
[root@yumserver ~]# yum search zlib-devel
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
======================= N/S matched: zlib-devel =======================
zlib-devel.x86_64 : Header files and libraries for Zlib development
Name and summary matches only, use "search all" for everything.
[root@yumserver ~]#