目次
Debian の目標の一つは継続的にアップグレードできる手段や安全なアップグレードプロセスを提供することです。新しいリリースへのアップグレードを円滑に進められるようにするために常に全力を尽くします。アップグレードプロセスにおいて重要な注意事項がある場合、そのパッケージはユーザに注意喚起し、その際は起こりうる問題の解決方法も提供することがよくあります。
特定のアップグレードについて詳細を説明しているリリースノートにも目を通しておくべきです。これは https://www.debian.org/releases/stable/releasenotes の Debian ウェブサイトにあり、Debian CD や DVD、Blu-Ray ディスクにも収録されています。
Debian アーカイブに対して単純に匿名FTPで接続し、目的のファイルを見つけるまでディレクトリを細かく調べ、見つけたら取得して
dpkg
を使ってやっとインストールする、ということもできます。dpkg
はそれが実行中のシステムであってもアップグレードされるファイルを所定の位置にインストールすることに注意してください。改訂されたパッケージが、別のパッケージの新しく改訂されたバージョンがインストールされていることを要求することもあり、そのときその別のパッケージがインストールされていない場合はそれをインストールするまでそのパッケージのインストールは失敗します。
Debian の展開はとても速いため、多数の人がこのやり方では時間がかかりすぎることをわかっています。標準的に、新しいパッケージが毎週10以上アップロードされています。この数字は新しい主要リリース直前にはもっと大きくなります。この殺到している状況に対応するためには、多くの人はもっと自動化された方法を好みます。複数の異なるパッケージがこの目的のために利用できます:
aptitude は Debian GNU/Linux システム用の推奨されるパッケージ管理フログラムで、「aptitude」 で説明しています。
aptitude
を使ってアップグレードできるようにするには、/etc/apt/sources.list
ファイルを編集して準備する必要があります。Debian の最新の安定版 (stable)
にアップグレードしたい場合は恐らくこれに似たソースを使うことになるでしょう:
deb http://ftp.jp.debian.org/debian/ stable main contrib
ftp.jp.debian.org (日本にあるミラー) の部分はもっと近くて速い Debian ミラーがあればその名前に置き換えてください。さらなる情報については、ミラー一覧 https://www.debian.org/mirror/list を見てください。
あるいは、httpredir.debian.org の転送サービスを使う方法もあります。このサービスの狙いは Debian ミラー選択の問題を解消することです。ユーザの地理的な位置やその他の情報によりファイルの提供に最適なミラーを選択します。この恩恵を活用するには
http://httpredir.debian.org/debian stable main contrib
More details on this can be found in the sources.list(5) manual page.
コマンドラインでシステムを更新するには
aptitude update
続いて
aptitude full-upgrade
を実行します。出てくる質問に全て回答するとシステムはアップグレードされます。
を実行します。aptitude は、ある Debian GNU/Linux リリースから別のリリースにアップグレードするために推奨するツールではないことに注意してください。代わりに apt-get を使ってください。リリース間のアップグレードの際は、リリースノートに目を通すようにしてください。この文書では前のリリースからアップグレードする際に推奨される手順やアップグレード前に考慮すべき既知の問題について詳細に説明しています。
For details, see the manual page
aptitude(8),
and the file /usr/share/aptitude/README
.
aptitude の代替としてAPTベースのコマンドラインツール apt-get があります (「APT」 で前述しています)。
APTベースのパッケージ処理用コマンドラインツール apt-get はパッケージを簡単、安全にインストール、アップグレードする方法を提供します。
apt-get を利用するには 「aptitude」 と同様に
/etc/apt/sources.list
ファイルを編集します。
それから
apt-get update
続いて
apt-get dist-upgrade
Answer any questions that might come up, and your system will be upgraded. See also the apt-get(8) manual page, as well as 「APT」.
パッケージのインストールに CD/DVD/BD を使いたい場合は apt-cdrom を使えます。詳細については、リリースノートの「Adding APT sources from optical media」節を見てください。
パッケージを取得、インストールする時点では、/var
ディレクトリ階層にパッケージが置かれることに注意してください。パーティションをオーバーフローさせないためには、apt-get
clean
や apt-get autoclean
を使って余計なファイルを削除するかどこか別の場所に移動することを忘れないようにしてください (参考: apt-move
を使ってみましょう)。
この Perl スクリプトや mirror-master というその (オプションの) 管理プログラムを利用して、ディレクトリツリーのユーザが指定した部分を匿名 FTP 経由で指定されたホストから取得することができます。
mirror
は特にソフトウェアを大量にダウンロードするのに有用です。最初にファイルをサイトからダウンロードした後、.mirrorinfo
というファイルがローカルホストに保存されます。リモートのファイルシステムへの変更は mirror
により自動的に追跡されます。このプログラムはこのファイルをリモートシステム上の似たファイルと比較し、変更されたファイルだけをダウンロードします。
mirror プログラムは通常、リモートのディレクトリツリーのローカルコピーを更新するのに有用です。取得するファイルは Debian ファイルである必要はありません。(mirror は Perl スクリプトなので、非 Unix システムでも実行できます)。mirror プログラムはユーザが指定した文字列に該当するファイル名を除外する仕組みを提供していますが、このプログラムは、選択したパッケージだけではなくディレクトリツリー全体をダウンロードすることが目的の場合に最も有用なものとなります。
いいえ。パッケージは実行中のシステムであっても適切にアップグレードされます。Debian には
start-stop-daemon
プログラムがあり、パッケージのアップグレード中に必要がある場合は実行中のプロセスを停止、再起動します。
いいえ。ファイルをディスクにダウンロードしてそのパッケージをインストールした後は例えば aptitude
clean
を実行してシステムから削除できます。
--log
-option を dpkg に渡すと
dpkg は状態の変更や操作を記録するようになります。dpkg の呼び出し
(例えば
2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4
) とその結果 (例えば
2005-12-30 18:10:35 status installed hello 2.1.1-4
) をどちらも記録します。dpkg が発動した操作を全て (aptitude のようなフロントエンドを使って行われた場合でも) 記録したい場合は
log /var/log/dpkg.log
を /etc/dpkg/dpkg.cfg
に追加します。作成されるログファイルが必ず定期的にローテートされるようにしてください。logrotate
を使っている場合、これには
/var/log/dpkg { missingok notifempty }
More details on dpkg logging can be found in the dpkg(1) manual page.
aptitude は実行しようとしたパッケージのインストールや削除、アップグレードについて
/var/log/aptitude
に記録します。その操作の結果はこのファイルには記録されないことに注意してください!
Another way to record your actions is to run your package management session within the script(1) program.
はい。cron-apt を使うことができます。このツールは cron ジョブを使ってシステムを一定周期で更新します。デフォルトでは、パッケージ一覧を更新して新しいパッケージをダウンロードするだけで、インストールは行いません。
注意: testing や unstable システムでパッケージを自動でアップグレードすることは勧められません。そうした場合、思いも寄らない挙動や気付かないうちにパッケージを削除するといったことがあるかもしれません。
自分のネットワークに Debian マシンが複数ある場合、apt-cacher を使って Debian システムを全て最新に保つと便利です。
apt-cacher はバックエンドからの Packages、Releases、Sources ファイルの更新周期を制限して、どのファイルもプロキシからの実際のリクエストとは無関係に一度だけ取得することにより Debian ミラーに要求される帯域を減らします。apt-cacher は、プロキシに渡すリクエストを元に自動的に Debian HTTP ミラーを構成します。
標準的なキャッシュ用プロキシを既に使っていて全システムでそれを利用するように設定している場合はもちろん同じ効果が得られます。