インストールメディア内のrpmパッケージをyumを使ってインストールする


めもめも。

## インストールメディアをマウント
```shell-session
[root@localhost ~]# mkdir /media/CentOS
[root@localhost ~]#
[root@localhost ~]# mount /dev/cdrom /media/CentOS
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
[root@localhost ~]#
```

## rpmパッケージのインストール（rpmコマンド）
まずは、`rpm`コマンドでgccのインストールを試みる。

```shell-session
[root@localhost ~]# rpm -qa | grep gcc
libgcc-4.4.7-16.el6.x86_64
[root@localhost ~]#
[root@localhost ~]# cd /media/CentOS/Packages/
[root@localhost Packages]#
[root@localhost Packages]# ls -lh gcc-[0-9]*
-r--r--r--. 2 root root 11M  7月 25 05:41 2015 gcc-4.4.7-16.el6.x86_64.rpm
[root@localhost Packages]#
[root@localhost Packages]# rpm -ivh gcc-4.4.7-16.el6.x86_64.rpm
警告: gcc-4.4.7-16.el6.x86_64.rpm: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
エラー: 依存性の欠如:
	cloog-ppl >= 0.15 は gcc-4.4.7-16.el6.x86_64 に必要とされています
	cpp = 4.4.7-16.el6 は gcc-4.4.7-16.el6.x86_64 に必要とされています
	glibc-devel >= 2.2.90-12 は gcc-4.4.7-16.el6.x86_64 に必要とされています	libgomp = 4.4.7-16.el6 は gcc-4.4.7-16.el6.x86_64 に必要とされています
	libgomp.so.1()(64bit) は gcc-4.4.7-16.el6.x86_64 に必要とされています
[root@localhost Packages]#
```

→　依存パッケージを指定していないため怒られる。

## rpmパッケージのインストール（yumコマンド）

次は、`yum`で試してみる。

リポジトリ定義ファイルを作成する必要があると思っていたけど、標準で `/etc/yum.repos.d/CentOS-Media.repo` というファイルがあった。

```/etc/yum.repos.d/CentOS-Media.repo
# CentOS-Media.repo
#
#  This repo can be used with mounted DVD media, verify the mount point for
#  CentOS-6.  You can use this repo and yum to install items directly off the
#  DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
#  yum --enablerepo=c6-media [command]
#
# or for ONLY the media repo, do this:
#
#  yum --disablerepo=\* --enablerepo=c6-media [command]

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
        file:///media/cdrom/
        file:///media/cdrecorder/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
```

コマンドも書いてあったのでこの通りに使ってみる。

