NILFS2 のパッケージは公式の Debian APTリポジトリ上で利用することができます (lenny以降)。
以下では、NILFS2 のカーネルモジュールとユーザランドツールの公式もしくは非公式のパッケージを APT を使って Debian/GNU Linux 環境に導入する方法を説明します。
利用可能な Debian リリース
- sid
- lenny
- etch (このサイトで提供される非公式版)
カーネルモジュールは互換性のあるカーネルにしか導入できません。 カーネルの互換性はアーキテクチャ以外にカーネルのバージョン番号 (linux-image-2.6.18-1-686 の 2.6.18 の部分) およびABI番号 (linux-image-2.6.18-1-686 の SONAME である 1 の部分) によっても区別されます。 これら番号が一致するモジュールパッケージがあった場合のみ導入が可能です。 NILFS2 の公式の Debian カーネルモジュールは、 2.6.25 以降のカーネルに対してのみ提供されています。
本サイトのAPTリポジトリを使うための設定
lenny もしくは sid を利用している場合にはこのセクションは読み飛ばして下さい。 非公式パッケージのインストールおよびアップデートを行えるようにするには、 あらかじめ以下の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/debian etch main deb-src http://www.nilfs.org/pub/debian etch main
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-tools パッケージをインストールします。
$ sudo apt-get update $ sudo apt-get install nilfs2-tools
非公式のリポジトリからインストールする場合には、 nilfs2-tools の代わりに nilfs2-utils を指定して下さい。
例は apt ツールを使っていますが、 aptitude や GUI ベースのパッケージマネージャも代用できます。
カーネルモジュールのインストール
nilfs2-modules パッケージをインストールします。 カーネルのバージョンにあったモジュールをインストールします。
$ sudo apt-get install nilfs2-modules Reading package lists... Building dependency tree... Package nilfs2-modules is a virtual package provided by: nilfs2-modules-2.6.25-2-vserver-amd64 2.6.25+2.0.2-5 nilfs2-modules-2.6.25-2-amd64 2.6.25+2.0.2-5 You should explicitly select one to install. E: Package nilfs2-modules has no installation candidate $ uname -r 2.6.25-2-amd64 $ sudo apt-get install nilfs2-modules-2.6.25-2-amd64
カーネルバージョンとABIの変更に自動的に追従させたい場合は、以下のように nilfs2-modules-2.6-<アーキテクチャ名> のパッケージを指定します。
$ sudo apt-get install nilfs2-modules-2.6-amd64 Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: nilfs2-modules-2.6.25-2-amd64 The following NEW packages will be installed: nilfs2-modules-2.6-amd64 nilfs2-modules-2.6.25-2-amd64 0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. Need to get 0B/87.3kB of archives. After this operation, 348kB of additional disk space will be used. Do you want to continue [Y/n]? y ... Setting up nilfs2-modules-2.6.25-2-amd64 (2.6.25+2.0.2-5) ... Setting up nilfs2-modules-2.6-amd64 (2:2.6.25-5) ...
インストール対象のカーネル上で、 ソースから直接コンパイルした NILFS2 を使用していた場合には、 一旦アンインストールした上で上記パッケージをインストールして下さい。 ソースパッケージのモジュールは make uninstall でアンインストールできます。
$ cd (nilfs2ソースパッケージの展開場所)/nilfs-2.0.2 $ sudo make uninstall
現在どの NILFS モジュールが有効になっているかは modinfo コマンドで 確認できます。debパッケージからインストールした NILFS モジュールが 有効になっている場合、filename: の項目が以下のように extra/nilfs2 配下になっています。
$ modinfo nilfs2 filename: /lib/modules/2.6.25-2-amd64/extra/nilfs2/nilfs2.ko license: GPL version: 2.0.2 description: A New Implementation of the Log-structured Filesystem (NILFS) author: NTT Corp. srcversion: 9255940F4C7325AD5BFD9F7 depends: vermagic: 2.6.25-2-amd64 SMP mod_unload
NILFSパッケージの更新
通常の手順でアップデートできます。
$ sudo apt-get update $ sudo apt-get dist-upgrade
使用中のカーネルモジュールを更新する際には、 更新後に reboot するか、もしくは更新前に使用中の NILFS2 パーティションを 一旦アンマウントするようにして下さい。
