目次
Debian ディストリビューションには多くの様々なものがあります。適切な Debian ディストリビューションを選択することは重要な判断です。ここでは自分のシステムに最適なものを選択しようとするユーザにとって有用な情報をいくらか示し、その過程で出てくるであろう疑問に回答します。「Debian を選択すべき理由」ではなく「どの Debian ディストリビューションか」を扱います。
利用可能なディストリビューションのさらなる情報については、「Debian ディストリビューションはいくつありますか?」 を見てください。
この回答は少々難解です。使用目的にかなり依存するためです。Debian を使っている友人に聞いてみるのも良いでしょう。ただ、それは自分で決断することができないと言っているわけではありません。実際には、この章を読み終えれば判断できるようになっているはずです。
セキュリティや安定性がとにかく重要なら: 安定版 (stable) をインストールしてください。それで終わりです。これが最も好ましい方法です。
デスクトップマシンにインストールする新規ユーザなら、安定版 (stable) から始めてください。かなり古いソフトウェアもありますがバグの少ない環境です。少し自信がついたらもっと新しい不安定版 (unstable) またはテスト版 (testing) に切り替えるのは簡単です。
多くのオペレーティングシステム経験のあるデスクトップユーザで奇妙なバグに遭遇する、あるいはシステム全体が壊れるようなことを今もこの先も気にしないのであれば不安定版 (unstable) を使ってください。不安定版 (unstable) はすべて最新、最高のソフトウェアで、バグは通常迅速に修正されます。
サーバ運用、特に強力な安定性が要求される、あるいはインターネットに公開される場合は安定版 (stable) をインストールしてください。これは圧倒的に強力、安全な選択です。
以下の質問でここでの選択についての更なる詳細を (願わくば) 提供します。この FAQ 全体を読み終わってもなお決断できない場合は安定版 (stable) ディストリビューションを選択してください。
検索エンジンを使ってウェブを検索して安定版 (stable) で使えた人がいないか調べてみてください。ほとんどのハードウェアが安定版 (stable) で問題なく動作するはずです。ですが、あまりに新しすぎるハードウェアだと安定版 (stable) では動作しないかもしれません。その場合は不安定版 (unstable) をインストールまたはアップグレードしてみるのも良いでしょう。
ノート PC の場合、他に Linux で動作させることのできた誰かがいないか調べるのに最適なウェブサイト https://www.linux-on-laptops.com/ があります。このウェブサイトは Debian 専門ではありませんが、それでもなお強大なリソースとなります。デスクトップ向けのこういったウェブサイトは知りません。
他に、[email protected] にメールを送って debian-user メーリングリストで質問する選択肢があります。メッセージの投稿は購読しなくてもできます。アーカイブは https://lists.debian.org/debian-user/ 経由で読むことができます。メーリングリストの購読に関する情報はアーカイブと同じ所にあります。質問には irc よりもメーリングリストを強く奨励します。メーリングリストのメッセージはアーカイブとして公開されるため、メーリングリストで問題を解決した場合は同じ問題を抱える人の助けとなる可能性があります。
はい。不安定版 (unstable) には最新のバージョンがあります。しかし不安定版 (unstable) にあるパッケージはテストが十分に行われておらずバグがあるかもしれません。
別の言い方をすると安定版 (stable) には古いバージョンのパッケージが収録されています。しかしこのパッケージは十分にテストされておりバグがある可能性は低くなります。
テスト版 (testing) のパッケージはこの二極の中間になります。
はい、あなたは正しいです。安定版 (stable) のパッケージの古さはリリースされた時期に依ります。リリース間隔は通常一年を超えるため古いバージョンのパッケージが安定版 (stable) に含まれていることはあるでしょう。しかし、これはテストを受けた上で公開されています。そのパッケージに既知の深刻なバグやセキュリティホールがないということは確信を持って言えます。安定版 (stable) のパッケージは他の安定版 (stable) パッケージと途切れなく一体となっています。この特徴は一日24時間、週7日機能していなければならないサーバ環境ではとても重要です。
別の言い方をするとテスト版 (testing) や不安定版 (unstable) のパッケージには潜在的にバグやセキュリティホール等がある可能性があります。さらに、テスト版 (testing) や不安定版 (unstable) のパッケージの一部意図したとおりに機能しないかもしれません。通常単一のデスクトップで作業する人は最新の流行っているパッケージ群を好みます。不安定版 (unstable) はこのグループの人たちへの回答となります。
お分かりのように安定性と新しさは両極にあります。安定性が必要なら安定版 (stable) ディストリビューションをインストールしてください。最新のパッケージで作業したいのであれば不安定版 (unstable) をインストールしてください。
はい、できますがそれは一方向だけです。安定版 (stable) --> テスト版 (testing) --> 不安定版 (unstable) と移行させることはできます。しかし逆方向は「できません」。なので、不安定版 (unstable) のインストール、不安定版 (unstable) へのアップグレードを考えている場合は気を付けてください。
実際には、経験者で、時間をいくらか費やす覚悟があり、本当に注意深い人で、それが何をしているのか理解していれば、不安定版 (unstable) からテスト版 (testing)、それから安定版 (stable) へと移行させることはできるかもしれません。インストーラのスクリプトはそのように設計されてはいません。そのため、その過程で設定ファイルが失われる等の可能性があります。
これはどちらかというと主観的な問題です。必要なソフトウェアや、不具合発生時に対処する意志、システム管理の経験に依るため万能の回答はありません。判断材料として:
安定版 (stable) は岩のように安定しています。壊れることはなくセキュリティサポートも万全です。ただし最新のハードウェアに対するサポートはないかもしれません。
テスト版 (testing) には安定版 (stable) よりも最新のソフトウェアがあり、不安定版 (unstable) ほど頻繁には壊れません。しかし壊れている時には修正されるまで時間がかかることもあります。それには数日、時には何か月もかかることもあります。また、永続的なセキュリティサポートもありません。
不安定版 (unstable) には最新のソフトウェアがあってよく変更されるため、その結果ある時点では壊れている可能性があります。しかし、修正は多くの場合数日で取り込まれ、それは常に Debian 用にパッケージされたソフトウェアの最新のリリースです。
テスト版 (testing) か不安定版 (unstable) かを判断する際、テスト版 (testing) を追いかけた方が不安定版
(unstable) よりもいいときもあるということに留意してください。この文書の作者の一人が、gcc が gcc3 から gcc4
に移行中のために経験した事例です。不安定版 (unstable) を追いかけているマシンで labplot
パッケージをインストールしようとした場合に、不安定版 (unstable)
ではそれが依存するパッケージの一部が gcc4 に移行していて、まだ移行できていないものもあるためにインストールすることは不可能となります。一方テスト版
(testing) では gcc4 に移行済みのパッケージはテスト版 (testing) に「流れて」こないためそのパッケージはテスト版
(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) ディストリビューションが何か月も使えない状態になる可能性があります。前述の筋書きは空想上のものですが同様のことが実際に起きる可能性はあります。とはいっても発生はまれです。
多くの人が他の Linux ディストリビューションよりも Debian を選択する大きな理由の一つが必要となる管理作業がとても少ないという点です。望まれているのはただ動作するシステムです。一般論としてテスト版 (testing) や不安定版 (unstable) が管理者による絶え間ない保守を必要とするのに対し、安定版 (stable) が必要とする保守作業は非常に少ないということが言えます。安定版 (stable) を使っている場合に必要なのはセキュリティ更新を追い続けることだけです。テスト版 (testing) や不安定版 (unstable) を使っている場合はインストールしたパッケージで発見された新しいバグや取り入れられた新しいバグ修正や新機能について留意するのが良いでしょう。
この疑問は Debian ディストリビューションを選択する材料にはなりません。しかし遅かれ早かれこの疑問が出てくるでしょう。
安定版 (stable) ディストリビューションは現在 bullseye です。次期安定版 (stable) ディストリビューションは bookworm と呼ばれます。新しい安定版として bookworm がリリースされたら何が起きるのか考えてみましょう。
旧安定版 (oldstable) = buster、安定版 (stable) = bullseye、テスト版 (testing) = bookworm、不安定版 (unstable) = sid
不安定版 (unstable) はリリースの有無に関係なく常に sid と呼ばれます。
パッケージは絶えず sid (不安定版、unstable) からテスト版 (testing) (つまり bookworm) に移行しています。しかし安定版 (stable) (つまり bullseye) のパッケージはセキュリティ更新を除いて同じものが残ります。
いくらか時間が過ぎてテスト版 (testing) が凍結 (フリーズ) されます。この時点ではまだテスト版 (testing) と呼ばれます。この時点で不安定版 (unstable) からテスト版 (testing) に新しいパッケージを移行させることはリリースクリティカル (RC) バグの修正を取り込む以外ではできなくなります。
テスト版 (testing) が凍結 (フリーズ) されているときは、導入される新しいバグ修正はすべてリリースチームのメンバーにより手作業での確認が行われることになります。この作業を行うことによって凍結 (フリーズ) されているテスト版 (testing) に未知の深刻な問題が生まれないようにします。
「凍結 (フリーズ) されているテスト版 (testing)」の RC バグがなくなるか、まだ残っていればそのリリースでは無視、または以後のポイントリリースへの延期を決定します。
「凍結 (フリーズ) されているテスト版 (testing)」の RC バグがなくなると新しい安定版 (stable) バージョンとしてリリースされます。この例では新しい安定版 (stable) リリースは bookworm と呼ばれます。
この段階で旧安定版 (oldstable) = bullseye、安定版 (stable) = bookworm となります。この時点では安定版 (stable) と「凍結 (フリーズ) されているテスト版 (testing)」の内容は同一です。
新しいテスト版 (testing) は旧テスト版 (testing) が基となります。
パッケージが sid (不安定版、unstable) からテスト版 (testing) に来るようになり、Debian コミュニティは次期安定版 (stable) リリースに向けた作業を開始します。
ほとんどの状況でこれはとても簡単に確認できます。/etc/apt/sources.list
ファイルを見てみてください。これに似たようなエントリがあるでしょう:
deb http://ftp.jp.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
とも呼ばれる機能です。こういったシステムでは混成したディストリビューションを使っていることになります。
現在安定版 (stable) を使っているなら /etc/apt/sources.list
ファイルで 3
つ目のフィールドに「bullseye」か「stable」があるでしょう。これを希望のディストリビューションに変更する必要があります。テスト版
(testing) を使いたいなら /etc/apt/sources.list
の 3
つ目のフィールドを「testing」に変更してください。不安定版 (unstable) を使いたいならこの 3
つ目のフィールドを「unstable」に変更してください。
現在のテスト版 (testing) は bookworm と呼ばれます。なので
/etc/apt/sources.list
の 3
つ目のフィールドを「bookworm」に変更してもテスト版 (testing) を使うことになります。しかし、この場合は
bookworm が安定版 (stable) になってもそのまま bookworm を追うということになります。
不安定版 (unstable) は常に sid と呼ばれます。なので
/etc/apt/sources.list
の 3 つ目のフィールドを「sid」に変更すると不安定版
(unstable) を追うことになります。
現在 Debian はテスト版 (testing) 向けのセキュリティ更新を提供していますが不安定版 (unstable)
向けには提供していません。不安定版 (unstable) の修正は直接メインのアーカイブに対して行われるためです。そのため、不安定版
(unstable) を使う場合は /etc/apt/sources.list
のセキュリティ更新関連の行を必ず削除するようにしてください。
アップグレードする先のディストリビューション向けのリリースノート文書が利用可能になっていれば (まだリリースされていなくても) 一読しておくのが賢明です。そのアップグレードで取るべき方法についての情報が提供されていることがあるためです。
いずれにせよ、上記の変更を加えることで aptitude update
を実行すれば欲しいパッケージをインストールできるようになります。異なるディストリビューションからパッケージをインストールするとそのシステムの一部を自動的にアップグレードする可能性があることに注意してください。個々のパッケージをインストールすると混成したディストリビューションを使ったシステムになります。
状況によっては apt full-upgrade、aptitude safe-upgrade、aptitude full-upgrade のどれかを実行して単純に新しいディストリビューションに完全にアップグレードするのが最適かもしれません。さらなる情報については apt や aptitude のマニュアルページを読んでください。
/etc/apt/sources.list
ファイルのエントリによります。現在テスト版 (testing)
を追っているならそのエントリは
deb http://ftp.jp.debian.org/debian/ testing main
または
deb http://ftp.jp.debian.org/debian/ bookworm main
のようになっているでしょう。/etc/apt/sources.list
の 3
つ目のフィールドが「testing」ならリリースされた後もテスト版 (testing) を追うことになります。bookworm
がリリースされたら別のコード名を付けられた新しい Debian
ディストリビューションを使うということになります。当初は変更が見えないかもしれませんが、新しいパッケージが不安定版 (unstable) からテスト版
(testing) ディストリビューションに向けて動き始めるとすぐにわかるでしょう。
この 3 つ目のフィールドが「bookworm」の場合は安定版 (stable) を追うことになります (bookworm が新しい安定版 (stable) ディストリビューションになっているため)。
それは Debian ではありません。Debian ベースというだけです。似ている部分や共通する部分が多くありますが、決定的な違いもあります。
こういったディストリビューションにはすべて、特定のユーザ群にとって長所になる部分や適合させた部分を独自に持たせています。さらなる情報については、Debian ウェブサイト Debian ベースのディストリビューションを見てください。
こういったディストリビューションは Debian をベースにしています。しかし Debian
ではありません。/etc/apt/sources.list
ファイルでこういったディストリビューションのリポジトリを指定すれば apt パッケージツールを使うことはできるでしょう。それは Debian
を使っているのではなく別のディストリビューションを使っていることになります。同一のものではありません。
ほとんどの状況で、あるディストリビューションを選んだらそれだけを使うべきで、他のディストリビューションのパッケージを混ぜて使うべきではありません。あるディストリビューションを使っている人が他のディストリビューションから Debian パッケージをインストールしようとしてよく問題に遭遇しています。同一の形式と名前 (.deb) を使っているということはそのまま互換性があるということにはなりません。
例えば Debian がハードディスクにインストールするように設計されているのに対し、Knoppix はライブ CD として起動するように設計されている Linux ディストリビューションです。特定のハードウェアが動作するか確認したい、あるいは GNU/Linux システムが「どんな感じ」なのか試してみたい、というような場合 Knoppix は素晴らしいものとなるでしょう。Knoppix が実演目的に適するのに対し、Debian は常時運用するように設計されています。さらに、利用可能なパッケージの数や Debian がサポートするアーキテクチャの数は Knoppix よりもはるかに多くなっています。
Debian を使いたい場合は最初から Debian をインストールするのが最善です。他のディストリビューション、例えば Knoppix から Debian をインストールすることは可能ですがその手順には知識が要求されます。この FAQ を読んでいるということから Debian にも Knoppix にも初心者だということを仮定します。その場合は後々出てくる多くの問題を避けるため、最初から Debian をインストールしてください。
助けを得るのに Debian フォーラム (メーリングリストや IRC も) を使うことは勧められません。助言する人は Debian システムを使っていることを前提として提案する可能性があるためです。そうした「対策」は適切でないかもしれません。現状の問題をさらに悪化させることになるかもしれません。
使っているディストリビューション専門のフォーラムをまず使用してください。そこで助けが得られない、あるいは得られた対策が問題の修正に至らない場合は Debian フォーラムで聞いてみるのもいいかもしれませんが、前述の指摘に留意してください。
Debian ベースのディストリビューションから Debian への変更はオペレーティングシステムを別のものに変更するのと同じようなものだと考えてください。必要なデータを全てバックアップしてオペレーティングシステムを最初からインストールし直してください。パッケージ管理ツールを使って Debian への「アップグレード」を試みるべきではありません。そうした場合システムが使えなくなるかもしれないためです。
必要なユーザデータ (つまり /home
) が別個のパーティションにある場合 Debian
への移行は実際にかなり単純で、インストールし直すときにインストールシステムにそのパーティションをマウントさせる (フォーマットし直すのとは違います)
だけです。念のため、必要なデータと同様に前のシステムの設定 (つまり /etc/
や
/var/
) のバックアップを作成しておくと良いでしょう。