[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: README-upgrade.jp (v 0.4)
鍋谷です。
From: Shuichi OONO <jr5pdx@debian.or.jp>
Subject: Re: README-upgrade.jp (v 0.3)
Date: Wed, 14 Oct 1998 17:57:17 +0900
> それから、diff じゃなくて申し訳ないです。m(__)m
>
> > のものをインストールしておく必要があります。これらのパッケージの削除
> > とインストールの操作は正しい順序で行なわなければならず、システムは不
> > 安定な状態にさらされます。この作業を行う手段を 2 通り用意しました。
>
> インストールの操作は正しい順序で行われなければなりません。さもないと
> システムが不安定な状態にさらされます。
These removals and installations must be done in the correct order
or the system may be left in an unstable state.
この「or」は大野さんの解釈であっていると思いますので、訳に取り入れました。
> > - cd_autoup.sh スクリプトと 'apt-get dist-upgrade' です。
>
> 'cd_autoup.sh スクリプト' と 'apt-get dist-upgrade' です。
>
> 引用符だけの問題です。
後者は、コマンドなので引用符がついていると解釈しました。
> > APT が削除すべき必須パッケージ一覧に lib* を挙げた場合は、そのまま
> > 継続するとおそらくシステムを騙していることになるでしょう。
>
> APT が削除すべき必須パッケージ一覧に lib* を挙げた場合、そのまま
> 継続するとおそらくシステムに騙されていることになるでしょう。
これ一度、中野さんに訳をいただいて修正したはずだったのですが、直って
ないみたいですね。
「APT が必須パッケージの削除リストに lib* を挙げた場合は、そのまま
継続するとシステムをだめにしてしまう可能性が非常に高いです。」
では、修正版です。
---
大阪大学理学研究科物理学専攻 博士後期課程1年 大坪研究室(06-850-5346)
鍋谷 栄展 nabetani@xxxxxxxxxxxxxxxxxxxxxxxxxxx
README-upgrade for Debian Gnu/Linux v. 2.0
Official Debian CD を使ったアップグレード
Debian の重要な特徴のひとつにアップグレード機構があります。これ
によりすべてのパッケージを再インストールすることなく古い Debian シス
テムをアップグレードすることができます。
Debian 2.0 は、Gnu libc6 ライブラリをベースにしています。これ以
前の Debian バージョンでは libc5 ライブラリをベースにしていました。
libc5 ライブラリ群を使ってダイナミックリンクでコンパイルされたプログ
ラムは libc6 ライブラリ群で動作しませんし、その逆も同様です。Debian
は両方のライブラリ群に対してコンパイルされたバイナリがシステム上に共
存でき、どちらのライブラリでも開発を進めることができるような手法を開
発しました。
libc6 用パッケージには、それ以前の libc5 用パッケージとは互換性
がないものがあります。従って、その種のパッケージについては、アップグ
レードを始める前に、あらかじめ libc5 用のものを削除し、その libc6 用
のものをインストールしておく必要があります。これらのパッケージ削除と
インストール作業は正しい順序で行なわなければなりません。さもないと、
システムは不安定な状態になってしまいます。この作業を行う手段を 2 通り
用意しました。 - cd_autoup.sh スクリプトと 'apt-get dist-upgrade' です。
システムにインストールしてあるパッケージに dselect によって
hold(維持) マークをつけている場合、そのパッケージを削除またはアップグ
レードすることができないため、アップグレード作業は失敗してしまいます。
次に挙げるパッケージを hold(維持) にしている場合は、アップグレードを
始める前に dselect を使って hold(維持) をはずしておく必要があります。
ldso, libc5, libc6, timezones, locales, ncurses3.0, ncurses3.4,
libreadline2, libreadlineg2, bash, libg++27, libg++272, libstdc++2.8,
dpkg, dpkg-dev, slang0.99.34, slang0.99.38, libgdbm1, libgdbmg1,
perl-base, perl, data-dumper, libnet-perl, dpkg-ftp, dpkg-mountable,
netbase, netstd, timezone, xmanpages, perl-suid, perl-debug, wg15-locale,
libpthread0, xslib, splay, boot-floppies, localebin.
cd_autoup.sh スクリプトは、必須パッケージが hold (維持) になっ
ている場合でも、それらを強制的に削除しようとします。
しかしながら、hold にしているパッケージは、アップグレード前に手動で
hold をはずしておくのが望ましいです。
cd_autoup.sh スクリプトを利用したアップグレード
CD のトップ直下にあるディレクトリ "upgrade-i386" には、本文書
(README)と、スクリプト cd-autoup.sh、そして bo 用の deb パッケージ 2 つ
があります。アップグレードを始める前にこのディレクトリに移動しておけば、
bo パッケージのインストールとスクリプトを実行には、以下に示す
コマンドをそのまま使用できます(bo パッケージのインストールは必要な場合
のみ)。CD の上記のディレクトリに移動したくない場合は、適当なパス名を以
下に示すコマンドに追加してください。
このディレクトリには cd-autoup.sh スクリプトが用意されています。
スクリプト cd-autoup.sh は、互換性のなくなってしまう libc5 パッケージ
を削除し、必要な libc6 パッケージをインストールするように設計されてい
ます。これは、buzz (1.1.x)、rex (1.2.x)、bo (1.3.x) から hamm (2.0) に
アップグレードする場合に使用されます。
dselect の使用方法に習熟していない方は、アップグレードを始める前
にこの CD の debian/hamm/hamm/disks-i386/current ディレクトリにある
dselect.beginner.txt または dselect.beginner.html を読んでください。
ログの写しを記録しておくため /usr/bin/script を使用することを強く
推奨します。 script を使用して dselect のログを記録しておくのは、実際
良い考えです(これは dselect の場合に限りません)。そうすることで、何ら
かの問題が発生した場合、何が起きたのか知ることができます。script は、
`script -myfilename' のように実行すれば、コンソールの写しを引数として
指定したファイルに書き出します。引数を省略した場合は、デフォルトのファ
イル名 `typescript' が用いられます。(script を実行する時のカレントディ
レクトリが CD 上にある場合、"myfilename"のパスには書き込み可能なディレ
クトリを指定しなければなりません。)
autoup スクリプトの実行を含めパッケージインストール作業は、スー
パーユーザ権限で実行しなければいけません。root でログインするか su ま
たは sudo を使用して、スーパーユーザ権限を取得してください。buzz
(1.1.x) システムからアップグレードする場合には、cd_autoup.sh を実行す
る前に手動で dpkg をアップグレードしなければなりません
(dpkg -i dpkg_1.4.0.8.deb)。後で、dselect から apt アクセスメソッドを
使用するのでしたら、この時点で apt を手動でインストールしてください
(dpkg -i apt_0.1.4.bo_i386.deb)。以上の後に、`cd_autoup.sh'を実行して
ください。
このスクリプトは、何らかの理由のためにアップグレードの妨げとなる
いくつかのパッケージを、実際のアップグレードの前に削除します。あるパッ
ケージはスクリプトによって hamm 用パッケージで置き換えられ、またある
パッケージはスクリプト終了後に dselect で再インストールしなければなり
ません。このスクリプトは削除したすべてのファイル一覧を /root ディレク
トリのファイル "removed-<today's date>" に書き出します。このファイルは、
後で dselect を実行してインストールすべきパッケージを選択するときの参
考になるでしょう。
その後、質問されたらそれに答えていきます(一部の新規インストールプ
ログラムでは、設定用スクリプトによる設問があります)。アップグレードの
途中で何回か警告が表示されることがあります。特に、perl-base をインス
トールするために perl を削除したとき現れて不安になるかもしれませんが、
害はありません。
スクリプトが終了すると、メッセージが表示されます。これは、前もっ
て参考になるよう、ここで繰り返しておきます:
libc6 がインストールされました。dselect を起動して残るパッケージをアッ
プグレードします。最初は、現在インストール済のパッケージのみをアップ
グレードするために、access, update, install, configure モジュールを実
行することを推奨します(select を選択しない)。その後で、必要なら追加パッ
ケージをインストールするために select, install モジュール を使用します。
dpkg/dselect は多くのパッケージをアップグレードすることを心に止めてお
いてください(また、この段階でインストールされている殆ど全てのパッケージ
がアップグレードされるでしょう)。通常はすべてのパッケージが設定済となる
までには何回か install と configure を繰り返す必要があります。 dselect
の apt アクセスメソッドではこの欠点がかなり修正されています。
apt がインストールされているなら("apt を利用したアップグレード" 以下の
説明を参照)、dselect の Access モジュールで apt アクセスを選択できます。
apt は以前の dselect アクセスメソッドに比べ非常に高速です。これが終了
したら、アップグレードした libc5 の utmp/wtmp wrapper 関数が有効にする
ために "shutdown -r now" でリブートします。
すべての開発パッケージ(-dev, -dbg, and -pic) と互換性のなくなるいくつ
かのパッケージは、libc5 バージョンと libc6 バージョンで衝突しますので、
このアップグレード中に削除されます。削除されたパッケージのリストはファ
イル "/root/removed-<today's date>" にあります。必要ならこれらの libc6
用パッケージをインストールしなければなりません。libc5 で開発作業をして
いるのでしたら、(oldlibs ディレクトリに用意された) libc5 用パッケージ
のうち必要なものを再インストールします。
最後に、忘れずに wtmp と utmp を修正して下さい。さもないと、last や
who や sac などが機能しません。debian-users メーリングリストで
Miquel van Smoorenburg <miquels@xxxxxxxxxx> から以下のような発言をいた
だきました:
> 1. すべてのパッケージを hamm に更新します。
> 2. まだリブートしていない場合はリブートします。
> 3. wtmp ファイルを移動して、utmp ファイルを切ります:
> cd /var/log
> mv wtmp wtmp.libc5
> touch wtmp
> cd /var/run
> cp /dev/null utmp
> 4. 確認のためもう一度リブートするといいでしょう。
>
> これは、"utmp 構造体" が libc5 と libc6 では異なっているため、
> utmp と wtmp の「データベース」が libc5 と libc6 で異なるから
> です。
これで Debian Gnu/Linux v2.0 システムが手に入りました。
お楽しみください!
apt を利用したアップグレード
The Deity Project は apt という名で知られる新しい改良された dpkg
インターフェースを開発しています。apt のユーザインターフェースはまだ利
用できませんが、コマンドラインから利用したり、dselect の access メソッ
ドとして利用することができます。
dselect の使用方法に習熟していない方は、アップグレードを始める前
にこの CD の debian/hamm/hamm/disks-i386/current ディレクトリにある
dselect.beginner.txt または dselect.beginner.html を読んでください。
ログの写しを記録しておくため /usr/bin/script を使用することを強く
推奨します。 script を使用して dselect のログを記録しておくのは、実際
良い考えです(これは dselect の場合に限りません)。そうすることで、何ら
かの問題が発生した場合、何が起きたのか知ることができます。script は、
`script -myfilename' のように実行すれば、コンソールの写しを引数として
指定したファイルに書き出します。引数を省略した場合は、デフォルトのファ
イル名 `typescript' が用いられます。(script を実行する時のカレントディ
レクトリが CD 上にある場合、"myfilename"のパスには書き込み可能なディレ
クトリを指定しなければなりません。)
CD のトップ直下にあるディレクトリ "upgrade-i386" には、本文書
(README)と、apt_0.1.4.bo_i386.deb、dpkg_1.4.0.8.deb、スクリプト
cd-autoup.sh があります。アップグレードを始める前にこのディレクトリに
移動しておけば、bo パッケージのインストール(必要な場合のみ)には、以下
に示すコマンドをそのまま使用できます。CD 上のそのディレクトリに移動し
たくない場合は、適当なパス名を以下に示すコマンドに追加してください。
パッケージインストール作業にはスーパーユーザ権限が必要ですので、
root でログインするか su または sudo を使用して、スーパーユーザ権限を
取得してください。root になったら `script -<filename>' と入力し、それ
からこの README があるディレクトリに移動してください。(script の実行時
に作業ディレクトリが CD 上にある場合は、<filename>に指定するパスを書き
込み可能なディレクトリにしてください。) 次に、 apt を手動でインストー
ルしてください(dpkg -i apt*)。buzz (1.1.x) システムからアップグレード
の場合には、以降のアップグレード作業を進める前にこのディレクトリにある
dpkg に手動でアップグレードしなければなりません(dpkg -i dpkg*)。
/usr/doc/apt にある apt ユーザガイドを読んでおくことを推奨します。
アップグレードを始める前に、apt 設定ファイル /etc/apt/sources.list の
設定をしなければいけません。コメントされた説明の後の最初の行に
deb file:<cd_mount_point>/debian stable main
を追加します。
インターネットに接続できない場合 (または、セキュリティ問題を修正し
た新しい版をダウンロードしたくない場合) は、残りの2行はコメントアウトし
てください。アップグレード作業時にインターネットに接続する場合には、近
くのミラーサイトを選択するように変更してください。
次に、以下のように実行します。
apt-get update
apt-get -f dist-upgrade
APT が削除しようとしているパッケージ一覧を十分に吟味し、間違いがな
いことを確認してください。必須(essential)パッケージの中には、削除しても
大丈夫なパッケージ(例えば、e2fsprogs)もありますが、削除してはいけない
パッケージもあります。
*警告*
APT が必須パッケージの削除リストに lib* を挙げた場合は、そのまま継
続するとシステムをだめにしてしまう可能性が非常に高いです。
確認したら以下のように実行します。
apt-get install timezones locales
この時点でシステムは安定版となり、ほんんど又は全てのパッケージが
libc6 にアップグレードされています。dselect を実行して、まだ libc5 用で
あるパッケージをアップグレードしたり、お望みの新しいパッケージをインス
トールすることができます。アクセスメソッドには apt を使用すると良いで
しょう。
最後に、忘れずに wtmp と utmp を修正して下さい。さもないと、
last や who や sac などが機能しません。debian-users メーリングリストで
Miquel van Smoorenburg <miquels@xxxxxxxxxx> から以下のような発言をいた
だきました:
> 1. すべてのパッケージを hamm に更新します。
> 2. まだリブートしていない場合はリブートします。
> 3. wtmp ファイルを移動して、utmp ファイルを切ります:
> cd /var/log
> mv wtmp wtmp.libc5
> touch wtmp
> cd /var/run
> cp /dev/null utmp
> 4. 確認のためもう一度リブートするといいでしょう。
>
> これは、"utmp 構造体" が libc5 と libc6 では異なっているため、
> utmp と wtmp の「データベース」が libc5 と libc6 で異なるから
> です。
これで Debian Gnu/Linux v2.0 システムが手に入りました。
お楽しみください!
$Id: README-upgrade,v 0.7 1998/08/27 13:37:45 bob Exp bob $
日本語訳(v 0.4 1998/10/15)
Hidenobu NABETANI <nabetani@xxxxxxxxxxxxxxxxxxxxxxxxxxx>