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 도 있습니다 .