Linux

/varとか/binとか/useとかって何だっけ?何の意味があるんだっけ?って時のための備忘録

こんにちは。 最近はdockerのコンテナ技術や、仮想化技術で開発環境の構築や、本番用環境の構築も含め、かなり手軽になっているようですね。

とは言っても、クラウドやオンプレなどと言っても、結局はプログラムはコンピュータの上で動いており、OSの多くはLinuxベースということに変わりはないはずです。

実際筆者も、本番環境も含めOSのセットアップから環境を構築したりすることがありましたので、Linuxの基礎の基礎として、インストール時に必要なディレクトリ(パーティション)について、まとめておきたいと思います。

/barとか/usrとか/binとか、OSのインストール時に出来ているけど、何だっけ?って言う時用ですね。

各ディレクトリの使われ方

/home
#一般ユーザーがそれぞれ利用するファイルを格納する。基本的に一般ユーザーがどうこうする時にはこのフォルダの配下になる。
#ユーザーごとの個別の設定などもこのフォルダ配下に格納される。

/var
#ログファイルなどの更新頻度が高いファイルが格納される。
#ちなみに、/varの子ディレクトリ
/var/lib
#アプリケーションの実行によって生成される、ステータスに関する情報などが格納される。例えば、postgresqlでinitdbを実行すると、/var/lib/pgsql/11/data・・といったデータベースクラスタが生成され、このフォルダの子孫にpg_hba.confといったような設定ファイルが作られたりする。

/usr
#各ユーザーが共通で利用するプログラムや、ライブラリが置かれる。パッケージの追加をすると、ここのディレクトリにインストールされたりする。Webサーバーとして利用する場合など、var/logに大量にログが溜まっていくので、多めに容量を設定したりする。

#ちなみに/userの子ディレクトリ
/usr/bin
#一般ユーザーが利用するコマンドが格納されたりしている。例えば、pythonやrubymcronなどもここに格納されている。

/boot
#ブートに必要なファイルが格納されている。

/media
#リムーバルディスクのマウント。USBやCD・DVDなど。またisoファイルをマウントして、中身を参照して使ったり。

/opt
#rpmなどパッケージ管理ライブラリのインストール先。

/proc
#プロセスのidのついたディレクトリが配置される。このフォルダ配下にカーネルが認識しているデバイスの情報なども入っている。
#cpuinfo => cpuの情報 version => OSのバージョン情報など

とりあえず、良くわからなくなるのは以上です。

用途により、これら(もちろんこれら以外も)の領域の容量を設定するなど、適切な運用が必要なようです。