リナックスディレクトリー構造

パピーリナックスを初めて使う方もご利用ください

モデレータ: 暇人, YoN, nyu

cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

リナックスディレクトリー構造

投稿記事 by cloudy »

cloudy さんが書きました: 24/06/09(日) 15:56 LinuxBionicDogをインストールしましたが、使えていません。
/mnt/sdc1/BionicDog32_2018-04-21に.isoの中身をコピーし、起動すると配下のcasper/changesにあたかもルートのようなディレクトリーが展開されています。
しかし実際には、見かけのルートの親の親の親には/mnt/sdc1があり、更に親の親は物理的なハードディスクになります。一方、見かけのルートの中にも/mnt/sdc1があり、無限ループのような様相です。
素朴な質問になってしまいますが、この場合、物理的なハードディスクに展開されている、これまたルートのようなディレクトリー構成は、なんなんでしょうか?

追記
このトピックを通じ理解が深まりましたが、そもそもはわたしの誤解より、トピックがスタートしています。
最後に編集したユーザー cloudy [ 24/07/06(土) 08:12 ], 累計 1 回
BionicDog pentium4 2.60GHz 1.00GBRAM
thinkpadnerd
記事: 2483
登録日時: 15/10/25(日) 14:00

Re: リナックスディレクトリー構造

投稿記事 by thinkpadnerd »

これは puppy とその仲間に特有の構造です。一般的な linux とは違います。

/casper/changes は読み取り専用のシステムとの差分を収容しているのでしょう。puppy では save file または save directory と呼ばれます。設定の変更や、追加インストールしたプログラム、作成したデータなどはここに保存されます。

読み取り専用のレイヤー(層)と読み書き可能なレイヤーを重ねることで、ライブCD方式でありながら、セッションの保存を可能にしています。squashfs (sfs) 形式のパッケージをロードした場合も読み取り専用のレイヤーになります。

同じファイルやディレクトリが複数のレイヤーにある場合は、一番上の層にあるものが使われます。

/mnt/sdc1 もディレクトリです。複数のレイヤーに存在しても、OSとして見た場合は一つのディレクトリです。
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

Re: リナックスディレクトリー構造

投稿記事 by cloudy »

thinkpadnerd さんが書きました: 24/07/03(水) 12:55 同じファイルやディレクトリが複数のレイヤーにある場合は、一番上の層にあるものが使われます。
/mnt/sdc1 もディレクトリです。複数のレイヤーに存在しても、OSとして見た場合は一つのディレクトリです。
ありがとうございます。もう少し、お聞きしてもよろしいでしょうか?
/mnt/sdc1/BionicDog32_2018-04-21に
squashfs形式のファイルがあります。
/mnt/sdc1には、他のバージョンのBionicDogのsquashfs形式のファイルが収納されたディレクトリーもいくつか並んでいます。
/ にもリナックスのディレクトリー構成が並んでいるのですが、これはなんでしょうか?わたしが、/mnt/sdc1配下にしかsquashfs形式のファイルを収納してなければ、/ には/mnt以外なにもないはずでしょうか?
それともBionicDogがsquashfsよりもルートに近いディレクトリーになにかを展開することもあるのでしょうか?
自分が混乱しているだけかも知れませんが、ご教示いただければ幸いです。
BionicDog pentium4 2.60GHz 1.00GBRAM
thinkpadnerd
記事: 2483
登録日時: 15/10/25(日) 14:00

Re: リナックスディレクトリー構造

投稿記事 by thinkpadnerd »

cloudy さんが書きました: 24/07/03(水) 19:28 / にもリナックスのディレクトリー構成が並んでいるのですが、これはなんでしょうか?
/ 以下に見えるものが linux のデイレクトリツリーです。

残念ながら dog 系について詳しい知識がないので、それ以上のことは分かりません。bionicdog をインストールしてみればいいのでしょうけど、既に puppy を何種類も飼っているので、あえて他のディストリビューションに手を出す気はないです。 :)
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

Re: リナックスディレクトリー構造

投稿記事 by cloudy »

もし、わたしの質問が、一般的なパピーについてだと仮定すると、どのような回答になりますか?ライブCD形式の.isoの中身を末端のディレクトリーにコピーし、ライブCD形式のように起動したとき、/ や自分より/ に近いディレクトリーに多くのディレクトリーやファイルを書きこみことがあるのでしょうか?
BionicDog pentium4 2.60GHz 1.00GBRAM
cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

Re: リナックスディレクトリー構造

投稿記事 by cloudy »