```shell-session
[root@localhost Packages]# yum --disablerepo=\* --enablerepo=c6-media install gcc
読み込んだプラグイン:fastestmirror
インストール処理の設定をしています
Determining fastest mirrors
 * c6-media:
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package gcc.x86_64 0:4.4.7-16.el6 will be インストール
--> 依存性の処理をしています: libgomp = 4.4.7-16.el6 のパッケージ: gcc-4.4.7-16.el6.x86_64
--> 依存性の処理をしています: cpp = 4.4.7-16.el6 のパッケージ: gcc-4.4.7-16.el6.x86_64
--> 依存性の処理をしています: glibc-devel >= 2.2.90-12 のパッケージ: gcc-4.4.7-16.el6.x86_64
--> 依存性の処理をしています: cloog-ppl >= 0.15 のパッケージ: gcc-4.4.7-16.el6.x86_64
--> 依存性の処理をしています: libgomp.so.1()(64bit) のパッケージ: gcc-4.4.7-16.el6.x86_64
--> トランザクションの確認を実行しています。
---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be インストール
--> 依存性の処理をしています: libppl_c.so.2()(64bit) のパッケージ: cloog-ppl-0.15.7-1.2.el6.x86_64
--> 依存性の処理をしています: libppl.so.7()(64bit) のパッケージ: cloog-ppl-0.15.7-1.2.el6.x86_64
---> Package cpp.x86_64 0:4.4.7-16.el6 will be インストール
--> 依存性の処理をしています: libmpfr.so.1()(64bit) のパッケージ: cpp-4.4.7-16.el6.x86_64
---> Package glibc-devel.x86_64 0:2.12-1.166.el6 will be インストール
--> 依存性の処理をしています: glibc-headers = 2.12-1.166.el6 のパッケージ: glibc-devel-2.12-1.166.el6.x86_64
--> 依存性の処理をしています: glibc-headers のパッケージ: glibc-devel-2.12-1.166.el6.x86_64
---> Package libgomp.x86_64 0:4.4.7-16.el6 will be インストール
--> トランザクションの確認を実行しています。
---> Package glibc-headers.x86_64 0:2.12-1.166.el6 will be インストール
--> 依存性の処理をしています: kernel-headers >= 2.2.1 のパッケージ: glibc-headers-2.12-1.166.el6.x86_64
--> 依存性の処理をしています: kernel-headers のパッケージ: glibc-headers-2.12-1.166.el6.x86_64
---> Package mpfr.x86_64 0:2.4.1-6.el6 will be インストール
---> Package ppl.x86_64 0:0.10.2-11.el6 will be インストール
--> トランザクションの確認を実行しています。
---> Package kernel-headers.x86_64 0:2.6.32-573.el6 will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 パッケージ           アーキテクチャ
                                   バージョン              リポジトリー    容量
================================================================================
インストールしています:
 gcc                  x86_64       4.4.7-16.el6            c6-media        10 M
依存性関連でのインストールをします。:
 cloog-ppl            x86_64       0.15.7-1.2.el6          c6-media        93 k
 cpp                  x86_64       4.4.7-16.el6            c6-media       3.7 M
 glibc-devel          x86_64       2.12-1.166.el6          c6-media       985 k
 glibc-headers        x86_64       2.12-1.166.el6          c6-media       614 k
 kernel-headers       x86_64       2.6.32-573.el6          c6-media       3.9 M
 libgomp              x86_64       4.4.7-16.el6            c6-media       134 k
 mpfr                 x86_64       2.4.1-6.el6             c6-media       157 k
 ppl                  x86_64       0.10.2-11.el6           c6-media       1.3 M

トランザクションの要約
================================================================================
インストール         9 パッケージ

総ダウンロード容量: 21 M
インストール済み容量: 39 M
これでいいですか? [y/N]y
パッケージをダウンロードしています:
--------------------------------------------------------------------------------
合計                                            104 MB/s |  21 MB     00:00
警告: rpmts_HdrFromFdno: ヘッダ V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
 Package: centos-release-6-7.el6.centos.12.3.x86_64 (@anaconda-CentOS-201508042137.x86_64/6.7)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
これでいいですか? [y/N]y
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールしています  : ppl-0.10.2-11.el6.x86_64                        1/9
  インストールしています  : cloog-ppl-0.15.7-1.2.el6.x86_64                 2/9
  インストールしています  : mpfr-2.4.1-6.el6.x86_64                         3/9
  インストールしています  : cpp-4.4.7-16.el6.x86_64                         4/9
  インストールしています  : libgomp-4.4.7-16.el6.x86_64                     5/9
  インストールしています  : kernel-headers-2.6.32-573.el6.x86_64            6/9
  インストールしています  : glibc-headers-2.12-1.166.el6.x86_64             7/9
  インストールしています  : glibc-devel-2.12-1.166.el6.x86_64               8/9
  インストールしています  : gcc-4.4.7-16.el6.x86_64                         9/9
  Verifying               : kernel-headers-2.6.32-573.el6.x86_64            1/9
  Verifying               : libgomp-4.4.7-16.el6.x86_64                     2/9
  Verifying               : gcc-4.4.7-16.el6.x86_64                         3/9
  Verifying               : mpfr-2.4.1-6.el6.x86_64                         4/9
  Verifying               : glibc-headers-2.12-1.166.el6.x86_64             5/9
  Verifying               : cpp-4.4.7-16.el6.x86_64                         6/9
  Verifying               : ppl-0.10.2-11.el6.x86_64                        7/9
  Verifying               : cloog-ppl-0.15.7-1.2.el6.x86_64                 8/9
  Verifying               : glibc-devel-2.12-1.166.el6.x86_64               9/9

インストール:
  gcc.x86_64 0:4.4.7-16.el6

依存性関連をインストールしました:
  cloog-ppl.x86_64 0:0.15.7-1.2.el6       cpp.x86_64 0:4.4.7-16.el6
  glibc-devel.x86_64 0:2.12-1.166.el6     glibc-headers.x86_64 0:2.12-1.166.el6
  kernel-headers.x86_64 0:2.6.32-573.el6  libgomp.x86_64 0:4.4.7-16.el6
  mpfr.x86_64 0:2.4.1-6.el6               ppl.x86_64 0:0.10.2-11.el6

完了しました!
[root@localhost Packages]#
```

→　依存パッケージも含めてインストールしてくれた。


## 参考にしたサイト
http://server-setting.info/centos/yum-install-from-dvd.html