第3章 Debian ディストリビューションの選択

# 第3章 Debian ディストリビューションの選択

Debian ディストリビューションには多くの様々なものがあります。適切な Debian ディストリビューションを選択することは重要な判断です。ここでは自分のシステムに最適なものを選択しようとするユーザにとって有用な情報をいくらか示し、その過程で出てくるであろう疑問に回答します。「Debian を選択すべき理由」ではなく「どの Debian ディストリビューションか」を扱います。

利用可能なディストリビューションのさらなる情報については、「Debian ディストリビューションはいくつありますか?」 を見てください。

## 3.1. 自分にはどの Debian ディストリビューション (stable/testing/unstable) が合いますか?

この回答は少々難解です。使用目的にかなり依存するためです。Debian を使っている友人に聞いてみるのも良いでしょう。ただ、それは自分で決断することができないと言っているわけではありません。実際には、この章を読み終えれば判断できるようになっているはずです。

- セキュリティや安定性がとにかく重要なら: 安定版 (stable) をインストールしてください。それで終わりです。これが最も好ましい方法です。

- デスクトップマシンにインストールする新規ユーザなら、安定版 (stable) から始めてください。かなり古いソフトウェアもありますがバグの少ない環境です。少し自信がついたらもっと新しい不安定版 (unstable) またはテスト版 (testing) に切り替えるのは簡単です。

- 多くのオペレーティングシステム経験のあるデスクトップユーザで奇妙なバグに遭遇する、あるいはシステム全体が壊れるようなことを今もこの先も気にしないのであれば不安定版 (unstable) を使ってください。不安定版 (unstable) はすべて最新、最高のソフトウェアで、バグは通常迅速に修正されます。

- サーバ運用、特に強力な安定性が要求される、あるいはインターネットに公開される場合は安定版 (stable) をインストールしてください。これは圧倒的に強力、安全な選択です。

以下の質問でここでの選択についての更なる詳細を (願わくば) 提供します。この FAQ 全体を読み終わってもなお決断できない場合は安定版 (stable) ディストリビューションを選択してください。

### 3.1.1. 安定版 (stable) をインストールするように勧められたけど安定版だとハードウェアが全然検出されない/機能しない。どうすればいい?

検索エンジンを使ってウェブを検索して安定版 (stable) で使えた人がいないか調べてみてください。ほとんどのハードウェアが安定版 (stable) で問題なく動作するはずです。ですが、あまりに新しすぎるハードウェアだと安定版 (stable) では動作しないかもしれません。その場合は不安定版 (unstable) をインストールまたはアップグレードしてみるのも良いでしょう。

ノート PC の場合、他に Linux で動作させることのできた誰かがいないか調べるのに最適なウェブサイト https://www.linux-on-laptops.com/ があります。このウェブサイトは Debian 専門ではありませんが、それでもなお強大なリソースとなります。デスクトップ向けのこういったウェブサイトは知りません。

他に、debian-user@lists.debian.org にメールを送って debian-user メーリングリストで質問する選択肢があります。メッセージの投稿は購読しなくてもできます。アーカイブは https://lists.debian.org/debian-user/ 経由で読むことができます。メーリングリストの購読に関する情報はアーカイブと同じ所にあります。質問には irc よりもメーリングリストを強く奨励します。メーリングリストのメッセージはアーカイブとして公開されるため、メーリングリストで問題を解決した場合は同じ問題を抱える人の助けとなる可能性があります。

### 3.1.2. 異なるディストリビューションではパッケージのバージョンも異なりますか?

はい。不安定版 (unstable) には最新のバージョンがあります。しかし不安定版 (unstable) にあるパッケージはテストが十分に行われておらずバグがあるかもしれません。

別の言い方をすると安定版 (stable) には古いバージョンのパッケージが収録されています。しかしこのパッケージは十分にテストされておりバグがある可能性は低くなります。

テスト版 (testing) のパッケージはこの二極の中間になります。

