Linux でディスククォータが有効になっているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux システムでディスククォータが有効になっているかどうか、および設定されているかどうかを判断する方法を学びます。3 つの主要な方法を探索します。具体的には、quota コマンドを使用して現在のユーザーとグループのクォータ状態を確認する方法、/etc/fstab ファイルを調べてクォータに関連するファイルシステムのマウントオプションを検証する方法、および quotacheck コマンドを使用して特定のファイルシステムのクォータ設定を調査する方法です。この実験の終了時には、Linux 環境でディスククォータの有無と設定を効果的に確認できるようになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicSystemCommandsGroup -.-> linux/help("Command Assistance") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/FileandDirectoryManagementGroup -.-> linux/which("Command Locating") linux/FileandDirectoryManagementGroup -.-> linux/whereis("File/Command Finding") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/help -.-> lab-558787{{"Linux でディスククォータが有効になっているかどうかを確認する方法"}} linux/ls -.-> lab-558787{{"Linux でディスククォータが有効になっているかどうかを確認する方法"}} linux/cat -.-> lab-558787{{"Linux でディスククォータが有効になっているかどうかを確認する方法"}} linux/which -.-> lab-558787{{"Linux でディスククォータが有効になっているかどうかを確認する方法"}} linux/whereis -.-> lab-558787{{"Linux でディスククォータが有効になっているかどうかを確認する方法"}} linux/sudo -.-> lab-558787{{"Linux でディスククォータが有効になっているかどうかを確認する方法"}} end

quota コマンドでクォータの状態を確認する

このステップでは、quota コマンドを使用してユーザーとグループのディスククォータの状態を確認する方法を学びます。ディスククォータは、ユーザーまたはグループがファイルシステム上で使用できるディスク容量またはファイル数を制限するために使用されます。

まず、現在のユーザーのクォータ状態を確認しましょう。ターミナルが開いていない場合は、デスクトップの左側にある Xfce Terminal アイコンをクリックして開きます。

次に、以下のコマンドを入力して Enter キーを押します。

quota

ファイルシステムでクォータが有効になっていて設定されている場合、次のような出力が表示されることがあります。

Disk quotas for user labex (uid 5000):
     Filesystem  blocks   soft   hard  inodes   soft   hard
      /dev/sda1       0      0      0       0      0      0

出力を分解して説明しましょう。

  • Filesystem: クォータが適用されるファイルシステム(例:/dev/sda1)。
  • blocks: 現在のディスク使用量(通常は 1KB ブロック単位)。
  • soft: ディスク容量のソフト制限。使用量がこの制限を超えると警告が発行されます。
  • hard: ディスク容量のハード制限。使用量はこの制限を超えることができません。
  • inodes: 現在使用されているファイルの数。
  • soft: ファイル数のソフト制限。
  • hard: ファイル数のハード制限。

この場合、出力にはすべて 0 が表示されており、/dev/sda1 上の labex ユーザーには特定のクォータが設定されていないことを示しています。

また、ユーザー名を引数として指定することで、特定のユーザーのクォータ状態を確認することもできます。たとえば、root ユーザーのクォータを確認するには、次のように入力します。

quota root

root ユーザーにクォータが設定されていない場合、出力にもおそらく 0 が表示されます。

Disk quotas for user root (uid 0):
     Filesystem  blocks   soft   hard  inodes   soft   hard
      /dev/sda1       0      0      0       0      0      0

同様に、-g オプションを使用してグループ名を指定することで、グループのクォータ状態を確認することができます。たとえば、labex グループのクォータを確認するには、次のように入力します。

quota -g labex

グループクォータが設定されていない場合、再び次のような出力が表示されるでしょう。

Disk quotas for group labex (gid 5000):
     Filesystem  blocks   soft   hard  inodes   soft   hard
      /dev/sda1       0      0      0       0      0      0

quota コマンドは、クォータが有効になっている場合に現在の使用量と制限をすぐに確認する簡単な方法です。次のステップでは、ファイルシステムでクォータが有効になっているかどうかを検証する方法を探索します。

Continue をクリックして次のステップに進みます。

/etc/fstab でクォータを確認する

前のステップでは、quota コマンドを使用して現在のクォータ状態を確認しました。ただし、quota コマンドは、ファイルシステムですでにクォータが有効になっている場合にのみ情報を表示します。ファイルシステムがクォータ用に設定されているかどうかを判断するには、/etc/fstab ファイルを確認する必要があります。

/etc/fstab ファイル(ファイルシステムテーブル)は、システム上のすべてのファイルシステムに関する情報を含む設定ファイルです。このファイルは、オペレーティングシステムに起動時にファイルシステムをどのようにマウントするかを指示します。クォータオプションは、このファイルで指定されることがよくあります。

cat コマンドを使用して /etc/fstab の内容を表示します。/etc/fstab はシステムファイルであるため、アクセスに sudo が必要になる場合がありますが、通常は cat で読み取る際には不要です。

ターミナルに以下のコマンドを入力して Enter キーを押します。

cat /etc/fstab

次のような出力が表示され、ファイルシステムとそのマウントオプションが一覧表示されます。

## /etc/fstab: static file system information.
#
## Use 'blkid' to print the universally unique identifier for a
## device; this may be used with UUID= as a more robust way to name devices
## that works even if disks are added or removed. See fstab(5).
#
## <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/sda1       /               ext4    errors=remount-ro 0       1
/dev/sda2       none            swap    sw              0       0

