이 명령을 사용하여 apt-get -b source
하나의 CPU 코어가 있는 소스 코드를 다운로드하고 컴파일합니다. 여러 CPU 코어가 있는 적절한 패키지 관리자를 사용하여 데비안에서 패키지를 컴파일하는 방법이 있습니까? -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 호출이 이 옵션을 상속하게 됩니다. 또한 DEB_BUILD_OPTIONS 환경 변수에 Parallel=jobs를 추가하면 debian/rules 파일이 이 정보를 자체 목적으로 사용할 수 있습니다. 이 옵션이 제공되면 DEB_BUILD_OPTIONS 환경 변수의 parallel=jobs가 -j 값을 재정의합니다.
물론 이것이 작동한다는 보장은 없습니다. 효과를 얻으려면 빌드에서 실제로 MAKEFLAGS 또는 DEB_BUILD_OPTIONS를 적절한 방식으로 사용해야 합니다.
나는 그것을 사용한 적이 없지만 apt-get -b source
명령줄을 통해 적절한 플래그를 전달할 수도 있습니다. 그러나 이 빌드를 두 단계로 수행하는 것이 좋습니다. 어쨌든 다운로드 후 직접 빌드하는 것은 대부분의 경우 작동하지 않습니다. 일반적으로 최소한 빌드 종속성을 먼저 설치해야 합니다. 백포팅하거나 빌드하려는 동일한 버전용으로 설계되지 않은 패키징을 사용하는 경우 빌드를 시도하기 전에 패키징을 수정해야 할 수도 있습니다.