JF Linux Kernel 2.2 Documentation: /usr/src/linux/Documentation/filesystems/umsdos.txt

filesystems/umsdos.txt

msdos ファイルシステムの umsdos 拡張の情報 [プレインテキスト版]


始めに、UMSDOS は大幅なコード変更をしている最中であり、既知の (そして
未知の :-) バグがたくさんあることを、言わせてください。現在の状況につ
いては fs/umsdos/README-WIP.txt を読んでください。多謝。
----------------------------------------------------------------------
気短な人への非常に短い説明!

umsdos は MSDOS ファイルシステムドライバの上で実行するファイルシステム
ドライバです。umsdos は Jacques Gelinas (jacques@solucorp.qc.ca) によっ
て書かれ、現在は Matija Nalis (mnalis@jagor.srce.hr) によって管理され
ています。

umsdos はそれ自体ファイルシステムではありませんが、退屈なものを有用な
ものにする工夫です。

次の機能を追加します。

        長いファイル名
        パーミッションと所有者
        リンク
        特殊ファイル (デバイス、パイプ等)
        Linux の root ファイルシステムにするために必要なすべて

ソースの中に資料がたくさんあります。それらのコメントを元にフォーマット
された文書は
sunsite.unc.edu:/pub/Linux/system/Filesystems/umsdos から入手できます。

次のように DOS パーティションをマウントします。

mount -t umsdos /dev/hda3 /mnt
         ^
---------|

すべてのオプションは msdos ドライバに渡されます。uid や gid のようなオ
プションは msdos に与えられます。

デフォルトの umsdos の振る舞いは、コマンドのほとんどを処理することなく
msdos ドライバに渡します。繰り返しますが、これはデフォルトです。DOS パー
ティションのマウントを行った後、特別なことは何も起こりません。これはマ
ウントオプションがすべて msdos ファイルシステムドライバに渡されるから
です。

普通の MS-DOS ファイルシステムが扱えない情報を格納するために、umsdos
は特別な DOS ファイル --linux-.--- を使います。これが秘訣です。

--linux-.--- はオプションです。ディレクトリ毎に一つあります。

**** --linux-.--- が無い場合、umsdos は msdos ドライバと同じ方法でディ
     レクトリを処理します。この時には短いファイル名や付加機能なし、デ
     フォルトの所有者およびパーミッションになります。なので各ディレク
     トリは --linux-.--- を持っても持たなくてもかまいません。

さて、--linux-.--- をどう入手するか。

\begin joke_section

        私にディレクトリの内容を送ってください。
        そうすれば、あなた向けにカスタマイズしたものをお送りします。
        ディレクトリ当たり $5 (税別) です。
\end joke_section

ユーティリティ umssync は各 --linux-.--- を作成します。kernel はそれら
を管理します。上記で示した sunsite から入手でき、同じディレクトリのファ
イル umsdos_progs-0.7.tar.gz の中にあります。コンパイルされたバージョ
ンは、umsdos_progs-0.7.bin.tar.gz の中のものが利用可能です。

例を示すと、mnt をマウントした後、次を行います。

        umssync .

これは、このディレクトリ (再帰的なオプションも利用できます) で umsdos
能力 (長い名前など) のすべてを使用できるように昇進させます。しかし、そ
の直後の "ls -l" では、あまり違いは見えません。前からあったファイルは
そのままですが、次のことができるようになっています。

        chmod 644 *
        chown you.your_group *
        ls >THIS_IS.A.VERY.LONG.NAME
        ln -s toto tata
        ls -l

ディレクトリが昇進されると、作成されるすべてのサブディレクトリはその昇
進を継承します。

DOS を起動し、昇進したディレクトリの中にファイルを作ると、何が起こるで
しょう? umsdos は新しいファイルを認識しませんが、ファイルが削除された
ことは判ります (クラッシュしません)。/etc/rc の中で umssync を用いれば、
確実に DOS ディレクトリを --linux-.--- へ同期できます。

RC ファイルの "mount -a" の直後に、次のコマンドを追加することは、いい
考えです。

        mount -a
        /sbin/umssync -i+ -c+ -r99 /umsdos_mount_point

        (fstab の umsdos マウントポイント毎に追加します。)

これにより快適な操作が保証されます。現在 umsdos.fsck は開発中で、これ
が完成すれば、汎用的な fsck フロントエンドを用いる他のファイルシステム
と同じ方法で、umsdos パーティションの管理を行えるようになります。

お役に立てば幸いです!
======================================================================
日本語訳:野本浩一 <hng@ps.ksky.ne.jp>
    校正:早川仁さん <cz@hykw.tv>
          Seiji Kanekoさん <skaneko@a2.mbn.or.jp>

Linux カーネル 2.2 付属文書一覧へ戻る