それでもmount / usrをバインドできますか?

それでもmount / usrをバインドできますか?

/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年以上このように動作してきましたが、systemdlinux-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

それいいえ働く、やめて同じルートボリュームが/rootasではなくasとして一時マウントされたときに配置されます/

しかし、フレディの答えはあまり説得力があり、他のことを試しました。まったく同じ構文を使用して別のものをマウントしました(この/usrバインドマウントをコメントアウトしましたが、別のバインドマウントディレクトリを追加しました/var/cache/apt/archives)。そしてそれは動作します!

そう見える

  1. systemd/usrボリュームが特殊でマウントされる必要があることを認識します。今後他のもの。
  2. しかし、私のボリュームは表示されません。/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)を参照してください。

~からsystemd.unit — デバイスの構成:

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

おすすめ記事