### 3.1.3. 安定版 (stable) ディストリビューションには相当古くなっているパッケージが収録されています。Kde、Gnome、Xorg、さらにはカーネルも。すごく古いです。これはどうして?

はい、あなたは正しいです。安定版 (stable) のパッケージの古さはリリースされた時期に依ります。リリース間隔は通常一年を超えるため古いバージョンのパッケージが安定版 (stable) に含まれていることはあるでしょう。しかし、これはテストを受けた上で公開されています。そのパッケージに既知の深刻なバグやセキュリティホールがないということは確信を持って言えます。安定版 (stable) のパッケージは他の安定版 (stable) パッケージと途切れなく一体となっています。この特徴は一日24時間、週7日機能していなければならないサーバ環境ではとても重要です。

別の言い方をするとテスト版 (testing) や不安定版 (unstable) のパッケージには潜在的にバグやセキュリティホール等がある可能性があります。さらに、テスト版 (testing) や不安定版 (unstable) のパッケージの一部意図したとおりに機能しないかもしれません。通常単一のデスクトップで作業する人は最新の流行っているパッケージ群を好みます。不安定版 (unstable) はこのグループの人たちへの回答となります。

お分かりのように安定性と新しさは両極にあります。安定性が必要なら安定版 (stable) ディストリビューションをインストールしてください。最新のパッケージで作業したいのであれば不安定版 (unstable) をインストールしてください。

### 3.1.4. 別のディストリビューションへの変更を決心したとして、それは可能ですか?

はい、できますがそれは一方向だけです。安定版 (stable) --> テスト版 (testing) --> 不安定版 (unstable) と移行させることはできます。しかし逆方向は「できません」。なので、不安定版 (unstable) のインストール、不安定版 (unstable) へのアップグレードを考えている場合は気を付けてください。

実際には、経験者で、時間をいくらか費やす覚悟があり、本当に注意深い人で、それが何をしているのか理解していれば、不安定版 (unstable) からテスト版 (testing)、それから安定版 (stable) へと移行させることはできるかもしれません。インストーラのスクリプトはそのように設計されてはいません。そのため、その過程で設定ファイルが失われる等の可能性があります。

### 3.1.5. 安定版 (stable) やテスト版 (testing)、不安定版 (unstable) をインストールすべきですか?

これはどちらかというと主観的な問題です。必要なソフトウェアや、不具合発生時に対処する意志、システム管理の経験に依るため万能の回答はありません。判断材料として:

- 安定版 (stable) は岩のように安定しています。壊れることはなくセキュリティサポートも万全です。ただし最新のハードウェアに対するサポートはないかもしれません。

- テスト版 (testing) には安定版 (stable) よりも最新のソフトウェアがあり、不安定版 (unstable) ほど頻繁には壊れません。しかし壊れている時には修正されるまで時間がかかることもあります。それには数日、時には何か月もかかることもあります。また、永続的なセキュリティサポートもありません。

- 不安定版 (unstable) には最新のソフトウェアがあってよく変更されるため、その結果ある時点では壊れている可能性があります。しかし、修正は多くの場合数日で取り込まれ、それは常に Debian 用にパッケージされたソフトウェアの最新のリリースです。

テスト版 (testing) か不安定版 (unstable) かを判断する際、テスト版 (testing) を追いかけた方が不安定版 (unstable) よりもいいときもあるということに留意してください。この文書の作者の一人が、gcc が gcc3 から gcc4 に移行中のために経験した事例です。不安定版 (unstable) を追いかけているマシンで `labplot` パッケージをインストールしようとした場合に、不安定版 (unstable) ではそれが依存するパッケージの一部が gcc4 に移行していて、まだ移行できていないものもあるためにインストールすることは不可能となります。一方テスト版 (testing) では gcc4 に移行済みのパッケージはテスト版 (testing) に「流れて」こないためそのパッケージはテスト版 (testing) マシンにインストール可能です。

