yumリポジトリ設定
yumとは「Yellowdog Updater Modified 」の略。LinuxのRPM互換パッケージ管理システムである。
CentOS等のRedHat系Linuxではアプリのインストールに「rpm(Red Hat Package Manager)」形式のバイナリファイルを使用できる。
rpmファイルはインストールが簡単でありrpmファイル同士の依存関係も明示してくれるため扱いやすい反面必要なファイルがまとまっていない為、規模が大きくなると集めるのが大変かつrpmファイルインストールの順番を考える必要があり、素人には扱いづらい一面もあった。
これらインストールに必要なファイルをネットを通じて収集し順番を考えてインストールしてくれる仕組みとしてyumは開発された。
今回は、
- 環境1:インターネットにアクセス可能
- 環境2:インターネットへのアクセス不可
- 環境3:イントラ内にリポジトリサーバ有り
それぞれの環境でyumによるインストールが可能になるよう、リポジトリ登録を行う。
目的
CentOSのローカル環境でリポジトリを設定し、yumが利用できるようにする。
構築条件
構築機器
- 仮想サーバ SUN VirtualBox 4.3 Hyper-V で構築
作成環境
OS | CentOS 6.5 64bit版 |
サーバ作成条件
サーバIP | 192.168.0.10/24 |
ホスト名 | hogehogeServer |
user | hogehoge |
userpasswd | hogehogepass |
手順記入ルール
- コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
- コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。
前準備
- CentOSインストール 実施
★以下サーバ環境にあわせて設定を実施
- リポジトリ初期値
種別 ファイル名 リポジトリ名 enabled 既存 CentOS-Base.repo [base] 1 [updates] 1 [extras] 1 [centosplus] 0 [contrib] 0 CentOS-Debuginfo.repo [debug] 0 CentOS-Media.repo [c6-media] 0
環境1:インターネットにアクセス可能
(1)yumリポジトリ動作を確認
【Telnet】
- rootでログイン
$ su パスワード:
- 確認
# ls -l /etc/yum.repos.d/
-rw-r--r--. 1 root root 1926 11月 27 20:53 2013 CentOS-Base.repo -rw-r--r--. 1 root root 638 11月 27 20:53 2013 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 630 11月 27 20:53 2013 CentOS-Media.repo -rw-r--r--. 1 root root 3664 11月 27 20:53 2013 CentOS-Vault.repo
※「enable=」の値が初期値と同じか確認。「enable=」が無い場合は「enable=1」となる。
- リポジトリ初期値確認
# cat /etc/yum.repos.d/CentOS-Base.repo # cat /etc/yum.repos.d/CentOS-Debuginfo.repo # cat /etc/yum.repos.d/CentOS-Media.repo # cat /etc/yum.repos.d/CentOS-Vault.repo
- yumキャッシュクリア
# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit Cleaning repos: base extras updates Cleaning up Everything
- yum確認
# yum list all
* base: centos.ustc.edu.cn ←「base」 があることを確認 * extras: mirrors.tuna.tsinghua.edu.cn ←「extras」 があることを確認 * updates: centosd6.centos.org ←「updates」があることを確認
:
- 終了
# exit exit $
変更する場合、以下手順で活性化を実施
- 活性化登録(例)
# vi /etc/yum.repos.d/CentOS-Base.repo
- 以下リポジトリを「enable=1」に変更
[base] enabled=1 ←「1」に変更
#[updates] enabled=1 ←「1」に変更
#[extras] enabled=1 ←「1」に変更
#[centosplus] enabled=0 ←「0」に変更
#[contrib] enabled=0 ←「1」に変更
環境2:インタネットへのアクセス不可
★インストールDVDをyumリポジトリとして登録
- リポジトリ修正
種別 ファイル名 リポジトリ名 enabled 初期値 変更後 既存 CentOS-Base.repo [base] 1 0 [updates] 1 0 [extras] 1 0 上記以外 0 変更無 CentOS-Debuginfo.repo 全て 0 変更無 CentOS-Media.repo [c6-media] 0 1
(1)リポジトリ外部アクセスを停止
【Telnet】
- rootでログイン
$ su パスワード:
- 確認
# ls -l /etc/yum.repos.d/
-rw-r--r--. 1 root root 1926 11月 27 20:53 2013 CentOS-Base.repo -rw-r--r--. 1 root root 638 11月 27 20:53 2013 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 630 11月 27 20:53 2013 CentOS-Media.repo -rw-r--r--. 1 root root 3664 11月 27 20:53 2013 CentOS-Vault.repo
- 不活性化登録
# vi /etc/yum.repos.d/CentOS-Base.repo
- 以下リポジトリを「enable=0」に変更 (「enable=」が無い場合は行追加)
[base] enabled=0 ←「0」に変更
#[updates] enabled=0 ←「0」に変更
#[extras] enabled=0 ←「0」に変更
#[centosplus] enabled=0 ←「0」確認
#[contrib] enabled=0 ←「0」確認
(2)リポジトリ内部アクセスを活性化
# vi /etc/yum.repos.d/CentOS-Media.repo
- 以下リポジトリを「enable=1」に変更
[c6-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ ←確認(DVDインストール先) file:///media/cdrom/ file:///media/cdrecorder/ gpgcheck=1 enabled=1 ←「1」に変更 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
(3)DVDをドライブにセット
インストールに使ったDVDメディアをドライブにセット
(4)リポジトリ登録
以下のどちらかを実行
方式1:DVDメディアを直接マウントしてリポジトリに指定する場合
- フォルダ作成
# mkdir /media/CentOS/
- 確認
# ls -l /media
drwxr-xr-x 2 root root 4096 1月 22 23:10 2014 CentOS
- DVDドライブマウント
# mount /dev/dvd /media/CentOS/
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
- yumキャッシュクリア
# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit Cleaning repos: c6-media Cleaning up Everything Cleaning up list of fastest mirrors
- 確認
# yum list all
Loaded plugins: fastestmirror, refresh-packagekit Determining fastest mirrors * c6-media: ←「c6-media」 があることを確認
★yum完了後
- DVDドライブアンマウント
# umount /media/CentOS/
方式2:DVDメディアをHDDにコピーしてリポジトリに指定する場合
★HDD容量に余裕がありyum使用頻度が高いと予想される場合、
HDD上にDVDメディアコピーを行う
- DVDドライブマウント
# mount /dev/dvd /mnt
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
- DVDメディアコピー
# cp -R /mnt/* /media/CentOS/
★もし「cp: target `/media/CentOS/' is not a directory」エラーが出た場合以下を実行
# mkdir /media/CentOS
- DVDドライブアンマウント
# umount /mnt
- 確認
# yum list all
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c6-media: ←「c6-media」 があることを確認
:
★64bit版の場合DVDが2枚あるので、DVD入れ替え後「DVDドライブマウント」以降手順を繰り返す
- 終了
# exit exit $
環境3:イントラ内にリポジトリサーバ有り
- リポジトリ修正
種別 ファイル名 リポジトリ名 enabled 初期値 変更後 既存 CentOS-Base.repo [base] 1 0 [updates] 1 0 [extras] 1 0 上記以外 0 変更無 CentOS-Debuginfo.repo 全て 0 変更無 CentOS-Media.repo 全て 0 変更無 追加 intra-repo.repo [intra-repo] - 1 [intra-repo-rpm] - 1 [intra-repo-extra] - 1
前準備
- yumリポジトリサーバ を構築しておくこと
- 手順作成条件
イントラyumリポジトリサーバ http://192.168.0.100/yum/
(1)リポジトリ外部アクセスを停止
【Telnet】
- rootでログイン
$ su パスワード:
- 確認
# ls -l /etc/yum.repos.d/
-rw-r--r--. 1 root root 1926 11月 27 20:53 2013 CentOS-Base.repo -rw-r--r--. 1 root root 638 11月 27 20:53 2013 CentOS-Debuginfo.repo -rw-r--r--. 1 root root 630 11月 27 20:53 2013 CentOS-Media.repo -rw-r--r--. 1 root root 3664 11月 27 20:53 2013 CentOS-Vault.repo
- 不活性化登録
# vi /etc/yum.repos.d/CentOS-Base.repo
- 以下リポジトリを「enable=0」に変更 (「enable=」が無い場合は行追加)
[base] enabled=0 ←「0」に変更
#[updates] enabled=0 ←「0」に変更
#[extras] enabled=0 ←「0」に変更
#[centosplus] enabled=0 ←「0」確認
#[contrib] enabled=0 ←「0」確認
(2)yumリポジトリ作成
★手順 yumリポジトリサーバ#intra にてyumリポジトリを作成
[今回実施手順]
- yumリポジトリ新規作成
# vi /etc/yum.repos.d/intra-repo.repo
- 全面追加
[intra-repo] name=CentOS-6.5 - Intra repo baseurl=http://192.168.0.100/yum/$basearch/ gpgcheck=0 enabled=1
[intra-repo-rpm] name=Intra repo rpm baseurl=http://192.168.0.100/yum/rpm/ gpgcheck=0 enabled=1
[intra-repo-extra] name=Intra repo extra baseurl=http://192.168.0.100/yum/extra/ gpgcheck=0 enabled=0
(3)yum動作確認
- yumキャッシュクリア
# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit Cleaning up Everything Cleaning up list of fastest mirrors
- yum確認
# yum list all
Loaded plugins: fastestmirror, refresh-packagekit Determining fastest mirrors
:
- 終了
# exit exit $
遭遇したトラブル
特になし
問題:
特になし
原因:
特になし
謝辞
テキスト作成に当たり、以下サイトを参考にさせて頂きました。ありがとうございます。