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があれば取り敢えずこれが一番簡単かな。
後日サブスクリプション登録して最新に更新です。