「Reiser4」の版間の差分
(→パッケージ: 同期) |
(→システムをコピー: 情報を更新) |
||
62行目: | 62行目: | ||
mkfs.reiser4 -o create=ccreg40,compress=lzo1 /dev/sda'''X''' |
mkfs.reiser4 -o create=ccreg40,compress=lzo1 /dev/sda'''X''' |
||
− | ===システムをコピー=== |
+ | === システムをコピー === |
− | パーティションをフォーマットしたら、現在のシステムを新しいパーティションにコピーしてシステムディレクトリを作成します。Arch Linux からコピーすることもできますが、[http://gparted.sourceforge.net/livecd.php Gparted LiveCD] を起動して新しい Reiser4 パーティションと現在の root パーティションをマウントする方が簡単です (後で makedev を使う必要がありません)。その後、以下のようにして (root で) 全てをコピーします: |
||
+ | パーティションをフォーマットしたら、現在のシステムを新しいパーティションにコピーしてシステムディレクトリを作成します。Arch Linux からコピーすることもできますが、[http://gparted.sourceforge.net/livecd.php Gparted LiveCD] を起動して新しい Reiser4 パーティションと現在の root パーティションをマウントする方が簡単です (後で makedev を使う必要がありません)。その後、以下のようにして全てをコピーします: |
||
− | <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> |
||
+ | {{bc| |
||
− | そして、{{ic|/boot}} パーティションが既に存在する場合はマウントして、元の root パーティションから {{ic|/boot}} をコピーする必要があります: |
||
+ | # cd /mnt |
||
− | {{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}} |
||
+ | # mkdir oldroot |
||
+ | # mkdir reiser4 |
||
+ | # mount /dev/sd''xZ'' oldroot |
||
+ | }} |
||
+ | さまざまな種類のストレージメディアに最適化された、使用したいトランザクションモデルに応じて、マウントオプション {{ic|1=txmod=wa}} (SSD の場合)、{{ic|1=txmod=journal}} (HDD の場合) は、{{ic|-o}} スイッチを介してパーティションをマウントするときに定義する必要があります。デフォルトは {{ic|1=txmod=hybrid}} で、"wa"(write-anywhere)モデルと "ジャーナル" モデルをヒューリスティックに切り替えて、回転ディスク上のパフォーマンスを最適化すると同時に、過剰な断片化を回避しようとします。 |
||
− | <pre> |
||
− | mkdir bootpart |
||
− | mount /dev/sdaZ bootpart |
||
− | cp -R -a /mnt/oldroot/boot/* /mnt/bootpart/ |
||
− | </pre> |
||
+ | {{bc|1= |
||
− | ブートローダーの設定を忘れずに適切に編集してください (記事の下方にある例を参照)。 |
||
+ | # mount -t reiser4 -o txmod=hybrid,defaults,onerror=remount-ro /dev/sd''xY'' /mnt/reiser4 |
||
+ | # cp -R -a /mnt/oldroot/* /mnt/reiser4/ |
||
+ | }} |
||
+ | 次に、{{ic|/boot}} パーティションをマウントする必要があります。まだマウントしていない場合は、元のルートパーティションから {{ic|/boot}} をコピーします。 |
||
− | {{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.}} |
||
+ | |||
+ | {{Note|Reiser4 パーティションから {{ic|/boot}} を空にしてマウントポイントとして使用することをお勧めします。これは後で fstab に反映されます。}} |
||
+ | |||
+ | {{bc| |
||
+ | # mkdir bootpart |
||
+ | # mount /dev/sd''xW'' bootpart |
||
+ | # cp -R -a /mnt/oldroot/boot/* /mnt/bootpart/ |
||
+ | }} |
||
+ | |||
+ | ブートローダーの設定を適切に編集することを忘れないでください ([[#ブートローダーの例]] を参照) |
||
+ | |||
+ | {{Note|再起動する前に GRUB をアップグレードした場合は、手動で grub を {{ic|/boot}} パーティションにインストールする必要がある場合があります。そうしないと、問題が発生して起動できなくなる可能性があります。この場合、LiveCD を使用して Chroot する必要があります。}} |
||
===/etc/fstab:=== |
===/etc/fstab:=== |
2024年2月12日 (月) 16:44時点における版
関連記事
Reiser4 は Namesys と Hans Reiser によってスクラッチから開発された、ReiserFS の後継ファイルシステムです。小さなファイルをとても効率的に扱うことができ (そのため /var
でよく使われます)、安価な透過圧縮やブロックのサブアロケーションなどの機能を備えています。Reiser4 はアトミックなファイルシステムなので"ファイルシステムの操作は完全に行われたか、あるいは完全に行われていないかのどちらかしかなく、中途半端に行われることでファイルシステムが破損することはありません"。他の Linux ファイルシステムとの ベンチマーク もあります。
目次
注意事項
- Reiser4 を使うにはパッチが適用されたカーネルが必要です。
- 他のファイルシステムよりも消費する CPU は多少、少なくなります。
- LILO が唯一公式に Reiser4 をサポートしているブートローダーですが、
/boot
を Reiser4 でフォーマットすると問題が発生します。 - まだ安定している状態とは言えません。
パッケージ
1. reiser4progsAUR パッケージをインストールしてください。
2. reiser4 のパッチが適用されたカーネルが必要です。パッチは https://sourceforge.net/projects/reiser4/files/ にあります。
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 を使う必要がありません)。その後、以下のようにして全てをコピーします:
# 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
をコピーします。
# mkdir bootpart # mount /dev/sdxW 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 パッケージを再インストールしてください。