LoginSignup
7
4

More than 3 years have passed since last update.

ローカルにyumリポジトリを作成してみた

Posted at

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 個の依存関係のパッケージ)
==========

参考

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4