ファイルシステムの機能：属性、作成、検査、マウント

はじめに

第18章はじめに

このビデオでは、この章で説明するトピックの概要を簡単に説明します。


学習目標
この章の終わりまでに、次のことができるようになります。

ディレクトリ ファイルや拡張属性などの概念を説明できます。
ファイルシステムを作成してフォーマットできます。
ファイルシステムのエラーを確認して修正できます。
ファイルシステムをマウントおよびアンマウントできます。
ネットワーク ファイルシステムを使用できます。
ファイルシステムを自動的にマウントする方法を理解し、それらがブート時に確実にマウントされるようにできます。


ファイルシステムの機能：属性、作成、検査、マウント

lsattrとchattr
拡張属性は、ファイルシステムが直接解釈しないメタデータをファイルに結びつけるものです。この拡張属性の管理に4種類の名前空間を使っています。それは、user, trusted, security, systemです。system名前空間はアクセス制御リスト（ACL）に使用され、security名前空間はSELinuxによって使用されます。

属性フラグの値はファイルのinodeに保存され、rootユーザーのみが変更および設定できます。それらはlsattrで表示され、chattrで設定されます。属性フラグは、ファイルに設定できます。

クリックして各ボックスを展開し、ファイルに設定できるフラグの詳細をご覧ください。

属性フラグ

i：Immutable（変更不可）
Immutable属性を持つファイルは変更できません（rootユーザでも変更できません）。削除や名前の変更はできません。ハードリンクを作成できず、ファイルにデータを書き込むこともできません。この属性を設定または削除できるのは、スーパーユーザーのみです。

a： Append-only（追加のみ許可）
Append-only属性が設定されたファイルは、書き込みする場合は追加モードでのみ開くことができます。この属性を設定または削除できるのは、スーパーユーザーのみです。

d：No-dump（ダンプなし）
No-dump属性が設定されたファイルは、ダンプ プログラムが実行されても無視します。これは、スワップ ファイルとキャッシュ ファイルにおいて、バックアップに時間を費やしたくない時に役立ちます。

A：No atime update（atimeの更新なし）
No-atime-update属性が設定されたファイルは、ファイルがアクセスされても変更されなかったときは、atime（アクセス時間）レコードを変更しません。これによりシステム上のディスクI/Oの量が減少するため、一部のシステムのパフォーマンスが向上します。

設定できるフラグは他にもあります。 man chattrと入力すると、リスト全体が表示されます。chattrの書式は次のとおりです。

$ chattr [+|-|=mode] filename

lsattrは、ファイルの属性を表示します。

$ lsattr filename


mkfs
すべての種類のファイルシステムには、パーティション上のファイルシステムをフォーマットするためのユーティリティがあります。一般的なユーティリティはmkfsです。ただし、これはファイルシステム固有のプログラムの単なるフロントエンドであり、それぞれ特定のオプションがあります。

mkfs

mkfsの一般的な形式は次のとおりです。

mkfs [-t fstype] [options] [device-file]

[device-file]は、/dev/sda3や/dev/vg/lvm1などのデバイス名です。

次の2つのコマンドは同じです。

$ sudo mkfs -t ext4 /dev/sda10

$ sudo mkfs.ext4 /dev/sda10

ファイルシステムの各種類には、それぞれフォーマット時に設定できる独自の特定オプションがあります。たとえば、ext4ファイルシステムを作成する際に意識すべきオプションの1つに、ジャーナリング設定があります。このオプションには、ジャーナル ファイルのサイズ定義や、外部ジャーナル ファイルを使用するかどうかの定義が含まれます。

詳細を確認するには、各mkfs.*プログラムのmanページをご覧ください。


fsck
すべての種類のファイルシステムには、エラーをチェックするように（そしてできれば検出されたものを修復するように）設計されたユーティリティがあります。これらのユーティリティの一般名はfsckです。ただし、これはファイルシステム固有のプログラムの単なるフロントエンドです。


fsckの一般的な形式は次のとおりです。

fsck [-t fstype] [options] [device-file]

[device-file]は、/dev/sda3や/dev/vg/lvm1などのデバイス名です。通常はファイルシステムの種類を指定する必要はありません。fsckはパーティションの開始時にスーパーブロックを調べて把握するからです。