windows がインストールされたパソコンにライブCDを挿入し、ハードディスクに手をつけずにリナックスを使うというのがライブCD方式なんでしょうし、/ に勝手になにかを書きこむなんでことは、ないはずですよね?
でも、casper/changesになにかを書きこむのと同じことを/ にもしているようです。
初心者なんで、なにか勘違いがあるかもですが。
BionicDog pentium4 2.60GHz 1.00GBRAM
thinkpadnerd
記事: 2483
登録日時: 15/10/25(日) 14:00

Re: リナックスディレクトリー構造

投稿記事 by thinkpadnerd »

cloudy さんが書きました: 24/07/04(木) 06:20 ライブCD形式の.isoの中身を末端のディレクトリーにコピーし、ライブCD形式のように起動したとき、/ や自分より/ に近いディレクトリーに多くのディレクトリーやファイルを書きこみことがあるのでしょうか?
/ の下にある /etc や /usr などに書き込まれることはありますが、/ の直下に書き込まれることは、通常はありません。

ここで言うライブCD形式とは、read-only のシステムを持つ linux のことです。システムを HDD や USB メモリに置いた場合もほぼ同じ動作をします。読み取り専用の sfs または squashfs には書き込みできないので、別のファイルまたはディレクトリに変更 (差分) を保存します。
cloudy さんが書きました: 24/07/04(木) 06:42 casper/changesになにかを書きこむのと同じことを/ にもしているようです。
繰り返しになりますが、読み取り専用のシステムには書き込みできないので、別のファイルまたはディレクトリに変更を保存しています。OS はこれを重ね合わせて見ているので、変更を保存すれば、/ 以下に書き込まれたように見えます。

この変更 (差分) をUSBメモリ等に保存するならば、HDD には何も痕跡は残りません。

参考
UnionFS
https://ja.wikipedia.org/wiki/UnionFS
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

Re: リナックスディレクトリー構造

投稿記事 by cloudy »

thinkpadnerd さんが書きました: 24/07/04(木) 12:32 繰り返しになりますが、読み取り専用のシステムには書き込みできないので、別のファイルまたはディレクトリに変更を保存しています。OS はこれを重ね合わせて見ているので、変更を保存すれば、/ 以下に書き込まれたように見えます。
申しわけありません。
わたしの場合は、ライブCD形式に魅力を感じましたが、本来CDに書きこむ内容を/mnt/sdc1/BionicDog32_2018-04-21/に書きこみ、起動しています。ここに含まれるsquashfsファイルとの差分は/mnt/sdc1/BionicDog32_2018-04-21/casper/changes/に書きこまれているものと認識しています。squashfsファイルとこの差分ディレクトリーがあれば、もうこれ以上/ や/ 以下のディレクトリーになにかを書きこむ必要はないのでは?
BionicDog pentium4 2.60GHz 1.00GBRAM
thinkpadnerd
記事: 2483
登録日時: 15/10/25(日) 14:00

Re: リナックスディレクトリー構造

投稿記事 by thinkpadnerd »

cloudy さんが書きました: 24/07/04(木) 18:41 squashfsファイルとこの差分ディレクトリーがあれば、もうこれ以上/ や/ 以下のディレクトリーになにかを書きこむ必要はないのでは?
squashfs ファイル自体には変更は反映されません。変更は /mnt/sdc1/BionicDog32_2018-04-21/casper/changes に書き込まれています。
でも、/casper/changes には変更されたディレクトリとファイルしかありません。だから、squashfs と /casper/changes を重ねて見る必要があるのです。
変更のない部分は squashfs の内容が見え、変更された部分は /casper/changes の内容が見えるのです。
/ 以下に見えているのは、読み取り専用のレイヤーと読み書き可能なレイヤーが重なったものです。これがなければ、システムは設定を反映できませんし、ユーザもファイル操作ができません。(例えるなら、2枚の透明なシートを重ねて見るようなものです。) <- ここ、重要です。テストに出ますよ。 :)

というか、通常は /mnt/sdc1/BionicDog32_2018-04-21/casper/changes の中身を見る必要はありません。誤ってファイルを移動したり消したりしたら、システムが正常に動かなくなってしまう恐れがあります。
まあ、全部消してしまえば、OSの初期状態に戻るとは思いますが。
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

Re: リナックスディレクトリー構造

投稿記事 by cloudy »

