日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
QUOTACTL(2) FreeBSD システムコールマニュアル QUOTACTL(2)
名称
quotactl -- ファイルシステムのクォータを操作する
ライブラリ
標準 C ライブラリ (libc, -lc)
書式
#include <sys/types.h>
#include <ufs/ufs/quota.h>
int
quotactl(const char *path, int cmd, int id, void *addr);
解説
quotactl() システムコールは、ファイルシステムのクォータを有効にし、無効に
し、そして、操作します。訳注: クォータは、ユーザまたはグループごとのディ
スクの使用量を割り当て制限するものです。cmd によって与えられたクォータ制
御コマンドは、与えられたユーザまたはグループ id のための与えられたファイ
ル名 path で動作します。(注: cmd のための値を明確化するために
<ufs/ufs/quota.h> で定義された QCMD マクロを使用するべきです。) オプショ
ンのコマンド特有のデータ構造体 addr のアドレスが、与えられます。その解釈
は、以下の各コマンドで議論されます。
id 識別子を使用するコマンドについて、-1 またはあらゆる正の値のいずれかで
なければなりません。-1 の値は、現在の UID または GID が使用されるべきであ
ることを示します。あらゆる他の負の値は、エラーを返します。
現在、クォータは、``ufs'' ファイルシステムについてのみサポートされていま
す。``ufs'' について、コマンドは、id を解釈するために使用される主要なコマ
ンド (以下参照) とコマンドタイプから成っています。タイプは、ユーザ識別子
(USRQUOTA) とグループ識別子 (GRPQUOTA) の解釈のためにサポートされていま
す。``ufs'' 特有のコマンドは、次の通りです:
Q_QUOTAON path によって指定されたファイルシステムのためのディスク
のクォータを有効にします。コマンドタイプは、有効にされて
いるクォータのタイプを指定します。addr 引数は、クォータ
を取るファイルを指定します。クォータのファイルは、存在し
なければなりません。それは、通常、quotacheck(8) プログラ
ムで作成されます。id 引数は、未使用です。スーパユーザだ
けがクォータをオンに切り替えることができます。
Q_QUOTAOFF path によって指定されたファイルシステムのためのディスク
のクォータを無効にします。コマンドのタイプは、無効にされ
ているクォータのタイプを指定します。addr と id 引数は、
未使用です。スーパユーザだけがクォータをオフに切り替える
ことができます。
Q_GETQUOTASIZE (コマンドタイプによって決定されるように) ユーザまたはグ
ループのためのクォータを表すために使用されるワードサイズ
を取得します。指定できる値は、古いスタイルのクォータの
ファイルに対して 32 と新しいスタイルのクォータのファイル
に対して 64 です。addr 引数は、サイズが格納される整数へ
のポインタです。識別子 id は、使用されません。
Q_GETQUOTA 識別子 id で (コマンドタイプによって決定されるような)
ユーザまたはグループのためのディスクのクォータの制限と現
在の使用量を取得します。addr 引数は、(<ufs/ufs/quota.h>
で定義される) struct dqblk 構造体へのポインタです。
Q_SETQUOTA 識別子 id で (コマンドタイプによって決定されるような)
ユーザまたはグループのためのディスクのクォータの制限を設
定します。addr 引数は、(<ufs/ufs/quota.h> で定義される)
struct dqblk 構造体へのポインタです。dqblk 構造体の使用
法 (usage) フィールドは、無視されます。このシステムコー
ルは、スーパユーザに制限されます。
Q_SETUSE 識別子 id で (コマンドタイプによって決定されるような)
ユーザまたはグループのためのディスクの使用量の制限を設定
します。addr 引数は、(<ufs/ufs/quota.h> で定義される)
struct dqblk 構造体へのポインタです。使用法 (usage)
フィールドだけが使用されます。このシステムコールは、スー
パユーザに制限されます。
Q_SYNC クォータの使用量のディスク上のコピーを更新します。コマン
ドのタイプは、クォータのタイプが更新されることを指定しま
す。id と addr 引数は、無視されます。
戻り値
関数 quotactl() は、処理が成功すると値 0 を返します。そうでない場合、値
-1 が返され、グローバル変数 errno にエラーを示す値が設定されます。
エラー
quotactl() システムコールは、次の場合に失敗します:
[EOPNOTSUPP] カーネルには、QUOTA オプションでコンパイルされませんで
した。
[EUSERS] クォータのテーブルが、拡張できません。
[EINVAL] cmd 引数またはコマンドのタイプは、無効です。
Q_GETQUOTASIZE, Q_GETQUOTA, Q_SETQUOTA と Q_SETUSE
で、クォータが、現在、このファイルシステムのために有効
にされていません。
Q_GETQUOTA, Q_SETQUOTA または Q_SETUSE への id 引数
が、負の値です。
[EACCES] Q_QUOTAON で、クォータのファイルが、プレーンファイルで
はありません。
[EACCES] 検索パーミッションが、パス接頭辞の構成要素のために拒否
されます。
[ENOTDIR] パス接頭辞の構成要素が、ディレクトリではありませんでし
た。
[ENAMETOOLONG] パス名の構成要素が 255 文字を越えているか、または、全
体のパス名が 1023 文字を越えています。
[ENOENT] ファイル名が、存在しません。
[ELOOP] パス名を変換で、あまりにも多くのシンボリックリンクに遭
遇しました。
[EROFS] Q_QUOTAON で、クォータが有効にされているファイルシステ
ムは、読み込み専用でマウントされているか、または、
クォータのファイルが、読み込み専用のファイルシステムに
あります。
[EIO] クォータを含んでいるファイルから読み込むか、または書き
込んでいる間に I/O エラーが、起こりました。
[EINTEGRITY] 破損したデータが、ファイルシステムから読み込む間に検出
されました。
[EFAULT] 無効の addr が、供給されました。関連した構造体が、カー
ネルにコピーされなかったか、またはカーネルからコピーで
きませんでした。
[EFAULT] path 引数が、プロセスの割り付けられたアドレス空間の外
側を指しています。
[EPERM] 呼び出しが、特権を与えられて、呼び出し側が、スーパユー
ザではありませんでした。
関連項目
quota(1), fstab(5), edquota(8), quotacheck(8), quotaon(8), repquota(8)
歴史
quotactl() システムコールは、4.3BSD-Reno で登場しました。
バグ
setrlimit(2) と getrlimit(2) によって提供されたリソース制限のインタフェー
スで、この呼び出しを統合するためのいくつかの方法があるべきです。
FreeBSD 13.2 March 30, 2020 FreeBSD 13.2