apt を使ってみる

Last Update 2003/01/02


  1. はじめに
  2. apt-get update
  3. apt-get dist-upgrade
  4. apt-get install
  5. apt-get remove
  6. apt-get show
  7. apt-get depend
  8. apt-cache search
  9. apt の proxy を設定する
  10. apt でカーネルの更新

はじめに

このページでは、Vine 2.1.5 で採用された apt コマンドの使い方について書いて行きます。

最近、 apt を使えるようにと何度も挑戦しているのですが、何度覚えてもすぐに忘れてしまいます。そのせいか私のマシンでは、いつもファイルの依存関係が解消できません(半泣)。ということで、いつの日か役立つようにメモを書き残します。

2002/08/18追記
使い込むうちに、少しずつ apt の便利さが魅にしみて感じられ、今では apt が使えないディストリビューションは、メンテナンスしたく無くなってしまいました。


apt-get update

/etc/apt/source.list に記述された内容により、更新されたパッケージを一覧を得ることができます。 デフォルトの設定では、http://vinelinux.org/Vine-2.1 aptdata から情報を取得する ようです。

apt-get dist-upgrade

依存関係や競合関係を解消しながら、更新されたパッケージをインストールします。 この際、--no-act オプションを用いると、実際には、インストールせずにシュミレーションを行うことができます。

ネットワークが混雑しているなどにより、更新されたパッケージを取得できなかった際には、--fix-missing のオプションを以下のようにつけて、再実行して下さい。

 # apt-get dist-upgrade --fix-missing
あまり推奨できることではありませんが、Vine2.1 をインストールしたマシンを、このaptを利用して 2.1.5 にバージョンアップしたことが数回あります。 インストールしたパッケージにより、あらわれるエラーは異なりますが、私の場合には、xemacs 関連のパッケージでエラーが表示され、先に進めませんでした。 エラーがでたパッケージについては、とりあえず削除して(後ほど必要に応じてインストールすることにした)、依存関係のエラーを解消したところ無事インストールできました。
さらに面白いことに、そのうち1台は、Vine2.1.5 のインストーラーが、どうしたわけか kernel panic を起こして、どうしても 2.1.5 にバージョンアップできないマシンでした。 このマシンにも apt-get で 2.1.5に無事バージョンアップできましたので、場合によっては Vine2.1.5 がうまくインストールできない場合は、初めに2.1をインストールして、aptで2.1.5にバージョンアップしてしまうのもひとつの手かも知れません。 もっとも、2.1 と 2.1.5 のように glibc や kernel のバージョンが近い場合だけに適用できるのでしょうが...

apt-get install

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

apt-get remove

パーケ−ジのアンインストール

apt-cache show

パッケージの情報を表示

apt-cache depends

依存するパッケージを表示する

apt-cache search

関連するパッケージを検索・表示する。 今まで、ftp サイトでパッケージを検索して、名前を確認してから、インストールを行って来ましたが、このようにキーワードを元に関連するパッケージを検索・表示してくれるなんて、もう、apt は手放せません。


apt の proxy を設定する

apt は、管理するマシンが増えれば増えるほど便利ですが、同時にネットワークにはそれなりの負荷がかかってしまいます。 そんな時に、httpやftpのキャッシュサーバを設定することにより、少しでも負荷を軽減できるでしょう。 以下の例では、squidなどが起動しているキャッシュサーバが 192.168.1.1 で、ポートが 8080 の場合です。

------------------------------------------------
 # export http_proxy=http://192.168.1.1:8080/
 # export ftp_proxy=ftp://192.168.1.1:8080/
------------------------------------------------

いくらブロードバンドの時代とは言え、回線の大部分は人様のものですから...

apt でカーネルの更新

apt は非常に便利なのですが、カーネルの更新は、安全性に配慮してできないようになっています。 しかし、apt になれると、 rpm ってどうやって使うのか忘れてしまっていたりします(自分だけかも)。 そこで、apt を使ったカーネルの更新方法をメモしておきますので、参考にしてください。

まずは、通常通りの更新を実行し、保留されたカーネルのパッケージを確認します。

 $ su
 (パスワードの入力)
 # apt-get update
 # apt-get dist-upgrade
 以下のパッケージは保留されます:
   kernel-doc kernel-headers kernel-pcmcia-cs kernel-source

kernel-pcmcia-cs は、pcmcia カードが装備されたノートパソコンなどでないと、メッセージが出ないかもしれません。 次に、これらのパッケージをインストールします。

 # apt-get install kernel-doc kernel-headers kernel-pcmcia-cs kernel-source

続いて、自分のCPUにあったカーネルの新バージョンをインストールします。 ここでは、インストールするカーネルは kernel-2.4.19-0vl26.i686.rpm と仮定し、#以降にカーネルのバージョンを記載します。

 # apt-get install kernel#2.4.19-0vl26

これで、カーネルのインストールは終了しましたが、lilo を編集して新旧のカーネルで起動できるようにエディタで /etc/lilo.conf を編集します。

prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32

image=/boot/vmlinuz-2.4.19-0vl26  ← 新しいカーネルを追加
	label=linux
	read-only
	root=/dev/hda6

image=/boot/vmlinuz-2.4.19-0vl22
	label=linux.old           ← 古いカーネルのラベルを linux.old に変更
	read-only
	root=/dev/hda6

image=/boot/vmlinuz-2.2.20-0vl10
	label=linux-2.2-up
	read-only
	root=/dev/hda6

other=/dev/hda1
	optional
	label=win

編集が終ったら、必ず、以下のコマンドを実行してください。 その際に、エラーメッセージが出ないことも確認してください。

 # /sbin/lilo

/ を SCSIハードディスクなどにしている場合は、mkinitrd コマンドを実行する必要があります。 その必要性は、lilo.conf内の旧カーネルのブロックを見ることで容易に判定できます。 mkinitrdの具体的な使用方法は、Vine のサイトでご確認ください。

あるパッケージを除外したい

自分でコンパイルオプション等を変更して、rpm パッケージを作成した場合などは、aptで安易に更新したくない場合があります。 そんな時には、/apt/apt/apt.conf を編集して、ホールドするパッケージを記述します。 ここでは、samba のパッケージをホールドする例を示します。

apt のバージョンが 0.5.4 なら
RPM
{
  Hold {"^samba";};
}

0.3.19 なら
RPM
{
  HoldPkgs {"^samba";};
}

カーネルのホールドを参考に記述をすれば良いようです。


ご意見・ご質問は hymd3a@plum.freemail.ne.jp 、ICQ 171526705 まで、お気軽にどうぞ
ホームへ