-rオプションを使用して、見つかったエラーを1つずつ手動で修正するか、-aオプションなどを使用して、可能な限り自動で修正するかを選択できます。さらに、ファイルシステムの各種類には、それぞれチェック時に設定できる特定のオプションがある場合があります。

ジャーナリング ファイルシステムは、次の2つの理由により、古い世代のファイルシステムよりもチェックがはるかに高速になっています。

最後のトランザクション以外のすべてのログが記録され確認されているため、パーティション全体をスキャンしてエラーを検出する必要はほとんどありません。そのため、チェックする時間はほとんどかかりません。
ファイルシステム全体をチェックするにしても、新しいファイルシステムは高速fsckを念頭に置いて設計されています。古いファイルシステムは、サイズがはるかに小さいため、これについてあまり考えていませんでした。

次の2つのコマンドは同じです。

$ sudo fsck -t ext4 /dev/sda10

$ sudo fsck.ext4 /dev/sda10

ファイルシステムがオペレーティング システムによって認識されていれば、次の方法でできます。

$ sudo fsck /dev/sda10

そして、システムはパーティションの最初の数バイトを調べることでその種類を判別します。

fsckは、設定された回数のマウントを行った後に、または最後に実行されてから設定された間隔が過ぎた後に、自動的に実行されます。マウントされていないファイルシステムでのみ実行する必要があります。ブート時にマウントされた、すべてのファイルシステムのチェックを強制的に行うことができます。

$ sudo touch /forcefsck

$ sudo reboot

ファイル/forcefsckは、正常にチェックが終了すると消えます。これが貴重な技である理由の1つは、ルート ファイルシステムでfsckを実行できることです。実行中のシステムではその実行は難しいからです。

詳細を確認するには、各 fsck.*プログラムのmanページをご覧ください。


ファイルシステムのマウント
Linuxでアクセス可能なすべてのファイルは、ツリーの先頭がルート ディレクトリ（/）である1つの大きな階層的なツリー構造になっています。ただし、複数のパーティション（それぞれに独自のファイルシステムの種類を持つことができる）を同じファイルシステム ツリーに結合することも普通にできます。これらのパーティションは、異なる物理デバイス上に、もっと言えばネットワーク上にも存在する場合があります。

mountプログラムを使用すると、ツリー構造の任意の場所にマウントできます。umountはそれらのマウントを解除（アンマウント）できます。 

マウント ポイントとは、ファイルシステムが接続されているディレクトリを指します。mountを実行する前にそのディレクトリが存在している必要があります。mkdirを使用して、空のディレクトリを作成できます。既存のディレクトリが使用され、マウント ポイントとして使用される前にすでそのディレクトリにファイルがある場合、そのファイルはマウント後には非表示になります。これらのファイルは削除されず、ファイルシステムがアンマウントされると再び表示されます。

デフォルトでは、ファイルシステムのマウントとアンマウントができるのはスーパーユーザーのみです。

各ファイルシステムは、次のように特定のディレクトリの下にマウントされます。

$ sudo mount -t ext /dev/sdb4 /home

これはext4ファイルシステムをマウントすることを意味しています。
通常、-t オプションでファイルシステムの種類を指定する必要はありません。
ファイルシステムはハード ドライブの特定のパーティション（/dev/sdb4）に作られます。
そして、ファイルシステムは、現在のディレクトリ ツリーの/homeにマウントされます
この/homeディレクトリに元々あるファイルは、パーティションがアンマウントされるまで非表示になります。


mount
mountの一般的な形式は次のとおりです。

mount [options] <source> <directory>

この例では、ファイルシステムが存在するデバイス ノードを使用してマウントしています。ただし、ラベルまたはUUIDを使用してマウントすることもできます。したがって、以下はすべて同じ結果になります。

$ sudo mount /dev/sda2 /home
$ sudo mount LABEL=home /home
$ sudo mount    -L home /home
$ sudo mount UUID=26d58ee2-9d20-4dc7-b6ab-aa87c3cfb69a /home
$ sudo mount   -U 26d58ee2-9d20-4dc7-b6ab-aa87c3cfb69a /home

ラベルはe2labelなどのファイルシステムの種類に固有のユーティリティによって割り当てられます。UUIDはパーティションがファイルシステムのコンテナとして作成され、mkfsでフォーマットされる時に割り当てられます。

