0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

重ね重ね・ArchLinux インストール覚書

Last updated at Posted at 2017-05-21

ArchLinux インストール覚書より始めた自宅サーバ構築ですが、最低限の環境が整ってきました。ぼちぼち、やりたい1として挙げた超軽量仮想環境を試したい。ですがそのデータをどこに置くか、またスクリプトを作った場合の置き場所、といった話題が地味な問題として挙がってきました。

仕事なら何も考えてないディレクトリで上司の承認を取ってとっとと決めてしまう所ですが(ヒドイ話😭だけど仕事は time is money なのでこんなどうでもいい問題に割く時間などありません)今回はどこまでも趣味に走ると決めた個人サーバ環境です。どうでもいい事は前例を踏襲する方針に従って、ではこの問題に関する前例は?を調べてみました。

FHS (Filesystem Hierarchy Standard)

UNIX系OSの場合、ディレクトリ構造の標準が提唱されています。Filesystem Hierarchy Standard、通称 FHS と呼ばれるものです。Linuxについては Linux Standard Base 通称LSBという規格が検討されていて、その中でディレクトリ構造も議論されている模様…ですがこの辺を突っ込み始めると何だかごちゃごちゃしてるっぽいですな。深い所はスルーする方が幸せになれそうな気がします😅

というわけでFHS。LSBによる最新版はFHS - The Linux Foundationかな?バージョン3.0と書いてあります。LSBじゃないFHSはFilesystem Hierarchy Standardでバージョン2.3、これが3.0の直前のバージョンとなるようです。いずれも英語のサイトです。

日本語でも色々解説されていますが、私が探した中ではITmedia エンタープライズ 第14回 FHSによるディレクトリの規格化がお勧めです。何と言いますか、上っ面の抽象的な言葉のコピペではなくて、明確な判断基準を示してくれています。バージョン2.2なので少々古いですが、入門編としてはよろしいんじゃないでしょうか。

自作ツールの置き場所

上述のFHSに基づいて考えました。自作ツール mytool を置く場所を下記のように決めます。何となく、ものすごくLinuxっぽく、あるいはUNIXっぽくなったような気がします。なんかカッコいいぞ。

/ ルート
 │
 ├─ etc
 │   ├ opt
 │   │  └ mytool  ← mytoolの設定ファイルを置く
 │   :
 │
 ├─ opt
 │   └ mytool  ← mytool一式は、基本的にはここに集める
 │      ├ bin
 │      ├ doc
 │      ├ lib
 │      :
 │
 ├─ usr
 │   ├ local
 │   │  ├ bin  ← /opt/mytool/bin内容物へのシンボリックリンクを置く
 │   :  :
 │
 ├ var
 │   ├ opt
 │   │  └ mytool  ← mytool関連データ(動的に変化するもの)はここに置く
 :   :
 

ちなみに /usr/lobal/bin に実行ファイルのシンボリックリンクを置く理由は、デフォルトでPATHが通っているからです。これをやらないとPATHに /opt/mytool/bin を追加しなくちゃいけません。ログイン可能な全ユーザに設定しなきゃならないとなると、ちょっと躊躇しますよね… /usr/local/bin ならデフォルトでPATHが通ってて、しかもサーバ管理者に解放されている場所なので、都合が良いのです。

iSCSIストレージのサブボリューム構造

も一つ・ArchLinux インストール覚書で決めたiSCSIストレージのマウントポイントを、上記ディレクトリ構造を踏まえて変更します。具体的には次の2ヶ所とします。

  • /opt/mytool
  • /var/opt/mytool

実際にサブボリュームを作成してマウントするのはツールの名前 mytool が決まってからにします。今回は、適当に決めていた /iscsi をやめる所までの作業とします。

/etc/fstab から /iscsi の設定を削除

# mv /etc/fstab /etc/fstab.org
# cp /etc/fstab.org /etc/fstab
# vi /etc/fstab
# diff -U0 /etc/fstab.org /etc/fstab
--- /etc/fstab.org      2017-05-16 22:21:37.894240063 +0900
+++ /etc/fstab  2017-05-21 23:12:15.739160315 +0900
@@ -7 +6,0 @@
-UUID=〈省略〉      /iscsi  btrfs    _netdev,rw,relatime,space_cache,subvol=@      0 0
# rm /etc/fstab.org

マウントポイント /iscsi を削除

# umount /iscsi
# rmdir /iscsi

iSCSIストレージのサブボリュームを削除

# mount /dev/sdc /mnt
# btrfs subvolume list /mnt
ID 257 gen 26 top level 5 path @
# ls /mnt
@
# btrfs subvolume delete /mnt/@
Delete subvolume (no-commit): '/mnt/@'
# umount /mnt

今回は以上です。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?