### 3.1.6. テスト版 (testing) が壊れているということですがそれはどういう意味ですか?

パッケージ管理ツール経由でパッケージがインストールできないことがあります。おそらくバグや未解決の依存関係のために (一時的に) 削除されたことでパッケージが全く利用不可能なこともあります。パッケージがインストールできたとしても適切に機能しないこともあります。

こういったことが起きたときに、そのディストリビューション (少なくともこのパッケージ) は壊れていると呼ばれます。

### 3.1.7. テスト版 (testing) が何ヶ月も壊れている可能性があるというのはどうして? 不安定版 (unstable) に取り込まれた修正はテスト版 (testing) にそのまま流れてくるのでは?

不安定版 (unstable) ディストリビューションに取り込まれたバグ修正や改善は特定の日数を経た後にテスト版 (testing) に流れてきます。そのしきい値は 5 日間としましょう。不安定版 (unstable) のパッケージはそれに対する RC バグが報告されていないときにのみテスト版 (testing) に移行されます。不安定版 (unstable) のパッケージに対して RC バグが報告されていれば 5 日を経過してもテスト版 (testing) に移行されません。

これはパッケージに何か問題があれば不安定版 (unstable) を使っている人により発見され、テスト版 (testing) に入る前に修正されるだろうという考え方です。そうしてテスト版 (testing) はほぼ常に使える状態を維持します。全体としては質問の条件においては優れた概念です。しかし物事はいつもそう単純ではありません。以下の状況を考えてみましょう:

- パッケージ XYZ に関心があるものとしてください。

- 6 月 10 日にテスト版 (testing) のバージョンが XYZ-3.6 で不安定版 (unstable) では XYZ-3.7 だと仮定しましょう。

- 5 日後に XYZ-3.7 は不安定版 (unstable) からテスト版 (testing) に移行します。

- なので 6 月 15 日にはテスト版 (testing) と不安定版 (unstable) の両方に XYZ-3.7 が置かれることになります。

- Let's say, the user of testing distribution sees that a new XYZ package is available and updates the XYZ-3.6 to XYZ-3.7.

- そして 6 月 25 日、テスト版 (testing) か不安定版 (unstable) を使っている誰かが XYZ-3.7 に RC バグを発見して BTS に報告します。

- XYZ のメンテナがこのバグを修正して 不安定版 (unstable) に 6 月 30 日にアップロードしたとします。ここではメンテナがバグを修正して新しいバージョンをアップロードするのに 5 日かかると仮定しています。この 5 は文字通りに捉えないでください。これは目前にある RC バグの重要度によって変わってきます。

- 不安定版 (unstable) のこの新しいバージョン XYZ-3.8 は 7 月 5 日にテスト版 (testing) に入る予定です。

- ところが 7 月 3 日、また別の誰かが別の RC バグを XYZ-3.8 に発見します。

- XYZ のメンテナがこの新しい RC バグを修正して XYZ の新しいバージョンを 5 日後にアップロードしたとしましょう。

- そうすると 7 月 8 日の時点でテスト版 (testing) には XYZ-3.7、不安定版 (unstable) には XYZ-3.9 があります。

- この新しいバージョン XYZ-3.9 は 7 月 13 日にテスト版 (testing) に入る予定になりました。

- 現在テスト版 (testing) を使っていて XYZ-3.7 にはバグがあるため XYZ を使えるのは恐らく 7 月 13 日以降となります。これは結局 XYZ が約一か月間壊れて使えないということになります。

状況ははるかに複雑になりえます。もし XYZ が他の 4 つのパッケージに依存していたら。ところてん式にテスト版 (testing) ディストリビューションが何か月も使えない状態になる可能性があります。前述の筋書きは空想上のものですが同様のことが実際に起きる可能性はあります。とはいっても発生はまれです。

### 3.1.8. 管理者として注意が必要なのはどのディストリビューションですか?

