如何设置加密的交换文件?


24

安装Ubuntu时,我会设置一个加密的主分区。现在我遇到一个问题,因为我没有设置交换,所以内存不足。如何设置加密的交换文件

在启动时几次,我看到了一些有关cryptswap的参考。这些行也包含在其中/etc/fstab

# swap was on /dev/sda6 during installation
#UUID=1ba8a53b-1842-4de7-8e38-2d6c79f3a1ab none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

在较新的ubuntu版本中(测试14.10)。您必须运行/etc/init.d/cryptdisks-early reload @Adam Ryczkowski,您可以发布启动脚本吗?
1

Answers:


24

多亏了本指南,我建立了一个加密的交换文件(不能用于休眠)。在基于Debian的发行版中,您将需要使用cryptsetup软件包以获取这些说明。

  1. 首先创建一个适当大小的文件(此处为4 GB)以存储交换数据:

    fallocate -l 4G /cryptswap
    
  2. 将以下内容添加到/etc/crypttab

    cryptswap /cryptswap /dev/urandom swap
    
  3. 激活新创建的加密驱动器:

    service cryptdisks reload
    
  4. 将以下内容添加到/etc/fstab

    /dev/mapper/cryptswap none swap sw 0 0
    
  5. 激活新的交换文件:

    swapon -a
    

此加密交换是休眠的唯一安全选项。进行了少许更改/etc/crypttab和一个启动脚本(要求用户提供安装密码)
Adam Ryczkowski

@AdamRyczkowski(如果在身边),另一个用户正在询问该启动脚本(如果您创建了该脚本)。请参阅对该问题的评论。
muru

4
而不是截断,而是使用fallocate将inode分配给文件;mkswap步骤是无用的,因为稍后在设置加密交换时将其覆盖。
solsTiCe 2015年

3
不错的总结。但是,任何想阅读更多内容的人都会发现您的“本指南 ” 链接已死。
underscore_d

1
请注意:在/dev/mapper/cryptswap卷出现之前,我必须重新引导系统。
HRJ

3

跳过重启:

sudo cryptdisks_start cryptswap

cryptswap名字在哪里/etc/crypttab


2
我不明白该如何解决这个问题。你能解释一下吗?据我了解,OP希望知道如何正确设置(加密)交换空间。您的答案仅描述了如何启动先前定义的加密卷,但没有描述如何使用它进行交换。-1
David Foerster'3
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.