apt-get으로 최신 버전의 패키지를 설치하는 방법은 무엇입니까? 을 사용하여 특정 버전의 패키지를

apt-get 을 사용하여 특정 버전의 패키지를 쉽게 설치할 수 있습니다.

apt-get install <package name>=<version>

예를 들면 다음과 같습니다.

apt-get install jenkins=1.517

그러나 최신 버전 을 설치하기위한 지름길이 있습니까?

예를 들어 Jenkins 설치를 자동화하는 스크립트를 작성한다고 가정하십시오. 추가 한 다음 http:/q/pkg.jenkins-ci.org/debian/etc/apt/sources.list, 젠킨스에서 사용할 두 개의 소스. 이제 apt-get에게 스크립트가 실행될 당시의 최신 버전이 무엇인지 정확히 모르면서 최신 버전을 설치하라고 말하고 싶습니다 .

간단한 방법으로 가능합니까?



답변

그냥 입력

apt-get update
apt-get install <package-name>

모든 리포지토리에서 사용 가능한 최신 버전이 설치됩니다.


답변

선택한 답변은 대부분의 경우 작동합니다. 그러나 apt-get install <package-name>기본적 으로 설치되지 않는 백 포트 저장소에서 최신 버전을 사용할 수있는 상황에 처할 수 있습니다 . 예를 들어 최근에이 문제가 발생했습니다.

$ apt-cache policy golang
golang:
  Installed: 2:1.3.3-1
  Candidate: 2:1.3.3-1
  Version table:
     2:1.7~5~bpo8+1 0
        100 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
     2:1.5.1-4~bpo8+1 0
        100 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
 *** 2:1.3.3-1 0
        500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

백 포트에서 버전을 선택하려면 백 포트에서 설치하도록 지정하면 apt-get -t xenial-backports install golang됩니다.

참조 : https://help.ubuntu.com/community/UbuntuBackports#Installing_Backports


답변

여기에 착륙 한 다른 사람에게 : ttoine의 대답은 맞습니다.

그러나 apt-get -q -y --force-yes install openjdk-6-jdk=<blah>구문을 고수하면 (Chef를 통해 말하십시오) 별표 / 별을 지정하여 최신 정보를 얻을 수 있습니다.apt-get -q -y --force-yes install openjdk-6-jdk=\*


답변

패키지 의 실제 최신 버전 을 얻으려면 패키지의 최신 (즉, 실제 최신) 버전을 보유하는 저장소 인 apt에 저장소를 추가해야 할 수도 있습니다. 예를 들어, openvpn 문서 는 다음을 설명합니다.

“최신 OpenVPN 릴리스는 OpenVPN 프로젝트의 apt 저장소에서 사용할 수 있습니다.이를 통해 배포 저장소에서 일반적으로 사용 가능한 것보다 더 최신 버전의 OpenVPN을 사용할 수 있습니다.”

물론 추가 한 모든 저장소를 신뢰해야합니다. 저장소를 추가하는 방법에는 여러 가지가 있습니다. 위의 OpenVPN 문서에서 제안하는 방식이 마음에 듭니다. add-apt-repository있습니다 .