Saya telah menginstal sejumlah paket dari PPA, dan saya ingin kembali ke versi resmi sekarang. Banyak PPA sudah tidak ada lagi /etc/apt/sources.list.d
, jadi ppa-purge
tidak akan berfungsi.
Apa cara yang paling mudah untuk itu?
Anda dapat menghapus dan menginstal ulang paket
ppa-purge
mungkin masih taruhan terbaik Anda untuk lolos. Hanya menambahkan kembali PPA paket itu berasal dan kemudian gunakan ppa-purge
untuk membunuhnya. Saya tidak yakin berapa banyak PPA yang telah Anda instal tetapi jika kurang dari 10, saya akan mempertimbangkan untuk melakukan ini.
Jika Anda berpikir metode itu terlalu lunak, saya baru saja menulis beberapa bash
-porn untuk membantu mengidentifikasi versi paket yang sumber instalasinya sekarang hanya ada secara lokal di /var/lib/dpkg/status
. Ini tidak sama dengan paket "yatim".
for p in `dpkg-query --showformat='${Package} ' -W`; do
if [[ $(apt-cache policy $p | grep -Pzo "\*\*\* [^\n]+\s+100") ]]; then
echo $p;
fi;
done
Saya tidak yakin apakah ini belum sempurna tetapi cobalah. Perhatikan itu hanya akan mencetak nama-nama paket. Anda harus menghapus / menginstal ulang setiap paket secara manual.
Untuk melakukan itu, pertama lihat apa yang tersedia untuk paket itu dengan menjalankan apt-cache policy <package>
dan Anda akan melihat daftar versi paket (termasuk /var/lib/dpkg/status
versi). Temukan yang eksternal terdekat dan jalankan:
sudo apt-get install <package>=<version>
Anda mungkin perlu menambahkan --reinstall
setelah install
tetapi melihat bagaimana kelanjutannya.
ppa-purge
dihapus? Ada dalam repo untuk Trusty serta setiap rilis yang didukung lainnya .Saya telah menulis skrip yang lebih lengkap yang akan mengenali paket yang versi saat ini bukan dari PPA, dan mereka memiliki versi alternatif yang tersedia PPA. Setelah dijalankan, ia mencetak perintah siap-untuk-menjalankan yang akan menurunkan versi paket-paket tersebut ke versi PPA mereka.
https://gist.github.com/peci1/2d7859857fdad73ee8443f5ecd5ee5a3
sumber