これら3つのデバイス指定方法はいずれも使用できますが、最新のシステムでは、デバイス ノード形式の使用は推奨していません。その理由は、システムの起動方法によって、どのハード ドライブが最初に見つかるかは異なり、名前が変わる可能性があるためです。ラベルは改善されていますが、まれに、2つのパーティションが同じラベルで作成される場合があります。しかし、UUIDは常に一意である必要があり、パーティションの作成時に作成されます。

mountには、-a（/etc/fstabに記載されているすべてのファイルシステムをマウント）のような一般的なものだけでなく、多くのファイルシステム固有のオプションがあります。これについては非常に長いmanページがあります。一般的な例は次のとおりです。

$ sudo mount -o remount,ro /myfs

これは、読み取り専用（read-only）属性で、ファイルシステムを再マウントします。

次の方法でmountのオプションの情報を取得することができます。

$ mount --help

mount のオプション


現在マウントされているファイルシステム
現在マウントされているファイルシステムのリストは、次のように入力すると表示できます。

mount

現在マウントされているファイルシステム


umount
次の方法で、ファイルシステムをアンマウント（マウント解除）できます。

$ umount [device-file | mount-point]

以下は、ファイルシステムをアンマウントする方法の例です。

/homeファイルシステムをアンマウントする場合：
$ sudo umount /home

/dev/sda3デバイスをアンマウントする場合：
$ sudo umount /dev/sda3

ファイルシステムをアンマウントするコマンドはumount（unmountではありません！）であることに注意してください。

mountと同様に、umountにも多くのオプションがあり、その多くはファイルシステムの種類に固有のものです。繰り返しになりますが、manページは特定のオプションに関する最適な情報源です。

ファイルシステムをアンマウントするときに発生する最も一般的なエラーは、現在使用中のファイルシステムに対して行おうとすることです。つまり、ファイルシステム内のファイルまたは他のエントリを使用しているアプリケーションが現在ある場合です。

これは、マウントされたファイルシステムのディレクトリでターミナル ウィンドウを開くのと同じくらい簡単に解決できます。そのウィンドウでcdを使用するか、アプリケーションを強制終了するだけで、デバイスがビジー状態であるというエラーが解消され、アンマウントが可能になります。

ただし、このエラーを引き起こすプロセスが他にある場合、ファイルシステムをアンマウントする前にそれらを強制終了する必要があります。fuserを使用すれば、どのユーザーがファイルシステムを使用しているかを確認し、それらを強制終了できます（確認をして、あなたが最初にユーザーに警告することもできます）。lsof（「開いているファイルを一覧表示する」）を使用して、どのファイルが使用中でアンマウントをブロックしているかを確認してください。


ネットワークの共有（NFS）
ネットワーク共有を介してリモート ファイルシステムをマウントすることは一般的であり、ローカル マシン上にあるかのように見えます。おそらく今までに使用されている最も一般的な方法はNFS（ネットワーク ファイルシステム：Network File System）です。

NFSは、1989年にSun Microsystemsによって最初に開発され、更新が継続されています。最新のシステムでは、NFSv4を使用しています。NFSv4は2000年以降、継続的に更新されています。

他のネットワーク ファイルシステムには、AFS（Andrew File System）とSMB（Server Message Book）があります。SMBはCIFS（Common Internet File System）とも呼ばれます。

ネットワーク ファイルシステムは、ネットワーク共有上にそれが存在しない、もしくはネットワーク自体が利用できないなどが要因で利用できない可能性があるため、そのことを考えてシステムを準備する必要があります。

すなわち、このような状況では、システムは、指定された時間より長く待っている間にハングアップまたはブロックしないように指示する必要があります。これらは、mountコマンドで指定できます。

$ sudo mount -t nfs myserver.com:/shdir /mnt/shdir​

または/etc/fstabを使います。/etc/fstabに次の行を入れて、ブート時もしくはmount -aを使用してマウントします。

myserver.com:/shdir /mnt/shdir nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

システムは、ネットワークが起動する前にNFSファイルシステムをマウントしようとする場合があります。これを回避するためにはnetdevとnoautoオプションを使用します。詳細については、man nfsを見て、マウントのオプションを調べてください。

autofsまたはautomountを使用しても解決できます。

マウントには、nfsに固有のオプションが多数あります。詳細については、nfsとmountの両方のマニュアル ページを参照してください。


