2011-07-18
メディア(isoファイル)から簡単にローカルのリポジトリーを作成する方法
もう既にいろんなところに転がっていそうだけどはてダのリハビリがてら.
前書き
CentOS 6.0が出た記念に自宅でも入れてみようか…と思ったけど引越し直後,自宅の環境がいろいろな理由で貧弱になっており,ネットワークにつながらないATOMなマシンが1台…仕方なしにunetbootinを使って入れてみました.が,ネットワークにつながらない状況とはいえyumも使えないと面倒くさいので,ローカルでyumが使える環境を作ってみました.
やることの概要
簡単にいうと,インストール メディア内の/Packages/と/repodata/を1つのディレクトリー内にかき集めます.
難しく書いても大体そんな感じです(何
事前準備
CentOS 6.0(CentOS 5系も)は/etc/yum.repos.d/CentOS-Media.repoというリポジトリーの設定ファイルがあり,これは「/media/CentOS/」「/media/cdrom/」「/media/cdrecorder/」のいずれかにリポジトリーがあることを期待した設定になっています.今回はこの中から「/media/CentOS/」をリポジトリーの作成先にします.
disc1のコピー処理をする.
今回は/mnt/cdmediaがメディア,isoファイルのマウント先と仮定します.isoファイルはディレクトリー/home/elf/isos/に既に保存していると仮定します.
もしかしたら読者の方は違うところにマウントをしたいかもしれないし,isoファイルは別のディレクトリーに保存しているかもしれませんが,よしなに読み替えてください.
# mount -o loop /home/elf/isos/CentOS-6.0-x86_64-bin-DVD1.iso /mnt/cdmedia
#-t noneとか-oはもっといろいろ付ける方がお行儀がいい?(何
# mount /dev/hdc /mnt/cdmedia
# rsync -av /mnt/cdmedia/Packages /media/CentOS/. # rsync -av /mnt/cdmedia/repodata /media/CentOS/.
# umount /mnt/cdmedia
引き続きdisc2の作業に移ります.
disc2(CDメディアの場合は2〜6)のコピー処理をする.
たいしてやることは変わりありません.
# mount -o loop /home/elf/isos/CentOS-6.0-x86_64-bin-DVD2.iso /mnt/cdmedia
# mount /dev/hdc /mnt/cdmedia
# rsync -av /mnt/cdmedia/Packages /media/CentOS/.
# umount /mnt/cdmedia
これで最低限の作業は完了です.
今構築したリポジトリーを使えるか確認する.
まず知っておかなければいけない注意点は,「/etc/yum.repos.d/CentOS-Media.repo」はそのままでは無効になるように設定されています.
今回は動作確認をしたいだけなので,設定ファイルは編集せずに確認をします.確認時は設定ファイルに書かれているように「yum --disablerepo=\* --enablerepo=c6-media [command]」という感じでコマンドを実行します.
# yum --disablerepo=\* --enablerepo=c6-media check-update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c6-media:
上記のようにエラー風のメッセージが出てこなければ利用できると考えてよさそうです(厳密にいうと,repodataが正しく読めることが確認できただけですが).
# yum --disablerepo=\* --enablerepo=c6-media check-update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c6-media: file:///media/CentOS1/repodata/repomd.xml: [Errno 14] Could not open/read file:///media/CentOS/repodata/repomd.xml Trying other mirror. file:///media/cdrecorder/repodata/repomd.xml: [Errno 14] Could not open/read file:///media/cdrecorder/repodata/repomd.xml Trying other mirror. file:///media/cdrom/repodata/repomd.xml: [Errno 14] Could not open/read file:///media/cdrom/repodata/repomd.xml Trying other mirror.
さてさて.しかしいつもオプション--enablerepoをつけるのは面倒ですね.ってことで気になる人は設定ファイルを変更しましょう.
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=1 ★「0」を「1」にする
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
あとは適当にyum listやyum installなどが期待通り動くか確認するといいでしょう.
補足
細かいことが気になる人は,CentOS-Base.repoの[base]でenabled=0を追加しておくと,/media/CentOS/で事足りる部分は完全にネットワークへ参照しに行かなくなります.
あとがき
一緒にcentos.orgやfedoraproject.orgで活動する仲間を募集しています.
#ちゃんと書けと突込みが…
この辺にお願いします!!
- 20 http://www.poyo.jp/
- 9 http://twitter.com/
- 7 http://www.google.co.jp/url?sa=t&rct=j&q=リポジトリ メディア repomd.xml&source=web&cd=1&ved=0CCoQFjAA&url=http://d.hatena.ne.jp/elf/20110718/1311000249&ctbs=lr:la
- 6 http://www.google.co.jp/url?sa=t&rct=j&q=file:///media/centos/repodata/repomd.xml: [errno 14] could not open/read file:///media/centos/repodata/repomd.xml &source=web&cd=6&ved=0CFoQFjAF&url=http://d.
- 5 http://reader.livedoor.com/reader/
- 5 http://www.google.co.jp/url?sa=t&rct=j&q=[Errno+14]+Could+not+open/read&source=web&cd=2&ved=0CDMQFjAB&url=http://d.hatena.ne.jp/elf/20110718/1311000249&ei=QsIKT9HYEvH3mAXG6_TaAg&usg=AFQjCNHujJA13b8ujNuZLqCAH8vvSNC-tA
- 5 http://www.google.co.jp/url?sa=t&rct=j&q=could not open/read file:///media/centos/repodata/repomd.xml&source=web&cd=4&ved=0CEUQFjAD&url=http://d.hatena.ne.jp/elf/20110718/1311000249&ei=-JOyTtSlB_CNmQXYhunpAw&usg=AFQjCNHuj
- 4 http://search.yahoo.co.jp/search?p=CentOS+リポジトリー&search.x=1&fr=top_ga1_sa&tid=top_ga1_sa&ei=UTF-8&aq=&oq=
- 4 http://www.google.co.jp/url?sa=t&rct=j&q=linux+リポジトリ iso&source=web&cd=1&ved=0CCMQFjAA&url=http://d.hatena.ne.jp/elf/20110718/1311000249&ei=anEUT5eAAuyhiAet57lD&usg=AFQjCNHujJA13b8ujNuZLqCAH8vvSN
- 3 http://bit.ly/oCTY6H




































