LANDISK HACKING DIARY
Since2005/8/17
TOPへ戻る

   INDEX
 
1. apt-get の基本的な使い方
2. /etc/apt/sources.list の作成
3. 最適なミラーサイトの決定
4. dpkg コマンドの基本的な使い方
5. apt.conf の記述方法(Proxy,HTTP,FTP)




 
   apt-get の基本的な使い方

 

 


apt-get はRHL9 を使っていた頃によくお世話になっていました(FCからはyum を使用している)。apt-get 発祥の地であるdebian 環境下でapt-get が使えることにわずかながらの喜びを感じてしまう。RHL9 を使っていた頃は、こうもいとも簡単にパッケージをインストールし、さらにはパッケージの依存性までチェックしてくれる優秀なapt-get に嫉妬感(?)を覚え、あまり好きでなかった。が、いざdebian を使うようになるとapt 様が神のように感じられるのは不思議なものだ。やっぱり本家で使うということに大きな意味があるような気がする。

■インストール

# apt-get install hogehoge

○主なオプション
 -d ダウンロードのみ行う - アーカイブのインストールや展開は行わない
 -s 実際には実行しない。実行シミュレーションのみ行う
 -y 全ての問い合わせに Yes で答え、プロンプトは返さない
 -f 整合性チェックで失敗しても処理を続行する。強制インストール。
 -b ソースパッケージを取得し、ビルドを行う
 -qq エラー以外は表示しない


■アンインストール

# apt-get remove hogehoge //設定ファイルは残る
# apt-get --purge remove hogehoge //設定ファイルも削除する

■ソースアーカイブをダウンロード

# apt-get source hogehoge

■パッケージの再インストール

# apt-get --reinstall install hogehoge

■インストール可能なパッケージ名を検索

# apt-cache show hogehoge //パッケージ情報を表示する
# apt-cache showpkg hogehoge //パッケージの依存関係などを表示する
# apt-cache search hogehoge //キーワードを元にパッケージを検索する

■パッケージリストの取得・更新

# apt-get update
# apt-get check //インストール済みパッケージと更新されるパッケージの間で問題が起きないかチェックする

■パッケージのアップグレード

# apt-get -s upgrade //更新されるパッケージの一覧表示
# apt-get upgrade //アップグレード

■ディストリビューションのアップグレード

# apt-get dist-upgrade

■システムの整合性をチェックする

# apt-get check

■キャッシュをクリア(削除)する

/var/cache/apt/archives/ 以下のダウンロードしたパッケージなどを削除する

# apt-get autoclean //利用していないパッケージを削除
# apt-get clean //全てのパッケージを削除

■参考

■APT HOWTO
■Debian、APTによるパッケージのアップデート



 
     /etc/apt/sources.list の作成
   
sources.list に以下のapt-line を追加する。バイナリパッケージは、debian.dodes.org から、ソースパッケージは、asahi-net からダウンロードしてくることにします。apt-line を加えたら、apt-get update でパッケージDBを更新する必要がある。

# vi /etc/apt/sources.list
deb http://debian.dodes.org/debian sid main non-free contrib
deb http://iohack.sourceforge.jp/debian ./
deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian stable main contrib non-free
deb-src http://ring.asahi-net.or.jp/pub/linux/debian/debian-jp stable-jp main contrib non-free
# apt-get update



 
     最適なミラーサイトの決定
   
netselect というパッケージを利用すればどのサーバーが自分にとって1番近いサーバーであるかを調べてくれるようなのでさっそく使ってみることにする。バージョン 0.3 から、netselect パッケージには netselect-apt というスクリプトが含まれるようになったらしく、単なるnetselect コマンドではいちいちサーバー名を指定しなければいけない煩わしさがあったが、netselect-apt はミラーサイトの一覧をダウンロードし、この一連の流れを自動で行ってくれるようだ。netselect をインストールすれば、netselect-apt もインストールされる。ミラーサイトの一覧はこちらを参照

# apt-get install netselect

netselect を root に setuid してインストールしますか? [ いいえ ]

