このページでは、NILFS のカーネルモジュールと ユーザランドツール(ユーティリティ・管理ツール)のパッケージを Ubuntu 環境でAPT を使用して導入する方法について説明します。
NILFSのパッケージの一部は公式のAPTリポジトリ上で利用することができます (IntrepidIbex で利用可能)。
以下では、NILFSを本サイト上に用意されたAPTリポジトリから導入する方法 以下の説明では、例として apt ツールを使っていますが、 aptitude や GUI ベースのパッケージマネージャももちろん使用できます。
対応 Ubuntu リリース
以下のリリースのみに対応します。
- gutsy
- hardy
ユーザランドツールは、これら以外のリリースでも動作は可能です。 カーネルモジュールは互換性のあるカーネルにしか導入できません。
カーネルの互換性はアーキテクチャ以外にカーネルのバージョン番号 (linux-image-2.6.22-14-generic の 2.6.22 の部分) およびABI番号 (linux-image-2.6.22-14-generic の SONAME である 14 の部分) によっても区別されます。 これら番号が一致するモジュールパッケージがあった場合のみ導入が可能です。 例えば古いカーネルを使用している場合には導入できないかもしれません。
本サイトでは新しいカーネル向けにパッケージを提供していきます。 いずれにせよ古いカーネルを使い続けることはセキュリティ上の理由により 好ましくありませんので新しいカーネルの使用をお勧めします。
backports パッケージ(gutsy-backports など)のカーネルには対応していません。
本サイトのAPTリポジトリを使うための設定
本サイトのAPTリポジトリからパッケージのインストールおよびアップデートを 行えるようにするには、あらかじめ以下の2つの設定を行う必要があります。
- /etc/apt/sources.list への apt line の追加
- NILFSアーカイブ(APTリポジトリ)の gpg 公開鍵の入手とインストール
APT リポジトリの URL は以下の通りです。
また、component には main を指定します。 従って、/etc/apt/sources.list に追加する apt line は以下のようになるでしょう。
deb http://www.nilfs.org/pub/ubuntu hardy main deb-src http://www.nilfs.org/pub/ubuntu hardy main
リリースが gutsy の場合には、hardy の部分が gutsy になります。
NILFSアーカイブの gpg 公開鍵の入手とインストールは以下のようにして行います。
$ gpg --keyserver hkp://subkeys.pgp.net --recv-keys 38CC8C3FEDB80C09 ... $ gpg --export -a 38CC8C3FEDB80C09 | sudo apt-key add - OK $ sudo apt-key list ... pub 1024D/EDB80C09 2008-03-21 [expires: 2011-03-21] uid NILFS Archive Automatic Signing Keysub 1024g/C02671F0 2008-03-21 [expires: 2011-03-21]
gpg 公開鍵をインストールしなくても APT の利用は可能ですが、 更新操作(apt-get update)などでワーニングが出力されます。
なお GnuPG の詳細については, http://gnupg.org/ などのサイトを御参照下さい。
ユーザランドツールのインストール
nilfs2-utils パッケージをインストールします。
$ sudo apt-get update $ sudo apt-get install nilfs2-utils
公式のリポジトリからインストールする場合には、 nilfs2-utils の代わりに nilfs2-tools を指定して下さい。
カーネルモジュールのインストール
nilfs2-modules パッケージをインストールします。 カーネルのバージョンにあったモジュールをインストールします。
$ sudo apt-get install nilfs2-modules パッケージリストを読み込んでいます... 依存関係ツリーを作成しています... 状態情報を読み取っています... nilfs2-modules は以下のパッケージで提供されている仮想パッケージです: nilfs2-modules-2.6.24-14-xen 2.6.24-14.1 nilfs2-modules-2.6.24-14-server 2.6.24-14.1 nilfs2-modules-2.6.24-14-openvz 2.6.24-14.1 nilfs2-modules-2.6.24-14-generic 2.6.24-14.1 nilfs2-modules-2.6.24-14-386 2.6.24-14.1 nilfs2-modules-2.6.24-13-xen 2.6.24-13.1 nilfs2-modules-2.6.24-13-server 2.6.24-13.1 nilfs2-modules-2.6.24-13-generic 2.6.24-13.1 nilfs2-modules-2.6.24-13-386 2.6.24-13.1 nilfs2-modules-2.6.24-12-xen 2.6.24-12.3 nilfs2-modules-2.6.24-12-server 2.6.24-12.3 nilfs2-modules-2.6.24-12-generic 2.6.24-12.3 nilfs2-modules-2.6.24-12-386 2.6.24-12.3 インストールするパッケージを明示的に選択する必要があります。 E: パッケージ nilfs2-modules にはインストール候補がありません $ uname -r 2.6.24-14-generic $ sudo apt-get install nilfs2-modules-2.6.24-14-generic ...
また、メタパッケージを使って カーネルバージョンとABIの変更に自動的に追従させることができます。 この場合、以下のように nilfs2-modules-<フレーバ名> でパッケージ名を指定します。
$ sudo apt-get install nilfs2-modules-generic パッケージリストを読み込んでいます... 依存関係ツリーを作成しています... 状態情報を読み取っています... 以下の特別パッケージがインストールされます: nilfs2-modules-2.6.24-14-generic 以下のパッケージが新たにインストールされます: nilfs2-modules-2.6.24-14-generic nilfs2-modules-generic アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 55 個。 88.0kB 中 0B のアーカイブを取得する必要があります。 この操作後に追加で 303kB のディスク容量が消費されます。 続行しますか [Y/n]? y ...
インストール対象のカーネル上で、 ソースから直接コンパイルした NILFS を使用していた場合には、 一旦アンインストールした上で上記パッケージをインストールして下さい。 ソースパッケージのモジュールは make uninstall でアンインストールできます。
$ cd (nilfs2ソースパッケージの展開場所)/nilfs-2.0.2 $ sudo make uninstall
現在どの NILFS モジュールが有効になっているかは modinfo コマンドで 確認できます。debパッケージからインストールした NILFS モジュールが 有効になっている場合、filename: の項目が以下のように ubuntu/fs/nilfs2 配下になっています。
$ modinfo nilfs2 filename: /lib/modules/2.6.24-14-generic/ubuntu/fs/nilfs2/nilfs2.ko license: GPL version: 2.0.2 description: A New Implementation of the Log-structured Filesystem (NILFS) author: NTT Corp. srcversion: C99C753763F9B0F7E9EDCC2 depends: vermagic: 2.6.24-14-generic SMP mod_unload 586
NILFSパッケージの更新
通常の手順でアップデートできます。
$ sudo apt-get update $ sudo apt-get dist-upgrade
使用中のNILFSモジュールを更新する際には、 更新後に reboot するか、もしくは更新前に使用中の NILFS パーティションを 一旦アンマウントするようにして下さい。
