我正在调试一个闭源软件安装程序,它似乎对我的发行版有一些先入为主的概念。安装在未找到后中止apt-get
。它尝试运行的命令是:
apt-get -y -q install linux-headers-3.7.5-1-ARCH
我想“包名称”来自/usr/src
,其中唯一的条目是linux-3.7.5-1-ARCH
。有人对我应该用 pacman 安装哪个软件包有任何有根据的猜测吗?
这些标头可能将用于编译定制硬件的驱动程序。
以下是安装日志中的一些相关文本:
注意:Linux 驱动程序必须针对 Linux 操作系统当前运行的内核的内核源代码进行构建。该脚本会自动为您执行此任务。
注意:您必须安装 Linux OS 内核头文件。如果您计划运行 Jungo Debug Monitor,那么您可能还需要安装“compat-libstdc++”和“libpng3”。
您的 Linux 当前运行以下内核版本:
3.7.5-1-ARCH
答案1
您正在运行 Arch linux。根据pacman -Q -i linux-headers
,“linux-headers”包包含“用于构建 Linux 内核模块的头文件和脚本”。当 Linux 内核构建时,会定义各种常量,这些常量可能是数字、字符串或其他什么。一些可加载模块需要知道这些数字或字符串。 “linux-headers”中的文件应包含内核的所有特定于构建的数字、字符串等,在您的情况下为内核版本 3.7.5-1 。
您可以查看“linux-headers”包拥有哪些文件:pacman -Q -l linux-headers
您可以以 root 身份安装包“linux-headers”:pacman -S linux-headers
脚本的“apt-get”部分似乎假设您正在运行 Debian 或其衍生版本。使用 pacman 安装 linux-headers 并查看运行情况。
答案2
您正在运行 Arch Linux,它不使用 apt-get 作为包处理实用程序。 Arch Linux 使用 pacman 来代替。
许多Linux发行版中的linux-headers包通常包含Linux内核的C头文件(扩展名为.h的文件)。这些文件通常定义可供其他程序和驱动程序使用的常量和函数。
您通常需要内核头文件才能编译和安装内核的第 3 方驱动程序。