【发布时间】:2015-07-09 04:58:09
【问题描述】:
当我转移到内核后,我正在编写这个命令。当我编译它时,它没有显示任何列表。还有其他命令可以打开列表吗?
open /arch/x86/syscalls/syscall_32.tbl
【问题讨论】:
-
如果文件或目录不存在,如何安装或创建?
-
在下面查看我的答案。
当我转移到内核后,我正在编写这个命令。当我编译它时,它没有显示任何列表。还有其他命令可以打开列表吗?
open /arch/x86/syscalls/syscall_32.tbl
【问题讨论】:
从文件路径中删除第一个 / 字符(因为它应该是 relative 路径)。
现在,使用file 工具检查此文件是否存在:
$ file arch/x86/syscalls/syscall_32.tbl
如果文件存在,您可以使用cat 或less 命令打印它。例如:
$ less arch/x86/syscalls/syscall_32.tbl
您也可以在编辑器中打开此文件,例如使用vi 命令。
此文件附带 Linux 内核源代码。它是由this commit 在内核 3.3 中添加的。所以你应该使用3.3或以上的内核版本来拥有这个文件。
syscall_32.tbl文件下载内核通过Git 从kernel.org 下载香草主线内核源代码(使用来自here 的指令):
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
$ cd linux/
现在您应该弄清楚要使用哪个版本。这取决于您的任务(您计划如何进一步使用此内核)。如果它打算在 PC Linux 发行版上使用,我会说选择最接近您的发行版内核的版本:
$ uname -a
您可以通过发出下一个 Git 命令查看所有可用版本:
$ git tag
现在您可以切换到您选择的版本(在上述命令的输出中)。例如。你可以像这样切换到v3.3:
$ git checkout v3.3
切换到 3.3 或更高版本,您的内核源代码将有arch/x86/syscalls/syscall_32.tbl 文件:
$ less arch/x86/syscalls/syscall_32.tbl
【讨论】:
syscall_32.tbl 文件的正确内核源代码的说明。 3.3 不可能没有syscall_32.tbl,一定是有什么错误。但我建议您使用最新版本,可能是LTS 一个。 v3.18 将是一个不错的选择。或者,如果您想要已具有 syscall_32.tbl 的最低 LTS 版本,请使用 v3.4。