我在 fstab 文件中添加了一个条目来添加交换分区。
我使用 bash 命令的输出来获取 vdb1 分区的 UUID(我无法复制粘贴)。
像这样:
UUID=$(blkid -o value -s UUID /dev/vdb1) swap swap defaults 0 0
当我运行“mount -a”时出现解析错误。
我怎样才能正确地做到这一点?
答案1
正如 Kusalananda 所评论的,fstab 无法解释嵌入的 shell 命令,导致您的 fstab 导致此错误。
关于您关于剪切/粘贴的评论 - 我知道输入 uuid 是令人畏惧的并且可能容易出错,但您可以通过执行以下命令将 uuid 简单地附加到 fstab 的末尾:
blkid -o value -s UUID >> /etc/fstab
...然后编辑 /etc/fstab 以将“垃圾”uuid 行编辑为有效语法。
我建议这只是作为弥补鼠标/复制/粘贴功能缺乏的一种方式。
如果您不完全理解我在这里的建议,请不要这样做!它将使您的 fstab 语法无效,并阻止您的系统在更正之前启动。
答案2
接受的答案似乎很不祥!
虽然修改 fstab 可能很危险,特别是对于刚接触 Linux 系统的人来说,但至少可以通过首先制作一个副本来减轻一些压力和危险(这应该是您进行此类操作的习惯)。
例如
cp /etc/fstab /etc/fstab.copy
或cp /etc/fstab ~/fstab.copy
对于 blkid 命令输出 UUID:
blkid -o value -s UUID >> /etc/fstab.copy
fstab.copy
执行您的编辑确保你的语法看起来不错。当您的fstab.copy
文件达到您所理解的完美程度时,请将其另存fstab.copy
为 /etc/fstab。确保其中没有任何意外的内容,例如 cr/lf 对。
请参阅上面的链接“确保”进行下一步(带安装的测试)。为了更多详细解释关于安装测试与重新启动。
验证您的新 fstab:
mount -fav
根据系统反馈,您将知道是否可以安全重新启动等。没有坏处。没有犯规。 :)