我在 Ubuntu 18.04.6 上使用 Truecrypt 7.1a-15 时遇到了问题。
使用 Ubuntu 16.04.7 时我没有遇到下面描述的问题。
我编写了一个小脚本,它加载了两个 truecrypt 卷,每个卷都用密钥文件加密,没有密码。
脚本复制如下:
truecrypt -k /media/DATA/TESTKEY /media/DATA/TESTVOL1 /media/tc1
#睡眠 5
truecrypt -k /media/DATA/TESTKEY /media/DATA/TESTVOL2 /media/tc2
问题是该脚本只能成功挂载第一个卷,而不能挂载第二个卷。当我从终端运行该脚本时,系统提示我输入“用户或管理员”密码。输入密码后,终端显示第一个卷已挂载,但第二个卷挂载。
如果我运行 Truecrypt GUI 管理器,我可以看到第一次挂载确实成功了,但是第二个卷虽然列出,但在“挂载目录”列下显示为空白。
如果我什么都不做,大约一分钟后我会收到一个 Truecrypt 错误对话框,其中显示:
"Failed to setup a loop device:"
/media/DATA/TESTVOL2
OK
Truecrypt GUI 中显示的第二卷消失了。
如果我随后使用 GUI “卸载所有”以便不安装任何卷并从相同或新的终端再次运行脚本,则脚本将按预期工作。系统要求我输入一次密码,然后安装两个卷。此后,我可以使用脚本卸载所有卷并重新安装两个卷,而不会出现进一步的问题。问题仅在启动后第一次运行脚本时发生。不幸的是,这正是我需要使用脚本的时候。
系统启动后多久运行该脚本都没有关系。问题只在我第一次运行该脚本时出现。
我为所有用户和组授予了文件夹 /media/tc1 和 /media/tc2 的完全权限。如果我在脚本中交换两个挂载命令,第一个卷总是按预期挂载,但第二个卷则不会。我尝试在两个命令之间设置延迟,以防系统出于某种原因在启动时需要额外的时间,但没有任何区别。
问题只发生在启动后第一次运行脚本时。随后完全卸载,然后脚本安装两个卷,没有问题吗?
我尝试过重新启动,并且第一次只使用 GUI。但情况是一样的,第一个卷加载成功,但尝试加载第二个卷时 GUI 挂起,再次等待很长时间才失败。
不确定循环设备究竟是如何工作的。我假设 truecrypt 在加载每个卷之前发出一个 losetup -f。我尝试在启动后但在运行我的脚本之前通过运行 ls -l /dev/loop* 进行检查,它列出了 20 个循环设备。加上一个循环控制,不管那是什么。
第二次挂载失败后,我检查了循环设备的数量,发现它已经增加到 255 个!可能是 truecrypt 和 losetup 之间的时间安排错误,losetup 创建了一个新的循环设备,但 truecrypt 等待 losetup 时超时太快了?如果是这样,有什么可以做的吗?但为什么只有在第一次挂载成功后才会出现这种情况。
我也尝试以 root 身份运行该命令,但尽管它没有要求输入密码,但在第一次挂载后仍然挂起,并且无法挂载第二个卷。
我尝试将脚本拆分为两个单独的脚本,每个脚本单独调用 truescript。但它再次挂在第二个脚本中。
我创建了一个脚本,其中第二次挂载了两次。
truecrypt -k /media/DATA/TESTKEY /media/DATA/TESTVOL1 /media/tc1
truecrypt -k /media/DATA/TESTKEY /media/DATA/TESTVOL2 /media/tc2
truecrypt -k /media/DATA/TESTKEY /media/DATA/TESTVOL2 /media/tc2
它确实有效,但需要等待第二次安装失败,这需要一分钟以上。并且需要在 truecrypt 错误对话框中单击“确定”。所以不太理想。
似乎在初始启动后,truecrypt 需要失败才允许进行更多挂载?
我真的很想使用 Ubuntu 18.04.6 - 64 位版本。但这是一个问题。
谢谢你的帮助。
答案1
谢谢您的回复。
同意。将尝试 Veracrypt。
补充一下,我猜问题只在启动后发生的原因可能是在我的启动设置中有一个备用循环设备。因此第一个映射有效。然后 truecrypt “追逐”losetup 并要求越来越多的循环设备。不知何故没有看到 losttup 提供的设备。在随后的所有尝试中,都有很多备用循环设备,因此问题不会再次出现。但为什么 truecrypt 和 losetup 不能正常通信(如果这是问题所在)是一个谜。
无论如何,都没有实际意义,因为将按照建议尝试 Veracrypt。