皆さま、はじめまして。かわだてつたろうと申します。
普段はDebian JP Project/関西Debian勉強会でおもに関西方面で活動しております。先日リリースされたDebian 7.0「Wheezy」の紹介記事を書きませんか、とUbuntu Japanese Teamの柴田さんよりお誘いを受けまして執筆させていただくことになりました。よろしくお願いします。
今回はDebian 7.0「Wheezy」の紹介です。
UbuntuとDebian
広く知られているように、UbuntuはDebian GNU/Linuxを元に開発されているLinuxディストリビューションです。このためUbuntuとDebianではOSの基盤や構成が似通っています。KernelはUbuntu独自ですが、多くのソフトウェアはDebianと共通です。とくにuniverseとmultiverseのコンポーネントの大半はDebianのパッケージをリビルドした、ほぼDebianの成果物そのものです。Ubuntuを深く使うためにDebianを知ることは役に立ちます。
Debian 7.0「Wheezy」
Debian 7.0「Wheezy」 [1] は2013年5月4日にリリース されました。
前回、Debian 6.0「Squeeze」がリリースされたのが2011年2月6日になりますので約2年3ヵ月ぶりの最新安定版のリリースとなります。
図1 WheezyのGNOMEデスクトップ環境画面
Linuxカーネルは3.2、FreeBSDカーネルは8.3と9.0、デスクトップ環境はGNOME 3.4、KDE 4.8.4、Xfce 4.8、LXDE 0.5.5が含まれています。その他の主要なソフトウェアは次のとおりです。括弧内はUbuntu 13.04(Raring Ringtail)のバージョンです。
Apache 2.2.22(同じ)
GIMP 2.8.2(2.8.4)
GNU Compiler Collection 4.7.2(4.7.3)
Icedove 10.0.12(Mozilla Thunderbirdの商標のないバージョン)( 20.0)
Iceweasel 10.0.12(Mozilla Firefoxの商標のないバージョン)( 17.0.5)
LibreOffice 3.5.4(4.0.3)
MySQL 5.5.30(5.5.31)
OpenJDK 6b27-1.12.5と7u3-2.1.7(6b27-1.12.4と7u21-2.3.9)
Perl 5.14.2(同じ)
PHP 5.4.4(5.4.9)
PostgreSQL 9.1(同じ)
Python 2.7.3と3.2.3(2.7.4と3.3.1)
Xen Hypervisor 4.1.4(4.2.1)
X.Org 7.7(同じ)
Debianは「古い、保守的」と言われますが、同時期にリリースされたUbuntu 13.04と比較してみるとあまり変わりがないことがわかるでしょう[2] 。カーネルやデスクトップ環境もUbuntuでは12.10(Quantal Quetzal)から12.04(Precise Pangolin)までに収録されているものですし、カーネルについては3.2以降の新機能はバックポートという形で取り入れられているので、一概にバージョンだけで古いと決めつけられなくなっています。
Wheezyでは、1つのマシンに複数のアーキテクチャのバイナリをインストールし実行できるmultiarchのサポート、音声ガイダンスに対応したインストーラやamd64でUEFIをサポートしたインストールプロセスの改善、ffmpegがlibav-toolsに置き換わりサードパーティリポジトリを不要とするコーデックの追加によるマルチメディア対応の強化、GNOME 3への移行などの変更が行われています。サポートするアーキテクチャは新たにs390xとarmhfを追加し計11種類となり、新たに12,800以上のパッケージが追加され全体のパッケージ数は37,000以上となりました。カーネルはLinuxとFreeBSDの2つのフレーバを採用していますが、FreeBSDカーネルを採用したDebian GNU/kFreeBSDはSqueezeに引き続きテクノロジープレビュー[3] のままです。
multiarch サポートはUbuntuが先行して11.10(Oneiric Ocelot)から取り込んでいます。対応カーネル、対応アーキテクチャ数がDebianとUbuntuでは違いますね。
[2] IcedoveとIceweaselは極端にバージョンが古いように思われますが、ESR版(Extended Support Release:延長サポート版)が採用されています。LibreOfficeは後述のwheezy-backportsより4.0.3が利用できます。
Wheezyを使う
Wheezyを使い始める際のちょっとしたTIPSを解説します。
インストール/ライブイメージの取得
Debianのインストールイメージはアーキテクチャごとに用意されており、デスクトップ版、サーバ版といった区別はありません。PC向けであればamd64か少し古めのマシン(たとえばPAE非対応CPUや32ビットCPU搭載マシン)を対象にしたi386のどちらかを選択することになります。
イメージはbittorrent 、jigdo 、HTTP 経由でダウンロードできます。HTTP経由が手軽ですが、Debian のサイト、たとえばトップページ右上の「Debian 7.0のダウンロード」からダウンロードすると国外のサーバからのダウンロードとなり時間がかかってしまいます。Debian JP Projectが国内ミラーサイトcdimage.debian.or.jp を運用していますので、こちらからダウンロードします。ダウンロード時間が大幅に短縮できます。
図2 cdimage.debian.or.jp
インストールせずに簡単に試してみたい場合は、ライブイメージ という特別なイメージが使えます。ライブイメージを使えば、既存の環境を壊すことなく、実際にDebianのデスクトップ環境(GNOME、KDE、xfce4、LXDE)を試すことができます。そのまま、インストールに利用することも可能です。cdimage.debian.or.jp でもライブイメージをミラーしています。
ワイヤレスネットワークカードなどファームウェアを必要とするPCでライブイメージを利用される場合は、ファームウェアを含んだstable+nonfree のライブイメージを利用します。さらなる情報はDebian Liveプロジェクト にあります。
ファームウェアのインストール
インストール直後の/etc/apt/sources.listにはmainセクションのみが指定されています。ネットワークおよびグラフィックドライバのファームウェアはフリーソフトウェアでないためmainセクションからはインストールできません。そこでこれらのファームウェアが必要な場合はcontrib、non-freeセクションを/etc/apt/sources.listに追加します。セキュリティ修正を提供するsecurity.debian.orgにも忘れずにcontribとnon-freeを追加します。
deb http://ftp.jp.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.jp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ wheezy-updates main contrib non-free
そして、firmware-linuxやその他 必要なファームウェアをインストールします。
$ sudo apt-get update
$ sudo apt-get install firmware-linux
wheezy-backportsの利用
Zabbix というネットワーク、サーバなどを監視、追跡するソフトウェアがあります。このソフトウェアはSqueezeではパッケージが提供されていたのですが、Wheezyには含まれていません[4] 。ソースからビルドするか、Squeezeのソースパッケージを元にWheezyでビルド仕直す前に、wheezy-backportsを確認してみます。
パッケージディレクトリを検索 のキーワードに「zabbix」と入力、wheezy-backportsを含めるためディストリビューション「すべて」を選択して検索します。
図3 パッケージディレクトリの検索
すると、zabbix-agent、zabbix-frontend-phpなどZabbix関連のパッケージがwheezy-backportsで提供されていることがわかります。
そこで、/etc/apt/sources.listにwheezy-backportsを追加します。
deb http://ftp.debian.org/debian/ wheezy-backports main
deb-src http://ftp.debian.org/debian/ wheezy-backports main
インデックスファイルを更新すると、zabbix-agentがインストールができます。
# wheezy-backports のインデックスを更新
$ sudo apt-get update
# ターゲットオプションで wheezy-backports を指定
$ sudo apt-get -t wheezy-backports install zabbix-agent
同様に新しいバージョンの LibreOffice もインストールできます[5] 。
$ sudo apt-get -t wheezy-backports install libreoffice
このように、Wheezyには含まれていないパッケージや新しいバージョンのパッケージを使いたい場合にwheezy-backportsの利用を検討します。望みのパッケージがwheezy-backportsで提供されていればパッケージ管理システムの中で使えます。ただし、むやみにwheezy-backportsのパッケージを使うのではなく充分に検討してからにするべきでしょう。
[4] Wheezyのフリーズ期間中に発見されたセキュリティ問題への対応がメジャーバージョンアップとなりましたが、フリーズ期間中は新たな機能を追加する変更は受け入れられないため、結果的にZabbix関連のパッケージは取り除かれました。――#687916
[5] 既にインストールされているパッケージをwheezy-backportsのパッケージに更新する場合でもinstallコマンドを使います。ターゲットオプションを指定した状態でupgradeコマンドを使うと、インストールされている全パッケージの最新バージョンをwheezy-backportsから取得することになるので注意が必要です。
multiarchの利用
Squeezeでは64ビット(amd64/ia64)環境で32ビットアプリケーションを利用するためにia32-libsパッケージのランタイムライブラリを利用していました。Wheezyでは、このパッケージは移行用のダミーパッケージとなり、同機能はmultiarchで提供されることになりました。ここではamd64環境でのia32-libsのインストールを例にmultiarchの利用方法を解説します。
amd64環境でそのままia32-libsパッケージをインストールすると次のようなエラーとなります。
$ sudo apt-get install ia32-libs
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:
以下のパッケージには満たせない依存関係があります:
ia32-libs : 依存: ia32-libs-i386 しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。
ia32-libsが依存しているia32-libs-i386パッケージはi386アーキテクチャ向けにしか提供されていないため、amd64環境ではインストールできません。そこでmultiarchの機能を使いアーキテクチャにi386を追加して、ia32-libsをインストールします。
# i386 アーキテクチャを追加
$ sudo dpkg --add-architecture i386
# 忘れずにインデックスを更新
$ sudo apt-get update
# ia32-libs をインストール
$ sudo apt-get install ia32-libs
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
esound-common freeglut3:i386 gcc-4.7-base:i386 ia32-libs-i386:i386
lesstif2:i386 libacl1:i386 libaio1:i386 libasound2:i386 libasyncns0:i386
[...]
アーキテクチャを指定してパッケージをインストールするには、パッケージ名の後に「:」を追加します。削除する場合も同様の形式でアーキテクチャ名を指定します。
$ sudo apt-get install libc6:i386
追加したアーキテクチャの確認と削除はdpkgコマンドからできます。
$ dpkg --print-foreign-architectures
i386
$ sudo dpkg --remove-architecture i386
利用しているミラーサイトが対象のアーキテクチャをミラーしていない場合、アーキテクチャを追加した後のインデックス更新に失敗します。その場合は次のように/etc/apt/sources.listを編集して対象のアーキテクチャのパッケージだけミラー元など他のサイトから取得するようにします。
# amd64 アーキテクチャは JP のミラーから取得し、i386 と armhf のアーキテクチャは本家から取得
deb [arch=amd64] http://ftp.jp.debian.org/debian/ wheezy main contrib non-free
deb [arch=i386,armhf] http://ftp.debian.org/debian/ wheezy main contrib non-free
ドキュメントの入手
Debianを使う助けとなる情報がDebian Documentation Projectによってドキュメント化されています。
Wheezyで変更された情報はリリースノート にまとめられています。とくに「第5章 wheezyで知っておくべき問題点」は現時点で把握されている問題点がまとめられており、一読の価値があります。
インストール手順はインストールガイド にまとめられています。インストール時に、ワイヤレスのネットワークインターフェースカードなど、ファームウェアが必要となるデバイスを使う場合は「6.4. 見つからないファームウェアの読み込み」が参考になります。
インストールした後、パッケージの管理やシステムチューニングなどDebianのチュートリアルがDebianリファレンス にまとめられています。システム管理の多くの局面を扱っているドキュメントですので都度読み返すと大いに役立ちます。Debianリファレンスはパッケージが用意されておりインストールすれば手元でも読めます。
$ sudo apt-get install debian-reference
図4 アクセサリメニューに追加されたDebianリファレンス
他のまとまったドキュメントとしては、日本語ではないのですが、the Debian Administrator's Handbook があります。これは2人のDebian開発者によって書かれたSqueezeを対象としたDebian管理者向けの本です。Wheezyからはパッケージに収録されています。
$ sudo apt-get install debian-handbook
パッケージは容量の都合でHTML版しか用意されていませんが、ソースをダウンロードしてビルドをすればEPUB版とPDF版を作成できます。
# apt-get source するために dpkg-dev をインストール
$ sudo apt-get install dpkg-dev
$ apt-get source debian-handbook
# ビルドに必要なパッケージをインストール
$ sudo apt-get build-dep debian-handbook
$ cd debian-handbook-6.0+20121031
# EPUB 版をビルド
$ ./epub/build.sh
$ ls en-US/*.epub
en-US/debian-handbook.epub
# PDF 版ビルドに追加で必要となるパッケージをインストール
$ sudo apt-get install texlive-xetex texlive-pstricks latex-xcolor fonts-linuxlibertine
# PDF 版をビルド
$ ./dblatex/build.sh
$ ls en-US/*.pdf
en-US/debian-handbook.pdf
Wheezyリリース後
Wheezyがリリースされてから約1ヵ月が経過しています。この間にXクライアントライブラリに数多くのセキュリティアップデートが用意されました。他にも、Linuxカーネル、Iceweasel、Chromiumなどのセキュリティアップデートも用意されています。忘れずにソフトウェアを更新して最新の状態にしましょう。
$ sudo apt-get update
$ sudo apt-get upgrade
これらセキュリティアップデートなどをまとめた1回目のポイントリリースDebian 7.1が2013年6月15日にリリースされる予定となっています[6] 。
Wheezyのリリースと同時に、前回の安定版Debian 6.0「Squeeze」は旧安定版となっています。この後、Squeezeは2014年5月4日までのサポートとなりますので、Squeezeをお使いの方はあと1年の間にWheezyへの移行を計画しましょう。
また、同じくして次のDebian 8.0「Jessie」( 注7 )に向けた開発が始まっています。ツールチェーンにはじまり、さまざまなソフトウェアの新しいバージョンで頻繁にunstable版のパッケージが更新されています。Ubuntu 13.10(Saucy Salamander)のDebian Import Freezeは2013年6月20日予定ですので、Ubuntu 13.10にもこれらunstable版の変更点が多く取り入れられることでしょう。
おわりに
いかがでしたでしょうか。今回はDebian 7.0「Wheezy」について紹介しました。これを機にぜひDebianにも触れてみてください。
「大統一Debian勉強会 2013 」 ご案内