Instal versi paket yang berbeda

9

Saya menjalankan server jernih dan telah menginstal kucing jantan. Versi yang diinstal adalah 6.0.24-2ubuntu1.6.

Apakah ini versi yang saya terikat? Apakah mungkin untuk menginstal versi yang lebih baru? Yang tersedia dari maverick adalah 6.0.28.

Mungkin saya dapat menambahkan sumber untuk memberikan instalasi jelas dengan versi ini? Dalam antarmuka pengguna manajer paket saya bisa "memaksa versi". Apakah mungkin untuk memaksa versi dari alternatif baris perintah juga?

Michael Wiles
sumber

Jawaban:

6

Jawaban singkat:

Dengan menggunakan pinning, Anda dapat memilih paket mana yang berasal dari maverick, dan secara otomatis mendapatkan dependensinya, dan tetap memperbaruinya melalui manajer paket Anda. https://help.ubuntu.com/community/PinningHowto

Jawaban panjang disalin dari https://askubuntu.com/a/103338/42024 :

Anda akan jauh lebih baik menjelajahi pinning yang tepat, lihat man apt_preferences.

Jadi anggaplah Anda menggunakan Oneiric dan Anda ingin mendapatkan paket-paket itu dari Precise.

Jika Anda membaca orang itu, Anda akan melihat bahwa saya menyalin / menempel bagian yang relevan dan baru saja memodifikasi nama rilis

/ etc / apt / preferensi

Package: libccid
Pin: release n=precise
Pin-Priority: 990

Package: libpcsclite*
Pin: release n=precise
Pin-Priority: 990

Package: libusb*
Pin: release n=precise
Pin-Priority: 990

Package: opensc
Pin: release n=precise
Pin-Priority: 990

Package: pcscd
Pin: release n=precise
Pin-Priority: 990


Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=oneiric
Pin-Priority: 900

Package: *
Pin: release o=Ubuntu
Pin-Priority: -10

Kemudian, saya menyalin /etc/apt/sources.listke saya /etc/apt/sources.list.d/precise.listdan mengganti semua kejadian oneiric dengan tepat. Lalu berlari apt-get updatedan akhirnya apt-get upgrade.

# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libpcsclite1 libusb-0.1-4 libusb-1.0-0 libusbmuxd1
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.0 kB of archives.
After this operation, 88.1 kB disk space will be freed.
Do you want to continue [Y/n]? y
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-0.1-4 amd64 2:0.1.12-20 [17.6 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ precise/main libusb-1.0-0 amd64 2:1.0.9~rc3-2 [30.9 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ precise/main libpcsclite1 amd64 1.7.4-2ubuntu1 [23.5 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu/ precise/main libusbmuxd1 amd64 1.0.7-2 [14.1 kB]
Fetched 86.0 kB in 0s (124 kB/s) 

Untuk beberapa alasan, pcscd dan opensc tidak dapat diinstal, mungkin karena itu tidak diinstal untuk memulai sehingga tidak ada yang perlu ditingkatkan, tidak masalah, saya dapat menginstal versi yang persis menggunakan referensi seperti ini.

$ apt-get install opensc pcscd -t precise

Perhatikan penggunaan -t , packagename/precisejuga akan berfungsi.

dan ada paket yang Anda inginkan, dari rilis terbaru, dan hanya paket itu , mereka juga akan diperbarui secara otomatis. Jika Anda tidak menginginkannya lagi, hapus saja entri dari /etc/apt/preferencesdan saat berikutnya Anda menjalankannya apt-get upgrade akan dihapus. Jika Anda menghapus seluruh file prefs pastikan untuk menghapus file sources.list yang tepat juga sistem kami akan mencoba untuk memperbarui ke set paket terbaru. Juga jika Anda memutuskan untuk melakukan dist-upgrade nanti, Anda harus menghapus seluruh file prefs dan mungkin akan menjadi ide yang baik untuk menghapus sumber-sumber lain. Daftar lebih sedikit upgrade akan menemukan, berkat prioritas yang lebih tinggi, bahwa ada tidak ada paket untuk diperbarui.

Pemasangan pin tidak terlalu sulit, Anda hanya perlu menggali sedikit dan bereksperimen. Semua kata kerja untuk n=dll ditemukan dengan memeriksa apt-cache policy.

Inilah sebabnya mengapa admin berpengalaman berteriak-teriak dan rave tentang apt vs yum. Anda dapat secara singkat memperbarui layanan dan tetap memperbaruinya dengan cara yang bersih, deterministik, dan terpelihara.

Tidak ada lagi paket kompilasi.

Saya sangat menyarankan Anda membaca seluruh halaman manual dan merasa nyaman dengan konsep itu dan membaca panduan lain tentang pemasangan yang tepat sebelum melanjutkan dengan proposal ini. Semoga berhasil dan selamat bersenang - senang!

https://help.ubuntu.com/community/PinningHowto

Jayen
sumber
Ini memberikan jawaban yang lebih lengkap untuk saya: askubuntu.com/questions/103320/…
François Beausoleil
2

Anda dapat memaksa versi pada baris perintah dengan apt-get install somepackage = someversion, tetapi Anda tidak dapat meminta versi yang tidak ada dalam repositori yang Anda ketahui, yang biasanya berarti rilis tempat Anda berada.

Anda dapat mencoba mengunduh deb maverick secara manual dari launchpad dan menginstalnya. Kadang-kadang ini berhasil, tetapi kadang-kadang tergantung pada versi yang lebih baru dari berbagai perpustakaan dan karenanya tidak akan menginstal. Opsi lainnya adalah mengunduh sumber terbaru dan mengompilasinya sendiri.

psusi
sumber
terima kasih, saya akan mencoba mendapatkannya dari maverick ... mungkin berhasil karena tidak benar-benar memiliki ketergantungan
Michael Wiles
1

jernih hanya memiliki 6.0.24 tersedia dan itu tidak mungkin berubah. Jarang ada perangkat lunak backport seperti kucing jantan untuk rilis yang lebih lama.

Tetapi Anda masih dapat menjalankan tomcat terbaru dengan menggunakan paket binary tomcat. Saya menggunakan itu.

aneeshep
sumber