repositoryって?

昨日に引き続き、ソフトウェアインストールに関する話。
まずLinuxを始めて最初に浮かぶ疑問はどうやってソフトをインストールすればいいんだろう?ってことじゃないだろうか?
fedora coreでは、yumまたはpirut(yumGUI版?)などにより所望のソフトウェアパッケージを外部のサイトから自動的に取ってきてインストールすることができる。また、その際にパッケージ関の依存関係を調べて適切に解消してくれるようになっているらしい*1Windowsしか知らなかった(いまだ
知らない?)俺は当然そんな仕組みがあるなんて聞いたこともなかった。
そこで出会った言葉が、
 レポジトリ*2
当然聞いたことがない(レジストリなら知ってる)。ネットで調べてわかったことは、

  1. レポジトリと呼ばれるサイトにソフトウェアパッケージがあり、管理されている。
  2. デフォルトで登録されているレポジトリ以外に有用なレポジトリが数箇所あり、それらを追加できる。(freshrpm、dries*3など)
  3. レポジトリを追加するには、そのレポジトリに行ってレポジトリ登録用のrpmファイルをダウンロードして来て*4rpmコマンドでインストールするか、手動で/etc/yum.repo.d以下に設定ファイルを作る
  4. その際に、設定ファイル内でgpgcheck=1となっているとソフトウェアのインストールの際にGPGキーというのが必要になる。これは、ダウンロードしてきたファイルが実際に正当な作者によって作られたものかどうか確認する認証鍵のようだ。手動でレポジトリを設定した際はGPGキーも手動で入れなければならない*5

4のGPGキーのインストールだが、
rpm --import http://freshrpms.net/RPM-GPG-KEY-freshrpms
などとして直接ウェブ上からインポートできるようだが、自分の環境ではなぜかできなかった。もしかして、rpmコマンドも独立にプロキシの設定が必要なのだろうか。。。しょうがないので、GPGキーをローカルにダウンロードしてきてインポートした。

*1:Linuxユーザーはみんなソースからコンパイルしてるんだと勝手に思っていたのでちょっと意外だった。たぶんそういう人もいるんだろうけど

*2:repository : 倉庫の意

*3:dries?乾燥(の複数形)?と思ったが人の名前のようだ

*4:例えばhttp://ftp.freshrpms.net/pub/freshrpms/fedora/linux/6/freshrpms-release/にあるfreshrpms-release-1.1-1.fc.noarch.rpm

*5:設定ファイルの中でgpgkey=http://...と書く方法もあるようだ