createrepoのインストール
yum install createrepo
ディレクトリの準備
- パッケージを置くディレクトリを作成
mkdir /usr/local/repo
設置したいパッケージを配置
yumdownloaderコマンドがなければ yum install yum-utils
でインストール
今回はrsyncを入れてみる。
cd /usr/local/repo
yumdownloader rsync
ll /usr/local/repo
==========
-rw-r--r--. 1 root root 413912 4月 4 2020 rsync-3.1.2-10.el7.x86_64.rpm
==========
> rsyncのrpmファイルがあることを確認
リポジトリの作成
- createrepoコマンドでリポジトリの作成
createrepo リポジトリのパス
で作成できます。
createrepo /usr/local/repo
==========
Spawning worker 0 with 1 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
==========
ローカルでリポジトリが使えるように設定を追加
- 設定を追加
touch /etc/yum.repos.d/mycentos.repo
vi /etc/yum.repos.d/mycentos.repo
==========
[mycentos]
enabled=1
gpgcheck=0
name=my repo
baseurl=file:///usr/local/repo
==========
- yumリポジトリを更新
yum clean all
- yumリポジトリが追加されていることを確認
yum repolist
==========
リポジトリー ID リポジトリー名 状態
base/7/x86_64 CentOS-7 - Base 10,072
extras/7/x86_64 CentOS-7 - Extras 448
mycentos my repo 1
updates/7/x86_64 CentOS-7 - Updates 293
repolist: 10,814
==========
> mycensos があることを確認
ローカルリポジトリを使ったインストール
- インストール
--disablerepo=*
のオプションを使うとyumリポジトリの無効化
--enablerepo=リポジトリID
でリポジトリの有効化を行う
今回は無理やりmycentosリポジトリしか見ないようにしています。
yum --disablerepo=* --enablerepo=mycentos install rsync
==========
...
===================================================================================
Package アーキテクチャー バージョン リポジトリー 容量
===================================================================================
インストール中:
rsync x86_64 3.1.2-10.el7 mycentos 404 k
トランザクションの要約
===================================================================================
インストール 1 パッケージ
...
==========
> リポジトリーが「mycentos」になっているので、作成したリポジトリからインストールができました!
ローカルリポジトリにパッケージを追加する
- パッケージを追加する
次はdigコマンドを使いたいので入れてみる。
cd /usr/local/repo
yumdownloader bind-utils
yumdownloader bind-libs
ll /usr/local/repo
==========
-rw-r--r--. 1 root root 159224 10月 15 04:03 bind-libs-9.11.4-26.P2.el7.i686.rpm
-rw-r--r--. 1 root root 159992 10月 15 03:46 bind-libs-9.11.4-26.P2.el7.x86_64.rpm
-rw-r--r--. 1 root root 265984 10月 15 03:47 bind-utils-9.11.4-26.P2.el7.x86_64.rpm
drwxr-xr-x. 2 root root 4096 11月 17 23:10 repodata
-rw-r--r--. 1 root root 413912 4月 4 2020 rsync-3.1.2-10.el7.x86_64.rpm
==========
> rsyncとrepodata、今回追加したbind-libsとbind-utilsが入ってることを確認
- リポジトリをアップデート
アップデートする際は、 --update
コマンドを使用する
createrepo --update /usr/local/repo
==========
Spawning worker 0 with 3 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
==========
- yumリポジトリを更新
yum clean all
- yumリポジトリが追加されていることを確認
yum repolist
==========
リポジトリー ID リポジトリー名 状態
base/7/x86_64 CentOS-7 - Base 10,072
extras/7/x86_64 CentOS-7 - Extras 448
mycentos my repo 4
updates/7/x86_64 CentOS-7 - Updates 293
repolist: 10,817
==========
> mycentosの状態が4になっています(rpmが4つ入ったので)
- ローカルリポジトリを使ってインストール
yum --disablerepo=* --enablerepo=mycentos install bind-utils
==========
===================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
===================================================================================
インストール中:
bind-utils x86_64 32:9.11.4-26.P2.el7 mycentos 260 k
依存性関連でのインストールをします:
bind-libs x86_64 32:9.11.4-26.P2.el7 mycentos 156 k
トランザクションの要約
===================================================================================
インストール 1 パッケージ (+1 個の依存関係のパッケージ)
==========