确定 shell 脚本是否在 LiveOS/chroot/installed 系统上运行?

确定 shell 脚本是否在 LiveOS/chroot/installed 系统上运行?

如何在 Shell 脚本中确定该脚本是否正在运行:

  • 在 Ubuntu LiveOS 上(不一定依赖于版本)——(已经回答这里
  • 在 Ubuntu LiveOS 上的 chroot 中(已解决这里
  • 在本地安装的系统上(没有 LiveOS)--(已经回答这里

由于这三点似乎都在其他地方得到解决,我将投票关闭这个问题。这里唯一的答案指出,可以使用多种测试来确定 LiveOS 上的 chroot。

答案1

考虑结合这些检查来确定实时会话:

查找正在某处安装的实时文件系统:

losetup -l | grep /cdrom/casper/filesystem.squashfs

如果您发现某些东西,则很有可能它是一个实时会话。

检查根文件系统:

df /

或者寻找特殊文件的存在(例如:ubiquity:Ubuntu 安装程序)

which ubiquity

还请检查它在 ~/Desktop 的快捷方式

检查当前登录的用户:users您应该得到:ubuntu

而且它们都可以被设置为看起来像是现场会议的样子来欺骗你……

对于 chroot,我不确定这是如何可能的...我会检查一下。

相关内容