多くの人が他の Linux ディストリビューションよりも Debian を選択する大きな理由の一つが必要となる管理作業がとても少ないという点です。望まれているのはただ動作するシステムです。一般論としてテスト版 (testing) や不安定版 (unstable) が管理者による絶え間ない保守を必要とするのに対し、安定版 (stable) が必要とする保守作業は非常に少ないということが言えます。安定版 (stable) を使っている場合に必要なのはセキュリティ更新を追い続けることだけです。テスト版 (testing) や不安定版 (unstable) を使っている場合はインストールしたパッケージで発見された新しいバグや取り入れられた新しいバグ修正や新機能について留意するのが良いでしょう。

### 3.1.9. 新しいリリースができたら何が起きますか?

この疑問は Debian ディストリビューションを選択する材料にはなりません。しかし遅かれ早かれこの疑問が出てくるでしょう。

安定版 (stable) ディストリビューションは現在 trixie です。次期安定版 (stable) ディストリビューションは forky と呼ばれます。新しい安定版として forky がリリースされたら何が起きるのか考えてみましょう。

- 旧安定版 (oldstable) = bookworm、安定版 (stable) = trixie、テスト版 (testing) = forky、不安定版 (unstable) = sid

- 不安定版 (unstable) はリリースの有無に関係なく常に sid と呼ばれます。

- パッケージは絶えず sid (不安定版、unstable) からテスト版 (testing) (つまり forky) に移行しています。しかし安定版 (stable) (つまり trixie) のパッケージはセキュリティ更新を除いて同じものが残ります。

- いくらか時間が過ぎてテスト版 (testing) が凍結 (フリーズ) されます。この時点ではまだテスト版 (testing) と呼ばれます。この時点で不安定版 (unstable) からテスト版 (testing) に新しいパッケージを移行させることはリリースクリティカル (RC) バグの修正を取り込む以外ではできなくなります。

- テスト版 (testing) が凍結 (フリーズ) されているときは、導入される新しいバグ修正はすべてリリースチームのメンバーにより手作業での確認が行われることになります。この作業を行うことによって凍結 (フリーズ) されているテスト版 (testing) に未知の深刻な問題が生まれないようにします。

- 「凍結 (フリーズ) されているテスト版 (testing)」の RC バグがなくなるか、まだ残っていればそのリリースでは無視、または以後のポイントリリースへの延期を決定します。

- 「凍結 (フリーズ) されているテスト版 (testing)」の RC バグがなくなると新しい安定版 (stable) バージョンとしてリリースされます。この例では新しい安定版 (stable) リリースは forky と呼ばれます。

- この段階で旧安定版 (oldstable) = trixie、安定版 (stable) = forky となります。この時点では安定版 (stable) と「凍結 (フリーズ) されているテスト版 (testing)」の内容は同一です。

- 新しいテスト版 (testing) は旧テスト版 (testing) が基となります。

- パッケージが sid (不安定版、unstable) からテスト版 (testing) に来るようになり、Debian コミュニティは次期安定版 (stable) リリースに向けた作業を開始します。

### 3.1.10. Debian をインストールしたデスクトップ/クラスタが動作しているんですがどのディストリビューションを使っているのか確認する方法は?

ほとんどの状況でこれはとても簡単に確認できます。`/etc/apt/sources.list` ファイルを見てみてください。これに似たようなエントリがあるでしょう:

    deb http://deb.debian.org/debian/ unstable main contrib

システムが現在追跡している Debian ディストリビューションを 3 つ目のフィールド (上記の例では「unstable」) が示しています。

lsb_release を使うこともできます (`lsb-release` パッケージで利用可能)。このプログラムを不安定版 (unstable) システムで実行すると:

    $ lsb_release  -a
    LSB Version:    core-2.0-noarch:core-3.0-noarch:core-3.1-noarch:core-2.0-ia32:core-3.0-ia32:core-3.1-ia32
    Distributor ID: Debian
    Description:    Debian GNU/Linux unstable (sid)
    Release:    unstable
    Codename:   sid

