ローカルにyumのリポジトリを作る。
前回DVDをyumのリポジトリ登録するというのをやりましたけど、
多分インストールメディアはみんなでシェアすると思うので、そんなに長くは借りれないはずなので、サーバのローカルにおいてレポジトリ化すると言うのをやってみます。
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
ではでは。