ルートファイルシステム (/) に対応する行を探します。通常は /dev/sda1 で、/ にマウントされています。この行の <options> 列で、usrquota または grpquota のようなオプションを探します。

  • usrquota: このファイルシステムでユーザークォータが有効になっていることを示します。
  • grpquota: このファイルシステムでグループクォータが有効になっていることを示します。

上記の例の出力では、/dev/sda1 のオプションは errors=remount-ro です。これは、この設定ではユーザーおよびグループクォータがデフォルトで有効になっていないことを意味します。

クォータが有効になっている場合、行は次のようになることがあります(これは単なる例であり、現在の環境でこれが表示されることは期待しないでください)。

/dev/sda1       /               ext4    errors=remount-ro,usrquota,grpquota 0       1

/etc/fstab を調べることで、ファイルシステムがマウントされるときにクォータをサポートするように設定されているかどうかを確認できます。

Continue をクリックして次のステップに進みます。次のステップでは、quotacheck コマンドを見ていきます。

quotacheck でクォータ設定を調べる

このステップでは、quotacheck コマンドを使用します。quotacheck コマンドは、ファイルシステムのディスク使用量をスキャンし、クォータファイルを作成、チェック、修復するために使用されます。これは、クォータを設定または検証する際の重要なステップです。

quotacheck を実行する前に、このコマンドがファイルシステムをスキャンする必要があることを理解することが重要です。正確な結果を得るには、理想的にはファイルシステムをアンマウントするか、読み取り専用でマウントする必要があります。ただし、稼働中のシステムでは、ルートファイルシステム (/) をこのように操作することはしばしば実行不可能です。quotacheck はマウントされたファイルシステムでも実行できますが、警告が表示されることがあります。

私たちは LabEx 環境で作業しており、ルートファイルシステムを簡単にアンマウントすることができないため、マウントされたファイルシステムで quotacheck を実行します。

quotacheck の基本的な構文は quotacheck [options] filesystem です。以下のオプションを使用します。

  • -c: 新しいクォータファイル (aquota.useraquota.group) を作成します。
  • -u: ユーザークォータをチェックします。
  • -g: グループクォータをチェックします。
  • -v: 詳細な出力を表示し、コマンドが行っていることを示します。
  • -M: ファイルシステムを読み取り専用で再マウントしようとしません。

quotacheck はファイルシステムをスキャンし、クォータファイルを作成/変更するためにルート権限が必要なので、sudo で実行する必要があります。

ターミナルに以下のコマンドを入力して Enter キーを押します。

sudo quotacheck -cugvM /

quotacheck がファイルシステムをスキャンしていることを示す出力が表示されます。正確な出力はシステムの状態によって異なりますが、次のようになります。

quotacheck: Scanning /dev/sda1 [/] done
quotacheck: Checked 10 directories and 100 files

このコマンドは、ルートファイルシステム (/) をスキャンし、ユーザー (-u) とグループ (-g) のディスク使用量をチェックし、クォータファイルが存在しない場合は新しいクォータファイル (-c) を作成し、詳細な出力 (-v) を提供し、ファイルシステムを読み取り専用で再マウントしようとしません (-M)。

quotacheck を実行した後、/etc/fstab でファイルシステムがクォータ用に設定されており、クォータパッケージがインストールされている場合、通常はファイルシステムのルートにクォータファイル (aquota.useraquota.group) が作成または更新されます(例:/aquota.user, /aquota.group)。

ls コマンドを使用してこれらのファイルの存在を確認できます。

ls -l /aquota.*

クォータファイルが作成された場合、次のような出力が表示されることがあります(これもシステムの設定とクォータが実際に有効になっているかどうかによります)。

-rw------- 1 root root 6144 Feb 13 10:00 /aquota.group
-rw------- 1 root root 7168 Feb 13 10:00 /aquota.user

現在の LabEx 環境では、クォータが完全に設定されていないため、これらのファイルが作成されないか、サイズが 0 と表示されることがあります。重要なのは、quotacheck が実際のディスク使用量に基づいてこれらのクォータファイルのデータを生成および管理するためのツールであることを理解することです。

このステップで、クォータの状態と設定ファイルの確認に関する探索を終了します。quota を使用して現在の使用量を確認し、cat /etc/fstab を使用してクォータのマウントオプションをチェックし、quotacheck を使用してファイルシステムをスキャンし、クォータデータファイルを管理する方法を学びました。

Continue をクリックして実験を終了します。

まとめ

この実験では、Linux でディスククォータが有効になっているかどうかを確認する方法を学びました。まず、quota コマンドを使用して、ユーザーとグループのディスククォータの状態を表示し、ファイルシステム、ブロック、ブロックとイノードのソフト制限とハード制限などの出力フィールドを理解しました。現在のユーザーと root のような特定のユーザーのクォータを確認する練習を行いました。

この実験ではまた、マウントされたファイルシステムに usrquota または grpquota オプションが存在するかどうかを確認するために /etc/fstab ファイルを調べることで、クォータ設定を検証する方法を案内しました。最後に、quotacheck コマンドを使用してファイルシステムのディスク使用量をスキャンし、クォータファイルを更新する方法を学びました。これは、クォータを設定または検証する際の重要なステップです。