のような出力が得られますが、常にそう単純とは限りません。システムによっては異なるディストリビューションを指す複数のエントリを `sources.list` ファイルで指定しているかもしれません。管理者がパッケージによって異なる Debian ディストリビューションを追っている場合にこういうことが起きます。apt-pinning とも呼ばれる機能です。こういったシステムでは混成したディストリビューションを使っていることになります。

### 3.1.11. I am currently using the stable version. Can I change to testing or unstable? If so, how?

First of all, please bear in mind that the stable version is the one recommended for servers as well as for desktop computers, not only you will get security updates if you are running stable but also there are less changes which could potentially break the system or your setup.

If you are currently running stable, then in the `/etc/apt/sources.list` file the third field will be either 'trixie' or 'stable'. If you want to change to a different version, you need to change this to the distribution you want to run. If you want to run testing, then change the third field of `/etc/apt/sources.list` to 'testing'. If you want to run unstable, then change the third field to 'unstable'.

現在のテスト版 (testing) は forky と呼ばれます。なので `/etc/apt/sources.list` の 3 つ目のフィールドを「forky」に変更してもテスト版 (testing) を使うことになります。しかし、この場合は forky が安定版 (stable) になってもそのまま forky を追うということになります。

不安定版 (unstable) は常に sid と呼ばれます。なので `/etc/apt/sources.list` の 3 つ目のフィールドを「sid」に変更すると不安定版 (unstable) を追うことになります。

Currently Debian offers does not offer security updates for testing nor for unstable. The Debian Security Team focus their work on stable and old-stable. Nevertheless, just like any other type of fixes, security fixes in unstable are directly made to the main archive and trickle down to testing in due course. So if you are running unstable make sure that you remove the lines relating to security updates in `/etc/apt/sources.list`. If you are interested in knowing what known security bugs exist in these versions of the distributions, you will this information in the list of vulnerable source packages in testing, and unstable.

If there is a release notes document available for the distribution you are upgrading to (even though it has not yet been released) it would be wise to review it, as it might provide information on how you should upgrade to it. You will always find the Release Notes for testing available at the Debian website but depending on how close the testing version is to release the document might not cover all the potential changes or pitfalls.

いずれにせよ、上記の変更を加えることで `aptitude update` を実行すれば欲しいパッケージをインストールできるようになります。異なるディストリビューションからパッケージをインストールするとそのシステムの一部を自動的にアップグレードする可能性があることに注意してください。個々のパッケージをインストールすると混成したディストリビューションを使ったシステムになります。

状況によっては apt full-upgrade、aptitude safe-upgrade、aptitude full-upgrade のどれかを実行して単純に新しいディストリビューションに完全にアップグレードするのが最適かもしれません。さらなる情報については apt や aptitude のマニュアルページを読んでください。

The Debian reference manual provides more insight on running testing and unstable in its section Life with eternal upgrades.

### 3.1.12. 現在テスト版 (testing、forky) を追っています。リリースされると何が起きますか? 引き続きテスト版 (testing) を追跡するのか、それともこのマシンは新しい安定版 (stable) ディストリビューションを使うことになるのでしょうか?

`/etc/apt/sources.list` ファイルのエントリによります。現在テスト版 (testing) を追っているならそのエントリは

    deb http://deb.debian.org/debian/ testing main

または

    deb http://deb.debian.org/debian/ forky main

のようになっているでしょう。`/etc/apt/sources.list` の 3 つ目のフィールドが「testing」ならリリースされた後もテスト版 (testing) を追うことになります。forky がリリースされたら別のコード名を付けられた新しい Debian ディストリビューションを使うということになります。当初は変更が見えないかもしれませんが、新しいパッケージが不安定版 (unstable) からテスト版 (testing) ディストリビューションに向けて動き始めるとすぐにわかるでしょう。

この 3 つ目のフィールドが「forky」の場合は安定版 (stable) を追うことになります (forky が新しい安定版 (stable) ディストリビューションになっているため)。