ブート時のマウントと/etc/fstab
システムの初期化中に、次のコマンドを実行します。

mount -a

これにより、/etc/fstab構成ファイルにリストされているすべてのファイルシステムがマウントされます。/etc/fstab内のエントリは、ローカルとリモートの両方のネットワークマウントされるファイルシステムが記述されています。スクリーンショットは、システム起動中に/etc/fstab構成ファイルにリストされている、すべてのファイルシステムをマウントする方法の例です。

このファイルは、ブート時にどのファイルシステムを自動的にマウントするかと、それらがローカル マシンまたはネットワーク上のどこにあるかを示しています。このファイルで、誰がそれらをマウントできるか、どのようなパーミッションが必要かを指定することもできます。さらに、その他の関連オプションも指定できます。いくつかの行は、proc、sys、devptsなどの特別な擬似ファイルシステムを参照しています。

/etc/fstabの例

/etc/fstabファイルの各レコードには、空白で区切られた、マウントされるファイルシステムに関する情報が含まれています。

デバイス ファイル名、ラベル、またはUUID
tmpfs、proc、sysfsなどのデバイス ノードを持たないファイルシステムの場合、このフィールドは単なるプレースホルダです。そのコラムにnoneという単語を使用したり、コマンド ラインで使用されることがあります。
マウント ポイント
これは、スワップのように、どこにもマウントされていないプレースホルダにすることもできます。
ファイルシステムの種類（すなわち、ext4、xfs、btrfs、vfat）
コンマで区切りったオプション リスト
ダンプ頻度（または0）
これはdump -wコマンドで使用されますが、dump -wコマンドはめったに使用されません。
fsckパス番号（または0、これはブート時に状態をチェックしないことを意味します）。

mountとumount ユーティリティは、/etc/fstabの情報を使用できます。このような場合、次のように入力できます。

$ sudo mount /usr/src

これは以下の代わりに使われます。

$ sudo mount LABEL=src /usr/src

　　　


ファイルシステムの自動マウント
Linuxシステムには、必要なときにのみファイルシステムをマウントできる機能が長い間存在しています。これはautofsを使用して行われていました。このユーティリティでは、適切なパッケージ マネージャを使用してautofsパッケージをインストールし、/etc内にファイルを構成する必要があります。

autofsは非常に柔軟でよく知られていますが、一方でsystemdベースのシステムには、フレームワークに組み込まれた自動マウント機能が備わっています。この設定は、次のような適切なデバイス、マウント ポイント、マウント オプションを指定する行を/etc/fstabに追加するだけです。

LABEL=Sam128 /SAM ext4 noauto,x-systemd.automount,x-systemd.device-timeout=10,x-systemd.idle-timeout=30 0 0

そして、リブートするか以下のコマンドを実行します。

$ sudo systemctl daemon-reload
$ sudo systemctl restart local-fs.target

次に、例を挙げてオプションを説明します。


自動マウントの例
次の例では、USBペン ドライブをマウントします。USBペン ドライブは、使用時にのみシステムに接続されます。/etc/fstabのオプションは以下のとおりです。

noauto
起動時にマウントしません。このautoはautomountの意味ではありません。
x-systemd.automount
systemdの自動マウント機能を使用します。
x-systemd.automount.device-timeout=10
このデバイスが使用できない場合、すなわちNFSを介してアクセス可能なネットワーク デバイスの場合は、ハングアップする代わりに10秒後にタイムアウトします。
x-systemd.automount.idle-timeout=30
デバイスが30秒間使用されない場合は、アンマウントします。

💡
デバイスはブート中にマウントされる場合がありますが、アンマウントは指定されたタイムアウト後に行う必要があることに注意してください。スクリーンショットは、デバイスが使用された後にのみ利用できる方法を示しています。

自動マウントの例


デモ：ファイルシステム機能

このビデオでは、パーティションの作成、ファイルシステムの配置、ファイルシステムの確認、マウント、およびその他の詳細情報の取得方法を示します。


演習

演習 18.1: ファイルの属性について

🚩
以下のPDFドキュメントに埋め込まれた外部URLにアクセスする場合は、常に右クリックして新しいタブまたはウィンドウで開いてください。直接クリックしてURLを開こうとすると、コース ウィンドウ／タブが閉じます。

【【これ以降は橋本さんの訳を挿入】】

