Symlink

使用符號連結移動由 .deb 包創建的目錄 - 會有什麼問題嗎?

  • January 24, 2019

有時在 tmpfs / 快閃記憶體或 ssd / 硬碟之間移動包的目錄似乎很有用。管理快閃記憶體壽命、磁碟啟動或僅可用空間。

如果你用符號連結替換包使用的目錄,包管理器有時會不會感到困惑?例如考慮debsums…

bind-mounts 會更好地隱藏它嗎?

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;它更像是它使用的核心介面的一個怪癖)。
  • 他們在df. 如果icinga綁定掛載的目錄不可讀, 的磁碟空間監控會發出警報。
  • 如果您嘗試綁定安裝 tmpfs 的某些部分,那麼您將陷入困境;您需要一個自定義的 shell 腳本,它首先創建目錄。

引用自:https://unix.stackexchange.com/questions/218439