「Reiser4」の版間の差分
(en:Reiser4への転送ページ) |
|||
1行目: | 1行目: | ||
+ | [[Category:ファイルシステム]] |
||
− | #redirect[[en:Reiser4]] |
||
+ | [[en:Reiser4]] |
||
+ | {{Related articles start}} |
||
+ | {{Related|ファイルシステム}} |
||
+ | {{Related articles end}} |
||
+ | [[Wikipedia:Reiser4|Reiser4]] は [[Wikipedia:Namesys|Namesys]] と [[Wikipedia:Hans Reiser|Hans Reiser]] によってスクラッチから開発された、"新しい" (2004年頃) ReiserFS の後継ファイルシステムです。小さなファイルをとても効率的に扱うことができ (そのため {{ic|/var}} でよく使われます)、安価な透過圧縮やブロックのサブアロケーションなどの機能を備えています。Reiser4 はアトミックなファイルシステムなので"ファイルシステムの操作は完全に行われたか、あるいは完全に行われていないかのどちらかしかなく、中途半端に行われることでファイルシステムが破損することはありません"。他の Linux ファイルシステムとの [http://vizzzion.org/?id=reiser4 ベンチマーク] もあります。 |
||
+ | |||
+ | ==注意事項== |
||
+ | * Reiser4 を使うにはパッチが適用されたカーネルが必要です。 |
||
+ | * 他のファイルシステムよりも消費する CPU は多少、少なくなります。 |
||
+ | * 2.6 カーネル用に開発されており 2.4 にバックポートはされていません。 |
||
+ | * [[LILO]] が唯一公式に Reiser4 をサポートしているブートローダーですが、{{ic|/boot}} を Reiser4 でフォーマットすると問題が発生します。 |
||
+ | * まだ安定している状態とは言えません。 |
||
+ | |||
+ | {{Note|systemd 219 では、Reiser4 パーティションでは[[アクセス制御リスト]]はデフォルトでは有効になりません。{{ic|/var}} を Reiser4 ファイルシステム上に配置する場合、アクセス制御リストを有効にしないと [[Tmpfs]] が正しくマウントされません。詳しくは [[Systemd#トラブルシューティング]] を見て下さい。}} |
||
+ | |||
+ | {{Tip|[http://gparted.sourceforge.net/livecd.php Gparted LiveCD] は Gparted を起動するための小規模な Linux ディストリビューションです。Reiser4 をサポートしています。}} |
||
+ | |||
+ | ==パッケージ== |
||
+ | 1. {{AUR|reiser4progs}} パッケージを[[インストール]]してください。 |
||
+ | |||
+ | 2. reiser4 のパッチが適用されたカーネルが必要です。パッチは http://sourceforge.net/projects/reiser4/files/reiser4-for-linux-3.x/ にあります。 |
||
+ | |||
+ | 3. ブートローダー ''(任意、{{ic|/}} (root) を reiser4 でフォーマットしたい場合は必須)'' |
||
+ | |||
+ | {{Note|ブートローダーの設定はバックアップするようにしてください。}} |
||
+ | |||
+ | a) '''推奨:''' [[GParted]] を使って Reiser4 以外のファイルシステムで {{ic|/boot}} 用の小さな (20-200mb) パーティションを作成して、{{ic|/boot}} フォルダをそのパーティションにコピーする。ブートローダーの設定を更新してください。例えば [[GRUB|Grub2]] を使用する場合: |
||
+ | # grub-mkconfig -o /boot/grub/grub.cfg |
||
+ | |||
+ | b) Reiser4 パーティションに {{ic|/boot}} を含むあらゆるファイルを置きたい場合、[[LILO]] を使う必要があります。{{ic|lilo.conf}} を更新するときにおそらくエラーが表示されるため、推奨されません: |
||
+ | # lilo |
||
+ | |||
+ | 4. 再起動 |
||
+ | |||
+ | {{Note|以下は Reiser4 を / (root) として使用する手順です。Reiser を /var (など) のみで使用したい場合は、必要に応じて以下の手順を読み替えて下さい。}} |
||
+ | |||
+ | ==Reiser4 に移動== |
||
+ | 次に、現在の root パーティションから新しい Reiser4 パーティションにデータをコピーします。Reiser4 パーティションに十分なディスク容量が存在することを確認してください: |
||
+ | # df -h |
||
+ | |||
+ | ===サンプル環境=== |
||
+ | <pre> |
||
+ | # fdisk -l |
||
+ | * /dev/sda1: (10 Gb, 5 Gb free); Reiserfs /mnt/reiser4 |
||
+ | * /dev/sda2: (10 Gb, 10 Gb free); Reiser4 / |
||
+ | * /dev/sda3: (200 Mb, 180 Mb free); ext2 /boot |
||
+ | </pre> |
||
+ | |||
+ | ===フォーマット=== |
||
+ | 以下のコマンドを実行: |
||
+ | |||
+ | <pre> |
||
+ | mkfs.reiser4 /dev/sdaX |
||
+ | mkdir /mnt/reiser4 |
||
+ | mount -t reiser4 /dev/sdaX /mnt/reiser4 |
||
+ | </pre> |
||
+ | |||
+ | {{Note|''X'' はあなたのパーティション番号に置き換えてください。}} |
||
+ | |||
+ | 以下のコマンドでフォーマットして Cryptcompress プラグインを使うことを推奨します: |
||
+ | mkfs.reiser4 -o create=ccreg40,compress=lzo1 /dev/sda'''X''' |
||
+ | |||
+ | ===システムをコピー=== |
||
+ | パーティションをフォーマットしたら、現在のシステムを新しいパーティションにコピーしてシステムディレクトリを作成します。Arch Linux からコピーすることもできますが、[http://gparted.sourceforge.net/livecd.php Gparted LiveCD] を起動して新しい Reiser4 パーティションと現在の root パーティションをマウントする方が簡単です (後で makedev を使う必要がありません)。その後、以下のようにして (root で) 全てをコピーします: |
||
+ | |||
+ | <pre> |
||
+ | cd /mnt |
||
+ | mkdir oldroot |
||
+ | mkdir reiser4 |
||
+ | mount /dev/sdaX oldroot |
||
+ | mount /dev/sdaY reiser4 (the Reiser4 partition) |
||
+ | cp -R -a /mnt/oldroot/* /mnt/reiser4/ |
||
+ | </pre> |
||
+ | |||
+ | そして、{{ic|/boot}} パーティションが既に存在する場合はマウントして、元の root パーティションから {{ic|/boot}} をコピーする必要があります: |
||
+ | {{Note|It is suggested to empty your /boot from the Reiser4 partition to use it as a mountpoint, which is reflected later in your fstab}} |
||
+ | |||
+ | <pre> |
||
+ | mkdir bootpart |
||
+ | mount /dev/sdaZ bootpart |
||
+ | cp -R -a /mnt/oldroot/boot/* /mnt/bootpart/ |
||
+ | </pre> |
||
+ | |||
+ | ブートローダーの設定を忘れずに適切に編集してください (記事の下方にある例を参照)。 |
||
+ | |||
+ | {{Note|In case you upgraded grub before rebooting you may need to manually install grub to your /boot partition, otherwise, things may break and prevent you from booting. In this case using a LiveCD to Chroot and would be your last hope.}} |
||
+ | |||
+ | ===/etc/fstab:=== |
||
+ | |||
+ | {{Note|Reiser4 が動作することが確認できたら、古い root パーティションをフォーマットしてください。}} |
||
+ | |||
+ | {{bc|1=# |
||
+ | # /etc/fstab: static file system information |
||
+ | # |
||
+ | # <file system> <dir> <type> <options> <dump> <pass> |
||
+ | |||
+ | /dev/sda1 / reiser4 defaults,noatime,notail 0 1 |
||
+ | /dev/sda2 /mnt/oldroot ext4 defaults 0 0 |
||
+ | /dev/sda3 /boot ext2 defaults 0 1 |
||
+ | }} |
||
+ | |||
+ | == ブートローダーの例 == |
||
+ | |||
+ | ====/boot/grub/grub.cfg:==== |
||
+ | {{bc|1= |
||
+ | # (0) Arch Linux |
||
+ | title Arch Linux |
||
+ | set root=(hd0,msdos3) |
||
+ | kernel /vmlinuz-linux root=/dev/sda3 ro noatime notail acl init=/usr/bin/bootchartd |
||
+ | initrd /initramfs-linux.img |
||
+ | |||
+ | # (1) Arch Linux |
||
+ | title Arch Linux Fallback |
||
+ | set root=(hd0,msdos3) |
||
+ | kernel /vlinuz-linux root=/dev/sda3 ro |
||
+ | initrd /initramfs-linux-fallback.img |
||
+ | }} |
||
+ | |||
+ | {{ic|grub-mkconfig}} を実行して設定を更新: |
||
+ | # grub-mkconfig -o /boot/grub/grub.cfg |
||
+ | |||
+ | ====/etc/lilo.conf:==== |
||
+ | <pre> |
||
+ | # |
||
+ | # /etc/lilo.conf |
||
+ | # |
||
+ | |||
+ | boot=/dev/hda |
||
+ | # This line often fixes L40 errors on bootup |
||
+ | # disk=/dev/hda bios=0x80 |
||
+ | |||
+ | default=Arch4 |
||
+ | timeout=20 |
||
+ | lba32 |
||
+ | prompt |
||
+ | compact |
||
+ | |||
+ | image=/boot/vmlinuz-linux |
||
+ | label=Arch4 |
||
+ | root=/dev/hda5 |
||
+ | append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1" |
||
+ | initrd=/boot/initramfs-linux.img |
||
+ | read-only |
||
+ | |||
+ | image=/boot/vmlinuz-linux |
||
+ | label=Arch |
||
+ | root=/dev/hda3 |
||
+ | append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1" |
||
+ | initrd=/boot/initramfs-linux.img |
||
+ | read-only |
||
+ | </pre> |
||
+ | |||
+ | ''lilo'' を実行して設定を更新: |
||
+ | # lilo |
||
+ | |||
+ | ==トラブルシューティング== |
||
+ | * パーミッション: chown -R username.group <userdir> |
||
+ | * ファイルシステムを変更した後に ''su'' コマンドに問題が発生するようになった場合、{{Pkg|coreutils}} パッケージを再インストールしてください。 |
2015年11月26日 (木) 23:10時点における版
関連記事
Reiser4 は Namesys と Hans Reiser によってスクラッチから開発された、"新しい" (2004年頃) ReiserFS の後継ファイルシステムです。小さなファイルをとても効率的に扱うことができ (そのため /var
でよく使われます)、安価な透過圧縮やブロックのサブアロケーションなどの機能を備えています。Reiser4 はアトミックなファイルシステムなので"ファイルシステムの操作は完全に行われたか、あるいは完全に行われていないかのどちらかしかなく、中途半端に行われることでファイルシステムが破損することはありません"。他の Linux ファイルシステムとの ベンチマーク もあります。
目次
注意事項
- Reiser4 を使うにはパッチが適用されたカーネルが必要です。
- 他のファイルシステムよりも消費する CPU は多少、少なくなります。
- 2.6 カーネル用に開発されており 2.4 にバックポートはされていません。
- LILO が唯一公式に Reiser4 をサポートしているブートローダーですが、
/boot
を Reiser4 でフォーマットすると問題が発生します。 - まだ安定している状態とは言えません。
パッケージ
1. reiser4progsAUR パッケージをインストールしてください。
2. reiser4 のパッチが適用されたカーネルが必要です。パッチは http://sourceforge.net/projects/reiser4/files/reiser4-for-linux-3.x/ にあります。
3. ブートローダー (任意、/
(root) を reiser4 でフォーマットしたい場合は必須)
a) 推奨: GParted を使って Reiser4 以外のファイルシステムで /boot
用の小さな (20-200mb) パーティションを作成して、/boot
フォルダをそのパーティションにコピーする。ブートローダーの設定を更新してください。例えば Grub2 を使用する場合:
# grub-mkconfig -o /boot/grub/grub.cfg
b) Reiser4 パーティションに /boot
を含むあらゆるファイルを置きたい場合、LILO を使う必要があります。lilo.conf
を更新するときにおそらくエラーが表示されるため、推奨されません:
# lilo
4. 再起動
Reiser4 に移動
次に、現在の root パーティションから新しい Reiser4 パーティションにデータをコピーします。Reiser4 パーティションに十分なディスク容量が存在することを確認してください:
# df -h
サンプル環境
# fdisk -l * /dev/sda1: (10 Gb, 5 Gb free); Reiserfs /mnt/reiser4 * /dev/sda2: (10 Gb, 10 Gb free); Reiser4 / * /dev/sda3: (200 Mb, 180 Mb free); ext2 /boot
フォーマット
以下のコマンドを実行:
mkfs.reiser4 /dev/sdaX mkdir /mnt/reiser4 mount -t reiser4 /dev/sdaX /mnt/reiser4
以下のコマンドでフォーマットして Cryptcompress プラグインを使うことを推奨します:
mkfs.reiser4 -o create=ccreg40,compress=lzo1 /dev/sdaX
システムをコピー
パーティションをフォーマットしたら、現在のシステムを新しいパーティションにコピーしてシステムディレクトリを作成します。Arch Linux からコピーすることもできますが、Gparted LiveCD を起動して新しい Reiser4 パーティションと現在の root パーティションをマウントする方が簡単です (後で makedev を使う必要がありません)。その後、以下のようにして (root で) 全てをコピーします:
cd /mnt mkdir oldroot mkdir reiser4 mount /dev/sdaX oldroot mount /dev/sdaY reiser4 (the Reiser4 partition) cp -R -a /mnt/oldroot/* /mnt/reiser4/
そして、/boot
パーティションが既に存在する場合はマウントして、元の root パーティションから /boot
をコピーする必要があります:
mkdir bootpart mount /dev/sdaZ bootpart cp -R -a /mnt/oldroot/boot/* /mnt/bootpart/
ブートローダーの設定を忘れずに適切に編集してください (記事の下方にある例を参照)。
/etc/fstab:
# # /etc/fstab: static file system information # # <file system> <dir> <type> <options> <dump> <pass> /dev/sda1 / reiser4 defaults,noatime,notail 0 1 /dev/sda2 /mnt/oldroot ext4 defaults 0 0 /dev/sda3 /boot ext2 defaults 0 1
ブートローダーの例
/boot/grub/grub.cfg:
# (0) Arch Linux title Arch Linux set root=(hd0,msdos3) kernel /vmlinuz-linux root=/dev/sda3 ro noatime notail acl init=/usr/bin/bootchartd initrd /initramfs-linux.img # (1) Arch Linux title Arch Linux Fallback set root=(hd0,msdos3) kernel /vlinuz-linux root=/dev/sda3 ro initrd /initramfs-linux-fallback.img
grub-mkconfig
を実行して設定を更新:
# grub-mkconfig -o /boot/grub/grub.cfg
/etc/lilo.conf:
# # /etc/lilo.conf # boot=/dev/hda # This line often fixes L40 errors on bootup # disk=/dev/hda bios=0x80 default=Arch4 timeout=20 lba32 prompt compact image=/boot/vmlinuz-linux label=Arch4 root=/dev/hda5 append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1" initrd=/boot/initramfs-linux.img read-only image=/boot/vmlinuz-linux label=Arch root=/dev/hda3 append="video=vesafb:1024x768-24@56,ywrap,mtrr splash=verbose,theme:darch console=tty1 resume2=swap:/dev/hdb1" initrd=/boot/initramfs-linux.img read-only
lilo を実行して設定を更新:
# lilo
トラブルシューティング
- パーミッション: chown -R username.group <userdir>
- ファイルシステムを変更した後に su コマンドに問題が発生するようになった場合、coreutils パッケージを再インストールしてください。