如何下载旧的不受支持的软件包,例如内核头文件?

Kay*_*Kay 7 installation package-management programming kernel

我正在使用现在不受支持的 Jaunty。但是,我也在运行一个我希望编程的旧的不受支持的内核。

我正在尝试在内核 2.6.21 中进行新系统调用,其中一个新系统调用使用“sys_write”函数,但要使用此函数,我意识到必须根据 2.6.21 版本安装内核头文件。

我试过“apt-get install linux-headers-'uname -r'”、“apt-cache search linux-headers-$(uname -r)”

但我找不到任何东西..

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/syscalls.h>
#include <linux/fcntl.h>
#include <asm/uaccess.h>
Run Code Online (Sandbox Code Playgroud)

另外,上面的头文件是我想要的。

我如何获取现在不受支持且不在当前存储库中的内容的内核头文件?

enz*_*tib 7

修改你sources.list的指向

http://old-releases.ubuntu.com/
Run Code Online (Sandbox Code Playgroud)

而不是当前

http://<country-code>.ubuntu.com/
Run Code Online (Sandbox Code Playgroud)


fos*_*dom 6

我认为在 Ubuntu Feisty (7.04) 上使用了内核 2.6.21。

根据您的评论,您说您使用的是 Ubuntu Jaunty - 这很奇怪,因为 Jaunty 的内核是 2.6.28。

Feisty 和 Jaunty 都不再受支持,您将无法通过“sudo apt-get”方法安装任何包,例如头文件。

强烈建议您使用最低版本 10.04 替换您的安装。

Jaunty 和 Feisty 都不再出现在官方的 ubuntu 档案中。

但是,可以在此处找到所有 Ubuntu 版本的所有原始软件包信息。

要找到要安装的原始 .deb 包,需要进行一些侦查工作。

我将开始搜索 2.6.28 Jaunty linux 头文件的示例。

Linux 头文件存在于主存储库中。所以首先下载主存储库的源代码

您需要提取源文件。

在您喜欢的编辑器中查看该文件。

您正在寻找 linux-headers 二进制文件 - 请参阅此屏幕截图 在此处输入图片说明

你会看到我在 linux-headers 下划线 - 你会看到包名和你需要找到该包的位置

接下来将您的浏览器指向文件夹的开头,在那里可以找到包

http://archive.ubuntu.com/ubuntu/

导航到该包名称 - 在本例中

池/主/ l/linux

在该文件夹中,您会注意到每个版本的所有原始 deb 文件。因此,对于 Jaunty,您将查找以 linux-headers-2.6.28 开头的文件。

现在您将看到所有相关文件 - 根据您的架构加载 deb 文件(64 位以 amd64.deb 结尾,32 位以 i386.deb 结尾)以及以“all.deb”结尾的头文件

对于 Feisty 包,执行与上述类似的操作 - 但这次从 Feisty 发行版的 Sources 文件开始。