Bisakah saya memiliki dua versi dari paket yang sama di repositori apt?

19

Saya menjalankan Ubuntu 10,04 di seluruh lingkungan saya. Untuk membuat penyebaran kode lebih mudah, kami menerapkan repositori apt swasta di mana kami dapat menggunakan membangun kode kami.

Salah satu persyaratan repositori ini adalah departemen QA kami dapat menginstal versi apa pun dari aplikasi kami kapan saja.

Bisakah saya menyimpan beberapa versi dari paket yang sama dalam apt-repository (lebih disukai dalam distribusi yang sama)? Jika tidak, beberapa solusi yang dapat saya gunakan untuk mendapatkan perilaku yang dijelaskan di atas?

GregB
sumber

Jawaban:

19

Ya, Anda bisa, dan Anda tidak perlu melakukan sesuatu yang istimewa. Bahkan, repositori Debian dan Ubuntu biasanya memiliki beberapa versi setiap paket (dari oldstable / stable / testing / unstable atau necis / hardy / lucid / maverick / natty). Distribusi hanya memiliki satu paket di setiap file indeks versi ( Packagesfile), tetapi Anda tidak harus mengikutinya.

Tentu saja, apt-get install myapphanya akan menginstal versi terbaru (kecuali jika dikonfigurasi sebaliknya). Anda dapat menjalankan apt-get install myapp=1.42untuk memaksa instalasi versi 1.42.

Peringatan: jika semua versi memiliki nama paket yang sama, Anda tidak dapat menginstal lebih dari satu pada saat yang sama. Jika ini penting, berikan setiap versi nama paket yang berbeda: myapp-1.42,, myapp-1.43dll. Debian dan Ubuntu melakukan ini untuk versi pustaka utama, di mana Anda mungkin memerlukan lebih dari satu jika Anda memiliki executable yang terhubung dengan pustaka yang berbeda (misalnya libcap1dan libcap2), juga adapun beberapa paket lain seperti kernel.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Terima kasih atas penjelasannya. Sebagai tindak lanjut, Jika saya menyusuri jalan menambahkan nomor versi ke paket saya, akankah itu melanggar "apt-get upgrade"? Menurut saya, setiap kali saya memutakhirkan aplikasi, itu akan diperlakukan sebagai instalasi baru dan saya akan kehilangan konfigurasi saya. Saya bisa mengatasi ini, tetapi saya ingin memahami apa keterbatasannya sebelum saya mengambil keputusan dengan cara apa pun. Terima kasih.
GregB
2
Cara biasa dalam hal ini adalah memiliki myapp-1.42dan sebagainya, ditambah paket myappyang hanya bergantung pada arus myapp-VERSION(atau bahkan myapp-stable, myapp-betadan sebagainya).
Gilles 'SANGAT berhenti menjadi jahat'
1
Just a Peringatan: pastikan Anda tidak lupa -mketika berlari dpkg-scanpackagesuntuk membangun indeks repositori Anda. Jika tidak, Anda tidak akan mendapatkan beberapa versi paket pada Packagesfile Anda .
bruno nery