Saya mencoba mencari cara untuk mendapatkan daftar paket yang tidak lagi tersedia di repositori yang telah saya aktifkan. Workstation ini telah melalui beberapa versi Ubuntu dan telah memiliki banyak repositori pihak ketiga yang ditambahkan dan dihapus. Saya ingin mendapatkan daftar perangkat lunak yang saya miliki dari repositori yang dihapus ini, jadi saya bisa membersihkannya atau menambahkan kembali repositori yang sesuai.
package-management
Sean
sumber
sumber
apt-show-versions | grep "newer than version in archive"
Untuk mendapatkan daftar aplikasi yang tidak ada dalam Gudang Terdaftar atau PPA, lakukan ini:
Seharusnya menampilkan teks seperti ini:
Bagi saya ini berfungsi dan menunjukkan tiga aplikasi yang saya instal menggunakan paket DEB dan tidak tersedia dalam Repo atau PPA.
Namun ingat bahwa tidak mungkin untuk memeriksa semua program, hanya yang melewati
dpkg
. Misalnya, beberapa aplikasi diinstal dengan hanya mengekstraknya ke folder yang benar, atau yang lain menggunakan nampan atau skrip penginstal mandiri. Jadi cara terbaik adalah bagi Anda sendiri untuk menyimpan daftar aplikasi yang Anda instal melalui metode apa pun selain APT.sumber
dpkg
paket lokal saya yang diinstal. Satu pengecualian. Ini daftarskype-bin
, sedangkanapt-cache policy skype-bin
jelas menunjukkan repo mitra Canonical. Saya tidak yakin apa yang sedang terjadi. Masalah multiarch? Masih memberi +1 untukapt-show-versions
!Jika Anda memiliki penggunaan aptitude diinstal,
atau bentuk pendeknya
Ini dia contoh output
Karakter pertama dari setiap baris menunjukkan kondisi paket saat ini. Keadaan yang paling umum adalah:
Karakter kedua menunjukkan tindakan tersimpan yang dilakukan pada paket, jika ada, jika tidak, ruang kosong ditampilkan. Tindakan yang paling umum adalah:
Jika karakter ketiga adalah A, paket itu diinstal secara otomatis.
Untuk daftar lengkap status dan tindakan yang mungkin dilakukan, lihat bagian Mengakses Informasi Paket di panduan referensi aptitude.
sumber
aptitude search ?obsolete
dapat bekerja di bash, tetapi Anda harus menggunakanaptitude search '?obsolete'
Mulai dengan Ubuntu 19.10 juga dimungkinkan untuk dijalankan
untuk mendapatkan daftar paket usang.
Untuk rilis apa pun Anda bisa menggunakan Bash satu-liner berikut:
Tidak perlu menginstal paket tambahan untuk ini, plus ini relatif cepat. Ini juga akan menemukan paket yang terinstal sebagian (tetapi tidak akan menemukan mereka yang hanya memiliki file konfigurasi; yang dapat diubah dengan mudah, meskipun). Catatan: ini tidak peduli arsitektur apa paket-paket itu.
Jika Anda ingin menyertakan paket yang memiliki versi berbeda diinstal dari apa yang tersedia dari repositori, Anda dapat melakukan salah satu dari yang berikut:
Gunakan apt modern:
Namun pilihan lain adalah menjalankan
dan baca nama paket di bagian "Tidak lagi dapat diunduh:".
sumber
Info lebih lanjut untuk diselidiki.
... ubuntu-support-status dan apt-mark mungkin memerlukan instalasi.
sumber
sudo
denganapt-mark showmanual
.ubuntu-support-status
daftar jumlah paket usang, tetapi bukan nama paket.ubuntu-support-status --help
Mungkin ada cara yang lebih bersih, tetapi dari atas kepala saya dapat Anda lakukan
Bersihkan beberapa baris pertama
installed
file: itu akan memiliki header.Bonus jika ada yang dapat memperbaiki sorotan sintaksis saya ...
sumber
dpkg -l
untuk mendapatkan daftar paket yang diinstal, Anda harus membatasi hasilnya pada baris dengan 'i' di kolom kedua, karena dpkg juga akan mencantumkan paket yang tidak diinstal (mungkin dihapus tetapi tidak dibersihkan) . sebagai contoh, mengubah perintah pertama Anda menjadidpkg -l | grep '^.[^i]' | cut -f 3 -d ' '
itu akan mengembalikan daftar paket, yang TIDAK diinstal. (tapi dulu)apt-cache search someinstalledpackage
akan mengembalikan sesuatu bahkan jika paket tidak tersedia dari repo, jadi saya tidak percaya ini akan berhasil sama sekali.dpkg -l | grep '^.[^i]' | cut -f 3 -d ' '
juga mencetak beberapa baris tajuk.apt-cache search
untuk setiap paket secara terpisah.Seperti disebutkan pencarian apt-get bukanlah metode yang baik untuk memeriksa apakah suatu paket masih tersedia. Tambahan saya telah menambahkan semuanya hanya dalam satu baris:
sumber
grep '^i'
man dpkg-query
untuk informasi lebih lanjut.apt-cache show
tidak baik untuk memeriksa apakah paket tersebut tersedia. Jika Anda menonaktifkan repositori masing-masing, dan tidak ada repositori lain yang diaktifkan, repositori tersebut masih menampilkan paket tersebut.