Linuxゲリラ戦記

初めてだとやっぱりわからないよね。

左を向いているペンギンみたいなキャラクター、ナックス

Debianのsources.listの編集方法

Debianのsources.listと言えばパッケージ(ソフトのことね)をどこから取得するかということが書かれている大事なファイル。

コマンドラインからのapt-getやaptitude、そしてGUIでのSynapticパッケージマネージャなどからパッケージを取得する時に使うとっても大事なファイル。

きっと、Debian初心者の方はこう思うはず。「たまにネットとかで『sources.listをこう編集しよう』って書いてるけど、一体どうやって編集するんだろう?」

そうよね。sources.listなんていう大事なファイルをまさか普通のファイルと同じように手書きで編集したりしないよね……。

いいえ。実はそのまさかです。基本、手書きで編集します。間違えても、元通りに書き直せばいいのです。というわけで具体例。

まずはsources.listの場所です。/etc/apt/の下にsources.listはあります。

なお、root権限でなければ編集できません。

$ su -
パスワード:
# 

今回はvimを使って編集してみましょう。

# vim /etc/apt/sources.list

なお、vim以外にお気に入りのテキストエディタがあればそちらを使用しても構いません。

上記のコマンドにより、sources.listファイルが開きます。

sources.listファイルの一例
# 
# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 NETINST Binary-1 20090214-16:03]/ lenny main

# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 NETINST Binary-1 20090214-16:03]/ lenny main

deb http://ftp.jp.debian.org/debian/ lenny main
deb-src http://ftp.jp.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

上記はあくまで一例ですのでこれ以外のsources.listファイルもありえます。

sources.listでの記述は一行ごとに「どこからパッケージを取ってくるか」が書かれています。ご覧のとおり、アドレスのようなものが一行につき一つ書かれていますね?apt-getやaptitudeなどのプログラムも、それを前提にsources.listを参照します。私は初めて見たとき「人間が見やすくする為にこう書いてるのかなー」と思っていましたが、ちゃんとプログラムの方にとっても意味があるのです。

行の先頭に#が書かれている部分は「コメントアウトされた行」と言います。コメントアウトされた行は、apt-getやaptitude、Synapticsなどのプログラムがこれを解析する時は無視します。完全に無視です。無かったものとします。なので、こんな風に書き換えても一切apt-getやaptitude、Synapticsに影響は出ません。

sources.listファイルの一例
# 
# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 NETINST Binary-1 20090214-16:03]/ lenny main

# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 NETINST Binary-1 20090214-16:03]/ lenny main
#apt-getのばーかばーか!
deb http://ftp.jp.debian.org/debian/ lenny main
deb-src http://ftp.jp.debian.org/debian/ lenny main

#aptitudeのあーほあーほ!
deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

#Synapticsのまぬけまぬけ!
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

「え?じゃぁ、#に使い道ってあるの?」あります。一つは、人間にとって見やすいコメントが書けること。

sources.listファイルの一例
# 
# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 NETINST Binary-1 20090214-16:03]/ lenny main

# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 NETINST Binary-1 20090214-16:03]/ lenny main

deb http://ftp.jp.debian.org/debian/ lenny main
deb-src http://ftp.jp.debian.org/debian/ lenny main

#下記はセキュリティのためのものです。
deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

#下記はセキュリティの中でも流動的なものに対して対応してくれるものです。
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

ずいぶん見やすくなりました。もう一つは、書き換える前のものを残しておけることです。

sources.listファイルの一例
# 
# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 NETINST Binary-1 20090214-16:03]/ lenny main

# deb cdrom:[Debian GNU/Linux 5.0.0 _Lenny_ - Official i386 NETINST Binary-1 20090214-16:03]/ lenny main

#以下の2行は書き換える前のものです。
#deb http://ftp.jp.debian.org/debian/ lenny main
#deb-src http://ftp.jp.debian.org/debian/ lenny main
#以下の2行は上記2行を私が書き換えたものです。
deb http://ftp.jp.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ lenny main contrib non-free

#下記はセキュリティのためのものです。
deb http://security.debian.org/ lenny/updates main
deb-src http://security.debian.org/ lenny/updates main

#下記はセキュリティの中でも流動的なものに対して対応してくれるものです。
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

コメントアウトを活用することによって、もし編集に失敗しても、書き間違えた方を消して以前のもののコメントアウトを外せば全て元のちゃんと動いていたものに戻る、という寸法です。

なお、見やすくする為に「空行」すなわち、何もかかれていない行を書くのは全然問題ありません。100行でも200行でも好きなだけ空行を書いてください。

sources.listを編集し終わって保存した後は、apt-get updateもしくはaptitude updateコマンドでsources.listをプログラムに解析させ更新させることで、sources.listがきちんと編集できているか確認しましょう。

#aptitude update

もしくは

#apt-get update

特にエラーがでなければ問題なく編集できたと考えて構いません。エラーっぽいのが出たらもう一度編集し直し、正しい書式に書き直しましょう。

というわけで、編集の仕方は分かっていただけましたでしょうか?さぁ、後は他の人のサイトを見て好きなsources.listに書き直すだけ!