### 3.1.13. ややこしいですね。どれをインストールしたらいいんでしょうか?

よくわからないなら安定版 (stable) ディストリビューションが確実です。

## 3.2. But what about Kali, Knoppix, Linux Mint, Ubuntu, and others?

These distributions are not Debian; they are Debian-based. Though there are many similarities and commonalities between them, there are also crucial differences.

Over the years, many distributions have been developed over time reusing and/or rebuilding Debian packages and also adding custom packages on their own. Most of the distributions have been created for specific audiences or purposes. According to Distrowatch, Debian has spawned more than 420 derivatives and more than 120 of them are active at the time of writing.

All these distributions have their own merits and are suited to some specific set of users. For more information, read Debian derivatives available at the Debian website. You can find a complete list of Debian derivatives, including those that are no longer under active development at the Debian derivate Census in the Wiki.

### 3.2.1. I know that Kali/Knoppix/Linux Mint/Ubuntu/... is Debian-based. So after installing it on the hard disk, can I use 'apt' package tools on it?

These distributions are Debian-based, but they are not Debian. You will be still able to use apt package tools by pointing the `/etc/apt/sources.list` file to these distributions' repositories. In some cases some distributions might even have additional package managers that are used instead of apt.

ほとんどの状況で、あるディストリビューションを選んだらそれだけを使うべきで、他のディストリビューションのパッケージを混ぜて使うべきではありません。あるディストリビューションを使っている人が他のディストリビューションから Debian パッケージをインストールしようとしてよく問題に遭遇しています。同一の形式と名前 (.deb) を使っているということはそのまま互換性があるということにはなりません。

For example, Knoppix is a Linux distribution designed to be booted as a live CD whereas Debian is designed to be installed on the hard-disk. Knoppix is great if you want to know whether a particular piece of hardware works, or if you want to experience how a GNU/Linux system 'feels' etc., Knoppix is good for demonstration purposes while Debian is designed to run 24/7. Moreover the number of packages available and the number of architectures supported by Debian are far more than that of Knoppix.

If you want Debian, it is best to install Debian from the get-go. Although it is possible to install Debian through other distributions, such as Knoppix, the procedure calls for expertise. If you are reading this FAQ, I would assume that you are new to both Debian and Knoppix. In that case, save yourself a lot of trouble later and install Debian right from the beginning.

### 3.2.2. I installed Kali/Knoppix/Linux Mint/Ubuntu/... on my hard disk. Now I have a problem. What should I do?

You are advised not to use the Debian forums (either mailing lists or IRC) for help on Debian derivatives as people there may base their suggestions on the assumption that you are running a Debian system. These "fixes" might not be suited to what you are running, and might even make your problem worse.

使っているディストリビューション専門のフォーラムをまず使用してください。そこで助けが得られない、あるいは得られた対策が問題の修正に至らない場合は Debian フォーラムで聞いてみるのもいいかもしれませんが、前述の指摘に留意してください。

### 3.2.3. I'm using Kali/Knoppix/Linux Mint/Ubuntu/... and now I want to use Debian. How do I migrate?

Debian ベースのディストリビューションから Debian への変更はオペレーティングシステムを別のものに変更するのと同じようなものだと考えてください。必要なデータを全てバックアップしてオペレーティングシステムを最初からインストールし直してください。パッケージ管理ツールを使って Debian への「アップグレード」を試みるべきではありません。そうした場合システムが使えなくなるかもしれないためです。

必要なユーザデータ (つまり `/home`) が別個のパーティションにある場合 Debian への移行は実際にかなり単純で、インストールし直すときにインストールシステムにそのパーティションをマウントさせる (フォーマットし直すのとは違います) だけです。念のため、必要なデータと同様に前のシステムの設定 (つまり `/etc/` や `/var/`) のバックアップを作成しておくと良いでしょう。

第2章 Debian GNU/Linux の取得とインストール |  | 第4章 互換性の問題