ローカルにyumのリポジトリを作る。

前回DVDをyumリポジトリ登録するというのをやりましたけど、

linlinrh.hatenadiary.jp

多分インストールメディアはみんなでシェアすると思うので、そんなに長くは借りれないはずなので、サーバのローカルにおいてレポジトリ化すると言うのをやってみます。

DVDからパッケージをコピー

まず、DVDのパッケージを保存しておくフォルダを作成してDVDからコピーします。

[root@host1 ~]# mkdir -p /var/local && cd /var/local
[root@host1 local]# cp /mnt/Packages/* /var/local  

 

リポジトリの作成

コピーしたパッケージを読み込んでリポジトリを作るcreaterepoを実行しますが、とりあえずインストールされているか確認してみます。

[root@host1 yum.repos.d]# yum list installed |grep createrepo
createrepo.noarch 0.9.9-28.el7 @rhel-7-server-rpms
[root@host1 yum.repos.d]#

出てくれば、インストール済みです。多分入っているとは思いますが。。

 

入っていないときには、インストールしてください。

DVDのリポジトリが有効な場合は、yumからインストールできますし、

[root@host1 local]# yum -y install createrepo

リポジトリがない場合は、findでDVDからrpmを見つけてインストールします。

[root@host1 yum.repos.d]# find /mnt/Packages/ |grep createrepo
/mnt/Packages/createrepo-0.9.9-26.el7.noarch.rpm
[root@host1 yum.repos.d]#
[root@host1 yum.repos.d]# rpm -ivh /mnt/Packages/createrepo-0.9.9-26.el7.noarch.rpm

 

でもって、リポジトリの作成をします。

[root@host1 local]# createrepo -v /var/local

Worker 1: reading zziplib-0.13.62-5.el7.i686.rpm

Worker 0: reading zziplib-0.13.62-5.el7.x86_64.rpm

Workers Finished

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Starting other db creation: Thu Jan 11 13:49:35 2018

Ending other db creation: Thu Jan 11 13:49:36 2018

Starting filelists db creation: Thu Jan 11 13:49:37 2018

Ending filelists db creation: Thu Jan 11 13:49:39 2018

Starting primary db creation: Thu Jan 11 13:49:40 2018

Ending primary db creation: Thu Jan 11 13:49:42 2018

Sqlite DBs complete

[root@host1 local]#

 

yumの設定ファイルを作成

プロンプトが帰ってきたら、ディレクトリにリポジトリのファイルができているかを確認します。

[root@host1 local]# ll /var/local/repodata

total 14444

-rw-r--r--. 1 root root 1853328 Jan 11 13:49 35cf830f57db22a70b3be5163c918ac83a78ed923f9630f0478dfc0dde9b9815-primary.xml.gz

[root@host1 local]#

あとは、yumのデーモンが読み込む設定ファイルを作成します。

[root@host1 local]# vi /etc/yum.repos.d/local.repo

==記述例===

[local]
name=local repo
baseurl=file:///var/local/
enabled=1
gpgcheck=0

=========

DVDのリポジトリファイルが有れば、流用してもいいかもです。あと、DVDのファイルの方は使わなくなるので消しておきます。

 

yumキャッシュの再作成

DVDのリポジトリのキャッシュを一旦クリアします。

[root@host1 yum.repos.d]# yum clean all

Cleaning repos: local

Cleaning up everything

 

リポジトリのリストを取得すると、新しい設定ファイルから再度キャッシュします。

 

[root@host1 local]# yum -v repolist

Setting up Package Sacks

pkgsack time: 0.002

Repo-id      : local

Repo-name    : local repo

Repo-revision: 1515646125

Repo-updated : Thu Jan 11 13:49:42 2018

Repo-pkgs    : 4,751

Repo-size    : 3.1 G

Repo-baseurl : file:///var/local/

Repo-expire  : 21,600 second(s) (last: Thu Jan 11 15:49:36 2018)

 Filter     : read-only:present

Repo-filename: /etc/yum.repos.d/local.repo

 

repolist: 4,751

[root@host1 local]#

 

yumの動作確認

試しにftpをインストールしてみます。

[root@host1 local]# yum install -y vsftpd

Installed:

 vsftpd.x86_64 0:3.0.2-21.el7

 

Complete!

[root@host1 local]#

 

おまけ

Red Hatサブスクリプションが設定されると、インターネット経由でのRed Hatから提供されているリポジトリが登録されますので、ローカルで完結したいときには、サブスクリプションを解除します。

[root@host1 local]# subscription-manager unsubscribe --all
1 subscription removed at the server.
1 local certificate has been deleted.
[root@host1 local]#

詳しいことは下記を参照ください。

5.3.2. コマンドラインを使用したサブスクリプションのアタッチと削除 - Red Hat Customer Portal

 

ではでは。