1.インターネットにアクセスできるサーバーに必要なソフトウェアパッケージをダウンロードします
ソフトウェアパッケージをダウンロードする方法はたくさんあります。ブラウザでソフトウェアパッケージを直接検索してダウンロードできます。
https://centos.pkgs.org/7/centos-x86_64/zlib-devel-1.2.7-18.el7.x86_64.rpm.html
インターネットにアクセスできるLinuxマシンに対応するYUMウェアハウスをインストールした後、次のコマンドを使用してダウンロードすることもできます。
yum --downloadonly reinstall createrepo deltarpm python-deltarpm --downloaddir=/tmp
上記のコマンドを実行する/tmp
と、ディレクトリに次のソフトウェアパッケージが作成されます。
[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
ダウンロードしたソフトウェアパッケージをパッケージ化する
[root@qq tmp]# cd /tmp
[root@qq tmp]# tar -zcf pakg.tar.gz ./*.rpm
次に、YUMウェアハウスを構築する必要があるサーバーにパッケージ化されたソフトウェアパッケージを転送する方法を見つけます
2.ローカルYUMウェアハウスを作成します
以下の操作は、インターネットにアクセスできず、ローカルYUMウェアハウスを確立する必要があるサーバーで実行されます。
1ローカルYUM倉庫を作成するためのツールをインストールします
パッケージが、ローカルYUMリポジトリサーバー/opt/
ディレクトリに適切なパッケージを作成する必要性に移行した場合
上記でダウンロードした3つのソフトウェアパッケージは、実際にはローカルYUMウェアハウスツールを作成するために必要なソフトウェアパッケージであるため、ローカルYUMウェアハウスのサーバーにインストールして、次のコマンドを実行します。
[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ローカルYUMウェアハウスを作成します
ローカルYUMウェアハウスのディレクトリが次の場所にあるとします。 /yum-repo-package
そしてすでにパッケージを持っています
[root@yumserver ~]# ls /yum-repo-package/
zlib-devel-1.2.7-18.el7.x86_64.rpm
次に、次のコマンドを実行して、ローカルYUMソースのパッケージインデックスデータを作成します。
[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 ~]#
将来このディレクトリに新しいソフトウェアを追加する場合は、次のコマンドを実行してインデックスファイルを更新する必要があります。
[root@yumserver ~]# createrepo --update /yum-repo-package/
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
第三に、マシンにローカルのYUM倉庫を使用させます
まず、元のローカルウェアハウスファイルをディレクトリにバックアップします
[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]#
次に、マシンで続行して/etc/yum.repos.d
ディレクトリlocal.repo
ファイルを作成し、次のように記述します
[local-yum]
name=local-yum
baseurl=file:///yum-repo-package/
enabled=1
gpgcheck=0
次に、マシンの元のYUMウェアハウスキャッシュをクリアします
[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 ~]#
最後に、ローカルYUMソースを使用できるかどうかを確認します
[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
パッケージを検索することもできます
[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 ~]#