如何在12.10版本上安装开发工具?

我有一个源代码压缩包:ap-kernelmodule-1.0.14-13.tar.gz 我需要编译一个内核模块,并被告知要为我的Ubuntu版本(12.10)安装开发工具。 命令格式是:sudo apt-get install linux-headers-$(uname -r) build-essential 问题1:什么是uname
(当我安装Ubuntu时,我输入了sharon作为我的名字,也是我的账户名。每次打开终端窗口时,会显示sharon@sharon:) 根据命令格式,我应该输入:
sudo apt-get install linux-headers-$(sharon -r) build-essential

或者

sudo apt-get install linux-headers-$sharon -r build-essential

问题2:上述哪个是正确的?
(我对Linux和Ubuntu都很新,因此希望能给出详细的说明)

你最好把这个问题的细节放到你之前问过的另一个类似问题中。http://askubuntu.com/questions/232195/how-do-i-compile-kernel-modules - gertvdijk
对不起,我不是有意进行垃圾邮件发送。我认为为每个子主题发布一篇帖子会更清晰。你能告诉我如何将这个主题与你指出的另一个主题合并吗?谢谢。 - n00b
2个回答

不要复制我的命令,你必须自己输入并使用Tab键,因为我的内核可能与你的不同。我会逐步解释:

打开终端并输入:

sudo apt-get update

这个更新会提醒你的电脑可能需要的文件,但不会下载任何文件,只会提供可下载的信息。如果你没有先进行这个操作,可能就无法获得最新的安全更新链接或软件的最新版本。
在输入时,按下“tab”键来完成你的命令。开始输入将安装“build-essential”的命令。一旦你到达这一步,请停止。
sudo apt-get install linux-headers-

接下来应该出现的是您的Linux内核。因此,请打开另一个终端并输入以下内容:
uname -r

你应该看到类似这样的东西:
3.2.0-23-generic

现在回到另一个终端,按Tab键进行输入。你应该能看到你的内核弹出来了。选择那个。
sudo apt-get install linux-headers-3.2.0-23-generic

现在输入一个空格,然后添加 build-essential(别忘了使用制表符进行自动补全)。
sudo apt-get install linux-headers-3.2.0-23-generic build-essential

现在按回车键,将会下载一些帮助您编译代码的文件。

@ cxx6xxc:谢谢你像个天使一样的存在。我非常感激你花时间写下如此详细的指导。愿你和你的亲人度过一个快乐的圣诞节。 - n00b
@ cxx6xxc:抱歉,我不太明白你所说的“在输入时,按下Tab键来完成命令”的意思。通常情况下,当我输入时,闪烁的光标会自动向右移动(我的语言键盘是美式英语,所以光标从左到右移动)。 - n00b
@cxx6xx:同时打开多个终端窗口可以吗?同时打开多个终端窗口会导致Ubuntu混乱或崩溃吗? - n00b
Tab键的奥秘:http://bogojoker.com/unix/tricks/autocomplete.html - cxx6xxc
Ubuntu不会混乱。Ubuntu只是存储磁盘上的一堆文件和目录。当一个文件正在被访问并写入时,它会被锁定,所以不会发生混乱。多个人同时阅读同一份文件也不会有问题,每个人只需轮流进行。其他所有的东西都是填充内存的应用程序。它们无法进入彼此的内存空间,因此不会造成混乱。事情可能会变慢,因为每个人都需要处理器的一点推动力,而每秒钟只能提供有限的推动力,但仅此而已。 - cxx6xxc
@cxx6xx:感谢您的解释。 - n00b

uname 是一个必须在命令行中输入的命令。所以,如果你打开一个终端并输入 uname,它会输出单词 Linux。在你提到的命令中,你会发现 -r。这是给 uname 的一个选项。它指示 uname 打印内核版本号。因此,它基本上会打印出一些数字(例如 3.2.0-41-amd64)。

你应该输入以下命令:

sudo apt-get install linux-headers-$(uname -r) build-essential

就像它写的那样。 $(something) 告诉你的命令行(更好的词应该是 shell)执行命令 something 并将该命令的输出插入其中。
所以在你的 uname 情况下(假设我写的数字是正确的,可能在你的情况下不正确),执行的命令是 sudo apt-get install linux-headers-3.2.0-41-amd64 build-essential。基本上你可以手动查找你的内核版本并插入它。
现在你看到了,你的所有版本都不正确。解决方案看起来有点不同。

希望能够帮助您解答问题。如果是的话,请接受它作为解决方案。;-) - qbi
谢谢,我相信你已经回答了我的问题。那么现在我应该点击哪个按钮告诉论坛我的问题已经得到解答了呢?从我当前的位置来看,只有两个按钮:“添加评论”和“回答你的问题”。 - n00b
在左边有一个向上和向下的箭头,下面是一个勾号(✓)。如果你点击它,表示接受一个答案作为被采纳的答案。请参阅http://askubuntu.com/faq#howtoask中的描述。 - qbi
@ qbi:非常感谢。祝你和你的亲人圣诞快乐。 - n00b