.debパッケージで作成されたディレクトリを移動するためにシンボリックリンクを使用します。問題が発生していますか?

.debパッケージで作成されたディレクトリを移動するためにシンボリックリンクを使用します。問題が発生していますか?

時には、tmpfs/flash または SSD/ハードドライブ間でパッケージディレクトリを移動するのが便利なようです。フラッシュ寿命、ディスク回転、または空き容量のみを管理してください。

パッケージで使用されているディレクトリがシンボリックリンクに変わった場合、パッケージマネージャは時々混乱しませんか?たとえば、 debsum を考えてみましょう...

バンドルマウントはこれをより隠すことができますか?

答え1

dpkgは明らかにこれをサポートするように設計されています。

一方、私はsystemdそのようなシンボリックリンクのサポートは一般的に考慮されていないと思います。たとえば、/var/logシンボリックリンクの場合、起動時に警告が表示されます。

systemd-tmpfiles[432]: "/var/log" already exists and is not a directory.

このためです/usr/lib/tmpfiles.d/var.conf。私が理解しているように、これは/usrシステム状態の残りの部分を何らかの形で起動して自動的に初期化できる概念の一部に設定されています。たとえば、単に/ etcをクリアして再起動すると、システムはシステムのデフォルト設定に戻ります。

別の警告 - 出発地の場合入れ子になったバインディングマウント。依存関係を管理する必要があります。起動時に通常、インストールは自動的にソートされます。これは非常に良いです。しかし、インストールが互いに直接依存せず、シンボリックリンクを介して行われると、魔法のようには機能しないようです。 (起動時にインストールはsystemdによって実行されると思います。)

シンボリックリンクを使用する理由は次のとおりです。

  • たとえば、アップグレード中にディレクトリが変更された場合、dpkgはそれを正しく処理しません。
  • これは別々のものとして扱われるため、fatrace個々のデバイスへの書き込みを監視することはより困難です。 (技術的にはこれは完全にバグではなく、fatrace使用するカーネルインタフェースの珍しい点に近いです)。
  • 彼らはそれに精通していませんdficingaディスク領域監視は、バインドマウントされたディレクトリが誰でも読み取れない場合に警告を出します。
  • tmpfsの一部をバインドマウントしようとすると、あなたはウサギの洞窟に落ちています。;ディレクトリを最初に作成するには、カスタムシェルスクリプトが必要です。

関連情報