2 ファイル・システムの作成と管理
警告:
Oracle Linux 7は現在延長サポート中です。詳細は、Oracle Linux拡張サポートおよびOracleオープン・ソース・サポート・ポリシーを参照してください。
できるだけ早くアプリケーションとデータをOracle Linux 8またはOracle Linux 9に移行してください。
この章では、ファイル・システムの作成、マウント、チェックおよび修理方法、アクセス制御リストの構成方法、およびディスク割当ての構成と管理方法について説明します。
ファイル・システムの作成
mkfsコマンドは、ブロック・デバイス上にファイル・システムを作成します。
sudo mkfs [options] device
mkfsは、/sbin
にあるmkfs.ext4などのビルダー・ユーティリティのフロント・エンドです。-t fstypeオプションを指定したmkfsコマンドまたはビルダー・ユーティリティのいずれかを使用して、作成するファイル・システムのタイプを指定できます。たとえば、次のコマンドはいずれも、ラベルがProjects
のext4
ファイル・システムをデバイス/dev/sdb1
上に作成します。
sudo mkfs -t ext4 -L Projects /dev/sdb1 sudo mkfs.ext4 -L Projects /dev/sdb1
ファイル・システムのタイプをmakefsに指定しないと、ext2
ファイル・システムが作成されます。
ファイル・システムのタイプを表示するには、blkidコマンドを使用します。
sudo blkid /dev/sdb1
/dev/sdb1: UUID="ad8113d7-b279-4da8-b6e4-cfba045f66ff" TYPE="ext4" LABEL="Projects"
また、blkidコマンドによって、デバイスに関する情報(UUID、ラベルなど)も表示されます。
各ファイル・システム・タイプではいくつかの機能がサポートされており、それらの機能はmkfsまたはビルダー・ユーティリティに追加オプションを指定して有効または無効にできます。たとえば、-Jオプションを使用して、ext3
およびext4
ファイル・システム・タイプで使用されるジャーナルのサイズと場所を指定できます。
詳細は、blkid(8)
、mkfs(8)
およびmkfs.fstype(8)
の各マニュアル・ページを参照してください。
ファイル・システムのマウント
ファイル・システムの内容にアクセスするには、ファイル・システムのブロック・デバイスをディレクトリ階層のマウント・ポイントにアタッチする必要があります。マウント・ポイントとして使用するディレクトリを作成するには、mkdirコマンドを使用できます。たとえば:
mkdir /var/projects
既存のディレクトリをマウント・ポイントとして使用できますが、上に重ねられたファイル・システムをアンマウントするまで、その内容は表示されません。
mountコマンドは、ファイル・システムが格納されたデバイスをマウント・ポイントにアタッチします。
sudo mount [options] device mount_point
デバイスは、名前、UUIDまたはラベルで指定できます。たとえば、次のコマンドはブロック・デバイス/dev/sdb1
のファイル・システムをマウントする同等の方法です。
sudo mount /dev/sdb1 /var/projects sudo mount UUID="ad8113d7-b279-4da8-b6e4-cfba045f66ff" /var/projects sudo mount LABEL="Projects" /var/projects
mountに引数を指定しないと、現在マウントされているすべてのファイル・システムが表示されます。たとえば:
sudo mount
/dev/mapper/vg_host01-lv_root on / type ext4 (rw) ...
この例では、LVM論理ボリューム/dev/mapper/vg_host01-lv_root
が/
にマウントされています。ファイル・システム・タイプはext4
で、読取り/書込み両用としてマウントされています。(マウントされたファイル・システムに関する情報は、コマンドcat /proc/mountsを使用して表示することもできます。)
dfコマンドでは、マウントされたファイル・システムの残りの領域に関する情報が表示されます。たとえば:
sudo df -h
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_host01-lv_root 36G 12G 22G 36% / ...
mountコマンドに-B (バインド)オプションを使用して、複数のマウント・ポイントにブロック・デバイスをアタッチできます。完全なファイル・システムではない、ある場所のディレクトリ階層の一部を再マウントすることもできます。たとえば、次のコマンドは/var/projects/project1
を/mnt
にマウントします。
sudo mount -B /var/projects/project1 /mnt
各ディレクトリ階層は、他のミラーとして機能します。同じファイルはどちらの場所でもアクセスできますが、サブマウントはレプリケートされません。これらのミラーではデータ冗長性は提供されません。
ファイルを別のファイルに重ねてマウントすることもできます。たとえば:
touch /mnt/foo mount -B /etc/hosts /mnt/foo
この例では、/etc/hosts
と/mnt/foo
は同じファイルを表します。マウント・ポイントとして機能する既存のファイルは、重ねられたファイルをアンマウントするまでアクセスできません。
-Bオプションは、ディレクトリ階層の下位にサブマウントを再帰的にアタッチしません。ミラーにサブマウントを挿入するには、かわりに-R (再帰バインド)オプションを使用します。
-Bまたは-Rを使用すると、ファイル・システムのmountのオプションは、元のマウント・ポイントのオプションと同じままになります。mountのオプションを変更するには、個別のremountコマンドを使用します。たとえば:
sudo mount -o remount,ro /mnt/foo
マウント・ポイントの下のサブマウントを、共有、プライベートまたはセカンダリ(スレーブ)としてマークできます。
- mount --make-shared mount_point
-
指定のマウント・ポイントの下位でのマウントまたはアンマウントは、作成したあらゆるミラーに伝播され、他のミラーに適用したマウントまたはアンマウントの変更も、このマウント階層に反映されます。
- mount --make-private mount_point
-
指定のマウント・ポイントの下位でのマウントまたはアンマウントは、他のミラーには伝播されず、他のミラーに適用したマウントまたはアンマウントの変更も、このマウント階層には反映されません。
- mount --make-slave mount_point
-
指定のマウント・ポイントの下位でのマウントまたはアンマウントは、他のミラーには伝播されませんが、他のミラーに適用したマウントまたはアンマウントの変更は、このマウント階層に反映されます。
-Bまたは-Rオプションの使用によるマウントのミラーリングを回避するには、そのマウント・ポイントをバインド不可(unbindable)としてマークします。
sudo mount --make-unbindable mount_point
マウントされたファイル・システム、ディレクトリ階層またはファイルをマウント・ポイント間で移動するには、-Mオプションを使用します。たとえば:
touch /mnt/foo mount -M /mnt/foo /mnt/bar
ファイル・システムをアンマウントするには、umountコマンドを使用します。たとえば:
sudo umount /var/projects
別の方法として、単一のマウント・ポイントにのみマウントされている場合は、ブロック・デバイスを指定できます。
詳細は、mount(8)
およびumount(8)
の各マニュアル・ページを参照してください。
マウント・オプションについて
mountの動作を変更するには、-oフラグの後にカンマ区切りのオプションのリストを使用するか、/etc/fstab
ファイルにオプションを指定します。次に、使用可能ないくつかのオプションを示します。
-
auto
-
mount -aコマンドを使用することで、ファイル・システムの自動マウントを許可します。
-
exec
-
ファイル・システムに配置されたバイナリ・ファイルの実行を許可します。
-
loop
-
ループ・デバイス(
/dev/loop*
)を使用して、ファイル・システム・イメージが格納されたファイルをマウントします。ファイル・システムのイメージを含むファイルのマウント、ファイルでのファイル・システムの作成およびlosetup(8)
マニュアル・ページを参照してください。ノート:
使用可能なループ・デバイス数のデフォルトは8です。カーネル・ブート・パラメータ
max_loop=N
を使用して、最大255のデバイスを構成できます。別の方法としては、次のエントリを/etc/modprobe.conf
に追加します。options loop max_loop=N
前の例では、Nは、必要なループ・デバイスの数(0から255)です。その後、システムを再起動します。
-
noauto
-
mount -aを使用したファイル・システムの自動マウントを禁止します。
-
noexec
-
ファイル・システムに配置されたバイナリ・ファイルの実行を禁止します。
-
nouser
-
root
以外のユーザーによるファイル・システムのマウントまたはアンマウントを禁止します。 -
remount
-
ファイル・システムがすでにマウント済の場合に再マウントします。多くの場合、このオプションを
ro
やrw
などの別のオプションと組み合せて、マウント済のファイル・システムの動作を変更します。 -
ro
-
ファイル・システムを読取り専用でマウントします。
-
rw
-
ファイル・システムを読取り/書込み用でマウントします。
-
user
-
任意のユーザーによるファイル・システムのマウントまたはアンマウントを許可します。
たとえば、/dev/sdd1
を読取り専用アクセスおよびファイル・システムのマウントまたはアンマウントが許可されたルートのみで/test
にマウントします:
sudo mount -o nouser,ro /dev/sdd1 /test
ループ・ドライブを使用して読取り専用アクセスでISOイメージ・ファイルを/mount/cdrom
にマウントします。
sudo mount -o ro,loop ./OracleLinux-R6-U1-Server-x86_64-dvd.iso /media/cdrom
/test
ファイル・システムを読取り/書込みアクセスで再マウントしますが、ファイル・システムに配置されたバイナリ・ファイルの実行は許可しません。
sudo mount -o remount,rw,noexec /test
ファイル・システムのマウント表について
/etc/fstab
ファイルにはファイル・システムのマウント表があり、mountコマンドによるブロック・デバイスのマウントまたはマウントのバインディングの実装に必要なすべての情報が提供されます。ファイル・システムを追加する場合は、ブート時にそのファイル・システムが確実にマウントされるように/etc/fstab
に適切なエントリを作成します。次に、/etc/fstab
のエントリのサンプルを示します。
/dev/sda1 /boot ext4 defaults 1 2 /dev/sda2 / ext4 defaults 1 1 /dev/sda3 swap swap defaults 0 0
最初のフィールドは、デバイス名、UUIDまたはデバイス・ラベルで指定するマウント対象デバイス、またはリモート・ファイル・システムの仕様です。デバイス名が変わる可能性がある場合は、デバイス名ではなくUUIDまたはデバイス・ラベルを使用してください。たとえば:
LABEL=Projects /var/projects ext4 defaults 1 2
2番目のフィールドは、ファイル・システムのマウント・ポイントまたはスワップ・パーティションを示すswap
です。
3番目のフィールドは、ファイル・システム・タイプ(例:, ext4
またはswap
)です。
4番目のフィールドにはマウント・オプションを指定します。
5番目の列はdumpコマンドに使用されます。1の値はファイル・システムをダンプし、0の値はファイル・システムのダンプが必要ないことを意味します。
6番目の列は、ブート時のファイル・システム・チェックの実行順序を判断するためにファイル・システム・チェッカfsckによって使用されます。rootファイル・システムには1、その他のファイル・システムには2の値を指定します。0の値はチェックをスキップし、スワップ用、ブート時にマウントされないファイル・システム、または既存のマウントのバインドに使用します。
バインド・マウントの場合は、先頭から4個のフィールドのみを指定します。たとえば:
pathmount_point none bind
最初のフィールドには、2番目のフィールドで指定するマウント・ポイントにマウントするファイル・システム、ディレクトリ階層またはファイルのパスを指定します。マウント・ポイントは、パスがファイルを示す場合はファイル、その他の場合はディレクトリになります。3番目と4番目のフィールドには、none
およびbind
を指定します。
詳細は、fstab(5)
マニュアル・ページを参照してください。
自動マウンタの構成
自動マウンタは、そのマウントに対して常に接続を維持するのではなく、ファイル・システムがアクセスされるときにそのファイル・システムをマウントします。一定期間を超えてファイル・システムが非アクティブになると、そのファイル・システムは自動マウンタによってアンマウントされます。自動マウントを使用することで、システム・リソースが解放され、システム・パフォーマンスが向上します。
自動マウンタは、autofs
カーネル・モジュールとautomount
ユーザー空間デーモンの2つのコンポーネントで構成されます。
自動マウントを使用するようにシステムを構成するには:
-
autofs
パッケージ、およびリモート・ファイル・システムのサポートに必要なその他のパッケージをインストールします。sudo yum install autofs
-
/etc/auto.master
構成ファイルを編集し、マップのエントリを定義します。各マップ・エントリには、マウント・ポイントと、マウントされるリモート・ファイル・システムの定義が格納されたマップ・ファイルを指定します。たとえば:/- /etc/auto.direct /misc /etc/auto.misc /net -hosts
/-
、/misc
および/net
エントリは、それぞれ直接マップ、間接マップおよびホスト・マップの例です。直接マップのエントリには、マウント・ポイントとして常に/-
を指定します。ホスト・マップには、マップ・ファイルのかわりに常に-hosts
のキーワードを指定します。直接マップには、指定された絶対パスで自動マウントされるディレクトリの定義が含まれます。この例の
auto.direct
マップ・ファイルには、次のようなエントリが格納されます。/usr/man -fstype=nfs,ro,soft host01:/usr/man
このエントリは、オプション
ro
およびsoft
を使用してhost01
がエクスポートしたファイル・システム/usr/man
をマウントし、/usr/man
マウント・ポイントが存在しない場合は作成します。マウント・ポイントがすでに存在する場合、マウントしたファイル・システムに含まれている既存のファイルは非表示になります。ファイル・システムのデフォルト・タイプはNFSであるため、前述の例は次のように短くできます。
/usr/man -ro,soft host01:/usr/man
間接マップには、
/etc/auto.master
で指定されたマウント・ポイント(/misc
)から相対的に自動マウントされるディレクトリの定義(キー)が含まれます。この例の/etc/auto.misc
マップ・ファイルには、次のようなエントリが格納されます。xyz -ro,soft host01:/xyz cd -fstype=iso9600,ro,nosuid,nodev :/dev/cdrom abc -fstype=ext3 :/dev/hda1 fenetres -fstype=cifs,credentials=credfile ://fenetres/c
/misc
ディレクトリはすでに存在している必要がありますが、xyz
、cd
などのキーが存在しない場合は、それらに対するマウント・ポイントが自動マウンタにより作成され、ファイル・システムのアンマウント時に削除されます。たとえば、ls /misc/xyzなどのコマンドを入力すると、host01
がエクスポートした/xyz
ディレクトリが/misc/xyz
としてマウントされます。cd
およびabc
のエントリにより、ローカル・ファイル・システムがマウント(CD-ROMドライブのISOイメージが/misc/cd
に、/dev/hda1
のext3ファイル・システムが/misc/abc
に)されます。fenetres
エントリにより、Samba共有が/misc/fenetres
としてマウントされます。ホスト・マップ・エントリが存在し、コマンドによって、マウント・ポイント(
/net
)から相対的にNFSサーバーが名前で参照される場合、サーバーがエクスポートしたすべてのディレクトリは、そのサーバーの名前が付いたマウント・ポイントのサブディレクトリの下にマウントされます。たとえば、コマンドcd /net/host03では、自動マウンタによって、host03
からのすべてのエクスポートが、/net/host03
ディレクトリの下にマウントされます。デフォルトでは、ホスト・マップ・エントリでオプションをオーバーライドしないかぎり、nosuid,nodev,intr
のマウント・オプションが使用されます。たとえば:/net -hosts -suid,dev,nointr
ノート:
NFSサーバーの名前は、DNSまたは
/etc/hosts
ファイルのIPアドレスに解決できる必要があります。NIS、NIS+およびLDAPでのマップの使用方法などの詳細は、
hosts.master(5)
マニュアル・ページを参照してください。 -
autofs
サービスを開始し、システムの再起動後にサービスが開始するように構成します。sudo systemctl stat autofs sudo systemctl enable autofs
/etc/sysconfig/autofs
のautofs
には、ファイル・システムを自動的にアンマウントするアイドル・タイムアウト値など、様々な設定を構成できます。
/etc/auto.master
または/etc/sysconfig/autofs
を変更した場合は、autofs
サービスを再起動してこれらのファイルが再度読み取られるようにします。
sudo systemctl restart autofs
詳細は、automount(8)
、autofs(5)
およびauto.master(5)
の各マニュアル・ページを参照してください。
ファイル・システムのイメージを含むファイルのマウント
/ISO
にマウントするには、次のようにします。
sudo mount -t iso9660 -o ro,loop /var/ISO_files/V33411-01.iso /ISO
必要に応じて、ファイル・システムの永続エントリを/etc/fstab
に作成します。
/var/ISO_files/V33411-01.iso /ISO iso9660 ro,loop 0 0
ファイルでのファイル・システムの作成
別のファイル・システム内のファイルにファイル・システムを作成するには:
-
必要なサイズの空のファイルを作成します。たとえば:
sudo dd if=/dev/zero of=/fsfile bs=1024 count=1000000
1000000+0 records in 1000000+0 records out 1024000000 bytes (1.0 GB) copied, 8.44173 s, 121 MB/s
-
ファイルにファイル・システムを作成します。
sudo mkfs.ext4 -F /fsfile
mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 62592 inodes, 250000 blocks 12500 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=260046848 8 block groups 32768 blocks per group, 32768 fragments per group 7824 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
-
ループ・デバイスを使用して、ファイルをファイル・システムとしてマウントします。
sudo mount -o loop /fsfile /mnt
ファイルが通常のファイル・システムとして表示されます。
sudo mount
... /fsfile on /mnt type ext4 (rw,loop=/dev/loop0) # df -h Filesystem Size Used Avail Use% Mounted on ... /fsfile 962M 18M 896M 2% /mnt
必要に応じて、ファイル・システムの永続エントリを
/etc/fstab
に作成します。/fsfile /mnt ext4 rw,loop 0 0
ファイル・システムのチェックおよび修復
fsckユーティリティは、ファイル・システムをチェックして修復します。/
(ルート)および/boot
以外のファイル・システムには、mountの実行時に、マウントが特定の回数を超えたか、チェックを実行せずに180日を経過したかを確認するファイル・システム・チェックが起動されます。ファイル・システムが数か月間チェックされていない場合は、fsckを手動で実行できます。
注意:
マウントしたファイル・システムに対してfsckを実行すると、ファイル・システムが破損し、データが消失する可能性があります。
ファイル・システムをチェックして修復するには:
-
ファイル・システムをアンマウントします。
sudo umount filesystem
-
fsckコマンドを使用して、ファイル・システムをチェックします。
sudo fsck [-y] filesystem
filesystemは、デバイス名、マウント・ポイント、またはラベルまたはUUID指定子です。たとえば:
sudo fsck UUID=ad8113d7-b279-4da8-b6e4-cfba045f66ff
fsckでは、デフォルトの場合、提示された修復をファイル・システムに適用するかどうかを選択するプロンプトが表示されます。-yオプションを指定すると、fsckでは、それらのすべての質問がyesレスポンスとみなされます。
ext2
、ext3
およびext4
のファイル・システム・タイプでは、ファイル・システム・メンテナンスの実行に必要なその他のコマンドとして、dumpe2fsおよびdebugfsが含まれます。dumpe2fsは、指定したデバイス上のファイル・システムのスーパー・ブロックおよびブロック・グループ情報を出力します。debugfsは、ファイル・システム・アーキテクチャの専門的な知識を必要とする対話型のファイル・システム・デバッガです。ほとんどのファイル・システム・タイプには、専門的な知識を必要とする類似のコマンドがあります。
詳細は、fsck(8)
マニュアル・ページを参照してください。
ファイル・システム・チェックの頻度の変更
ファイル・システムの整合性を自動的にチェックするまでのマウント回数を変更するには:
sudo tune2fs -c mount_count device
前の例では、deviceはファイル・システムに対応するブロック・デバイスを指定します。
0または-1のmount_countは、マウント回数に基づく自動チェックを無効にします。
ヒント:
ファイル・システムごとにmount_countに異なる値を指定すると、ファイル・システムのすべてが同時にチェックされる可能性が低くなります。
ファイル・システム・チェックの最大間隔を指定するには:
sudo tune2fs -i interval[unit] device
unitはd、wまたはmで、日数、週数または月数を示します。デフォルトの単位はd (日数)です。0のintervalは、前回のチェック以降に経過した時間に基づくチェックを無効にします。間隔を超えたとしても、次回マウントされるまでファイル・システムはチェックされません。
詳細は、tune2fs(8)
マニュアル・ページを参照してください。
アクセス制御リストについて
POSIXアクセス制御リスト(ACL)は、所有者、グループおよび他のすべてのシステム・ユーザーの読取り、書込み、実行権限を設定する従来のUNIX任意アクセス制御(DAC)よりも豊富なアクセス制御モデルを提供します。複数のユーザーまたはグループのアクセス権を定義し、プログラム、プロセス、ファイル、ディレクトリの権限を指定するACLを構成できます。ディレクトリにデフォルトのACLを設定すると、その子孫が同じ権限を自動的に継承します。ACLは、btrfs、ext3、ext4、OCFS2およびXFSファイル・システムで、およびマウントされたNFSファイル・システムで使用できます。
ACLは、ACLが関連付けられているファイルまたはディレクトリに対して、特定のユーザーまたはグループがどのようにアクセスできるかを指定する一連のルールで構成されます。通常のACLエントリは、単一のファイルまたはディレクトリついてアクセス情報を指定します。デフォルトのACLエントリはディレクトリに対してのみ設定され、アクセスACLがないディレクトリ内のファイルに対してデフォルトのアクセス情報を指定します。
ACLサポートの構成
ACLサポートを有効にするには:
-
acl
パッケージをインストールします。sudo yum install acl
-
/etc/fstab
を編集してACLを使用するファイル・システムのエントリを変更し、ACLをサポートする適切なオプションを挿入します。たとえば:LABEL=/work /work ext4 acl 0 0
マウントされたSamba共有には、
acl
のかわりにcifsacl
オプションを使用します。 -
ファイル・システムを再マウントします。たとえば:
sudo mount -o remount /work
ACLの設定および表示
ファイルに対するACLルールを追加または変更するには、setfaclコマンドを使用します。
sudo setfacl -m rules file ...
ルールは次の形式をとります。
- [d:]u: user[: permissions]
-
名前またはユーザーIDで指定されたユーザーのアクセスACLを設定します。ユーザーの指定がない場合、権限は所有者に適用されます。
- [d:]g: group[: permissions]
-
名前またはグループIDで指定されたグループのアクセスACLを設定します。グループの指定がない場合、権限は所有グループに適用されます。
- [d:]m[:][: permissions]
-
所有グループのすべての権限とユーザーおよびグループのエントリすべてを結合した、有効な権限マスクを設定します。
- [d:]o[:][: permissions]
-
その他(他のいずれのルールも適用されない全員)のアクセスACLを設定します。
権限は、chmodで使用されるように、読取り、書込みおよび実行を示すr
、w
およびx
です。
d:接頭辞を使用して、ディレクトリのデフォルトACLにルールを適用します。
ファイルのACLを表示するには、getfaclコマンドを使用します。たとえば:
sudo getfacl foofile
# file: foofile # owner: bob # group: bob user::rw- user::fiona:r-- user::jack:rw- user::jill:rw- group::r-- mask::r-- other::r--
拡張ACLがファイルに対してアクティブな場合は、lsに-lオプションを使用すると、権限の後にプラス記号(+
)が表示されます。次に例を示します。
ls -l foofile
-rw-r--r--+ 1 bob bob 105322 Apr 11 11:02 foofile
次に、ディレクトリおよびファイルのACLを設定および表示する例を示します。
sudo setfacl -m u:user:r file
sudo getfacl file
sudo setfacl -m m::rx file
-xオプションは、ユーザーまたはグループのルールを削除します。
sudo setfacl -x u:user file
sudo setfacl -x g:group file
-bオプションは、ファイルまたはディレクトリから拡張ACLエントリをすべて削除します。
sudo setfacl -b file
sudo getfacl f1 | setfacl --set-file=- f2
ディレクトリのその他に対して読取りおよび実行アクセスのデフォルトのACLを設定します。
sudo setfacl -m d:o:rx directory
sudo getfacl --access directory | setfacl -d -M- directory
-kオプションは、ディレクトリからデフォルトのACLを削除します。
sudo setfacl -k directory
詳細は、acl(5)
、setfacl(1)
およびgetfacl(1)
の各マニュアル・ページを参照してください。
ディスク割当てについて
ノート:
XFSファイル・システムに対する割当ての構成方法の詳細は、XFSファイル・システム上での割当て設定を参照してください。
ユーザーまたはグループが使用できるディスク領域(blocks)や、ユーザーまたはグループが作成できるファイル数(inode)を制限したり、使用量が指定した制限に達したときに通知を送信するには、ディスク割当てを設定します。強い制限では、ファイル・システム上でユーザーまたはグループが使用できるブロックまたはinodeの最大数を指定します。ユーザーまたはグループは、猶予期間として知られる、期間に対する弱い制限を超過できます。
ファイル・システムでのディスク割当ての有効化
ファイル・システム上のユーザーまたはグループのディスク割当てを有効にするには:
-
quotaパッケージをインストールまたは更新します。
sudo yum install quota
-
ファイル・システムの
/etc/fstab
エントリに、usrquota
またはgrpquota
オプションを挿入します。たとえば:/dev/sdb1 /home ext4 usrquota,grpquota 0 0
-
ファイル・システムを再マウントします。
sudo mount -o remount /home
-
割当てデータベース・ファイルを作成します。
sudo quotacheck -cug /home
このコマンドにより、ファイル・システムのルート(この例では
/home
)にファイルaquota.user
およびaquota.group
が作成されます。
詳細は、quotacheck(8)
マニュアル・ページを参照してください。
ユーザーおよびグループへのディスク割当ての割当て
ユーザーに対するディスク割当てを構成するには:
-
ユーザーの場合は、次のコマンドを入力します。
sudo edquota username
グループの場合は、次のコマンドを入力します。
sudo edquota -g group
このコマンドは、環境変数
EDITOR
で定義されたデフォルトのエディタでテキスト・ファイルを開き、ユーザーまたはグループに対する制限を指定できます。次に例を示します。Disk quotas for user guest (uid 501) Filesystem blocks soft hard inodes soft hard /dev/sdb1 10325 0 0 1054 0 0
blocks
およびinodes
のエントリには、ファイル・システムにおけるユーザーの現在の使用量が表示されます。ヒント:
制限を0に設定すると、
blocks
またはinodes
カテゴリに対応する割当てチェックおよび強制が無効になります。 -
ブロック数およびinode数に対する弱い制限および強い制限を編集し、ファイルを保存して閉じます。
別の方法として、setquotaコマンドを使用してコマンドラインから割当て制限を構成できます。-pオプションを使用して、あるユーザーまたはグループから別のユーザーまたはグループに割当て設定を適用できます。
詳細は、edquota(8)
およびsetquota(8)
の各マニュアル・ページを参照してください。
猶予期間の設定
弱い制限の猶予期間を構成するには:
-
次のコマンドを入力します。
sudo edquota -t
このコマンドは、環境変数
EDITOR
で定義されたデフォルトのエディタでテキスト・ファイルを開き、猶予期間を指定できます。次に例を示します。Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/sdb1 7days 7days
-
ブロック数およびinode数に対する弱い制限の猶予期間を編集し、ファイルを保存して閉じます。
詳細は、edquota(8)
マニュアル・ページを参照してください。
ディスク割当ての表示
ユーザーのディスク使用量を表示するには:
sudo quota username
グループのディスク使用量を表示するには:
sudo quota -g group
使用量が割当て限度を超えるファイル・システムに関する情報を表示するには:
sudo quota -q
quotaコマンドを使用して、ユーザー自身および自分のグループの使用量を表示することもできます。
詳細は、quota(1)
マニュアル・ページを参照してください。
ディスク割当ての有効化および無効化
特定のファイル・システムのすべてのユーザー、グループのディスク割当てを無効にするには、次のようにします。
sudo quotaoff -guv filesystem
すべてのユーザー、グループおよびファイル・システムのディスク割当てを無効にするには、次のようにします。
sudo quotaoff -aguv
すべてのユーザー、グループおよびファイル・システムのディスク割当てを再度有効にするには、次のようにします。
sudo quotaon -aguv
詳細は、quotaon(1)
マニュアル・ページを参照してください。
ディスク割当て使用量のレポート
単一のファイル・システムのディスク割当て使用量を表示するには:
sudo repquota filesystem
すべてのファイル・システムのディスク割当て使用量を表示するには:
sudo repquota -a
詳細は、repquota(8)
マニュアル・ページを参照してください。
ディスク割当てレポートの精度の保持
制御不能なシステム停止によって、ディスク割当てレポートが正確でなくなる可能性があります。
ファイル・システムの割当てデータベースを再構築するには:
-
ファイル・システムのディスク割当てを無効にします。
sudo quotaoff -guv filesystem
-
ファイル・システムをアンマウントします。
sudo umountfilesystem
-
次のコマンドを入力して、割当てデータベースを再構築します。
sudo quotacheck -guv filesystem
-
ファイル・システムをマウントします。
sudo mount filesystem
-
ファイル・システムのディスク割当てを有効にします。
sudo quotaoff -guv filesystem
詳細は、quotacheck(8)
マニュアル・ページを参照してください。