1.  With your normal user account use touch to create an empty file named /tmp/appendit.
2.  Use cat to append the contents of /etc/hoststo/tmp/appendit.
3.  Compare the contents of /tmp/appendit with /etc/hosts; there should not be any differences.
4.  Try to add the append-only attribute to /tmp/appendit by using chattr. You should see an error here. Why?
5.  As root, retry adding the append-only attribute; this time it should work.  Look at the file’s extended attributes by usinglsattr.
6.  As a normal user, try and usecatto copy over the contents of /etc/passwd to /tmp/appendit.  You should get anerror. Why?
7.  Try the same thing again as root. You should also get an error. Why?
8.  As the normal user, again use the append redirection operator (>>) and try appending the /etc/passwd file to /tmp/ appendit. This should work. Examine the resulting file to confirm.
9.  As root, set the immutable attribute on /tmp/ appendit, and look at the extended attributes again.
10.  Try appending output to /tmp/appendit, try renaming the file, creating a hard link to the file, and deleting the file as both the normal user and as root.
11.  We can remove this file by removing the extended attributes. Do so.

Solution 18.1
1.$ cd /tmp
$ touch appendit
$ ls -l appendit-rw-rw-r-- 1 coop coop 0 Oct 23 19:04 appendit

2.$ cat /etc/hosts > appendit

3.$ diff /etc/hosts appendit

4.$ chattr +a appendit
chattr: Operation not permitted while setting flags on appendit

5.$ sudo chattr +a appendit
$ lsattr appendit
-----a-------e-- appendit

6.$ cat /etc/passwd > appendit
bash: appendit: Operation not permitted

7.$ sudo su
$ cat /etc/passwd > appendit
bash: appendit: Operation not permitted
$ exit

8.$ cat /etc/passwd >> /tmp/appendit
$ cat appendit

9.$ sudo chattr +i appendit
$ lsattr appendit
----ia-------e- appendit

10.$ echo hello >> appendit
-bash: appendit: Permission denied
$ mv appendit appendit.rename
mv: cannot move`appendit'to`appendit.rename': Operation not permitted
$ ln appendit appendit.hardlink
ln: creating hard link`appendit.hardlink'=>`appendit': Operation not permitted
$ rm -f appendit
rm: cannot remove`appendit': Operation not permitted
$ sudo su
$ echo hello >> appendit
-bash: appendit: Permission denied
$ mv appendit appendit.rename
mv: cannot move`appendit'to`appendit.rename': Operation not permitted
$ ln appendit appendit.hardlink
ln: creating hard link`appendit.hardlink'=>`appendit': Operation not permitted
$ rm -f appendit
rm: cannot remove`appendit': Operation not permitted
$ exit

11.$ sudo su
$ lsattr appendit
----ia-------e- appendit
$ chattr -ia appendit
$ rm appendit
rm: remove regular file`appendit'? y
$ ls appendit
ls: cannot access appendit: No such file or directory


演習 18.2. マウントのオプション

🚩
以下のPDFドキュメントに埋め込まれた外部URLにアクセスする場合は、常に右クリックして新しいタブまたはウィンドウで開いてください。直接クリックしてURLを開こうとすると、コース ウィンドウ／タブが閉じます。

Exercise 18.2: Mounting Options

Fresh Partition or Loopback File

In this exercise you will need to either create a fresh partition, or use a loopback file. The solution will differ slightly andwe will provide details of both methods.

1.  Use fdisk to create a new 250 MB partition on your system, probably on/dev/sda. Or create a file full of zeros to useas a loopback file to simulate a new partition.
2.  Use mkfs to format a new filesystem on the partition or loopback file just created. Do this three times, changing the blocksize each time.  Note the locations of the superblocks, the number of block groups and any other pertinent information,for each case.
3.  Create  a  new  subdirectory  (say /mnt/tempdir)  and  mount  the  new  filesystem  at  this  location.   Verify  it  has  beenmounted.
4.  Unmount the new filesystem, and then remount it as read-only.
5.  Try to create a file in the mounted directory. You should get an error here, why?
6.  Unmount the filesystem again.
7.  Add a line to your /etc/fstab file so that the filesystem will be mounted at boot time.
8.  Mount the filesystem.
9.  Modify the configuration for the new filesystem so that binary files may not be executed from the filesystem (change defaults to noexec in the /mnt/tempdir entry).   Then remount the filesystem and copy an executable file (such as /bin/ls) to /mnt/tempdir and try to run it. You should get an error: why?

