จะติดตั้งแพกเกจเวอร์ชั่นล่าสุดด้วย apt-get ได้อย่างไร?


14

มันง่ายที่จะติดตั้งแพ็คเกจเฉพาะเวอร์ชั่นด้วย apt-get:

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

ตัวอย่างเช่น:

apt-get install jenkins=1.517

แต่มีทางลัดสำหรับการติดตั้งเวอร์ชันล่าสุดหรือไม่?

ตัวอย่างเช่นพูดการเขียนสคริปต์เพื่อทำการติดตั้งเจนกินส์โดยอัตโนมัติ หลังจากเพิ่มhttp:/q/pkg.jenkins-ci.org/debianลงไป/etc/apt/sources.listแล้วเจนกินส์พร้อมใช้งานจากสองแหล่ง ตอนนี้ฉันอยากบอกให้ apt-get ติดตั้งเวอร์ชันล่าสุดโดยไม่รู้ว่าเวอร์ชั่นล่าสุดคืออะไรในเวลาที่สคริปต์ทำงาน

เป็นไปได้ในวิธีที่ง่าย ๆ ?


apt-getโดยค่าเริ่มต้นรับรุ่นล่าสุด วิ่งapt-get updateก่อนเพื่อให้แน่ใจ
Anwar

คำตอบ:


14

เพียงพิมพ์

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

และล่าสุดที่มีอยู่ในที่เก็บข้อมูลทั้งหมดของคุณจะถูกติดตั้ง


3
อย่าลืมapt-get updateก่อนapt-get install ...อัปเดตรายการแพ็กเกจจากที่เก็บ
Eric Carvalho

ขอบคุณชนิดที่ชัดเจน ... :) ก่อนหน้านี้ฉันเคยพบว่ามีรุ่นเก่าติดตั้งโดยไม่ได้ตั้งใจ แต่อาจเกิดจากการลืมที่จะทำapt-get updateก่อน
Jonik

6

คำตอบที่เลือกใช้งานได้ในกรณีส่วนใหญ่ อย่างไรก็ตามคุณอาจพบว่าตัวเองอยู่ในสถานการณ์ที่มีเวอร์ชันใหม่กว่าพร้อมใช้งานในที่เก็บ backport ซึ่ง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

เลือกรุ่นจาก backports สามารถทำได้โดยการระบุการติดตั้งจาก backports apt-get -t xenial-backports install golangนี้:

การอ้างอิง: https://help.ubuntu.com/community/UbuntuBackports#Installing_Backports


2

สำหรับคนอื่นที่มาที่นี่: คำตอบของ ttoine นั้นถูกต้อง

แต่ถ้าคุณติดกับapt-get -q -y --force-yes install openjdk-6-jdk=<blah>ไวยากรณ์ (สมมติว่าผ่าน Chef) คุณสามารถระบุเครื่องหมายดอกจัน / ดาวเพื่อรับข้อมูลล่าสุด:apt-get -q -y --force-yes install openjdk-6-jdk=\*


1

โปรดทราบว่าในการรับแพคเกจเวอร์ชั่นล่าสุดที่เกิดขึ้นจริงคุณอาจต้องเพิ่มที่เก็บลงใน apt ซึ่งเป็นที่เก็บที่เป็นแพ็คเกจเวอร์ชันปัจจุบัน (เช่นล่าสุดที่แท้จริง) เช่นเอกสาร openvpnอธิบาย:

"รุ่นล่าสุดของ OpenVPN มีอยู่ในที่เก็บ apt ของโครงการ OpenVPN ซึ่งช่วยให้คุณใช้ OpenVPN เวอร์ชันล่าสุดได้มากกว่าสิ่งที่มีอยู่ทั่วไปในคลังเก็บของการแจกจ่ายของคุณ"

แน่นอนคุณต้องการให้แน่ใจว่าคุณเชื่อถือที่เก็บข้อมูลใด ๆ ที่คุณเพิ่ม มีหลายวิธีในการเพิ่มที่เก็บ ฉันชอบวิธีที่พวกเขาแนะนำในเอกสาร OpenVPN ที่ลิงก์ด้านบน นอกจากนี้ยังมีadd-apt-พื้นที่เก็บข้อมูล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.