/usr
私のルートボリュームはほとんどいっぱいだったので、他のボリュームからバインディングをマウントしたことがあります。しかし、Kubuntu 22.04.1 LTS、systemd
バージョン249.11では、今は不可能であることがわかりました。
これは私が前にしたことです/etc/fstab
。
LABEL=bigvol /bigvol auto defaults,noatime,nodiratime,barrier=1,ro 0 2
/bigvol/d-sys/2023-02/usr /usr auto bind,ro 0 0
つまり、使用すると0 2
起動/bigvol
時にボリュームがマウントされ、使用すると後でボリュームは0 0
マウント/usr
されません。
10年以上このように動作してきましたが、systemd
linux-image-5.15.0-60のバージョン249.11+では始まりました。製本/usr
/root
ルートボリュームが一時的にasではなくasとしてマウントされていても、他のボリュームの前にこのボリュームをマウントします/
。
修正する:
だから推薦を受けました。
/bigvol/d-sys/2023-02/usr /usr auto bind,ro,x-systemd.requires-mounts-for=/bigvol 0 0
それいいえ働く、やめて同じルートボリュームが/root
asではなくasとして一時マウントされたときに配置されます/
。
しかし、フレディの答えはあまり説得力があり、他のことを試しました。まったく同じ構文を使用して別のものをマウントしました(この/usr
バインドマウントをコメントアウトしましたが、別のバインドマウントディレクトリを追加しました/var/cache/apt/archives
)。そしてそれは動作します!
そう見える
systemd
/usr
ボリュームが特殊でマウントされる必要があることを認識します。今後他のもの。- しかし、私のボリュームは表示されません。
/usr
マウントしなければならないバインドマウントだけです。後ろに他のもの。
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
$ apt-cache policy linux-image-5.15.0-60-generic
linux-image-5.15.0-60-generic:
Installed: 5.15.0-60.66
Candidate: 5.15.0-60.66
Version table:
*** 5.15.0-60.66 500
500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
100 /var/lib/dpkg/status
$ apt-cache policy systemd
systemd:
Installed: 249.11-0ubuntu3.6
Candidate: 249.11-0ubuntu3.6
Version table:
*** 249.11-0ubuntu3.6 500
500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
100 /var/lib/dpkg/status
249.11-0ubuntu3 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
ベストアンサー1
x-systemd.requires-mounts-for=/bigvol
後でマウントするには、バインドマウントにマウントオプションを追加できます/bigvol
。
~からsystemd.mount — マウントデバイスの設定:
x-systemd.requires-mounts-for=
RequiresMountsFor=
作成したマウントデバイスと他のマウントデバイスとの間の依存関係を設定します。パラメーターは絶対パスでなければなりません。このオプションは複数回指定できます。詳細については、RequiresMountsFor=
systemd.unit(5)を参照してください。
RequiresMountsFor=
スペースで区切られた絶対パスのリスト。指定されたパスにアクセスするために必要な、インストールされているすべてのデバイスの種類
Requires=
と依存関係を自動的に追加します。After=
noauto とマークされたマウントポイントは を通じて自動的にマウントされませんが、
local-fs.target
このオプションの目的に応じて尊重され続けます。つまり、このデバイスからドラッグします。
LABEL=bigvol /bigvol auto defaults,noatime,nodiratime,barrier=1,ro 0 2
/bigvol/d-sys/2023-02/usr /usr auto bind,ro,x-systemd.requires-mounts-for=/bigvol 0 0