なるほどですね。やっと理解できました。
squashfsファイルとcasper/changes/を合成したものを/ に書きだすんですね。
/mnt/sdc1/BionicDog32_2018-04-21/の他にも
/mnt/sdc1/BionicDog32_2018-06-04/にも
squashfsファイルがあり、別のバージョンのBionocDogも起動できるようになっています。
/ 以下のディレクトリーは、どのBionocDogを起動したかによって都度、書きかえされるということになりますね。
話は変わりますが、ふつうにライブCD方式のCDよりBionicDogを起動したとき、ハードディスクの/ にwindows がインストールされていると、casper/changes/とか、squashfsファイルとcasper/changes/を合成したものは、どこに書きだしされるんでしょうね。まさか、windows を上書するんじゃないでしょうね。
色々興味はつきませんが、このあたりにしときます。
ありがとうございました。また、よろしくお願い致します。
BionicDog pentium4 2.60GHz 1.00GBRAM
thinkpadnerd
記事: 2483
登録日時: 15/10/25(日) 14:00

Re: リナックスディレクトリー構造

投稿記事 by thinkpadnerd »

cloudy さんが書きました: 24/07/04(木) 23:27 squashfsファイルとcasper/changes/を合成したものは、どこに書きだしされるんでしょうね。
UnionFS の説明にあります。
「複数の異なるファイルシステム (ブランチと呼ばれる) のファイルやディレクトリ同士を透過的に重ねる (マージする) ことができる技術である。これにより、仮想的な単一のファイルシステムを形成する。」

実際にディスクに存在するわけではありません。強いて言うなら、メモリ上にあるということになるでしょうか。
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

Re: リナックスディレクトリー構造

投稿記事 by cloudy »

ありがとうございます。
理解できます。わたしのように、squashfsをハードディスクに置いてしまった場合は、メモリーに展開するのではなく、実際にハードディスクに展開してしまうのですね。
BionicDog pentium4 2.60GHz 1.00GBRAM
thinkpadnerd
記事: 2483
登録日時: 15/10/25(日) 14:00

Re: リナックスディレクトリー構造

投稿記事 by thinkpadnerd »

cloudy さんが書きました: 24/07/05(金) 12:26 squashfsをハードディスクに置いてしまった場合は、メモリーに展開するのではなく、実際にハードディスクに展開してしまうのですね。
少なくとも puppy はシステムの sfs をメモリにコピーするか、メディアに置いたままマウントして使用します。ディスク上に展開したりしません。起動ディスクが CD, USB メモリ, HDD いずれの場合も同じ動作になります。

dog 系も同様の動作をすると思いますよ。いちいちディスクに展開するのだとしたら、読み取り専用のシステムを用意するメリットがありません。
ThinkPad X121e (Bionic32 / Bionic64 / F96-CE)
CPU AMD C-50 1.0GHz, RAM 4GB
Arrows Tab Q508/SE (BW32 / BW64 / Easy Daedalus)
CPU intel Atom x7-z8700 2.4GHz, RAM 4GB
cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

Re: リナックスディレクトリー構造

投稿記事 by cloudy »

thinkpadnerd さんが書きました: 24/07/05(金) 14:00 少なくとも puppy はシステムの sfs をメモリにコピーするか、メディアに置いたままマウントして使用します。ディスク上に展開したりしません。起動ディスクが CD, USB メモリ, HDD いずれの場合も同じ動作になります。
dog 系も同様の動作をすると思いますよ。いちいちディスクに展開するのだとしたら、読み取り専用のシステムを用意するメリットがありません。
混乱してきました。
以下のコメントは、わたしのように、squashfsをハードディスクに置いてしまった場合は、メモリーに展開するのではなく、実際にハードディスクに展開してしまうという意味だったのでは?
thinkpadnerd さんが書きました: 24/07/04(木) 21:26 / 以下に見えているのは、読み取り専用のレイヤーと読み書き可能なレイヤーが重なったものです。これがなければ、システムは設定を反映できませんし、ユーザもファイル操作ができません。
/ 以下に見えているのは、実際にハードディスクに展開されたものという意味だったのでは?
理解力が乏しく申しわけありません。
BionicDog pentium4 2.60GHz 1.00GBRAM
cloudy
記事: 78
登録日時: 24/06/07(金) 18:10

Re: リナックスディレクトリー構造

投稿記事 by cloudy »

/ というのは、BionicDogを起動し、ファイルマネージャーをクリックすると、ハードディスクのパーティションが並んで表示されますが、その中にsdc1があり、このsdc1をクリックすると/ 以下が見えます。sdc1はハードディスクに間違いないと思います。
BionicDog pentium4 2.60GHz 1.00GBRAM
返信する