[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

README-upgrade.jp (v 0.3)



鍋谷です。

From: nakano@xxxxxxxxxxxxxxxx (NAKANO Takeo)
Subject: Re: README-upgrade (no.2)
Date: Mon, 12 Oct 1998 21:50:48 +0900

> 中野です。
> 
>  気付いた部分を変更して、diff を取ってみましたのでお送りします。
> ちょっと私の個人的な嗜好を入れすぎてしまったような気もしますので、
> 取捨選択を適宜お願いします。

ありがとうございます。ほとんど、中野の修正に従う形になっています。

> +#中野注: これは原語のままの方が良いかもしれません

autoup-jp.sh というのもありますので、日本語でいいと思います。

# autoup-jp.sh のための説明をどこかに追加してください。> CD イメージ作成者さま

---
大阪大学理学研究科物理学専攻 博士後期課程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.1 1998/10/14)
     Hidenobu NABETANI <nabetani@xxxxxxxxxxxxxxxxxxxxxxxxxxx>