我最近一直在尝试不同的 Linux 发行版,以尽可能多地了解 Linux。最近,我在安装 LFS 时尝试了解 Linux 的核心元素时遇到了从源代码安装软件包的问题。我已经设法从源代码安装了一些软件包,但该过程没有标准。是的,一般方法是首先配置,然后 make,然后 make install,但是从包到包这变化很大。而且我还没有找到处理我想要安装的任何软件包的方法。
例如,我正在尝试安装 dpkg 包管理器,并且成功安装了除一个之外的所有依赖项; libselinux1。解压 tarball 后文件夹中没有配置文件,所以我想我应该先执行 make 步骤,跳过配置。我已经阅读了文件夹内的 Makefile,它给了我不知道。它不起作用并给出错误:
Fatal Error: sepol/sepol.h: No such file or directory
15 | #include <sepol/sepol.h>
我的问题是如何知道如何在不使用包管理器的情况下从源安装任何包?更具体地说,我如何安装这个软件包?
非常感谢您的帮助!
答案1
我的问题是如何知道如何在不使用包管理器的情况下从源安装任何包?
源代码编译没有标准。各种软件包可能使用Makefile
、cmake
、autotools
、 普通 bash 脚本meson
、waf
和好多其它的。
更具体地说,我如何安装这个软件包?
你可以检查一下如何
- Arch 构建它:https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=libselinux
- 软呢帽https://src.fedoraproject.org/rpms/libselinux/blob/master/f/libselinux.spec或者
- 德班http://deb.debian.org/debian/pool/main/a/android-platform-external-libselinux/android-platform-external-libselinux_8.1.0+r23-2.debian.tar.xz
- 甚至 Gentoohttps://gitweb.gentoo.org/repo/gentoo.git/tree/sys-libs/libselinux/libselinux-3.1.ebuild