我通常mount用来检查挂载了哪些文件系统。我也知道mount和之间存在某种联系,/etc/mtab但我不确定细节。阅读如何检查 /proc/ 是否已安装后,我变得更加困惑。
我的问题是:如何获得最精确的已挂载文件系统列表?我应该只使用mount,还是阅读 的内容/etc/mtab,还是 的内容/proc/mounts?什么会给出最值得信赖的结果?
我有一个 64 位(amd64 aka x86_64)Debian 或 Ubuntu 安装。我偶尔需要运行 32 位 (i386/i686) 程序,或者为 32 位系统编译程序。我怎样才能做到这一点,而不是大惊小怪?
奖励:如果我想使用较旧或较新版本的发行版运行或测试怎么办?
起初我使用stat -c %i file(帮助检测 jail 的存在),它似乎适用于阳光下的任何 Linux 发行版。在 OS X 上,我不得不使用ls -i file | cut -d ' ' -f 1.
是否有某种方法可以在可跨 *nix 平台移植且不依赖于众所周知的反复无常的 shell 脚本中找到文件的 inode 编号ls?
注意:我熟悉这个 U&L 问答,标题为:我如何判断我正在 chroot 中运行?这听起来与我要问的很相似,但与我要寻找的内容存在细微差别。那个专注于进程本身检测到它处于 chroot 环境中,我在问一个进程如何发现另一个进程已被 chroot。
正在调查陌生服务器中的 apache 问题。的输出ps -ef看起来像这样:
[belmin@server131 ~]$ sudo ps -ef | grep httpd
apache 14363 4082 0 14:04 ? 00:00:00 /usr/local/apache2/bin/httpd -k start
apache 14365 4082 0 14:04 ? 00:00:00 /usr/local/apache2/bin/httpd -k start
Run Code Online (Sandbox Code Playgroud)
我查看/usr/local/apache2/conf了配置,考虑到我们看到的症状,这不是我所期望的。决定仔细检查init脚本并注意到实际进程在 chroot jail 中。
为了将来参考,有没有办法确定一个进程是否在chroot监狱中,只有PID? 我又如何找到chroot监狱的路径?