테스트에서 패키지를 설치하는 방법은 무엇입니까?

테스트에서 패키지를 설치하는 방법은 무엇입니까?

저는 Ubuntu 16.04 LTS 서버를 사용하고 있으며 다음 사항에 대한 수정이 필요합니다.https://launchpad.net/ubuntu/+source/vagrantYakkety용으로 출시된 버전이지만 1.8.1+dfsg-2Xenial용으로는 출시되지 않았습니다.

그렇다면 1.8.1+dfsg-2Xenial이 출시되면 공식 패키지로 교체되도록 이를 설치하는 방법은 무엇입니까?

pin업데이트: 패키지를 원하지 않습니다 . 안정 버전이 출시되면 후속 안정 버전으로 업데이트하고 싶습니다.

답변1

이번 한 번만 최신 패키지를 원하고 현재 Ubuntu 릴리스에 적합한 버전이 출시된 후에 패키지를 교체하려는 경우 다음을 수행할 수 있습니다.

  1. 빌드 도구 및 종속 항목을 설치합니다.

    sudo apt-get install build-essential devscripts
    sudo apt-get build-dep vagrant
    
  2. 패키지 소스를 다운로드하고 추출합니다.

    dget -u https://launchpad.net/ubuntu/+archive/primary/+files/vagrant_1.8.1+dfsg-2.dsc
    cd vagrant-1.8.1
    
  3. 신중하게 제작된 로컬 버전 접미사를 사용하여 변경 로그 항목을 추가합니다( anatoly로그 메시지를 원하는 대로 교체).

    debchange --local=~anatoly 'Backport to Xenial'
    

    그러면 패키지 버전이 1.8.1+dfsg-2~anatoly1. 물결표 접미사는 실제로 다음보다 낮은 버전으로 간주되는 속성을 갖습니다 1.8.1+dfsg-2.

    $ dpkg --compare-versions 1.8.1+dfsg-2~anatoly1 '<' 1.8.1+dfsg-2; echo $?
    0
    

    1.8.1+dfsg-2이는 구성된 리포지토리에서 버전(또는 최신 버전)을 사용할 수 있게 되면 패키지 관리자가 로컬 패키지를 "업그레이드"하도록 제안한다는 의미입니다 .

  4. 바이너리 패키지를 빌드합니다:

    debuild -b -j"`getconf _NPROCESSORS_ONLN`"
    
  5. 으로 빌드된 패키지를 설치합니다 sudo dpkg -i <DEBFILE>....

추신: 나는 패키지를 직접 구축하려고 시도하지 않았으므로 문제가 발생할 수 있습니다. 예를 들어 Yakkety의 소스 패키지는 Xenial에 없는 패키지(버전)에 따라 달라질 수 있습니다(현재로서는 동일한 업스트림 버전이므로 그럴 가능성은 낮습니다). 이 경우 우리는 이 문제를 해결할 수 있는 방법을 찾을 수 있습니다.

관련 정보