คุณจะเห็นแพคเกจที่พร้อมใช้งานสำหรับการปรับปรุงได้อย่างไร


72

ผู้ใช้ FreeBSD เข้าร่วมอันดับของคุณ ฉันถูกขอให้ดูแลเซิร์ฟเวอร์ Ubuntu ที่ใช้ 10.04 LTS

ฉันเห็นจาก/usr/lib/update-notifier/update-motd-updates-availableที่มีจำนวนของการปรับปรุงบนเซิร์ฟเวอร์ แต่ฉันไม่เห็นวิธีที่จะบอกว่าจะมีการปรับปรุง

ใครapt-get upgradeบ้างที่สามารถชี้ให้ฉันไปในทิศทางที่ถูกต้องเพื่อที่ฉันสามารถดูว่าแพคเกจใดจะได้รับการปรับปรุงเมื่อฉันทำงาน

UPDATE:

ไม่สามารถตอบคำถามของฉันในขณะนี้ดังนั้นโปรดโยนสิ่งนี้ไว้ในตอนนี้:

พร้อมกับคำapt-get upgrade --dry-runแนะนำด้านล่าง /usr/lib/update-notifier/apt-check -pจะแสดงรายการแพคเกจทั้งหมดที่มีการปรับปรุงพร้อมใช้งาน


ยินดีต้อนรับสู่การจัดอันดับใช้งานและใช้ไซต์ในทางที่ผิดหากคุณต้องการความช่วยเหลือเพิ่มเติม) หากคุณพบคำตอบที่ตรงกับคำถามของคุณกรุณาทำเครื่องหมายด้วยช่องสีเขียวที่อยู่ด้านข้าง
Bruno Pereira

1
ตอนนี้คุณควรจะสามารถที่จะตอบคำถามของคุณเองตั้งแต่ที่คุณมีตัวแทนพอที่จะลบข้อ จำกัด ผู้ใช้ใหม่
jokerdino

ดูเหมือนว่าจำเป็นต้องใช้ 100repre หรือรอ 8 ชั่วโมงเพื่อตอบคำถามของคุณเอง
Jan Geep

ในปี 2559 คำตอบที่ @doru ให้ไว้คือ askubuntu.com/a/788049/560610
jeremysawesome

คำตอบ:


62

คุณสามารถติดตั้งได้aptitudeหากยังไม่ได้ติดตั้ง มันเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการจัดการแพ็คเกจในการตั้งค่าแบบไร้หัว

ป้อนคำอธิบายรูปภาพที่นี่

มิฉะนั้นหากคุณต้องการเห็นว่าจะเกิดอะไรขึ้นเมื่อคุณใช้งานบางอย่างใช้--dry-runอาร์กิวเมนต์และมันจะไม่ทำอะไรจริง ๆ มันจะบอกคุณว่ามันจะทำอะไร:

จากหน้าคนฉลาดรับ

-s, --simulate, --just-print, --dry-run, --recon, --no-act
          No action; perform a simulation of events that would occur but do
          not actually change the system. Configuration Item:
          APT::Get::Simulate.

          Simulate prints out a series of lines each one representing a dpkg
          operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square
          brackets indicate broken packages with and empty set of square
          brackets meaning breaks that are of no consequence (rare).

เพิ่มตัวเลือกให้กับคำสั่งด้วยวิธีนี้

apt upgrade --dry-run

5
ฉันทำให้เสียโฉมคำตอบของคุณหวังว่าคุณจะไม่รังเกียจ
Bruno Pereira

2
apt-get upgrade --dry-runไม่ต้องการสิ่งที่น่าสนใจsudoซึ่งเหมาะอย่างยิ่งสำหรับการแสดงการอัปเดตแพ็คเกจที่จำเป็น
dshepherd

ที่น่าสนใจยิ่งกว่านั้นคือบน Ubuntu 14.04 LTS ของฉัน "apt-get -s update" ไม่ยอมรับ "-s" ... หรือ "- dry-run", "- no-act" ... ทำไม นั่นจะเป็นอย่างไร
mBardos

@mBardos คุณได้เปลี่ยนapt-getสคริปต์ของคุณด้วยสคริปต์ "helper" หรือไม่? ตรวจสอบwhich apt-getเพื่อให้แน่ใจว่าเป็น/usr/bin/apt-get
Oli

martonb @ martonb-ubu: ~ / ทำงาน / qt $ ซึ่ง apt-get / usr / bin / apt-get มันทำงานให้คุณบน Ubuntu 14.04 LTS หรือไม่ martonb @ martonb-ubu: ~ / work / qt $ apt-get -s อัพเดต E: ตัวเลือกบรรทัดคำสั่ง 's' [จาก -s] ไม่เป็นที่รู้จัก
mBardos

67

ณ ตอนนี้ (Ubuntu 16.04) คุณสามารถใช้apt listกับการ--upgradableตั้งค่าสถานะ;

sudo apt update
apt list --upgradable

และคุณจะได้รับรายชื่อพร้อมแพ็คเกจที่อัปเกรดได้ทั้งหมด


1
ยอดเยี่ยม! นั่นคือสิ่งที่ผมอยากเห็น :)
jeremysawesome

aptเป็นคำสั่งที่ไม่รู้จักใน 12.04
confiq

1
@confiq "APT 1.0 เปิดตัวในวันที่ 1 เมษายน 2014"ดังนั้นจึงไม่สามารถอัปเกรดระบบของคุณได้ พยายามที่จะดูว่ารุ่นของคุณได้ติดตั้งการทำงานapt sudo apt-cache policy apt
doru

ที่อธิบาย ...
confiq

10

อีกทางเลือกหนึ่งคือใช้aptitudeกับข้อความค้นหา :

aptitude search '~U'

(หมายเหตุตัวพิมพ์ใหญ่ 'U')

นั่นหมายถึง: "ค้นหาแพ็คเกจทั้งหมดที่ติดตั้งและสามารถอัพเกรดได้" การอ้างอิง: คู่มือผู้ใช้ความถนัด

ตามค่าเริ่มต้นaptitude searchจะแสดงชื่อแพ็คเกจคำอธิบายและแฟล็กไม่กี่รายการสำหรับแต่ละแพ็คเกจ แต่คุณสามารถปรับเอาท์พุทให้เหมาะกับความต้องการของคุณได้ ตัวอย่างเช่นหากต้องการแสดงเฉพาะชื่อแพ็กเกจคำสั่งจะเป็น:

aptitude search -F '%p' --disable-columns '~U'

( --disable-columnsหลีกเลี่ยงช่องว่างภายในช่องว่างท้ายบรรทัด)


8

คำสั่งด้านล่างจะแสดงรายการแพ็คเกจที่ติดตั้งซึ่งมีการอัปเดตพร้อมใช้งานในที่เก็บ

dpkg --get-selections | xargs apt-cache policy {} | grep -1 Installed | sed -r 's/(:|Installed: |Candidate: )//' | uniq -u | tac | sed '/--/I,+1 d' | tac | sed '$d' | sed -n 1~2p

1
นั่นเป็นความมหัศจรรย์เล็กน้อยของบรรทัดคำสั่ง!
Teemu Leisti

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