Reiser4

提供: ArchWiki
2024年2月12日 (月) 16:55時点におけるKgx (トーク | 投稿記録)による版 (項目を整理)
ナビゲーションに移動 検索に移動

関連記事

Reiser4NamesysHans Reiser によってスクラッチから開発された、ReiserFS の後継ファイルシステムです。小さなファイルをとても効率的に扱うことができ (そのため /var でよく使われます)、安価な透過圧縮やブロックのサブアロケーションなどの機能を備えています。Reiser4 はアトミックなファイルシステムなので"ファイルシステムの操作は完全に行われたか、あるいは完全に行われていないかのどちらかしかなく、中途半端に行われることでファイルシステムが破損することはありません"。他の Linux ファイルシステムとの ベンチマーク もあります。

インストール

ノート:
  • Reiser4 はまだ公式の Linux カーネルには含まれていません。メインラインカーネルに適用するパッチが提供されています。
  • 他のファイルシステム (Btrfs と同様) よりも少し多くの CPU を消費します。省電力に TLP を使用しているラップトップで問題が発生しないようにするには、/etc/default/tlpSATA Link 省電力のオプションを無効にすることをお勧めします (繰り返しになりますが、 Btrfs と同様です)
  • LILO は Reiser4 を正式にサポートする唯一のブートローダーですが、/boot が Reiser4 としてフォーマットされている場合に問題が発生するようです
  • アクセス制御リスト は実装されていないため、journald が別のロギング デーモン または tmpfs にログを記録する必要があります。もう 1 つの回避策は、ACL サポートを使用せずにソースによって systemd をコンパイルすることですが、これはお勧めできません。
ヒント: Gparted LiveCD は、Gparted を直接起動する小規模な Linux ディストリビューションです。Reiser4 もサポートしており、既存のファイルシステムから Reiser4 への移行に使用できます。

Reiser4 ボリュームの作成、fsck、デバッグ用のユーティリティを提供する reiser4progsAUR パッケージを インストール します。

Reiser4 パッチ適用済みカーネルが必要です。パッチは Sourceforge、または最近作成された Git リポジトリ で見つけることができます。このリポジトリは現在のリーダーによって管理されています。開発者、数学者、プログラマーの Edward Shishkin

ブートローダー

ノート:
  • Reiser4 ボリュームに /boot を常駐させる場合は、ブートローダー設定ファイルのバックアップを検討する必要があります。
  • EFI システムは一般に、カーネルの起動に FAT32 パーティションを必要とするため、EFI だけではなく、そのパーティションに /boot ディレクトリを常駐させることが有利で、問題がない可能性があります。多くの EFI ユーザーは、/boot ディレクトリ全体を ESP 上に持っています。

Reiser4 以外のファイルシステムを使用して、/boot 用の小さな (20 〜 200mb) パーティションを作成し、/boot フォルダを次の場所にコピーすることをお勧めします。それに応じてブートローダー設定を更新します。たとえば、#/boot/grub/grub.cfg を参照してください。

EFI を使用せず、/boot を含むすべてを Reiser4 パーティションに配置したい場合 (非推奨)、LILO を使用する必要があります。lilo.conf を更新しようとするとエラーが発生する可能性があるため、これはお勧めできません。#/etc/lilo.conf を参照してください。

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
ノート: X はあなたのパーティション番号に置き換えてください。

以下のコマンドでフォーマットして Cryptcompress プラグインを使うことを推奨します:

mkfs.reiser4 -o create=ccreg40,compress=lzo1 /dev/sdaX

システムをコピー

パーティションをフォーマットしたら、現在のシステムを新しいパーティションにコピーしてシステムディレクトリを作成します。Arch Linux からコピーすることもできますが、Gparted LiveCD を起動して新しい Reiser4 パーティションと現在の root パーティションをマウントする方が簡単です (後で makedev を使う必要がありません)。その後、以下のようにして全てをコピーします:

# cd /mnt
# mkdir oldroot
# mkdir reiser4
# mount /dev/sdxZ oldroot

さまざまな種類のストレージメディアに最適化された、使用したいトランザクションモデルに応じて、マウントオプション txmod=wa (SSD の場合)、txmod=journal (HDD の場合) は、-o スイッチを介してパーティションをマウントするときに定義する必要があります。デフォルトは txmod=hybrid で、"wa"(write-anywhere)モデルと "ジャーナル" モデルをヒューリスティックに切り替えて、回転ディスク上のパフォーマンスを最適化すると同時に、過剰な断片化を回避しようとします。

# mount -t reiser4 -o txmod=hybrid,defaults,onerror=remount-ro /dev/sdxY /mnt/reiser4
# cp -R -a /mnt/oldroot/* /mnt/reiser4/

次に、/boot パーティションをマウントする必要があります。まだマウントしていない場合は、元のルートパーティションから /boot をコピーします。

ノート: Reiser4 パーティションから /boot を空にしてマウントポイントとして使用することをお勧めします。これは後で fstab に反映されます。
# mkdir bootpart
# mount /dev/sdxW bootpart
# cp -R -a /mnt/oldroot/boot/* /mnt/bootpart/

ブートローダーの設定を適切に編集することを忘れないでください (#ブートローダーの例 を参照)

ノート: 再起動する前に GRUB をアップグレードした場合は、手動で grub を /boot パーティションにインストールする必要がある場合があります。そうしないと、問題が発生して起動できなくなる可能性があります。この場合、LiveCD を使用して Chroot する必要があります。

/etc/fstab

ノート: Reiser4 が動作することが確認できたら、古い root パーティションをフォーマットしてください。
#
# /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 パッケージを再インストールしてください。