Debian GNU/Linux 2.2 (`potato') SPARC リリースノート ---------------------------------------------------- Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer version 2.2.17, 10 August, 1995 ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- 目次 ---- 1. Debian GNU/Linux 2.2 は何が新しいのか 1.1. インストーラは何が新しくなったのか? 1.2. ディストリビューションは何が新しくなったのか? 2. 新たにインストールする 3. 以前のリリースからアップグレードする 3.1. アップグレードに関する情報 3.2. アップグレード前に必要な作業 3.3. アップグレードの方法 ------------------------------------------------------------------------------- 1. Debian GNU/Linux 2.2 は何が新しいのか ---------------------------------------- [この文書の最新版は常に http://www.debian.org/releases/2.2/sparc/release-notes/ にてご覧いただけます。 ご覧になっている版が一ヶ月以上古いものだったら、 最新版をダウンロードなさったほうがよいかもしれません。] Debian の前回のリリース Debian GNU/Linux 2.1 では、Intel x86 (``i386'') や、Motorola 680x0 (``m68k'')、Alpha (`alpha'')、SPARC (`sparc'') といったアーキテクチャが公式にサポートされていました。 今度の新しいリリースでは、新たに PowerPC (``powerpc'') アーキテクチャと ARM (``arm'') アーキテクチャの二つがサポートされます。 なお、移植版の状況やお使いになるアーキテクチャ移植版に固有の情報については Debian 移植版ウェブページ (http://www.debian.org/ports/sparc) ウェブページにてより詳しい情報がご覧いただけます。 SPARC アーキテクチャの Debian GNU/Linux 2.2 では、Linux カーネル 2.2.17 が採用されています。 2.2 カーネルシリーズは、たくさんの新たなハードウェアをサポートし、 既存ドライバのバグを修正するとともに、 カーネルや、カーネルの機能をベースにした他のプログラムに 有益な変更が加えられた新世代のカーネルです。 1.1. インストーラは何が新しくなったのか? ---------------------------------------- `boot-floppies' パッケージと `debian-cd' パッケージには、 Debian 2.1 のものと比べると数々の改良が行なわれました。 その最も顕著な改良点は、DHCP 設定のサポートを含む ネットワークインストールのサポートに関するものです。 インストールにおけるシリアルコンソールの利用も、 より多くのアーキテクチャでサポートされました。 かつてのプロフィールおよびタスクセレクションは、 Debian 「メタパッケージ」 (他パッケージへの依存関係のみを収録するパッケージ) と、 `tasksel' と名付けられた インターフェイスに置き換えられました。 これによって、タスクはインストール時に限らずいつでも利用可能になり、 アップグレードを行なっても保持されます。 主にシェルスクリプトによって行なわれるリブート後の設定は、 `base-config' パッケージが `debconf' を利用して行ないます。 次の Debian メジャーリリースでは、`debconf' がインストール時および設定時にユーザが利用する メインインターフェイスとなるでしょう。 1.2. ディストリビューションは何が新しくなったのか? -------------------------------------------------- また、Debian は、いずれのアーキテクチャにおいても、 新たな GNU C ライブラリ 2.1.2 リリースをベースにしています。 この新しい glibc の導入によって、 以前のリリース上に新規パッケージをインストールすることは できなくなりましたが、 Debian GNU/Linux リリース 2.1 および 2.0 の glibc 2.0 向けにコンパイルされた古いパッケージに対しては、 バイナリにおける上位互換性を保っており、 そのソースに関してもほぼ完全な互換性を保っています。 このリリースでは、大半の基本システムユーティリティが PAM (Pluggable Authentication Modules) を利用するようになりました。 こちらは、システム管理者に強力なシステムアクセスの管理手段および認証手段 を提供します。 PAM を利用することによって、認証管理およびアカウント管理の 一元化が可能になります。 認証プログラムを他の機構 (例えば OPIE や Kerberos など) に変更したい場合は、 それらのプログラム自身を再コンパイルする代わりに、 PAM 設定ファイルを修正するだけで結構です。 2.2 リリースは、これまでマルチバイト文字のサポートを実現するために Debian JP パッケージ集を追加しなければならなかった日本のユーザに、 完全な日本語サポートを提供する初めての Debian です。 さらに、このリリースでは国際化のレベルが高められ、 多くの非ラテン文字に対するサポートも強化されています。 メインディストリビューションに収録されているパッケージの総数は、 現在約 3700 となっています。 これまでと同じくパッケージ数は 50% 増えています。 この 2.2 リリースには、XFree86 3.3.6、Perl 5.005.03、GCC 2.95.2、 PAM 0.72、GTK+/GLib 1.2.7、GNOME 1.0.56、ncurses 5.0、teTeX 1.0.6、 XEmacs 21.1.8、S-Lang 1.3.9、GGI 1.99.2 や他にもたくさん、 重要なプログラムやライブラリのアップデートが収録されています。 リリース 2.0 から 2.1 へのアップグレードと同様に、 2.1 から 2.2 への変更もそのほとんどが付加的なものです。 新規パッケージや、新機能やバグ修正を加えられた 既存パッケージの新バージョンが数多く収録されています、 アップグレードには従来どおり dpkg+apt パッケージングシステムを利用し、 そのアップグレードができるだけ容易に、また完璧に行なえるよう配慮しました。 現行バージョンが 0.3.19 である `apt' は、現行バージョンが 1.6.13 である `dpkg' と組み合わせて利用され、 こちらが推奨されるパッケージインストールツールになります。 こちらは、さまざまなパッケージソース (CD-ROM や他のリムーバルディスク、 ローカルあるいはネットワーク越しに利用できるハードディスク、 遠隔地にあるインターネット上の FTP あるいは HTTP サイト) をサポートしています。 バイナリ (ソース) パッケージを、新規にインストールしたり、 既存のものをアップグレードする際、 `apt' は、コマンドラインから `apt-get' としても、また、 `dselect' のパッケージ取得 (ダウロード) メソッドとしても利用できます。 公式 CD-ROM ディストリビューションは、"main" および "contrib" セクションを収録した_三枚_のバイナリパッケージ CD-ROM として出荷されます。 ベンダが "non-US/main" セクションや、"non-free" および "non-US/non-free" セクションの一部を CD セットに追加した場合、 バイナリ CD は四枚になるでしょう。 CD-ROM セットの一枚目のディスクはブート可能なものです。 新規インストールを始める際、通常はこちらを利用します。 CD はすべてそれぞれで完結しています。 つまり、いずれの CD を利用する場合でも、 他の CD と組み合わせる必要はなく、 その一枚だけでその収録物を利用できます。 なお、複数の CD を扱う際は、コマンドラインや、`apt-cdrom'、 `dselect' の `multi_cd' アクセスメソッドがご利用いただけます。 ------------------------------------------------------------------------------- 2. 新たにインストールする ------------------------- Debian を新規にインストールする場合は、 インストールマニュアルをお読みください。 インストールマニュアルは公式 CD の以下の場所にあります。 /dists/potato/main/disks-sparc/current/install.txt (あるいは .html) また、インターネット上では以下の場所にあります。 http://www.debian.org/releases/2.2/sparc/install (フロッピーだけに限ったものではないのですが) `boot-floppies' と名づけられた Debian のインストーラは、 ユーザに便利なようさらに能率化されアップグレードされています。 ------------------------------------------------------------------------------- 3. 以前のリリースからアップグレードする --------------------------------------- 3.1. アップグレードに関する情報 ------------------------------- 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 を指すように設定しなければなりません。 これを行なわなければ、なにか問題が起こるでしょう。 [1] そのためには、例えば `apt-get install perl-5.005' として、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 サーバの名前を出力してくれます [1]。 [1] xserver-svga の新バージョンには不可解な問題があるので、 SiS 6326 チップセットベースのグラフィックカードのユーザは、 アップグレードを行なう前に稼働している X サーバのパッケージを バックアップしておいてください。 もし使用中の X サーバが `xfs' フォントサービスのためにアップグレード中のホストを参照している場合は、 `xfs' が停止したとき フォントサーバへの接続が切れてしまいます。 このことは致命的なことではありませんが、煩わしいことでしょう。 なお同様のことは他のデーモンに関しても起きうるので、ご注意ください。 3.1.1. 改名されたパッケージ --------------------------- 以下で示されるようにいくつかのパッケージが改名されました。 各パッケージには Conflicts: や、Replaces:、Provides: フィールドが付けられており (あるいはダミーパッケージが提供され)、 全部ではありませんがほとんどの場合、新しいパッケージが、 古いものと置き換えられるなどして自動的にインストールされます。 ada-rm -> gnat-doc [1] 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 [2] 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 [3] ptx -> textutils python-bsddb, python-curses, python-misc, python-net -> python-base [4] 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 [5] 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 [6] [1] Ada リファレンスマニュアルは、gnat-doc パッケージにマージされました。 [2] `console-tools-data' パッケージは、再び console-tools パッケージにマージされました。 [3] PAM サポート付きの ppp パッケージは、再び ppp パッケージにマージされました。 [4] これらのパッケージは、python-base パッケージにマージされました。 [5] `timezones' パッケージは、再び libc6 パッケージにマージされました。 [6] `xpm-bin' パッケージは、再び xpm4g-dev パッケージにマージされました。 この一覧の作成には万全を期していますが、 まだ何か不備があるかもしれません。 3.1.2. 分割されたパッケージ --------------------------- 2.1 (slink) から 2.2 (potato) への移行にあたって、 たくさんのパッケージが、二つないしそれ以上の数に分割されています。 これらの分割は、 オリジナルパッケージがさまざまな機能をセットで提供していること、 そのすべての構成物を利用するユーザがいらしたとしても少ないことを 考慮してのものです。 パッケージによっては、インストールの際にこの分割に関する注意を表示します。 またパッケージ説明にその旨が記述されているものもありますし、 それに関する記述がないものもあります。 もしお使いになっているパッケージで、 いくらかあるいはすべての機能が欠けているようでしたら、 以下の一覧を確認し、以前と同じ機能を発揮させるために さらにパッケージをインストールする必要があるのかどうかを 確かめてください。 これで問題が解決しない場合は、各パッケージの changelog を確認してください。こちらは、 `/usr/doc/<パッケージ名>/changelog.Debian.gz' にあります。 以下は分割されたパッケージの一覧です。 (こちらの一覧は不完全かもしれません。) gmc: mc gmc mc-common [1] 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 [2] perl-base: perl-base perl-5.004-base perl-5.005-base [3] perl: perl-5.004 perl-5.004-doc perl-5.005 perl-5.005-doc [4] postgresql: postgresql postgresql-client postgresql-test vim: vim vim-gtk [5] [1] ご注意いただきたい重要な変更点ですが、 今度のリリースでは gmc は GNOME 版のみを、 mc はコンソール版のみを収録していますので、 両者は競合しなくなりました。 [2] netstd パッケージのアップグレードが完了したら、 こちらに依存しているパッケージすべてを 削除しなければなりません。 [3] perl-base パッケージをアップグレードすると、極めて重要な Perl パッケージ群のバージョン 5.004 がインストールされます。 同等の機能を持つ Perl の新たなアップストリームバージョンを 入手するには、perl-5.005-base をインストールしてください。 その後なら perl-5.004-base パッケージを削除しても構いません。 [4] perl-base パッケージをアップグレードすると、バージョン 5.004 の Perl パッケージ群すべてがインストールされます。 同等の機能を持つ Perl の新たなアップストリームバージョンを 入手するには、perl-5.005 および perl-5.005-doc パッケージをインストールしてください。 その後なら perl-5.004 および perl-5.004-doc パッケージを削除しても構いません。 [5] 以前 vim は、コンソール用および X (GTK) 用が一つのバイナリで提供されていました。 今度のリリースでは、非 X 環境用のインストールが できるように分割されました。 3.2. アップグレード前に必要な作業 --------------------------------- お使いのシステムをアップグレードする前に、フルバックアップをするか、 少なくとも失って困るようなあらゆるデータや設定情報を バックアップすることを強くお勧めします。 アップグレードツールおよびプロセスには高い信頼性がありますが、 それでもアップグレード最中にハードウェアに問題が起きて、 システムの破壊が招かれるようなことがあるかもしれないからです。 バックアップを取っておきたい主要なものとしては、 `/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' の利用を強くお勧めします [1]。 こうしておけば、問題が起きても何が起こったのか調べることが可能になり、 必要ならばバグ報告として正確な情報を提供できます。 その記録を始めるには、次のようにしてください。 script -a /upgrade-2.2.typescript ただし、この typescript ファイルは (/tmp や /var/tmp のような) 一時ディレクトリに置かないようにしてください。 [1] 実際のところ、`dselect' での作業 (および記録しておくことが望ましい他の作業すべて) を記録するのに `script' を利用するのもよい考えです。 また、アップグレードの前に すべてのパッケージ保留 ``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 / `/usr/share/doc' ディレクトリは(もしそれが存在するならば)、 (例えば `/usr/doc' への) シンボリックリンクであってはいけません。 そうなっていると、いくつかのパッケージが破損してしまいます。 ただし、`/usr/doc' から `/usr/share/doc' へのシンボリックリンクなら問題ありません。 なお、そのようなシンボリックリンクを利用している場合、 `/usr/doc' ディレクトリが削除できないとの たくさんのメッセージが表示されるでしょう。 このようなメッセージが表示されることは普通のことですので、 無視していただいて結構です。 推奨されるアップグレード方法は、 次章で説明する `apt-get' を直接利用する方法です。 APT は次世代の Debian パッケージングツールで、 スムーズなアップグレードと簡単なインストールを実現するものです。 `dselect' のデフォルトアクセスメソッドを用いて、 主要なパッケージのアップグレードを行なってはいけません。 というのも、それらのアクセスメソッドは `apt' メソッドは異なり、 インストールするパッケージの順序を考慮せず、信頼性に欠けるからです。 さらに、そのようなアップグレード方法は十分にテストされていませんので、 Debian ではサポートされていません。 3.3. アップグレードの方法 ------------------------- 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 ミラーの順に指定するとよいでしょう。) 3.3.1. インターネット越しにアップグレードを行なうための設定 ----------------------------------------------------------- デフォルトでは、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 のデータのダウンロードが必要になりますので、ご注意ください。 3.3.2. ローカルミラーからアップグレードを行なうための設定 --------------------------------------------------------- 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 3.3.3. CD-ROM からアップグレードを行なうための設定 -------------------------------------------------- インストールに 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 3.3.4. アップグレードを行なう ----------------------------- `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' は作業を行ないません。 3.3.5. アップグレードの最中や終了後に起こりうる問題 --------------------------------------------------- 場合によっては、手動で調整しなければならないほど システムの依存構造が壊れていることがあるかもしれません。 その場合は、`dselect' を利用したり dpkg --remove を実行して問題のあるパッケージを除去するか、 以下のコマンドを実行してください。 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 GNU/Linux 2.2 (`potato') SPARC リリースノート Josip Rodin, Bob Hilliard, Adam Di Carlo, Anne Bezemer version 2.2.17, 10 August, 1995