GNU C ライブラリの一部の関数が 2.2.x カーネル を必要とするために、 SPARC
アーキテクチャ用の Debian GNU/Linux リリースでは 2.2.x (できれば 2.2.7 以降の)
カーネルが必要になります。 ただ、この新しい GNU C ライブラリは、
今までどおり旧式のプログラムとの互換性を保っています。 Debian GNU/Linux 2.1
(SPARC 用の唯一の旧リリース)
からこのリリースへのアップグレードを行なおうとしているが、 2.2.x
カーネルをお持ちではない場合、libc6
パッケージのインストールが途中で失敗してしまうでしょう。 2.2.x
以外のカーネル上でこのアップグレードを強行しないでください。 —
もしそれを強行すれば、いくつかの問題が生じ、その問題を修正するために
レスキューディスクでブートしなければならなくなります。
お使いのカーネルをアップグレードしなければならない場合は、
本リリースに収録されているカーネルの一つ (例えば kernel-image-*
パッケージ) をインストールするか、 ソースからご自身でコンパイルしてください。
その後で、アップグレードを行なってください。
GNU LibC 2.1 ではソースおよびバイナリにおける上位互換性が 保たれていますので、以前のリリースに収録されていた大半のプログラムは、 (他のものはわかりませんが) この新リリースでも動作するでしょう。 Debian GNU/Linux 2.2 のパッケージはすべて この新環境で動作するようにセットアップされていますが、 もちろん、この新リリース上でプログラムの再コンパイルを行なうとしても、 ソースに変更を加える必要はほとんどないでしょう。 しかし、ルールには例外がつきものですので、 ご自分のローカルプログラムの中には、 新しい glibc で適切に動作させるために、 修正や再コンパイルが必要になるものがあるかもしれません。
カーネル 2.2 および glibc 2.1 の下で動作する場合、 システムは Unix98 PTY をサポートするために `devpts' 仮想デバイスを追加して自動的にマウントします。 また、いくつかのデーモン (Unix サーバ) は、 これらの新しいデバイス (つまり /dev/ttyp* の代わりに /dev/pts/*) を使うよう自動的に切り替わります。
PC プリンタデバイスは 2.0.x の場合 lp1 から始まりましたが、 2.2.x
カーネルの場合 lp0 から始まります。 そのため、 (/dev/lp1
の代わりに /dev/lp0
を、 /dev/lp2
の代わりに
/dev/lp1
をというように) こちらを利用するよう、 お使いの printcap
や他の設定ファイルを修正してください。
2.2 カーネルを動作させる準備はほとんど 2.1 リリースで行なわれたことから、
新カーネル利用への移行はスムーズに行なわれました。
しかし、主にネットワーク関連ではいくつかの問題も残っています。
ネットワーク管理者は次の二つのことに気が付くでしょう。
一つはファイアウォール管理ユーティリティ ipfwadm
が
ipchains
に置き換えられたことです。
ファイアウォールを機能させ続けるために、netbase
をアップグレードすると、
ラッパースクリプトにシンボリックリンクを張るかどうか尋ねられます。 なお、
/usr/share/doc/netbase/ipchains-HOWTO.txt.gz
を読んだ上で、
ファイアウォールの設定を ipchain に適切なものに更新することもできます。
また、古い Debian インストーラで設定された /etc/init.d/network
スクリプトは、新カーネルではエラーメッセージを表示します。
こちらは、このファイルの route
設定に、適切な `netmask' and `dev'
オプションを付け加えることで修正できます。 なお、極めて少ない RAM
しか搭載していないマシンの場合、
残念ながらこのカーネルアップグレードには問題があるかもしれません。
アプリケーションにおける PAM へのアップグレードは、
可能な限りシームレスかつ完全に行なわれます。
多くの場合、その新しい設定を導入しても、 PAM
導入前の古い設定の場合と動作は変わりません。
ただ、すべての場合でそうであるとは限りません。
もし設定に何か変更を加えなければならない場合は、libpam-doc
パッケージをインストールしてみてください。 こちらには、PAM
ライブラリのあらゆる側面を網羅した文書のほか、
新しい認証機構をサポートするように既存の非 PAM アプリケーションを
修正するためのヒントも収録されています。
PAM アップグレードに伴う主要な変更事項の一つが、 メイン login パッケージへの
secure-su
のマージです。 shellutils
パッケージに収録されていたデフォルトの su
は、 本リリースでは
login
パッケージに収録されており、 PAM
への統合化はより完全によりシステム全体に及ぶものとなっています。 デフォルトの
su
を利用していた場合、
新しいバージョンにアップグレードしても何の変化にも気付かないでしょう。
しかし、旧式の secure-su
パッケージを利用していたユーザは、 新しい
PAM のセットアップとの互換性を確かめるために、
設定をチェックしなければならないでしょう。
このリリースには Perl の二つのバージョン 5.004 (perl-5.004*
パッケージ群) と 5.005 (perl-5.005*
パッケージ群)
が収録されていることに気が付くでしょう。
より新しいバージョンである後者を利用し、
古いバージョンを削除することをお勧めします。
古いバージョンは、プログラマの都合を考えて、
互換性のためにのみとってあるものです [1]。 新しい lib*-perl
パッケージに収録されている
Perl モジュールをインストール
している場合や、ご自分のスクリプトの中で利用している場合は、
(update-alternatives
を利用して) /usr/bin/perl
のシンボリックリンクを Perl 5.005 を指すように設定しなければなりません。
これを行なわなければ、なにか問題が起こるでしょう。
free および non-free ソフトウェアを分けて管理するために、Debian non-US
アーカイブの編成が若干変更されていることにはご注意ください。
こちらにアクセスする際に apt
をご利用される場合は、
/etc/apt/sources.list
にある non-US
アーカイブ用の指定を以下のように変更する必要があります。
deb http://non-US.debian.org/debian-non-US potato/non-US main contrib non-free
以前の (netbase
パッケージで提供される) inetd
のバージョンには、inetd
が停止した際に接続中であった内部サービスによって inetd
の再起動を妨げられてしまうというバグがありました。 このバグは現行の
netbases
パッケージでは修正されていますが、 古い
netbases
パッケージにはまだこの問題が残っています。 inetd
が適切に再起動できないことが判明した場合は、 動作している既存の
inetd
プロセスや、"-discard" あるいは "-echo"
といったプロセスを調べてください。 また、psmisc
パッケージをインストールされている方は、
以下のコマンドをルートアカウントで実行してください。
sed 's/[[:space:]][[:space:]]*/ /g' /etc/inetd.conf | grep '^ *[^#]' | cut -d" " -f1,3 | while read serv type; do fuser -n $type $serv; done
こうすることによって、どのプロセスが inetd
の関与するポートを利用しているを調べることができます。
smail MTA のパッケージは、
テストサイクル中に解決されなかったその深刻なバグのために、 このリリース 2.2
に収録されていません。 なお、最新の smail
パッケージは、開発版ディストリビューションや、 http://www.fs.tum.de/~bunk/smail.html
にあります。
本リリースに収録された新しい XFree86 や他の xserver-*
パッケージは、2.1 リリースに収録されていたもの以上に、
さまざまなグラフィックハードウェアを幅広くサポートしており、 特に 3D
アクセラレートカードのようなより新しいグラフィックカード用の
ドライバも含んでいます。 なお、どの X
サーバを選択すべきか正確に分からない場合は、xviddetect
プログラム
(xviddetect
パッケージに収録) をお試しください。
このプログラムは、PCI/AGP バスに関する情報を元に必要となる X
サーバの名前を出力してくれます [2]。
もし使用中の X サーバが xfs
フォントサービスのためにアップグレード中のホストを参照している場合は、
xfs
が停止したとき フォントサーバへの接続が切れてしまいます。
このことは致命的なことではありませんが、煩わしいことでしょう。
なお同様のことは他のデーモンに関しても起きうるので、ご注意ください。
以下で示されるようにいくつかのパッケージが改名されました。 各パッケージには Conflicts: や、Replaces:、Provides: フィールドが付けられており (あるいはダミーパッケージが提供され)、 全部ではありませんがほとんどの場合、新しいパッケージが、 古いものと置き換えられるなどして自動的にインストールされます。
ada-rm -> gnat-doc [3] alsa-modules -> alsa-base alsalib -> libasound0.4 ax25-utils -> libax25 blt8.0-unoff -> blt8.0 c-client-dev -> libc-client4.7-dev console-tools-data -> console-tools [4] cti-ifhp -> ifhp cwnn -> freewnn-cserver cwnn-dev -> freewnn-cserver-dev data-dumper -> perl-5.005-doc dhcp-beta -> dhcp dhcp-client-beta -> dhcp-client dhcp-relay-beta -> dhcp-relay egcc -> gcc egcs-docs -> gcc-doc emacspeak-bs-tcl, emacspeak-dt, emacspeak-dt-tcl -> emacspeak-ss eterm-backgrounds -> eterm fte-cfgdocs -> fte-docs fvwm -> fvwm1 fvwm2 -> fvwm gltt2 -> libgltt2 gltt2-dev -> libgltt2-dev gmp2 -> libgmp2 gmp2-dev -> libgmp2-dev gnome-gnobots -> gnome-gnobots2 gnome-gnothello -> gnome-iagno gnome-gyahtzee -> gnome-gtali gsl -> libgsl0 gsl-dev -> libgsl0-dev gstep-base -> gstep-base0 gstep-base-dev -> gstep-base0-dev gstep-extensions -> gstep-extensions0 gstep-gui -> gstep-gui0 gstep-gui-dev -> gstep-gui0-dev gstep-guile -> gstep-guile0 gtkicq -> gnomeicu intlfonts-arabic -> xfonts-intl-arabic intlfonts-asian -> xfonts-intl-asian intlfonts-chinese -> xfonts-intl-chinese intlfonts-chinese-big -> xfonts-intl-chinese-big intlfonts-european -> xfonts-intl-european intlfonts-japanese -> xfonts-intl-japanese intlfonts-japanese-big -> xfonts-intl-japanese-big intlfonts-phonetic -> xfonts-intl-phonetic ivtools -> ivtools-unidraw kwnn -> freewnn-kserver kwnn-dev -> freewnn-kserver-dev lam -> lam-runtime lesstifg-dbg -> lesstif-dbg lesstifg-dev -> lesstif-dev libapache-mod-auth-sys -> apache-common libapache-mod-put -> apache-common libatalk1 -> netatalk libatalk1-dev -> netatalk-dev libc6-doc -> glibc-doc libdatecalc-perl -> libdate-calc-perl libg++2.8.2-dev -> libg++2.8.1.3-dev libgg0 -> libgii0 libgg0-dev -> libgii0-dev libggi1 -> libgii0, libggi2 libgnome0 -> libgnomesupport0 libjpegg-dev -> libjpeg62-dev liblockdev0-perl -> liblockdev1-perl liblockdev0g-dbg -> liblockdev1-dbg liblockdev0g-dev -> liblockdev1-dev libmd5-perl -> libdigest-md5-perl libpam0g-util -> libpam-runtime libwcsmbs, wcsmbs-locale-ja -> locale-ja libwine0.0.971116 -> libwine libxml0 -> libxml1 maplay -> maplay3 mysql-base -> mysql-gpl-client, mysql-client mysql-dev -> libmysqlclient6-dev newt0.25-dev -> libnewt-dev open -> console-tools palmpython -> pyrite perl -> perl5 perl-base -> perl5-base popt -> libpopt0, libpopt-dev ppp-pam -> ppp [5] ptx -> textutils python-bsddb, python-curses, python-misc, python-net -> python-base [6] python-mysql -> python-mysqldb python-pil -> python-imaging r-pdl -> pdl sgmlspm -> libsgmls-perl smbfsx -> smbfs sorcerer -> pccts t1lib0-bin -> t1lib-bin t1lib0-dev -> t1lib-dev tcd -> gnome-media timezones -> libc6 [7] tm -> wemi toshiba-fan, toshiba-hotkey -> toshutils v-bin -> libv-bin v-dbg -> libv-dbg v-dev, vm-dev -> libv-dev v1g -> libv1.22 vnc-doc -> xvncviewer, vncserver wcsmbs-locale-ko -> locale-ko wnn -> freewnn-jserver wnn-common -> freewnn-common wnn-dev -> freewnn-jserver-dev www-search -> libwww-search-perl wxxt1 -> libwxxt1 wxxt1-dev -> libwxxt-dev xfntbig5p-cmex24m -> xfonts-cmex-big5p xfntil2 -> xfonts-biznet-iso-8859-2-{base,75dpi,100dpi} xntp3-doc -> ntp-doc xpm-bin -> xpm4g-dev [8]
この一覧の作成には万全を期していますが、 まだ何か不備があるかもしれません。
2.1 (slink) から 2.2 (potato) への移行にあたって、 たくさんのパッケージが、二つないしそれ以上の数に分割されています。 これらの分割は、 オリジナルパッケージがさまざまな機能をセットで提供していること、 そのすべての構成物を利用するユーザがいらしたとしても少ないことを 考慮してのものです。 パッケージによっては、インストールの際にこの分割に関する注意を表示します。 またパッケージ説明にその旨が記述されているものもありますし、 それに関する記述がないものもあります。
もしお使いになっているパッケージで、
いくらかあるいはすべての機能が欠けているようでしたら、
以下の一覧を確認し、以前と同じ機能を発揮させるために
さらにパッケージをインストールする必要があるのかどうかを 確かめてください。
これで問題が解決しない場合は、各パッケージの changelog
を確認してください。こちらは、
/usr/doc/パッケージ名/changelog.Debian.gz
にあります。
以下は分割されたパッケージの一覧です。 (こちらの一覧は不完全かもしれません。)
gmc: mc gmc mc-common [9] libpgtcl: libpgtcl pgaccess mozilla: mozilla libnspr3 libnspr3-dev netbase: netbase tcpd libwrap0 libwrap0-dev netstd: bootp bootparamd bootpc finger fingerd fping ftp ftpd icmpinfo pidentd rdate rdist routed rsh-client rsh-server ruptime rusers rusersd rwall rwalld rwho rwhod tftp tftpd traceroute wdsetup [10] perl-base: perl-base perl-5.004-base perl-5.005-base [11] perl: perl-5.004 perl-5.004-doc perl-5.005 perl-5.005-doc [12] postgresql: postgresql postgresql-client postgresql-test vim: vim vim-gtk [13]
お使いのシステムをアップグレードする前に、フルバックアップをするか、 少なくとも失って困るようなあらゆるデータや設定情報を バックアップすることを強くお勧めします。 アップグレードツールおよびプロセスには高い信頼性がありますが、 それでもアップグレード最中にハードウェアに問題が起きて、 システムの破壊が招かれるようなことがあるかもしれないからです。
バックアップを取っておきたい主要なものとしては、 /etc
および
/var/lib/dpkg
の収録物や、 dpkg --get-selections
の出力があげられるでしょう。
ssh 経由でシステムにアクセスしているユーザは (少なくとも)
アップグレードの最中になって
そのことに気付いて、作業を中断させたくはないでしょうが、
計画中のアップグレードを行なう前に、
お使いのコンピュータのユーザ全員にその旨を告知しておくのも賢明です。
十分な用心を怠りたくないならば、 アップグレード前にユーザパーティション
(/home
) をアンマウントしバックアップしておいてください。
ディストリビューションのアップグレードは、テキストモードの仮想コンソール
(あるいは直接接続されたシリアル端末) からローカルで、 あるいは ssh
リンク経由でリモートで行なってください。
telnet
、rlogin
、rsh
を使って
アップグレードを行なったり、 アップグレードを行なう当のマシン上の
xdm
の管理下にある X セッションから
アップグレードを行なってはいけません。 というのも、アップグレードの最中に
これらのサービスは中断させられてしまうからです。
そのためアップグレード半ばにして
システムにアクセスできなくなってしまいます。
アップグレードに用いるメソッドに関わらず、 まず最初に全パッケージの状態をチェックすることをお勧めします。 そのチェックは、
dpkg -l | pager
としたり、
dpkg --get-selections > ファイル名
(として ファイル名
を調べる) とすることで可能ですし、
dselect
上でも行なえます。
パッケージのインストール作業は
スーパーユーザ特権で行なわなければなりませんので、
その特権を得るために、ルートアカウントでログインするか、 su
あるいは sudo
を使ってください。
アップグレード作業の過程を写しに残しておくために、 /usr/bin/script
の利用を強くお勧めします [14]。
こうしておけば、問題が起きても何が起こったのか調べることが可能になり、
必要ならばバグ報告として正確な情報を提供できます。
その記録を始めるには、次のようにしてください。
script -a /upgrade-2.2.typescript
ただし、この typescript ファイルは (/tmp や /var/tmp のような) 一時ディレクトリに置かないようにしてください。
また、アップグレードの前に すべてのパッケージ保留 ``hold''
を解除しておくことが望ましいでしょう。
もしアップグレードが必要になる重要なパッケージが保留されていたならば、
アップグレードが失敗してしまいます。
なお、あるパッケージに変更を加えたり、再コンパイルしている場合で、
その名前を変更していなかったり、そのバージョン番号に epoch
をつけていない場合は、それがアップグレードされないように パッケージ保留
``hold'' を設定しておかなければなりません。 このパッケージ保留 ``hold'' は
dselect
上 (選択メニュー上で `H' キーで設定、`G' キーで解除)
で設定することもできますし、
dpkg --get-selections > ファイル名
として、生成されるファイル ファイル名
上の ``hold'' を ``install''
に変えるよう編集しても解除できます。 この場合は、ルート権限で
dpkg --set-selections < ファイル名
を行なってください。
(もし ssh
がインストールされているならば、) ssh
にパッケージ保留 ``hold'' を設定しておくとよいでしょう。 さもなければ、こちらは
OpenSSH (新たな ssh
パッケージ)
に置き換えられ、設定ファイルのちょっとした非互換性のために、 アップグレード後
sshd
が起動しないかもしれないからです。 こちらにパッケージ保留
``hold'' を設定しておけば、
そのシステムへのアクセスが途切れることは確実にありません。 あとで
ssh
をアップグレードし設定を修正することもできますし、
ssh-nonfree
パッケージを選択して、 non-free
ではありますが、完全互換なバージョンの ssh をインストールすることもできます。
(注意: パッケージ保留 ``hold'' を設定せずにアップグレードを行なっても、
既存の接続が途切れることはないでしょう。)
重要なことですが、アップグレードに先だって、 /etc/rcS.d
ディレクトリが存在していなければなりません。 さもなければ libc6
パッケージのインストールに失敗します。
また、必要なパーティション全て (特にルートパーティションと /usr
パーティション) を以下のコマンドを用い、read-write
可で忘れずにマウントしておいてください。
mount -o remount,rw /mountpoint
/usr/share/doc
ディレクトリは(もしそれが存在するならば)、 (例えば
/usr/doc
への) シンボリックリンクであってはいけません。
そうなっていると、いくつかのパッケージが破損してしまいます。
ただし、/usr/doc
から /usr/share/doc
へのシンボリックリンクなら問題ありません。
なお、そのようなシンボリックリンクを利用している場合、 /usr/doc
ディレクトリが削除できないとの たくさんのメッセージが表示されるでしょう。
このようなメッセージが表示されることは普通のことですので、
無視していただいて結構です。
推奨されるアップグレード方法は、 次章で説明する apt-get
を直接利用する方法です。 APT は次世代の Debian パッケージングツールで、
スムーズなアップグレードと簡単なインストールを実現するものです。
dselect
のデフォルトアクセスメソッドを用いて、
主要なパッケージのアップグレードを行なってはいけません。
というのも、それらのアクセスメソッドは apt
メソッドは異なり、
インストールするパッケージの順序を考慮せず、信頼性に欠けるからです。
さらに、そのようなアップグレード方法は十分にテストされていませんので、 Debian
ではサポートされていません。
SPARC アーキテクチャでアップグレードを行なう前に、 アップグレードに関する情報, Section 3.1 の説明に従い、 Linux カーネルの 2.2.x バージョンを実行させておかなければなりません。
CD-ROM を利用してアップグレードを行ないたい場合、 Debian 2.1 (`slink')
用の最新バージョンの apt
および dpkg
が必要になります。 それぞれの最新バージョンは 0.3.11 と 1.4.0.34 です。
インストールされているパッケージのバージョンは、 apt-get --version
および dpkg --version とすることで確認することができます。 If you
do not have the newest versions yet, they are available in the http://http.us.debian.org/debian/dists/potato/main/upgrade-sparc/
directory at your Debian mirror, or the upgrade/
directory on the
first CD-ROM from your Debian 2.2 CD set.
その最新バージョンをお持ちでない場合、 Debian ミラーサイトの http://http.us.debian.org/debian/dists/potato/main/upgrade-sparc/
ディレクトリ、 あるいは Debian 2.2 CD セットの一番目の CD-ROM の
upgrade/
ディレクトリから入手してください。
これのファイルをダウンロードし、 以下のコマンドを用い (以下の通りの順序で)
インストールしてください。
dpkg -i dpkg_1.4.0.34_sparc.deb dpkg -i apt_0.3.10slink11_sparc.deb
Debian GNU/Linux バージョン 2.1 (のいずれかのリリース) から ネットワーク
(FTP、HTTP) やローカルミラー (例えばディスクパーティションや NFS
マウントされたミラー) を用いてアップグレードを行ないたい場合は、Debian
リリースに付属の apt
と dpkg
を利用することができます。 もちろん、apt
がまだインストールされていないならば (デフォルトではインストールされません)、
まずこちらをインストールしてください。
その際 man ページの apt-get(8)
および sources.list(5)
をお読みになっておくことをお勧めします。
アップグレードを始める前に、 パッケージ一覧用の apt
設定ファイル
/etc/apt/sources.list
を修正する必要があります。
apt
は "deb" で始まる行で指定される
パッケージ取得先にある全パッケージを対象に、
先行するパッケージ取得先を優先しながら、
よりバージョンの新しいパッケージをインストールします。
(例えば複数のミラーが指定できる場合、ローカルハードディスク、CD-ROM、 FTP/HTTP
ミラーの順に指定するとよいでしょう。)
デフォルトでは、Debian のメインインターネットサーバから
インストールが行なわれるよう設定されていますが、
/etc/apt/sources.list
を修正して ネットワーク的に近い Debian
の他のミラーサイトを利用されるほうが 好ましいでしょう。 その場合、まず
sources.list
にある既存の "deb" 行を、
各行頭に (#) を挿入してコメントアウトしててください。
Debian の FTP および HTTP ミラーサイトのアドレス一覧は http://www.debian.org/distrib/ftplist
にあります。 (「全ミラーサイト一覧」をご覧ください。)
例えばウェブブラウザーや FTP クライアントでミラーサイトを調べ、 お近くの Debian ミラーサイトが ftp://alea.iacta.est/debian/ である場合、メインディレクトリは以下のようになっているでしょう。
ftp://alea.iacta.est/debian/dists/potato/main/binary-sparc/... ftp://alea.iacta.est/debian/dists/potato/contrib/binary-sparc/...
このミラーを apt
で利用するには、 sources.list
ファイルに以下の行を追加します。
deb ftp://alea.iacta.est/debian potato main contrib
`dists' が暗示的に追加されること、 四番目以降の引数が複数のディレクトリを指すパスに展開されること には注意してください。
そのミラーサイトの ftp://alea.iacta.est/debian/debian-non-US 以下に non-US/* セクションが含まれている場合は、 以下の行も追加します。
deb ftp://alea.iacta.est/debian/debian-non-US potato/non-US main contrib
インストールに必要なパッケージはネットワークから取得され、
/var/cache/apt
(ダウンロード中は partial/
サブディレクトリ) に一時保存されますので、インストール開始前に
十分な空き容量があることを確認しておいてください。 十分に利用可能な Debian
をインストールするには、通常少なくとも 300MB
のデータのダウンロードが必要になりますので、ご注意ください。
FTP あるいは HTTP ミラーサイトの代わりに、 (例えば NFS マウントされた)
ローカルディスク上のミラーを利用するよう、 /etc/apt/sources.list
を修正したい場合もあるでしょう。 その場合、まず sources.list
にある既存の "deb" 行を、 各行頭に (#)
を挿入してコメントアウトしててください。
例えば、パッケージミラーが /var/ftp/debian/
以下にある場合、
メインディレクトリは以下のようになっているでしょう。
/var/ftp/debian/dists/potato/main/binary-sparc/... /var/ftp/debian/dists/potato/contrib/binary-sparc/...
このミラーを apt
で利用するには、 sources.list
ファイルに以下の行を追加します。
deb file:/var/ftp/debian potato main contrib
`dists' が暗示的に追加されること、 四番目以降の引数が複数のディレクトリを指すパスに展開されること には注意してください。
お使いになるローカルミラーの /var/ftp/debian-non-US
以下に
non-US/* セクションが含まれている場合は、以下の行も追加します。
deb file:/var/ftp/debian-non-US potato/non-US main contrib
インストールに CD のみを利用したい場合は、 まず
sources.list
にある既存の "deb" 行を、
各行頭に (#) を挿入してコメントアウトしててください。
/cdrom
マウントポイントにお使いの CD-ROM
がマウントできるよう、/etc/fstab
が設定されていることを確認してください。 (apt-cdrom
を利用する場合、マウントポイントが正確に /cdrom
であることが必要です。) 例えば、お使いになる CD-ROM が /dev/hdc
である場合、 /etc/fstab
には次のような記述が含まれていなければなりません。
/dev/hdc /cdrom auto defaults,noauto,ro 0 0
四番目のフィールドにある defaults,noauto,ro という指定の間にはスペースを入れてはいけません。
正しく動作すること確認するには、 CD を挿入し、以下の各コマンドを実行してください。
mount /cdrom (マウントポイントに CD をマウントします。) ls -alF /cdrom (CD のルートディレクトリを表示します。) umount /cdrom (CD をアンマウントします。)
次に、各 CD を APT データベースに追加するために、 お持ちのバイナリ CD-ROM それぞれに対して以下のコマンドを実行してください。
apt-cdrom add
apt
の sources.list
を設定したら、
(ルートアカウントで) 以下のコマンドを実行してください。
apt-get update
これによって、パッケージオーバービューファイルを入手元と再同期させ、 新規パッケージおよび更新されたパッケージに関する情報を更新します。
CD-ROM を利用してアップグレードを行なう場合は、 次のコマンドを実行してください。
apt-get install dpkg apt
こうすることによって、他パッケージのアップグレードに必要となる 最新バージョンの
dpkg
および apt
パッケージがインストールされます。
また、必要となるシステムライブラリもいくつか、
最新バージョンにアップグレードされます。
何が起きているのかを確認するために、 以下のコマンドを実行してもよいでしょう。
apt-get --fix-broken --show-upgraded --simulate dist-upgrade | pager
この方法だと若干時間はかかりますが、 不意の出来事を避けることができるでしょう。 こうすることで、お使いのシステムにある問題 (およびその解決法)や、 また通常はアップグレード中に何が行なわれているのかを 正確に知ることができます。 "REMOVEd" と表示されるパッケージには特に注意してください。 重要なパッケージがそこで表示されることはないはずです。
apt-get
が正常に動作することを確認した後、
以下のコマンドを実行してください。
apt-get --fix-broken --show-upgraded dist-upgrade
これによって、システムを完全にアップグレードさせます。 つまり、あらゆるパッケージの利用可能な新バージョンをインストールし、 異なるリリース間で変更された可能性のある依存関係を解決します。 必要があれば、 (通常はライブラリの新バージョンや改名されたパッケージなど) 新たにいくつかのパッケージがインストールされ、 依存関係に問題のある旧式のパッケージが削除されます。
CD-ROM セットからアップグレードを行なう場合、 その最中に何度か CD を交換するよう求められるでしょう。 同じ CD を何度が挿入しなおす必要があるかもしれませんが、 それは依存関係のあるパッケージが複数の CD にわたって 収録されているためです。
インストールされている現行パッケージを新しいバージョンに
アップグレードする際に、他パッケージのインストール状態の変更を伴う場合は、
("held back" と表示され) 現行バージョンが維持されます。
そのため、dpkg
や dselect
を利用してパッケージの削除や再インストールを行ない、
壊れたパッケージや依存関係を修復する必要があるかもしれません。
この場合、あるいは apt-get -f dist-upgrade とした後に、
apt-get dselect-upgrade を使ってもよいでしょう。
(apt-get(8)
man ページをご覧ください。)
オプション -f (fix) を用いると、apt
は、壊れた依存関係のあるシステムを適切に修正しようと試みます。
システムにあるパッケージの依存関係が壊れている場合 apt
は作業を行ないません。
場合によっては、手動で調整しなければならないほど
システムの依存構造が壊れていることがあるかもしれません。
その場合は、dselect
を利用したり
dpkg --remove packagename
を実行して問題のあるパッケージを除去するか、 以下のコマンドを実行してください。
apt-get --fix-broken --show-upgraded install dpkg --configure --pending
極端な場合は、以下のコマンドを用いて、 強制的に再インストールを行なう必要があるかもしれません。
dpkg --install /path/to/packagename.deb
こうすれば、既に説明したように、 dist-upgrade コマンドを用いたアップグレードを再開できるはずです。
アップグレードの最中に、 いくつかのパッケージの設定および再設定に関する
質問をされるでしょう。 /etc/init.d
や /etc/terminfo
ディレクトリにあるファイルに関する質問がされた場合や、
/etc/manpath.config
ファイルを
パッケージ開発者が用意したバージョンと交換すべきだと言われた場合は、
システムの一貫性を保つために通常は `yes' と答えてください。 古い設定ファイルは
.dpkg-old
拡張子が付けられて保存されていますので、
元に戻すことはいつでも可能です。
何をどうすべきか不安な場合は、 パッケージ名あるいはファイル名を書き留めておき、 あとで修正を行なってください。 typescript ファイルを調べ、 アップグレード中に画面に表示された情報をあとから見ることもできます。
apt-get dist-upgrade を行なえば、 「通常」のアップグレードは終了ですが、 その後リブートを行なう前に確認すべき注意事項があります。
最も重要なことは locales
および util-linux
パッケージをインストールしなければならないことです。
そのためには次のコマンドを実行してください。
apt-get install locales util-linux
現在 getty
は util-linux
パッケージに収録されているため、 Debian の 2.0
以前のバージョンからアップグレードを行なっている場合、 この作業によって
getty
パッケージが削除されます。
他にも apt-get
が検知しない
いくつかのパッケージをインストールしなければならないかもしれません。
これは、apt-get
が (例えば Recommends: および Suggests:
フィールドに記述された全パッケージなど)
他パッケージに依存しないパッケージを自動的に選択しないためです。
これらのパッケージは dselect
や他のビジュアルフロントエンドを
用いれば用意に見つかります。 dselect
を利用する場合、[A]ccess
画面で `apt' メソッドを選び、[U]pdate
オプションで新規パッケージ情報からデータベースを更新してください。
その後、[S]elect 画面で、`o'、`o'、`v'、Shift-d を押し、 画面に表示される
--- Obsolete and local packages present on system ---
というヘッダを探してください。
このセクションにはこのようなパッケージ全てが表示されます。 例えば、古い
gimp-smotif
および gimp-dmotif
パッケージは Debian
GNU/Linux 2.1 で gimp
パッケージに置き換えられています。
dselect
経由で新規パッケージをインストールすることもできます。
(dselect
は、削除すべき古いパッケージを示す "dependency
conflict resolution" 画面を表示します。) あるいは、
apt-get install gimp
とコマンドを入力することで、 (確認は必要ですが) 古いバージョンを一度に削除することもできます。
なお、例えば古い netstd
パッケージから分割された telnet および
talk のクライアントおよびサーバや NFS サーバは、dselect
でもアップグレードするよう指示されません。
これらをインストールするには以下のコマンドを実行してください。
apt-get install telnet telnetd talk talkd nfs-server
同じことは manpages
から分割された manpages-dev
にも当てはまります。
Debian GNU/Linux 2.1 リリースで分割されたパッケージについては そのリリースノートを参照してください。 また、当リリースで分割されたパッケージの一覧については 改名されたパッケージ, Section 3.1.1 および 分割されたパッケージ, Section 3.1.2 をご覧ください。
なお、以上の作業では Linux カーネルがアップグレードされない
ことにはご注意ください。 そのアップグレードを行ないたい場合は、
kernel-image-*
パッケージのいずれかをインストールするか、
ソースからカスタムカーネルをコンパイルするかして、 ご自分で行なってください。
では、新しい Debian GNU/Linux 2.2 システムをお楽しみください! :-)
debian-doc@lists.debian.org