Ubuntu 8.04 に system-config-lvm をインストール

Ubuntu には LVM を管理するための GUI ツールが備わっていません。CentOS で使っていた LVM 管理ツールは(ほんのちょっぴりダサいものの)なかなか便利だったので,あれをそのまま Ubuntu でも使えるようにしよう,というのが今回のお話です。

HOWTO : LVM gui (Not EVMS) に沿って作業を行いました。

変換・インストール

[http://packages.ubuntu.com/hardy/alien:title=alien] なるものを使うと RPMRedHat のパッケージ)形式から debUbuntu でも使われている Debian のパッケージ)形式に変換することができるそうです。なので [http://packages.ubuntu.com/hardy/alien:title=alien] をインストール。

$ sudo apt-get install alien

Fedora 8 用*1の system-config-lvm のバイナリ RPM パッケージを取得します。

$ wget http://ftp.iij.ad.jp/pub/linux/fedora/releases/8/Everything/i386/os/Packages/system-config-lvm-1.1.1-2.0.fc8.noarch.rpm

[http://packages.ubuntu.com/hardy/alien:title=alien] で変換します。root 権限でないとうまく変換できないので(ぐむぅ)sudo をかまして変換します。

$ sudo alien system-config-lvm-1.1.1-2.0.fc8.noarch.rpm

うまく変換できると同じフォルダに deb 形式のパッケージが出来上がっているので dpkg -i コマンドでインストールします。

$ sudo dpkg -i system-config-lvm_1.1.1-3_all.deb

雑多な調整

まず,実体となる /usr/share/system-config-lvm/system-config-lvm.pyPython インタプリタとして /usr/bin/python2 を参照しているので,先頭の

#!/usr/bin/python2

/usr/bin/python に変更します。

次に,RedHat Linux では root 権限で実行するために consolehelper というコマンドを経由して実行するのですが,Ubuntu では consolehelper はないので,ただのシンボリックリンクである /usr/bin/system-config-lvm を削除してシェルスクリプトを作成します。

$ sudo rm /usr/bin/system-config-lvm

$ sudo vi /usr/bin/system-config-lvm

$ sudo chmod 755 /usr/bin/system-config-lvm

作成する内容は以下のような簡単なものです。

#!/bin/sh
exec /usr/share/system-config-lvm/system-config-lvm.py "$@"

最後に,Gnome Menu 経由で実行するとうまく実行されない(ユーザ権限で実行されてしまう)ので,管理者権限を要求すべく gksu 経由で実行されるようにします。具体的には /usr/share/applications/system-config-lvm ファイルの

[Desktop Entry]
...... snip ......
Exec=/usr/bin/system-config-lvm

となっているところ,

Exec=gksu /usr/bin/system-config-lvm

のようにします。


以上により管理者ユーザが実行する際に sudo パスワードが聞かれ system-config-lvm が実行されます。

*1:最初 safety を考慮して CentOS 5.1 用のパッケージをダウンロードしたのですが変換がうまくいきませんでした