class: title, smokescreen, shelf, no-footer # クラウドコンピューティング<br><small>第07回 ファイルシステム(ローカル)</small> <div class=footnote> <small><small> 3年、秋学期、選択; 旧「オペレーティングシステム」; ;脚注はELや定期試験の範囲ではありません </small></small> </div> --- class: compact,img-right # <small>【復習】階層型ファイルシステム</small> <div class=footnote> <small><small> </small></small> </div> ![](../../../os/internal/storage/images/dir-tree.png) ![height180px](../../../os/internal/storage/images/tosyokan_book_tana.png) <small> - Unixファイルシステムは右図(上)のような木構造 - 四角がディレクトリ(フォルダ)で本棚に相当 - ただし本棚の中には、 本も置けるし、さらに本棚も作れるところが論理空間の利点(現実の物理空間とは異なるところ) - Windowsのフォルダっぽく表現すると? <br> -> 次ページ </small> --- class: compact,col-3 # <small>各階層をWindowsのフォルダ表示に似た図解をしてみる</small> <div class=footnote> <small><small> (脚注) binはbinary、varはvarietyの略と言われていたはず。 etcはエトセトラの略で、うまく分類できないモノすべてという意味。 etcとvarは、どちらも雑多な意味ですが、 (あまり変わらない)設定ファイルはetc、ログのような可変のものはvar以下に置きます </small></small> </div> <small> ![height180px](../../../os/internal/storage/images/dir-tree.png) ![height180px](../../../os/internal/storage/images/dir-tree-folder-root.png) ![height240px](../../../os/internal/storage/images/dir-tree-folder-usr.png) 左図のusrフォルダをクリックして/usrの階層が表示された様子。 bin (プログラム)、 lib (ライブラリ)、 sbin (管理用プログラム) といった役割ごとに分かれています。これは左の/も同様 ![height240px](../../../os/internal/storage/images/dir-tree-folder-usr-bin.png) さらにbinフォルダをクリックすると/usr/binの階層が表示されます。 ここにはプログラム(コンパイラのcc, エディタのviなど)群が並んでいます </small> --- class: compact # <small>Unixファイルシステム第一階層の分類</small> <div class=footnote> <small><small> (脚注1) 図には、たくさん書けないので、表示内容を厳選しているだけです (脚注2) /binと/sbinがあり、別途/usr/binと/usr/sbinという似たようなディレクトリがあり、 それらを使い分けていることには歴史的事情があるのですが、 今となっては分かりにくい例です。 最近の使い方では、分けることに意味が無いので、 最新のDebianでは/binと/usr/bin、/sbinと/usr/sbinは同じものとなっています (シンボリックリンクという仕組みで同じものにしています、 シンボリックリンクはWindowsの.lnkと同じと考えてOKです) </small></small> </div> | 名前 | 用途 | 由来 | 備考 | |------|--------------------------------|---------------|----------------------------------| | bin | 一般ユーザが利用するプログラム | binary | | | dev | デバイスファイル群 | device | デバイスも特殊ファイルとして実装 | | | | | (Unix特有の話) | | etc | さまざまな(設定)ファイル | et cetera | | | home | ホームディレクトリ群 | home | | | sbin | 管理者が利用するプログラム | system binary | | | var | さまざまな(ログ)ファイル | variety | | | usr | ユーザ用プログラム | usr | (脚注) | --- class: compact,img-right # <small>Unixファイルシステムの特徴として「ディスクを接ぎ木」できる</small> <div class=footnote> <small><small> (脚注1) 本当は任意の場所に接ぎ木できます。 たとえば、adminユーザ専用の巨大な外部ストレージを用意し、 それを/home/admin/dataに接ぎ木(Unix用語ではmount)することが出来ます。 ただPCもSSDもHDDも安価な昨今では、そういう使い方をしないので、あまりピンと来ないでしょう <br> (脚注2) きっとUnixカーネルの内部実装の話をしないと、 ローカルな接続と、ネットワーク的な接続の相違については、よくわからないでしょう。 ただ同じように扱えるように作り込んであるということだけ「へ〜」と思ってくれればよいです </small></small> </div> ![height240px](../../../os/internal/storage/images/dir-tree-plus-zhome.png) <small> - あらたにz-homeというディレクトリを作成し、巨大なストレージを接ぎ木した様子 - z-homeの下の階層には学籍番号のディレクトリ群が並んでいるという想定 - 接ぎ木するストレージは、ローカル接続(PCの中に装填し、専用の線でつなぐ場合)もあるし、 ネットワーク的に離れた場所のストレージを接ぎ木する場合もあります。 どちらも可能 </small> --- class: compact,img-right # <small>例: AWS EFS (NFSサーバ)を使ったファイル共有</small> <div class=footnote> <small><small> </small></small> </div> ![](../../images/nfs-file-sharing.png) - WWWサーバ群が共通で使うファイル(たとえば商品画像)を共有する - PC教室: どのPCからでもホームディレクトリにアクセスできる - PC教室のように、使うたびに異なるPCを使う場合でも、 ホームディレクトリに保存したファイルは使いたい。 だからPCローカルに保存してはダメ。 ホームディレクトリは共用ファイルサーバに保存する - これがPC教室のZドライブのしくみ