我已經將主要資料遷移到新的SSD。 (三星 840 EVO,120GB。)My~
是由pam_mount
.也就是說,/etc/security/pam_mount.conf.xml
該分區中有一筆記錄。
我希望它支援 TRIM。我知道它會稍微削弱加密(即建立某種側通道),但我希望這是可以接受的。
我嘗試在 中啟用它pam_mount.conf.xml
。一種方法是包含discard
掛載選項,據說這會自動允許在加密的區塊裝置上丟棄:
<volume user="{USERNAME}" fstype="crypt" mountpoint="/home/{USERNAME}" path="/dev/sdb{NUMBER}" options="defaults,noatime,nosuid,nodev,discard" />
discard
另一種嘗試是將(以及)包含discards
在 mntoptions 中。
<mntoptions allow="discard,discards,nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
沒有運氣。 fstrim 仍然不起作用:
% sudo fstrim --verbose ~
fstrim: /home/{USERNAME}: FITRIM ioctl failed: Operation not supported
我是不是忘了什麼?升級到 14.04 可以解決問題嗎?該man cryptsetup
命令告訴我這--allow-discards
是受支援的,所以我希望它能夠工作。核心版本是3.13.0-35-generic
,這似乎沒問題,因為版本3.1+
是必需的。
底層檔案系統是ext4。此fstrim
指令適用於未加密的檔案系統(也是 ext4),但不適用於由 dm-crypt (?) 加密封裝的檔案系統。
請注意,discard
似乎使用了 mount 選項:
% mount | grep ~
/dev/sdb{NUMBER} on /home/{USERNAME} type crypt (rw,nosuid,nodev,noatime,discard)
答案1
從原始碼編譯新版本pam-mount
就成功了。我必須安裝來自 Trusty 的.deb
oflibhx28
和libhx-dev
from Trusty (這通常是有風險的)才能獲得該庫的更新版本。
您可能會在開箱即用的較新 Ubuntu 中擁有較新版本,因此您可以跳過編譯。如果可以的話,您可以升級到 Trusty。我想和 Precise 待一段時間。
現在,啟用allow_discards
沒有discard
是一個醜陋的駭客。這修補只是檢查是否存在“丟棄”標誌。因此,我決定同時添加“discard”和“nodiscard”(按此順序),並希望它能起到作用。
現在fstrim
在此設備上可以工作,但我希望丟棄安裝標誌無效。不確定我是否可以測試它。
或者,人們可能會嘗試重新安裝,但我沒有成功使用這種方法。