Bagaimana Anda melihat paket apa yang tersedia untuk pembaruan

74

Pengguna FreeBSD bergabung dengan peringkat Anda. Saya diminta untuk merawat Server Ubuntu yang menjalankan 10,04 LTS.

Saya melihat dari /usr/lib/update-notifier/update-motd-updates-availablesana bahwa ada sejumlah pembaruan di server namun saya tidak melihat cara untuk mengatakan mana yang akan diperbarui.

Adakah yang bisa mengarahkan saya ke arah yang benar sehingga saya bisa melihat paket mana yang akan diperbarui ketika saya menjalankan apt-get upgrade?

MEMPERBARUI:

Tidak dapat menjawab pertanyaan saya sendiri saat ini sehingga melemparkan ini di sini untuk saat ini:

Seiring dengan yang apt-get upgrade --dry-rundisarankan di bawah ini, /usr/lib/update-notifier/apt-check -pakan mencantumkan semua paket yang memiliki pembaruan tersedia.

Jan Geep
sumber
Selamat datang di peringkat, gunakan dan penyalahgunaan situs jika Anda memerlukan bantuan lebih lanjut;) Jika Anda menemukan jawaban yang memuaskan pertanyaan Anda, silakan tandai dengan kotak centang hijau di sebelahnya.
Bruno Pereira
1
Anda sekarang harus dapat menjawab pertanyaan Anda sendiri karena Anda memiliki cukup perwakilan untuk menghapus batasan pengguna baru .
jokerdino
Sepertinya diperlukan 100rep atau menunggu 8 jam untuk menjawab pertanyaan Anda sendiri.
Jan Geep
Pada 2016, jawaban yang diberikan oleh @doru tepat. askubuntu.com/a/788049/560610
jeremysawesome

Jawaban:

63

Anda dapat menginstal aptitudejika belum diinstal. Ini adalah alat yang hebat untuk mengelola paket dalam pengaturan tanpa kepala.

masukkan deskripsi gambar di sini

Kalau tidak, jika Anda hanya ingin melihat apa yang akan terjadi ketika Anda menjalankan sesuatu, gunakan --dry-runargumen dan itu tidak akan benar-benar melakukan apa pun, itu hanya akan memberi tahu Anda apa yang akan dilakukan:

Dari halaman manual apt-get

-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).

Tambahkan opsi ke perintah dengan cara ini

apt upgrade --dry-run
Oli
sumber
5
Saya mengacaukan jawaban Anda, semoga Anda tidak keberatan.
Bruno Pereira
2
Menariknya apt-get upgrade --dry-runtidak memerlukan sudo, yang membuatnya sempurna untuk tampilan otomatis dari pembaruan paket yang diperlukan.
dshepherd
yang lebih menarik adalah, bahwa pada Ubuntu 14.04 LTS saya "pembaruan apt-get -s" tidak menerima "-s" ... atau "--dry-run", "--no-act" ... why apakah itu akan terjadi?
mBardos
@ mBardos Sudahkah Anda mengganti apt-getskrip di jalur Anda dengan skrip "helper"? Periksa which apt-getuntuk memastikannya/usr/bin/apt-get
Oli
martonb @ martonb-ubu: ~ / work / qt $ yang apt-get / usr / bin / apt-get Apakah ini cocok untuk Anda di Ubuntu 14.04 LTS? martonb @ martonb-ubu: ~ / work / qt $ pembaruan apt-get -s E: Opsi baris perintah 's' [dari -s] tidak diketahui.
mBardos
68

Sampai sekarang (Ubuntu 16.04) Anda dapat menggunakan apt listdengan --upgradableflag;

sudo apt update
apt list --upgradable

dan Anda akan mendapatkan daftar dengan semua paket yang dapat diupgrade.

doru
sumber
1
Luar biasa! Itulah yang ingin saya lihat :)
jeremysawesome
aptadalah perintah yang tidak dikenal dalam 12,04
confiq
1
@confiq "APT 1.0 dirilis pada tanggal 1 April 2014" , jadi mungkin untuk tidak ditingkatkan pada sistem Anda. Cobalah untuk melihat versi aptyang telah diinstal berjalan sudo apt-cache policy apt.
doru
itu menjelaskan ...
confiq
10

Alternatif lain adalah dengan menggunakan aptitudedengan istilah pencarian :

aptitude search '~U'

(Perhatikan huruf besar 'U')

Itu berarti: "cari semua paket yang diinstal dan dapat ditingkatkan". Referensi: manual pengguna aptitude

Secara default, aptitude searchmenunjukkan untuk setiap paket nama, deskripsi dan beberapa bendera, tetapi Anda juga bisa menyesuaikan output dengan kebutuhan Anda. Misalnya, untuk mencantumkan hanya nama paket, perintahnya adalah:

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

( --disable-columnsMenghindari ruang putih padding di akhir baris)

sierrasdetandil
sumber
8

Perintah di bawah ini akan menunjukkan kepada Anda daftar paket yang diinstal yang memiliki pembaruan yang tersedia di repositori.

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
Avinash Raj
sumber
1
Itu sedikit keajaiban baris perintah!
Teemu Leisti
1
Bagus, tetapi jawaban @ sierrasdetandil dan @doru melakukan hal yang persis sama dengan cara yang ringkas dan indah ...
Giuseppe