File_Fstab_Entry クラスは Fstab ファイルの特定のエントリから得られる情報を表します。
エントリは多くのプロパティを保持しており、それぞれが fstab ファイルの情報を表しています。
このエントリのブロックデバイスへのパスです。 $device、$uuid および $label は互いに排他的で、 3 つのうちのひとつだけが設定されます。
デバイスの UUID です。
このデバイスのラベルです。
このデバイスがマウントされているディレクトリです。
$device 上のファイルシステムの形式です。
このデバイスのマウントオプションの配列です。
dump によるバックアップをする場合の 頻度です。
システムの起動時に fsck による チェックを行う場合の順序です。
これらの項目の意味についての詳細な情報は、fstab(5) のマニュアルを参照ください。
fstab からエントリを検索するには、さまざまな方法があります。 デバイスで検索したり、あるいはマウントポイントやファイルシステム ラベルや UUID で検索することもあるでしょう。
デバイスによる検索を行うには、getEntryForDevice() 関数を使用します。この関数は、対象となるエントリのブロックデバイス へのパスを引数として受け取ります。
デバイスからエントリを取得する
<?php
require_once 'File/Fstab.php';
$fstab =& new File_Fstab();
$dev =& $fstab->getEntryForDevice('/dev/hda1');
if (PEAR::isError($dev)) {
die($dev->getMessage());
}
?>
それがマウントされているパスから、デバイスを検索したいことも あるでしょう。たとえば /cdrom にマウント されているデバイスが何かを知りたくて、それが /dev/hdb なのか /dev/cdrom なのか、あるいはそれ以外の デバイスなのかはどうでもいいといった場合が考えられます。 この検索のするには、getEntryForPath() 関数を 使用します。
パスからエントリを取得する
<?php
require_once 'File/Fstab.php';
$fstab =& new File_Fstab();
$dev =& $fstab->getEntryForPath('/cdrom');
if (PEAR::isError($dev)) {
die($dev->getMessage());
}
?>
マウントするデバイスを指定するために、そのファイルシステム UUID を使用するシステムも存在します。 UUID は b46ad2ee-01f3-4041-96ca-91d35d059417 のような 形式です。これを扱うには、getEntryForUUID() 関数を使用します。
UUID からエントリを取得する
<?php
require_once 'File/Fstab.php';
$fstab =& new File_Fstab();
$dev =& $fstab->getEntryForUUID('b46ad2ee-01f3-4041-96ca-91d35d059417');
if (PEAR::isError($dev)) {
die($dev->getMessage());
}
?>
ファイルシステムに対して、テキストのラベルを指定することを許可している ファイルシステムも存在します。たとえば、ルートデバイスに rootdev というラベルを指定し、/home にマウントするデバイスには homedirs というラベルを 指定し、といったようにすすめていくことができます。 File_Fstab は、デバイスのラベルに基づいて エントリを取得する機能をサポートしています。これを実行するには getEntryForLabel() 関数を使用します。
ラベルからエントリを取得する
<?php
require_once 'File/Fstab.php';
$fstab =& new File_Fstab();
$dev =& $fstab->getEntryForLabel('homedirs');
if (PEAR::isError($dev)) {
die($dev->getMessage());
}
?>
fstab ファイルの読み込みに加えて、それを変更することもできます。
フロッピーディスク用のエントリを追加する
<?php
require_once 'File/Fstab.php';
$fstab =& new File_Fstab();
$floppy =& new File_Fstab_Entry();
$floppy->fsType = 'vfat';
$floppy->device = '/dev/fd0';
$floppy->mountPoint = '/floppy';
$fstab->addEntry($floppy);
?>
NPO法人とはという基本的内容から実際のNPO法人設立まで広くお手伝いいたします。これからNPO法人をお考えの方はオススメ。NPO法人とはNon Profit Organizationの略であり、特定非営利活動法人を指します。法人なので当然に登記され、独立した人格として活動ができるようになります。