When you are done you will probably want to clean up by removing the entry from/etc/fstab.

Solution 18.2

Physical Partition Solution

1.  We won’t show the detailed steps infdisk, as it is all ground covered earlier.  We will assume the partition created is /dev/sda11, just to have something to show.
$ sudo fdisk /dev/sda
.....
w
$ partprobe -s
Sometimes the partprobe won’t work, and to be sure the system knows about the new partition you have to reboot.

2.$ sudo mkfs -t ext4         -v /dev/sda11
$ sudo mkfs -t ext4 -b 2048 -v /dev/sda11
$ sudo mkfs -t ext4 -b 4096 -v /dev/sda11

Note the-vflag (verbose) will give the requested information; you will see that for a small partition like this the default is1024 byte blocks.

3.$ sudo mkdir /mnt/tempdir
$ sudo mount /dev/sda11 /mnt/tempdir
$ mount | grep tempdir

4.$ sudo umount /mnt/tempdir
$ sudo mount -o ro /dev/sda11 /mnt/tempdir
If you get an error while unmounting, make sure you are not currently in the directory.

5.$ sudo touch /mnt/tempdir/afile

6.$ sudo umount /mnt/tempdir

7.  Put this line in /etc/fstab:
/dev/sda11 /mnt/tempdir ext4 defaults 1 2

8.$ sudo mount /mnt/tempdir
$ sudo mount | grep tempdir

9.  Change the line in /etc/fstab to:
/dev/sda11 /mnt/tempdir ext4 noexec 1 2
Then do:
$ sudo mount -o remount /mnt/tempdir
$ sudo cp /bin/ls /mnt/tempdir
$ /mnt/tempdir/ls
You should get an error here, why?

Loopback File Solution

1.$ sudo dd if=/dev/zero of=/imagefile bs=1M count=250

2.$ sudo mkfs -t ext4         -v
$ sudo mkfs -t ext4 -b 2048 -v /imagefile
[$ sudo mkfs -t ext4 -b 4096 -v /imagefile
You will get warned that this is a file and not a partition, just proceed.
Note the-vflag (verbose) will give the requested information; you will see that for a small partition like this the default is 1024 byte blocks.

3.$ sudo mkdir /mnt/tempdir
$ sudo mount -o loop /imagefile /mnt/tempdir
$ mount | grep tempdir

4.$ sudo umount /mnt/tempdir
$ sudo mount -o ro,loop /imagefile /mnt/tempdir
If you get an error while unmounting, make sure you are not currently in the directory.

5.$ sudo touch /mnt/tempdir/afile

6.$ sudo umount /mnt/tempdir

7.  Put this line in/etc/fstab:

in /etc/fstab
/imagefile /mnt/tempdir ext4 loop1 2

8.$ sudo mount /mnt/tempdir
$ sudo mount | grep tempdir

9.  Change the line in /etc/fstab to:
in /etc/fstab
/imagefile /mnt/tempdir ext4 loop,noexec1 2
Then do:
$ sudo mount -o remount /mnt/tempdir
$ sudo cp /bin/ls /mnt/tempdir
$ /mnt/tempdir/ls
You should get an error here, why?


知識チェック

「第18章 - ファイルシステムの機能：属性、作成、検査、マウント」を完遂しました。おめでとうございます。このクイズに答えて、これまでに学んだ概念の理解度をチェックしてください。

クイズ開始

問題18.1
inodeに保存されない情報はどれですか？

A. パーミッション
B. ユーザーとグループの所有権
C. ファイル名
D. タイム スタンプ
E. サイズ

問題18.2
ファイルシステムをフォーマットするための一般的なツールは、次のうちどれですか。

A. automount
B. ls
C. mkfs
D. mount

問題18.3
ファイルシステムをチェックして修正するための一般的なツールは、次のうちどれですか？

A. fsck
B. mkfs
C. mount

問題18.4
ファイルの拡張属性を一覧表示するツールは次のうちどれですか。

A. lsattr
B. fsck
C. mkfs
D. chattr

問題18.5
ファイルの拡張属性を変更するツールは次のうちどれですか。

A. lsattr
B. fsck
C. mkfs
D. chattr

