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

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

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

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

我试过“apt-get 安装 linux-headers-‘uname -r’”,“apt-cache 搜索 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>

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

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

答案1

我认为 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 Headers 位于主存储库中。因此,首先下载主存储库

您需要提取源文件。

用您最喜欢的编辑器查看该文件。

您正在寻找 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 发行版的源文件开始。

答案2

修改你的sources.list指向

http://old-releases.ubuntu.com/

而不是当前的

http://<country-code>.ubuntu.com/

相关内容