今回はUbuntuの母である「Debian」の新しいリリース「Debian 9 "Stretch"」について紹介します。
DebianとUbuntuのただならない関係
Debian Projectはフリーソフトウェアで構成されたオペレーティングシステムを作るための個人の集団であり、OSとしてのDebianはその成果物です。1993年8月のプロジェクト発足から20年以上の長きにわたって品質の高いOSをリリースし続けている、Linuxディストリビューション界の重鎮です[1]。Debianから派生したディストリビューションも多く、たとえば1999年にはDebian派生ディストリビューションとしてはもっとも初期の部類になるCorel LinuxやLibranetがリリースされています[2]。この2つはどちらも「かんたんにLinuxデスクトップをインストールできる」ことに主眼を置いた商用ディストリビューションであることも興味深いですね。
本連載のメインテーマであるUbuntuもまた「かんたんにLinuxデスクトップをインストールできる」ことを目標のひとつに据えた、Deiban派生のLinuxディストリビューションです。Debianの開発者でもあったMark Shuttleworthが、市販のPCにインストールされるOSの「もうひとつの選択肢」として、よりユーザーにとって使いやすく、インストールの手間が少なく、最新のソフトウェアを揃えたディストリビューションを作るためにたちあげたOSです。Ubuntuは単にDebianから分離したわけではなく、Debianと成果を交換できるような開発フローを構築しています。Linuxディストリビューションのキモとも言うべきパッケージングシステムはDebianと同じdpkg/APTを採用し、Ubuntuによる変更点は原則としてDebianのソースパッケージに対するパッチとしてアーカイブしています[3]。Ubuntu側は半年のリリースのたびに、Debianの最新のパッケージリポジトリーをもとにリベースし、Ubuntu独自のパッチを適用しなおし、バイナリパッケージを再構築しています。このためDebianの開発版との差分が小さくなり、Debianの開発者が容易にUbuntu独自のパッチを取り込めるようになっています[4]。
Debianは「選択の自由」も重要視しています。同じような機能を提供する異なるフリーソフトウェアについて、「どちらかを採用する」のではなく「どちらか好きなほうを選択できるようにする」わけです。ただし重要なコンポーネントについては「何も選択しなかったとき」のために「標準の状態」ことを考えておく必要があります。UbuntuもまたDebianの成果物を流用している以上、「選択できる」状況にはなっています。ただし対象ユーザー層とリリースの頻度を勘案して、Ubuntuはより広範囲のコンポーネントについて「標準の状態」を決め打ちし、その「標準の状態」を前提としてインストーラーや設定ツールを作りこんでいます。この違いが多くの人にとってUbuntuが「かんたん」と感じる理由のひとつであり、人によってはUbuntuが「使いにくい」と感じる原因でもあります。
言い換えると、いろいろとカスタマイズして標準設定から変えたいタイプの人であれば、UbuntuよりもDebianのほうが性に合うかもしれません。もちろん「Deiban系」以外も考慮に入れれば、さらにたくさんの選択肢が存在します。
いかした「タコ」の彼女
そんなDebian Projectが2017年6月に2年ごしの新しいリリース「Debian 9 "Stretch"」をリリースしました。
- 今回のリリースでは10種類のコンピューターアーキテクチャーを正式サポート:AMD64/Intel 64のamd64、IA-32のi386、ARM向けとして32bit EABI ARMのarmel、Hard
Float ABIなarmhf、AArch64のarm64、IBM z Systemsなどがターゲットのs390x、64bit版PowerPCのppc64el(32bit版のpowerpcはサポート対象から削除)、MIPS向けとして32bitビッグエンディアンのmips、リトルエンディアンのmipsel、今回新規に追加された64bit向けmips64el
- Debian 9へのアップグレードによってMySQLのパッケージがMariaDBに置き換わります。MySQL 5.5もしくは5.6を使っていた場合、自動的にMariaDB 10.1に変わります。またDebian 9でmysql-serverパッケージをインストールしたら、MariaDBがインストールされることになります。一応sid(unstable)ではMySQLパッケージ(MySQL 5.7)はメンテナンスされ続けます。ちなみにUbuntuの場合は、事情が異なります。
- Firefoxの商標とロゴに関する「問題」が解消し、Iceweasel(とIcedove)の名前やロゴはFirefox(とThunderbird)へと戻ります。といっても一部のリソースファイルが置き換わるだけなので、ただブラウザーとして使っているだけのユーザーには影響しないでしょう。商標関連の詳細はLWN.netやDebianのチケットがわかりやすいです。ちなみにDebianのFirefoxパッケージはFirefox ESRを採用しています。
- リリースアナウンスに載っているメジャーなデスクトップ環境だとGNOME 3.22、KDE Frameworks 5.28/Plasma 5.8/Applications 16.08(PIMのみ16.04)、MATE 1.16、Xfce 4.12などを用意しています。昨年末のTransition Freezeから今年初めのFull Freezeあたりの最新版がだいたい出揃っている感じです。
- これまでgnupg2パッケージとして提供していたGnuPGの「modern(2.1)」ブランチが、gnupgパッケージ(
/usr/bin/gpg
)として提供されるようになりました。新しいGnuPGでは、楕円曲線暗号などの新しい方式に加えて、古くて弱くなった機能の削除など多くの変更が行われています。どうしても古い「classic(1.4)」ブランチが必要な場合はgnupg1パッケージを使ってください。ちなみにUbuntuは以前より「stable(2.0)」に移行済みで、16.10の時点で「modern(2.1)」に移行しました。modernとclassicの違いについてはメンテナーの解説が参考になるでしょう。
- Xorgサーバーをrootではなく一般ユーザーで起動できるようになりました。ただし特定の条件下ではroot権限が必要になります。
- 32bit UEFI環境から64bitカーネルを使ってインストールできるようになりました。さらにLiveイメージでもUEFIブートが可能になっています[5]。
- ネットワークインターフェース名がファームウェアやBIOSなどのハードウェアの情報をもとに命名されるようになりました。
DebianはUbuntuとは違って、毎回きちんと目立った注意点を網羅しているリリースノートをサポートアーキテクチャーごとに用意しています。日本語にも翻訳されていますし、上記以外にも使用にあたっての注意事項が記載されていますので、アップグレードの際はもちろんのこと新規インストール時にも一通り読んでおくと良いでしょう。
UbuntuのLTSと同じ周期でリリースされるDebian
Debian 9は前回のDebian 8からおよそ2年ぶりのリリースとなります。リリースの履歴を見ると、これまでもだいたい2年ごとのリリースを維持してきたことがわかります。
9.0/Stretch |
2017/06/17 |
8.0/Jessie |
2015/04/25 |
7.0/Wheezy |
2013/05/04 |
6.0/Squeeze |
2011/02/06 |
5.0/Lenny |
2009/02/14 |
4.0/Etch |
2007/04/08 |
3.1/Sarge |
2005/06/06 |
3.0/Woody |
2002/07/19 |
2.2/Potato |
2000/08/15 |
2.1/Slink |
1999/03/09 |
2.0/Hamm |
1998/07/24 |
1.3/Bo |
1997/07/02 |
1.2/Rex |
1996/12/12 |
1.1/Buzz |
1996/06/17 |
0.93R6 |
1995/10/26 |
0.93R5 |
1995/03 |
0.91 |
1994/01 |
不幸な事故によりDebian Projectがリリースした「Debian 1.0」は存在しません。特筆すべきは3.0と3.1の期間が3年近くあいていることでしょう。これはサポートするアーキテクチャーが数倍に増え、パッケージ数も2.2から倍・倍と増えてきた結果、リリースマネージメントが大変になっていたからだと言われています。3.1の前も3.0のときもFreezeが開始してから1年以上経ってもリリースされない状態でした。ちなみにUbuntuは2004年の10月が最初のリリースなので、3.0と3.1の間隙を縫って登場しています。
Ubuntuはタイムベースのリリースを行っています。つまり開発開始の時点で半年後のリリース日を決定し、多少不具合があってもそのリリース日のほうを優先させます。そのため新機能や影響の大きいシステムの移行は、開発開始当初から(公開・非公開のどちらでも)フルスロットルで対応するものの、間に合いそうになければ早めに諦める傾向があります。諦めても次の半年後には間に合えばいいという意識も働くようです。リリース直前にクリティカルな不具合が見つかったら泣きながら対応します。「この日にリリースするとは言ったが、タイムゾーンがグリニッジ標準時だとは言っていない。リリース日の前後24時間ずつの幅をとるのは、Ubuntu時間の常識だ」の精神です。
それに対してDebianは品質優先のリリースマネージメントを行っています。報告されている不具合をトリアージして、リリースに影響しそうな不具合を抽出し、それらがすべて「解決」しない限りはリリースしません。よって実際のリリース日は、直前になるまで誰にもわかりません。ただ、それだといつまで経ってもリリースされなくなってしまいかねないので、リポジトリのフリーズ時期をあらかじめ決めて、そこからは不具合修正に注力する方針のようです。
いずれにせよUbuntuもDeibanも方針の違いであり、どちらが良いというものではありません。Debianも品質優先ではあるものの、ほぼ2年ごとのリリースになっていることから、アップグレードのプランをスケジュールしにくいこともないでしょう。今後Debianを使い続ける場合は、このリリース周期に加えてフリーズの開始時期を把握しておくことで、フリーズ期間にテスト・不具合報告・修正を行い、ひいてはリリース後のスムーズなアップグレードを行えるはずです。
Debian 9をインストールする
Debianのインストールは、Ubuntuと同じくらい簡単です。「画面の指示に従え。迷ったらOK・次へを押しておけ」の言葉で終わるくらい簡単です。ただ、リリースノートからたどり着けるインストールイメージの取得方法そのものにいくつもの選択肢が用意されているため、初心者は最初の部分で戸惑うかもしれません[6]。
はじめてDebianをインストールする人であれば、次の2択になります。
- インストールイメージをダウンロードしてインストールする
- Debian Liveイメージをダウンロードしてインストールする
1.は昔からある方法です。Ubuntuと同じようにダウンロードしたイメージをUSBやCD-Rなどメディアに記録し、そのメディアで起動するだけでインストーラーが立ち上がります。立ち上がったインストーラーから「グラフィカルインストール」を選択すれば、あとはUbuntuのインストーラーとほぼ同じ手順となります。日本のユーザーならネットワーク経由でパッケージをインストールしたほうが速いので、2枚目以降のイメージのダウンロードは不要です。
2.ではUbuntuと同じような、インストールせずとも試せるライブイメージを作成できます[7]。起動時にインストーラーとして動かすかどうかも選択できるため、こちらをダウンロードするのもアリでしょう。Liveイメージがサポートするデスクトップ環境ごとにファイルがわかれているので、好みのデスクトップ環境を選択してください。ただし1.と異なり、日本語環境の設定をインストール後に手作業で行う必要があります。ライブシステムが不要なら、1.の方法を採用することをおすすめします。
詳細な手順はインストールガイドも参考になるでしょう。
Debian Liveを使用する
まずはDebian Liveイメージを使ってLive環境を立ち上げてみましょう。
イメージを用いて起動したら、最初のGRUBの画面でLive環境を立ち上げるかインストーラーを起動するかの選択肢が表示されます。さらにLive環境の場合は言語の設定も行います。たったこれだけです。
ちなみに最初の段階で「Graphical Debian Installer」を選択すると、GUIベースのインストーラーが立ち上がります。
GNOME版のLiveイメージの場合、IBusが最初から入っている都合上、im-configの自動設定だとuimは起動しません。しかしながらibus-mozcやibus-anthyはインストールされていないため、そのままでは日本語入力ができない状態になります。アカウントパスワードは「live」です。
通常のインストーラーを使用する
通常のインストーラーを使ったインストール手順を見ていきます。
ちなみにDebian Liveで「Graphical Debian Installer」を選択した場合も、ほぼ同じ手順となります。
グラフィカルでない「Insall」を選択した場合は、テキストベースのインストーラーが起動します。ネットワーク経由のマシンにインストールしたい場合はそちらを選択しましょう。
このあたりでDHCPなどを利用したネットワークの設定が行われます。必要に応じて手動設定を行ってください。
rootパスワードは空に設定しておくと、Ubuntuと同じようにrootアカウントがロックされてsudo
コマンドを使う環境になります。「空にすべきではありません」と書かれていますが、「空にするという選択肢はある」ことはおぼえておくと良いでしょう。
迷ったら「ガイド - ディスク全体を使う」を選んでおきましょう。Ubuntuも同じ話ではありますが、Linuxに慣れないうちはデュアルブートなどは避けたほうが無難です。
ここからしばらく時間がかかります。
今回はグラフィカルインストールなので「Debianデスクトップ環境」に最初からチェックが入っています。デスクトップ環境を構築する場合は、さらにリストの中からひとつ以上のデスクトップ環境を選択してください。ちなみにDebian Liveの場合は、この選択画面は現れません。
一度起動してしまえば、あとは個々のデスクトップ環境と同じです。たとえばGNOMEを使っているのであれば、GNOME 3.24ベースではあるもののGNOME Shellの基本情報を紹介している第467回も参考になるはずです。ちなみに日本語入力はuimとMozcが標準設定です。キーボードインジケーターは表示されませんが、「半角/全角」(英語配列なら「Shift + Space」)で日本語入力のオンオフができます。
普段から特定のディストリビューションばかり使っていると、「その実装が一番うまいやり方だ」と錯覚してしまうことがあります。そういうタイプの人は、他のディストリビューションを使うことで新たな知見を得られる可能性が高いので、「何かがリリースされたニュース」を奇貨と考えて手を出してみてはいかがでしょうか。