「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 でフォーマットすると問題が発生します。 - まだ安定している状態とは言えません。
/var を Reiser4 ファイルシステム上に配置する場合、アクセス制御リストを有効にしないと Tmpfs が正しくマウントされません。詳しくは Systemd#トラブルシューティング を見て下さい。パッケージ
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 パッケージを再インストールしてください。