インターネットからダウンロードしたrpmパッケージをローカルディレクトリに置き、ローカルYUMソースを作成します

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 ~]#

おすすめ

転載: blog.csdn.net/qq_22648091/article/details/109169099