# netselect-apt
Using distribution stable.
Retrieving the list of mirrors from www.debian.org...

--22:43:18-- http://www.debian.org/mirror/mirrors_full
=> `mirrors_full'
www.debian.org をDNSに問いあわせています... 194.109.137.218
www.debian.org[194.109.137.218]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 154,575 [text/html]

100%[=======================================================================>] 154,575 87.17K/s

22:43:20 (87.02 KB/s) - `mirrors_full' を保存しました [154575/154575] //ミラーサイトの一覧を保存

Choosing a main Debian mirror using netselect.
netselect: unknown host debian.efis.ucr.ac.cr
Running netselect to choose 1 out of 288 addresses.

netselect was unable to find a mirror, this probably means that
you are behind a firewall and it is blocking traceroute. 
//ファイアーウォールが原因でミラーを見つけられないというエラーが発生した。
  ルータの設定を変更するのもめんどいのでここで終了。ICMPをブロックしているのが原因か!?
  netselect をインストールする前にtraceroute が実行できるか確認した方が良い。




 
     dpkg コマンドの基本的な使い方
   
基本はapt-get を使えば問題ないが、念のため基本コマンドも覚えておくことにする。

■パッケージのインストール

# dpkg -i /usr/local/src/パッケージ名

■パッケージのアンインストール

# dpkg -r パッケージ名  //etc 以下の設定ファイルは残す
# dpkg --purge パッケージ名  //全てのファイルを消去する

■インストールされているパッケージの一覧を表示

先頭に「i 」と表示されたものがインストールされているもの、「r」と表示されているのが既に削除されたもの、「h」がついているのがホールドされているものの意味になる。

# dpkg -l
または、
# dpkg -l パッケージ名

または、
# dpkg --get-selections > curr-dpkg.txt

■インストールされたパッケージのファイル名を一覧表示

# dpkg -L ntp

■特定のファイルが含まれるパッケージ名を調べる

# dpkg -S /etc/ntp.conf
ntp-server: /etc/ntp.conf

■パッケージファイルの中身を一覧表示する

# dpkg -c パッケージ名

■パッケージの中身を抽出する

# dpkg -x パッケージファイル名 展開する場所

■dpkg -l でパッケージ名の全てが見えない場合

環境変数を設定する。.bash_profile に書いておいてもいい。

# export COLUMNS=150

■パッケージの状態をチェックする

インストールが中断していたり設定に失敗したパッケージや、何らかのエラー状態にあるパッケージを表示する。

# dpkg --audit



 
     apt.conf の記述方法(Proxy,HTTP,FTP)
   
/etc/apt/apt.conf.d 以下に任意のファイルを作成し、設定を記述することで apt-get の挙動を変更することができます。デフォルトでは、/etc/apt/apt.conf.d/70debconf というファイルが存在するのでその中に記述しても構わないし、新規にファイルを作成しても構わない。以下は筆者の設定です。proxy(squid)は 自ネットワーク内のものを使用している。また、ftp に関しては、筆者のルータが passive モードに対応していないために(いい加減対応してくれよ、マイクロ総研…)特定のサイトのみ port モードでダウンロードするように指定している。詳細に関しては、/usr/share/doc/apt/examples/configure-index.gz を見てもらいたい。

Acquire
{
  http
  {
    Proxy "http://172.16.50.30:3128";
  };

  ftp
  {
    Passive "false";
    Passivi::ftp://ftp.nerim.net/debian-marillat/ "false";
  };
};


Debian GNU/Linux徹底入門第3版 Sarge対応
Debian GNU/Linux徹底入門第3版 Sarge対応
Debian 辞典Desktop reference
Debian 辞典Desktop reference
Debian GNU/Linuxでつくる骨太システム―安全・強靱なサーバの構築と管理 sarge対応版
Debian GNU/Linuxでつくる骨太システム―安全・強靱なサーバの構築と管理 sarge対応版
30日でできる! OS自作入門
30日でできる! OS自作入門
 




TOPへ戻る
 
Copyright © KORO All Rights Reserved.