我使用apt-get -b source
这个命令下载并编译带有一个CPU核心的源代码,有没有办法使用具有多个CPU核心的apt包管理器在debian中编译包?就像命令-j
中的选项: 。make
make -jX
谢谢。
答案1
debuild
我使用包中的命令devscripts
,该命令dpkg-buildpackage
从dpkg-dev
包中调用。与直接使用相比,这有一些优点dpkg-buildpackage
,例如它会自动创建构建日志。运行后正常使用
apt-get source pkgname
是
debuild -uc -us
但你可以这样做(例如)
debuild -uc -us -j4
这会将 -j 标志传递给dpkg-buildpackage
.
这是来自 的相关部分man dpkg-buildpackage
。
-jjobs 允许同时运行的作业数,相当于同名的 make(1) 选项。将自身添加到 MAKEFLAGS 环境变量中,这将导致所有后续 make 调用继承该选项。还将 parallel=jobs 添加到 DEB_BUILD_OPTIONS 环境变量,该变量允许 debian/rules 文件将此信息用于自己的目的。如果给出此选项,DEB_BUILD_OPTIONS 环境变量中的parallel=jobs 将覆盖-j 值。
这当然不能保证有效。构建必须以合适的方式实际使用 MAKEFLAGS 或 DEB_BUILD_OPTIONS 才能产生效果。
我从未使用过apt-get -b source
,但您也可以通过该命令行传递合适的标志。不过,我建议分两步进行此构建。无论如何,下载后直接构建在大多数情况下是行不通的。通常您至少必须首先安装构建依赖项。如果您正在进行向后移植或以其他方式使用不是为您尝试构建的同一版本设计的打包,则可能需要在尝试构建之前修改打包。