玩式草子─ソフトウェアとたわむれる日々

第75回急に出ましたPlamo-6.0

前回の最後に少し触れたように、メンテナの松木さんの旗振りで、10/24-25に東京、日野市の明星大学で開催されたオープンソースカンファレンス(OSC)2015 Tokyo/Fallに、⁠Plamo Linux メンテナグループ」名義で出展しました。

筆者自身は都合が付かずに参加できなかったものの、メンテナの松木さんと田向さんが両日とも参加され、ブースはそれなりに盛況だったそうです。次回は番外編として、首謀者(笑)の松木さんにOSCのレポートをお願いしていますのでご期待ください。

OSCに参加しよう、という話になったのが8月下旬、当初から「ブースでインストール用メディアを配布しよう⁠⁠、という話はあったものの、⁠どうせなら新しいバージョンを配布したいよね」⁠それならバージョン6.0を出そう⁠⁠、という話になったのが9月20日ごろ。そこから急遽Plamo-6.0のリリースに向けた作業が始まりました。

Plamo-6.0の特徴

Plamo-6.0はOSCに合わせてリリースすることになったバージョンで、⁠それほど大きな変更があったわけではないから、バージョン番号は5.3.2くらいが妥当では?」という意見もあったものの、⁠せっかくイベントで配布するんだから、キリがいい番号にしよう」ということで6.0に決まりました(苦笑⁠⁠。

そのため、システムの基本構成は今年の1月末にリリースしたPlamo-5.3.1を踏襲しているものの、その後8ヵ月ほどの更新を反映して、バージョンが上がったパッケージや追加した機能も多数あります。以下ではそれらのうちの主要なものを紹介します。

linux-4.2.3 カーネル

メンテナの田向さんのおかげで、メジャーバージョンの上がったlinux-4.x(4.2.3)カーネルを採用できました。もっとも、4.2.3カーネルがPlamo-6.0で突然現われたわけではなく、Change.Logを見ると「3.18.21」⁠3.19.8」⁠4.0.9」⁠4.1.7」⁠4.2.1」⁠4.2.2」とバージョンアップを重ねて「4.2.3」に辿りつかれたようで、日々の努力に頭が下がる思いです。

加えて、コンソールに日本語を表示するuniconパッチ、ファイルシステムを透過的にマウントするaufsパッチなども引き続き採用しているので、uname等で確認しないとカーネルのメジャーバージョンが上がっていることに気づかないくらいの使い勝手になっています。

とは言ってもいくつか気になる変化もあり、たとえばfdisk -lで接続されているHDDのリストを見ようとすると、従来は表示されなかったramdiskが/dev/ram0から/dev/ram15まで表示されるようになって、接続したUSBメモリを確認したりするのが少し面倒になりました。

# fdisk -l
ディスク /dev/ram0: 4 MiB, 4194304 バイト, 8192 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト

ディスク /dev/ram1: 4 MiB, 4194304 バイト, 8192 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
...
ディスク /dev/ram15: 4 MiB, 4194304 バイト, 8192 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト

ディスク /dev/sda: 2.7 TiB, 3000592982016 バイト, 5860533168 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: FEF666B4-0E0A-463D-92F6-0931B306861A
...  
ディスク /dev/sdb: 3.8 GiB, 4042260480 バイト, 7895040 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x6b8b4567

たぶん、カーネル4.0になったあたりで行われた変更と思いますが、その理由や影響等はよくわかりません。普段使いにはそれほど影響ないとは思うものの、grubconfigやliloconfigでブートローダのインストール先を選ぶ際などには注意が必要です。

Mate-1.10

植竹さんにメンテをお願いしているMateデスクトップ環境を1.10シリーズに更新しました。このバージョンからヘルプ画面も表示されるようになりました。

図1 Mate-1.10の画面
図1 Mate-1.10の画面

Mateデスクトップ環境は、元々はGNOME2の後継としてGTK+2に依存していたものの、最近はGTK+3への移行も進み、GNOME3とは異なった方向へ進化を続けているようです。

Xfce-4.12

コンパクトなデスクトップ環境Xfceも4.12に更新しました。

図2 Xfce-4.12の画面
図2 Xfce-4.12の画面

2015年2月にリリースされたXfce-4.12は、2012年4月のXfce-4.10以来、約3年ぶりのリリースになったものの、バージョン番号が示す通り漸進的な更新で、見た目やUIに関わるような大きな変更は行われなかった模様です。しかしながら、XfceのサイトにあるXfce-4.12ツアーを見ると、さまざまな改良点が紹介されていて、こういう積み重ねが重要なのだと改めて認識しました。

なお、Plamo-6.0のDVDイメージでは、xfceのテーマやアイコンパッケージに収録漏れがあって、それらが白紙のアイコンで表示される問題が指摘されています。これらのパッケージはFTPツリー上では追加されているので、get_pkginfo等で必要なパッケージをインストールしてください。

MesaLib-10.6.7 + xorg-server-1.17.2

xorg-server-1.17も2度ほどメンテナンスリリースを重ねて落ちついてきたようなので、Plamo-6.0ではMesaLib-10.6.7と合わせてxorg-server-1.17.2を採用することにしました。

X Window Systemの場合、Xプロトコルのバージョンが変らない限り、サーバとクライアントは独立に更新できるものの、Xorgサーバを更新するには各種ライブラリと共にマウスやキーボード、ビデオカードを操作するモジュール化されたドライバ類などを合わせて更新しなければならないので、更新が必要なパッケージはかなりの数にのぼります。加えて、最近のXorgサーバは3D処理にOpenGLを使うので、OpenGLをOSSとして実装したMesaLibと連携する必要がありますし、MesaLibはカーネルのDRM(Direct Rendering Manager)機能を用いてそれぞれのビデオカードを操作するので、カーネルのDRM機能やそれを利用するためのlibdrmパッケージにも目配りが必要です。

そのようにあれこれ気を遣いながら更新しても、Xクライアント経由でユーザに表示される画面は何も変わらない、というのはなかなか辛いところです(苦笑⁠⁠。

firefox-41.0.2/thunderbird-38.3.0

リリースサイクルが高速化されたfirefoxを追いかけるのは大変ですが、メンテナの加藤さんが頑張ってくれています。

図3 Firefox Nightyly 41.0.2
図3 Firefox Nightyly 41.0.2

加藤さんにはセキュリティ回りの更新もお世話になっています。

LibreOffice-5.0.2

LibreOfficeも最新の安定版5.0.2に更新しました。起動画面や初期メニューが更新されて、ずいぶんcoolな印象になりました。

図4 LibreOffice-5.0.2
図4 LibreOffice-5.0.2

Plamo LinuxのLibreOfficeパッケージは、LibreOfficeプロジェクトが配布している公式なRPMパッケージをtxz形式に変換しただけで使っています。特定のディストリビューションを前提とせず、さまざまな環境で利用できるように考慮してパッケージ化してくれているLibreOfficeプロジェクトに感謝します。

UEFI/GPT対応

カーネルやfdisk/cfdiskは以前からGPT(GUID Partition Table)に対応していて、3TBのHDDをGPT形式でフォーマットしてデータ用に使うことはできたものの、UEFI(Unified Extensible Firmware Interface)機能には対応していなかったので、GPT形式のHDDを起動ディスクにはできませんでした。

今回、インストーラもGPT形式に対応し、grubにUEFI対応機能を持たせたので、GPT形式のHDDからも起動できるようになりました。この作業にはメンテナの名倉さんの試行が参考になりました。

もっとも、インストーラの対応が不十分なので、GPT HDDからの起動には多少の手作業が必要になります。そのあたりの情報はDVDイメージに収めているREADME_GPT.pdfという文書にまとめているのでご参照ください。UEFI/GPTに関しては、この連載でも改めて紹介しようと思っています。

Plamo-6.0のインストール

しばらく前からPlamo LinuxのDVDイメージはisohybrid化してUSBメモリでも使えるようにしています。加えて、Plamo-6.0ではsyslinuxを更新してUEFI BIOSからも起動できるようにしました。その結果、メディアがDVDかUSBメモリ、起動方法がMBRかUEFI、という4通りの組み合わせが可能になりました。それぞれ起動方法や準備が多少異なるので、以下ではそれらを簡単に紹介します。

DVDメディアからMBR BIOSで起動

従来通りの一番簡単な方法です。入手したDVDイメージ(plamo-6.0_{x86,x86_64}_dvd.iso)をDVDメディアに書き出し、DVDドライブからシステムを起動します。MBR BIOSから起動した場合、青空を背景にしたTuxくんの起動画面(isolinuxの起動画面)が表示されます。

図5 MBRモードで起動
図5 MBRモードで起動

USBメモリからMBR BIOSで起動

DVDイメージをベタ書きしたUSBメモリから起動します。最近はDVDドライブが無い環境も増えていて、そのような場合に便利な方法です。

4GB以上のUSBメモリを用意して、catあるいはddコマンドでDVDイメージをUSBメモリに書き込みます。たとえば、USBメモリが/dev/sddとして認識されている場合、root権限で以下のようなコマンドを実行します。書き込み先にはUSBメモリ上のパーティション(/dev/sdd1)ではなく、USBメモリ全体(/dev/sdd)を指定します。間違えて既存のHDD等に書き込むとそのHDDのデータは全滅するので、書き込み先の選択には十分注意してください。

# dd if=plamo-6.0_x86_64_dvd.iso of=/dev/sdd bs=100M

こうして作ったインストール用USBメモリはBIOSからUSB HDDと認識され、そこから起動するとDVDメディアから起動した場合と同様、Tuxくんの起動画面が表示されます。この方法でインストールする場合、⁠インストール元の選択」時には「HDDパーティション」を指定する必要があります。

なお、この方法に使ったUSBメモリはOSからは「書き込み不可なメディア」と認識されるものの、fdisk/cfdiskを使って既存のパーティションを削除し、新たにパーティションを切り直してフォーマットすれば、元通りのUSBメモリとして再利用できるのでご心配なく。

DVDメディアからUEFI BIOSで起動

今回のDVDイメージはUEFI BIOSにも対応しているので、UEFI対応のマザーボードからはUEFIモードで起動できます。

図6 UEFI BIOSのメニュー画面
図6 UEFI BIOSのメニュー画面

UEFI BIOSの実装はメーカごとに異なり、MBR/UEFI両対応だったりしてわかりづらいですが、手元のASUS製マザーボード(B85M-E)の場合、上図のようにUEFI bootableなメディアには先頭にUEFI:が付き、そこから起動すればUEFIモードになります。UEFIモードで起動した場合、grubのシンプルなブートメニューが表示されます。

図7 UEFIモードで起動
図7 UEFIモードで起動

インストール作業自体はMBRモードで起動した場合と同じものの、GPT HDDから起動するためにはREADME_GPT.pdfに記載した作業が必要なのでご注意ください。

USBメモリからUEFI BIOSで起動

UEFI BIOSはUSBメモリからの起動にも対応しています。この方法で起動する場合、USBメモリにはDVDイメージの内容をコピーします。たとえば、DVDイメージをループバック方式でマウントし、/dev/sddとして認識されているUSBメモリに書き込む手順は以下のようになります。前述のベタ書きとは異なり、パーティションをマウントして、ファイルやディレクトリをcpしていることに注意してください。

# mkdir /tmp/{loop,mnt}
# mount plamo-6.0_x86_64_dvd.iso /tmp/loop -o loop
# mount /dev/sdd1 /tmp/mnt
# cd /tmp/loop ; cp -a EFI isolinux plamo /tmp/mnt

UEFI bootableと認識されたUSBメモリは先頭に"UEFI:"が付いたデバイスとして表示され、そこから起動するとシンプルなUEFIモードの起動画面(grubメニュー画面)になります。

たいていの場合、このメニューの"Plamo Linux install from USB memory"を選べば起動します。しかし、どのデバイスがどの順番に認識されるかは環境依存のようで、よくある組み合わせは用意しておいたものの、これらからは起動できない場合があるかも知れません。

起動可能な選択肢が無い場合、"c" コマンドでgrubシェルモードに入り、"ls"コマンドでgrubが認識しているデバイスのリストを調べれば、正しいブートデバイスが見つかるでしょう。

図8 grubシェルからカーネルを指定して起動
図8 grubシェルからカーネルを指定して起動

上図ではブートデバイスとして(hd0)を指定しているものの、環境によってはブートデバイスが(cd0)や(hd0,gpt1)等になることがあります。


上述のように、Plamo-6.0は1ヵ月弱でまとめたバージョンのため、多少ツメが甘い部分があることも事実です。しかしながら、linux-4.2.3やGPT/UEFI対応等、結構重要な変更も盛り込めたように思っています。これらの機能を洗練させたPlamo-6.1は、年末か年明けぐらいにリリースする予定なのでご期待ください。

おすすめ記事

記事・ニュース一覧