


Red Hat Enterprise Linuxでは初期インストール時にはなるべく余計なプログラムは導入しないようにしています。
いつもは最小+開発環境でしょうか。
サーバ構築段階でその都度必要なプログラムをインストールするようにしています。
サブスクリプション登録していない、ネットワークが利用できないとyumが利用できません。
そうなるとDVDからrpmコマンドで依存関係を考慮しながらパッケージをインストールすることになります。
これがなかなか厄介です。
そこでDVDのrepodataを使用してyumが利用できるようにしました。
今回はRed Hat Enterprise Linux 6.7(x86_64)のDVDで試しました。
- DVDを内蔵HDDにCopy
- リポジトリファイル作成
- yumの実行
DVDを/usr/local/src/RHEL6.7_DVDにコピーします。
| 1 2 3 4 5 6 7 8 9 10 11 | [root@host01 ~]# mount -t iso9660 /dev/cdrom /mnt [root@host01 ~]# mkdir /usr/local/src/RHEL6.7_DVD [root@host01 ~]# cd /usr/local/src/RHEL6.7_DVD [root@host01 RHEL6.7_DVD]# cp -r /mnt/* . [root@host01 RHEL6.7_DVD]# ls EFI      EULA_it  HighAvailability            ResilientStorage    media.repo EULA     EULA_ja  LoadBalancer                ScalableFileSystem  release-notes EULA_de  EULA_ko  Packages                    Server              repodata EULA_en  EULA_pt  README                      TRANS.TBL EULA_es  EULA_zh  RPM-GPG-KEY-redhat-beta     images EULA_fr  GPL      RPM-GPG-KEY-redhat-release  isolinux | 
そのままコピーしているのでrepodataは/usr/local/src/RHEL6.7_DVD/repodataにあります。
ちなみにパッケージは/usr/local/src/RHEL6.7_DVD/RHEL6.7_DVD/Packages/です。
| 1 2 3 4 5 6 7 | [root@host01 ~]# vi /etc/yum.repos.d/rhel67_local.repo [root@host01 ~]# cat /etc/yum.repos.d/rhel67_local.repo [rhel67_local] name=RHEL 6.7 DVD baseurl=file:///usr/local/src/RHEL6.7_DVD gpgcheck=0 enabled=0 | 
作成したリポジトリを使用してyumを実行してみます。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | [root@host01 src]# yum --enablerepo=rhel67_local install autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel 読み込んだプラグイン:product-id, refresh-packagekit, security, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. インストール処理の設定をしています パッケージ autoconf-2.63-5.1.el6.noarch はインストール済みか最新バージョンです パッケージ automake-1.11.1-4.el6.noarch はインストール済みか最新バージョンです パッケージ freetype-devel-2.3.11-15.el6_6.1.x86_64 はインストール済みか最新バー ジョンです パッケージ gcc-4.4.7-16.el6.x86_64 はインストール済みか最新バージョンです パッケージ gcc-c++-4.4.7-16.el6.x86_64 はインストール済みか最新バージョンです パッケージ git-1.7.1-3.el6_4.1.x86_64 はインストール済みか最新バージョンです パッケージ libtool-2.2.6-15.5.el6.x86_64 はインストール済みか最新バージョンです パッケージ 1:make-3.81-20.el6.x86_64 はインストール済みか最新バージョンです パッケージ 1:pkgconfig-0.23-9.1.el6.x86_64 はインストール済みか最新バージョンで す パッケージ zlib-devel-1.2.3-29.el6.x86_64 はインストール済みか最新バージョンです 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package cmake.x86_64 0:2.8.12.2-4.el6 will be インストール ---> Package mercurial.x86_64 0:1.4-4.el6 will be インストール ---> Package nasm.x86_64 0:2.07-7.el6 will be インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================  パッケージ       アーキテクチャ                                 バージョン            リポジトリー         容量 ================================================================================ インストールしています:  cmake            x86_64        2.8.12.2-4.el6        rhel67_local        8.0 M  mercurial        x86_64        1.4-4.el6             rhel67_local        1.5 M  nasm             x86_64        2.07-7.el6            rhel67_local        385 k トランザクションの要約 ================================================================================ インストール         3 パッケージ 総ダウンロード容量: 9.8 M インストール済み容量: 37 M これでいいですか? [y/N]y パッケージをダウンロードしています: -------------------------------------------------------------------------------- 合計                                            146 MB/s | 9.8 MB     00:00 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています 警告: RPMDB は yum 以外で変更されました。   インストールしています  : nasm-2.07-7.el6.x86_64                          1/3   インストールしています  : mercurial-1.4-4.el6.x86_64                      2/3   インストールしています  : cmake-2.8.12.2-4.el6.x86_64                     3/3 rhel67_local/productid                                   | 1.6 kB     00:00 ...   Verifying               : cmake-2.8.12.2-4.el6.x86_64                     1/3   Verifying               : mercurial-1.4-4.el6.x86_64                      2/3   Verifying               : nasm-2.07-7.el6.x86_64                          3/3 インストール:   cmake.x86_64 0:2.8.12.2-4.el6           mercurial.x86_64 0:1.4-4.el6   nasm.x86_64 0:2.07-7.el6 完了しました! | 
依存関係でイライラが無く作業効率も上がってめでたし:-)
createrepoコマンドでリポジトリデータを新たに作成する方法もありますが、DVDがあれば取り敢えずこれが一番簡単かな。
後日サブスクリプション登録して最新に更新です。