Turunkan paket

11

Mungkin Anda telah menginstal paket dari PPA atau sumber eksternal (mis. Mengunduh .deb untuk paket yang tersedia melalui repo Ubuntu.).
Kemudian Anda memutuskan untuk membatalkan versi yang ditingkatkan ini demi repositori resmi.
Langkah pertama adalah menghapus entri dari sources.list.

Apakah ada cara untuk menurunkan versi ke versi tertinggi yang tersedia? Saya tahu Anda dapat menginstal versi tertentu dengan

apt-get install [package] = [versi]
Tetapi bisakah Anda menurunkan semua versi?

Manuel
sumber
Apakah maksud Anda satu perintah untuk menghapus aplikasi PPA saat ini dan kemudian menginstalnya dari repositori resmi? Saya akan melakukan sesuatu seperti sudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3- Saya tidak percaya ada satu perintah seperti sudo apt-get repocleanmisalnya untuk melakukannya.
kingmilo
Jadi saya harus mendapatkan semua paket yang saya instal dari repo? Tidak ada peningkatan ke versi tertinggi yang tersedia (itu adalah sesuatu yang dapat Anda lakukan dengan openSUSEs zypper).
Manuel
Jika Anda menghapus repo dan paket tersedia di repositori resmi dan paket itu adalah versi yang lebih tinggi dari paket yang tersedia di repo yang Anda tambahkan maka paket itu akan ditingkatkan ke versi yang tersedia di repositori resmi.
kingmilo
1
Ya, tetapi bagaimana jika tidak? Upgrade tidak ada masalah sama sekali, tetapi downgrade.
Manuel

Jawaban:

16

Agak terlambat ke pesta tetapi saya menemukan pertanyaan ini ketika mencari jawaban dan sekarang saya punya jawaban sendiri untuk dibagikan.

Saya yakin Anda bisa melakukan ini melalui dunia misterius dari apt_preferences.

Cobalah membuat file bernama / tmp / a_p (atau apa pun) seperti itu ...

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001

Lalu lari:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

Bagian kedua dari file pada dasarnya melakukan apa yang diminta OP, karena menabrak prioritas semua paket dalam repositori langsung untuk membuatnya diinstal meskipun itu berarti downgrade.

Bagian pertama mencegah bagian kedua memicu pemasangan semua backports. Anda mungkin atau mungkin tidak peduli atau menginginkan ini. Saya sarankan bermain-main untuk melihat apa yang berhasil. Anda dapat menggunakan apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkguntuk melihat apa efek file a_p terhadap paket tertentu.

TIM

pengguna156743
sumber
6

Ok, bagaimana jika yang ditemukan adalah skrip ppa-purge

Jika Anda menambahkan PPA dan perangkat lunak yang ditingkatkan, Anda dapat menghapus repo dan pada langkah ini downgrade semua paket yang ditingkatkan dengan

ppa-purge [nama repo]

Apakah ini berguna untuk orang lain?

Tetapi masih terbuka jika Anda dapat menginstal versi tertinggi yang tersedia bahkan jika versi yang diinstal lebih tinggi ...

Manuel
sumber