从外部驱动器卸载 /usr

从外部驱动器卸载 /usr

/usr从 nvidia TX1 开发板安装到连接到该板的外部 SSD。

我想知道如何在不重新刷新的情况下恢复原始状态?如果我断电,断开SSD,然后启动,将不会有/usr目录。

我正在考虑制作一个副本到 /root/usr 并更新fstab以指向该副本而不是外部 SSD,但必须有更好的选择,我现在想不出来。

如果是常规的,x86我只需启动 Live CD 并修复它,但这是一个带有 Arm 的 SoC,所以没那么容易

答案1

使用 的绑定安装/使原始文件(如果之前已安装在其上,/usr则可能是空的)可用,并将安装的文件复制到其上。/usr/usr/usr

# mkdir /root/underlyingroot
# mount --bind --make-private / /root/underlyingroot
# cp -ax /usr /root/underlyingroot
# umount /root/underlyingroot

--make-private/是取消安装的情况shared选项, 哪个这是跑步时systemd。否则,在上面mount和上面之间安装的任何东西(例如:自动安装插入的设备等)umount都将反映在内部/root/underlyingroot并阻止之后的简单umount /root/underlyingroot工作。

现在复制已在最终位置完成,您可以编辑/etc/fstab和删除/usr安装点。

如果根本没有运行任何东西,/usr您也可以umount立即/usr完成。但如今,如果不是在单用户或救援模式下,很难让运行的东西/usr根本不使用,甚至现在甚至不总是(例如较新的 CentOS),所以无论如何可能需要重新启动。您还可以考虑umount --lazy /usr哪个将允许立即摆脱内部存储而不是外部存储/usr并进行任何新的更新/usr,但在下次重新启动之前仍然需要外部存储。

相关内容