btrfs-progs-4.17.1

btrfs-progs の概要

btrfs-progs パッケージは B ツリーファイルシステム (btffs) の管理およびデバッグを行うツールを提供します。

本パッケージは LFS-8.3 において正しくビルドでき動作することが確認されています。

パッケージ情報

Btrfs-progs の依存パッケージ

必須

LZO-2.10

推奨

任意

LVM2-2.02.177 (テストにて dmsetup が利用される), Python-2.7.15 (Python バインディング), reiserfsprogs-3.6.27 (テストのため), zstd (テストのため)

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/xfs

カーネルの設定

カーネル設定における以下のオプションを有効にして、カーネルを再コンパイルします。

File systems --->
  <*/M> Btrfs filesystem support [CONFIG_BTRFS_FS]
[注記]

注記

テストの中には CONFIG_BTRFS_FS_POSIX_ACL と CONFIG_REISERFS_FS_XATTR の設定を必要とするものがあります。 Btrfs に関する他のオプションはすべて任意設定です。

btrfs-progs のインストール

以下のコマンドを実行して btrfs-progs をビルドします。

sed -i '40,107 s/\.gz//g' Documentation/Makefile.in &&

./configure --prefix=/usr  \
            --bindir=/bin  \
            --libdir=/lib  \
            --disable-zstd &&
make

テストを実行する場合は、その前にサポートプログラムをビルドし、さらに失敗するテストは無効にします。

make fssum &&

sed -i '/found/s/^/: #/' tests/convert-tests.sh &&

mv tests/mkfs-tests/013-reserved-1M-for-single/test.sh{,.broken}          &&
mv tests/convert-tests/010-reiserfs-basic/test.sh{,.broken}               &&
mv tests/convert-tests/011-reiserfs-delete-all-rollback/test.sh{,.broken} &&
mv tests/convert-tests/012-reiserfs-large-hole-extent/test.sh{,.broken}   &&
mv tests/convert-tests/013-reiserfs-common-inode-flags/test.sh{,.broken}  &&
mv tests/convert-tests/014-reiserfs-tail-handling/test.sh{,.broken}       &&
mv tests/misc-tests/004-shrink-fs/test.sh{,.broken}                       &&
mv tests/misc-tests/013-subvolume-sync-crash/test.sh{,.broken}            &&
mv tests/misc-tests/025-zstd-compression/test.sh{,.broken}                &&
mv tests/fuzz-tests/003-multi-check-unmounted/test.sh{,.broken}           &&
mv tests/fuzz-tests/009-simple-zero-log/test.sh{,.broken}

ビルド結果をテストする場合は (root ユーザーになって) 以下を実行します。

pushd tests
   ./fsck-tests.sh
   ./mkfs-tests.sh
   ./cli-tests.sh
   ./convert-tests.sh
   ./misc-tests.sh
   ./fuzz-tests.sh
popd

root ユーザーになってパッケージをインストールします。

make install &&

ln -sfv ../../lib/$(readlink /lib/libbtrfs.so) /usr/lib/libbtrfs.so &&
ln -sfv ../../lib/$(readlink /lib/libbtrfsutil.so) /usr/lib/libbtrfsutil.so &&
rm -fv /lib/libbtrfs.{a,so} /lib/libbtrfsutil.{a,so} &&
mv -v /bin/{mkfs,fsck}.btrfs /sbin

コマンド説明

sed ... Documentation/Makefile.in: man ページの圧縮は行わないようにします。 これは BLFS 全体で整合をとるためです。

--disable-documentation: このオプションは、推奨する依存パッケージがインストールされていない場合に必要となります。

mv tests/{cli,convert,misc,fuzz}-tests/ ...: 失敗するテストを無効にし、テスト全体を成功させます。

ln -s ... /usr/lib/libbtrfs.so: 必要なシンボリックリンクを生成します。

rm /lib/libbtrfs.{a,so}: 不要なライブラリを削除します。

パッケージ構成

インストールプログラム: btrfs, btrfs-convert, btrfs-debug-tree, btrfs-find-root, btrfs-image, btrfs-map-logical, btrfs-select-super, btrfs-zero-log, btrfsck (btrfs へのリンク), btrfstune, fsck.btrfs, mkfs.btrfs
インストールライブラリ: libbtrfs.so
インストールディレクトリ: /usr/include/btrfs

概略説明

btrfs

is the main interface into btrfs filesystem operations.

btrfs-convert

converts from ext2/3/4 filesystem to btrfs.

btrfs-debug-tree

queries various internal information.

btrfs-find-root

is a filter to find btrfs root.

btrfs-map-logical

maps btrfs logical extent to physical extent.

btrfs-select-super

overwrites primary superblock with a backup copy.

btrfs-zero-log

recovers a damaged btrfs filesystem.

btrfstune

tunes various filesystem parameters.

fsck.btrfs

does nothing, but is present for consistency with fstab.

mkfs.btrfs

creates a btrfs file system.

最終更新日: 2018-08-31 08:17:00 +0900