Saya sedang mempelajari antarmuka CLI dari Advanced Packaging Tool. Dari output apt(8)
ketika stdout-nya bukan terminal, itu tidak cocok untuk "skrip mengharapkan antarmuka pemrograman yang stabil", jadi saya melihat apt-get(8)
.
Satu perbedaan antara apt update
dan apt-get update
adalah bahwa yang terakhir tidak memiliki baris akhir setelah semua cache diperbarui:
8 packages can be upgraded. Run 'apt list --upgradable' to see them.
Saya ingin tahu cara menampilkan garis persis ini apt-get(8)
.
apt
(Alat Pengemasan Lanjutan) danapt-get
hal-hal yang berbeda. Mereka dirancang untuk berjalan berbeda dari apa yang saya mengerti. Jika seseorang memberi Anda apa yang Anda inginkan, mungkin biasakan menggunakan perintah itu sebagai gantinya.Jawaban:
man apt-get
menunjukkan:Jadi, jika Anda hanya melakukannya:
apt-get upgrade --dry-run
itu akan menampilkan:
sumber
man 8 apt-get
dan menemukan opsi itu, tetapi hasilnya berbedaapt
.apt
benar-benar pembungkus terprogramapt-get
dan itulah alasan mengapa peringatan itu ada.apt
menunjukkan8 packages can be upgraded. Run 'apt list --upgradable' to see them.
, sementara jawaban Anda menunjukkan4 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
apt
tidak akan menjamin Anda teks itu, dan mereka bahkan mungkin tidak menjamin Anda nomor itu.apt-get
namun memiliki persyaratan keluaran yang ketat karena digunakan oleh perangkat lunak lain (seperti UI dan daemon) untuk memprosesnya dengan berbagai cara. Jadi Anda dapat mengubah kode Anda untuk menerimaapt-get
output atau Anda dapat| sed 's/to upgrade/packages can be upgraded/g'
, misalnya (dan mengambil risiko melanggar kode Anda nanti).Menebak Anda perlu menangani jumlah pembaruan yang tersedia, berikut adalah sarannya:
Tidak perlu sudo
Outputnya mudah dikerjakan
Lebih banyak pilihan:
sumber
motd
pada login SSH?Dari
man 8 apt
:Lalu saya pergi
/usr/share/doc/apt/examples/configure-index.gz
(menggunakanzcat(1)
untuk menampilkan konten teks) dan melihat opsi ini:Jadi saya mengerjakan perintah berikut yang melakukan persis apa yang saya inginkan:
Diuji bekerja pada Xenial dan Bionic.
sumber