私はsystemdを意味するArch Linuxシステムを使用しています。
systemdには、.mount拡張子を持つマウントポイントの基本ユニットファイルがあります。私はそれを使用しており、/etc/fstab
systemdがそれから情報を取得したため、問題は発生しませんでした。しかし、私は実際に文書を読んだので、基本的なシステム単位ファイルに変更する必要があるかどうか疑問に思います。
fstab
Arch Wikiは、初心者ガイドにコンテンツを埋めることを示しているため、これには利点がないことを示しています。
答え1
man systemd.mount
自分の視点から見ると次のようになります。
システムテーブル
マウントデバイスは、デバイスファイルまたは/ etc / fstabで設定できます(詳細はfstab(5)を参照)。 /etc/fstabにリストされているマウントは、起動時およびシステム管理者の構成が再ロードされると、プライマリデバイスに動的に変換されます。一般的に、/etc/fstabを介してマウントポイントを設定することは、人がマウントを管理するのに好ましい方法です。ツールの場合、マウントユニットの作成は/etc/fstab編集よりも優先されます。 /etc/fstab をマウントデバイスに変換する方法の詳細については、systemd-fstab-generator(8) を参照してください。
一部の機能は fstab に対してのみ実装されます。たとえば、initrdのsystemdを使用して/ usrファイルシステムと/ファイルシステムをマウントする場合です。 initrdのsystemdは/からetc/fstabを読み、/usrのエントリを探します。
mount /mountpoint
手動で使用することもできます。systemd
一般的にこれを行うことをお勧めします。たとえば、ファイルシステムをアンマウントまたはマウントすると、マウントされたデバイスの状態が更新されます。
答え2
systemdマウントポイントはより柔軟な設定をサポートし、少なくとも各ポイントがマウントされたときに設定できる機能を提供します。これは、ネットワークのインストールなど、非常に複雑な問題に便利です。
経験的に、複雑な動作を設定する必要があると主張し(該当する場合)、システムソリューションを見つけようとしない限り、fstabを使用します。
答え3
systemd.mount
私は誰も言及していないユースケースを見つけました:パッケージ管理(例えばRPM)grep
はsed
。/etc/fstab
grubby
fstab
少なくともRPMの場合、RPMが削除されたときに削除スクリプトも自動的に削除されることがわかりました。
答え4
Systemdは、マウント中に依存関係を段階化できるため、より優れたマウントソリューションです。
つまり、After=
.mount ファイルのディレクティブを使用すると、LUN が最初に接続されるまでマウントされないようにすることができます。以下は、リモートリポジトリを自動的にマウントするために作成したスクリプトの一部です。
cat <<EOF> /etc/systemd/system/mnt-$ISCSIDISKMOUNTFOLDER.mount
[Unit]
Description=iSCSI Disk
After=connect-luns.service
[Mount]
What=/dev/disk/by-uuid/$(ls -al /dev/disk/by-uuid | grep $ISCSIDEVICE | awk '{print $9}')
Where=/mnt/$ISCSIDISKMOUNTFOLDER
Type=$FILESYSTEM
[Install]
WantedBy=multi-user.target
EOF
サービスの前にインストールが行われます。」luns.service 接続After=
「起動しますが、ディレクティブにサービスを挿入すると、起動時にストレージが正しく起動します。Systemdは、このユースケースでリモートストレージマウントへの依存関係を管理するための非常にシンプルでエレガントな方法を提供します。
例外:
場合によっては、SystemDを使用してストレージをマウントできないことがあります。非常に注目すべき例外の1つは次のとおりです。アルパインLinuxまだSysVinitとを使用して/etc/fstab
小さな設定ファイルを保持します。 Alpine Linuxはコンテナの世界で人気があります。したがって、/etc/fstab
信じたり、SystemDが歌って踊ったりする時代にも、まだこのための席があります。