Câu hỏi trước đây của tôi đã tạo ra các lệnh để thêm tệp hoán đổi được mã hóa:
# One-time setup:
fallocate -l 4G /root/swapfile.crypt
chmod 600 /root/swapfile.crypt
# On every boot:
loop=$(losetup -f)
losetup ${loop} /root/swapfile.crypt
cryptsetup open --type plain --key-file /dev/urandom ${loop} swapfile
mkswap /dev/mapper/swapfile
swapon /dev/mapper/swapfile
Nhưng Arch Linux sử dụng systemd và tôi gặp khó khăn khi tìm ra cách tốt nhất để systemd tự động kích hoạt tệp hoán đổi của mình. systemd.swap gợi ý rằng tôi nên có một dev-mapper-swapfile.swap
đơn vị trông giống như:
[Unit]
Description=Encrypted Swap File
[Swap]
What=/dev/mapper/swapfile
Điều đó sẽ thực thi swapon
lệnh. Nhưng tôi không chắc cách thực hiện các lệnh để chuẩn bị /dev/mapper/swapfile
. Tôi tập hợp dev-mapper-swapfile.swap
nên khai báo một phụ thuộc vào một số đơn vị khác, nhưng tôi không chắc đơn vị đó sẽ trông như thế nào.
/dev/loopN
được sản xuất bởilosetup -f
không nhất thiết phải phù hợp giữa các đôi giày.