Menginginkan lebih banyak paket terbaru adalah masalah umum pada OS apa pun. Siklus rilis Debian rata-rata 2 tahun dalam beberapa tahun terakhir, jadi menjelang akhir siklus ini, mungkin ini adalah masalah yang lebih mendesak. Salah satu cara untuk mengurangi ini adalah dengan beralih ke pengujian menjelang akhir siklus rilis stabil, ketika versi berikutnya hampir stabil. Tidak jelas dari pertanyaan apakah itu berbicara tentang stabil pada lebih umum tentang pengujian dan / atau tidak stabil juga. Apapun, memiliki versi terbaru dapat menjadi masalah meskipun jika berjalan tidak stabil, karena versi terbaru mungkin belum dikemas. Pengembang / pembuat paket Debian adalah sukarelawan, sehingga mereka mungkin bosan, atau sibuk dengan hal-hal lain, akibatnya paket itu merana.
Untuk kesederhanaan dan konkret, saya berasumsi dalam apa yang berikut bahwa rencananya adalah untuk backport paket ke stabil, tetapi berlaku lebih umum. Jadi, inilah yang saya lakukan jika saya menginginkan versi perangkat lunak yang lebih baru yang tidak ada dalam kondisi stabil, dalam urutan perkiraan.
Cari paket di Debian Backports . Terkadang Anda dapat menemukan paket yang cukup baru untuk memenuhi tujuan Anda. Namun, sering terjadi bahwa paket-paket ini sudah usang dibandingkan dengan versi di tidak stabil atau eksperimental atau hulu.
Cobalah untuk menginstal paket langsung dari pengujian, tidak stabil, atau eksperimental. Jika stabil tidak jauh berbeda dari versi apa pun yang Anda coba instal, ini mungkin berhasil. Anda akan tahu pendekatan ini buruk jika sistem mulai mencoba menginstal atau meningkatkan paket dasar dari versi yang lebih baru. Misalkan Anda mencoba menginstal dari tidak stabil, maka
apt-get install packagename/unstable
adalah hal pertama yang harus dicoba. Dengan versi apt in stable, ini akan sering gagal, karena memerlukan paket lain dari tidak stabil, dan mantra ini hanya menaikkan preferensi packagename
cukup tinggi untuk diinstal di tidak stabil. Jika Anda tidak mengerti apa artinya ini, pergilah dan baca man
apt_preferences
. Lanjutkan menambahkan dependensi dari tidak stabil, memastikan bahwa ia tidak mencoba meningkatkan paket-paket dasar. Misalnya, jika mulai mencoba meningkatkan versi libc6 atau X atau KDE atau Gnome, batalkan segera. Biasanya baik-baik saja jika mencoba untuk mengupgrade paket lain dari paket sumber yang sama, karena ini biasanya digabungkan secara bersamaan. Untuk melihat paket sumber apa yang menjadi dasar paket biner, lakukan
apt-cache showsrc packagename
Karena banyak hal tergantung pada pustaka GNU C (libc6) ini digunakan untuk menjadi masalah. Baru-baru ini, API tampaknya telah stabil, sehingga sekarang lebih mungkin untuk lolos tanpa harus memutakhirkannya. Jika sebuah paket memenuhi dependensi runtime-nya pada stable, tetapi masih tidak berfungsi dengan benar, ajukan bug. Jika pembuat paket memberi tahu Anda itu bukan bug, mereka salah. :-)
Backport paket Anda sendiri dari pengujian, tidak stabil atau eksperimental.
Seperti disebutkan di atas, backports adalah salah satu opsi, tetapi seringkali paket-paket ini sudah ketinggalan zaman dibandingkan dengan versi yang tidak stabil atau eksperimental atau hulu.
Hal ini sering dapat memerlukan ketergantungan tipe build loop berulang. Anda harus terlebih dahulu mendapatkan dependensi build
apt-get build-dep packagename
Jika ini gagal karena salah satu dependensi tidak cukup baru, Anda harus backport dependensi itu terlebih dahulu. Ini bisa spriral di luar kendali. Saya biasanya menyerah jika saya harus berurusan dengan lebih dari 2 level rekursi. Namun perlu dicatat, bahwa dependensi nyata tidak harus seketat yang dinyatakan yaitu. versi yang lebih lama dapat berfungsi. Pemaket sering tidak mencoba menemukan versi tertua dari dependensi build (atau, memang, runtime) yang akan berfungsi.
Periksa ketersediaan paket dari hulu yang sesuai. Idealnya ini cocok dengan versi distribusi Anda, tetapi Anda mungkin juga dapat membangunnya kembali jika perlu.
Buat paket untuk versi perangkat lunak lebih baru daripada paket terbaru dalam pengujian / tidak stabil / eksperimental. Ini bisa jadi relatif menantang, tetapi kadang-kadang masih bisa dilakukan. Hal pertama yang perlu diperhatikan adalah bahwa jika Anda mencoba untuk mengemas versi yang lebih baru dari sebuah paket yang sudah ada di Debian, Anda sudah mulai dengan keuntungan besar, yaitu Anda memiliki kemasan yang sudah ada untuk digunakan. Kerjakan saja
apt-get source packagename
dan apt-get
akan mengunduh paket sumber yang sesuai, termasuk subdirektori debian tempat pengemasannya. Perhatikan lebih lanjut bahwa akhir-akhir ini, kemasan ini sering hidup di dalam beberapa repositori kontrol verson (git tampaknya populer di Debian) dan stable apt (saat ini 0.8.10.3 ) membantu memberi tahu Anda di mana ini saat Anda memohon
apt-get source
. Anda harus melihat ini, karena pembuat paket mungkin memiliki versi kemasan yang lebih baru daripada yang sesuai dengan paket yang dirilis. Misalnya.
$ apt-get source mercurial
Reading package lists... Done
Building dependency tree
Reading state information... Done
NOTICE: 'mercurial' packaging is maintained in the 'Svn' version control system at:
svn://svn.debian.org/python-apps/packages/mercurial/trunk
Atau, Anda bisa menggunakan
apt-cache showsrc mercurial | grep Vcs
untuk daftar repositori.
Jika paket sudah ketinggalan zaman, Anda mungkin harus melakukan modifikasi pada
paket tersebut, menyegarkan kembali tambalan yang diterapkan tetapi biasanya masih merupakan
titik awal yang baik . Debian tampaknya sedang dalam proses standardisasi manajemen paket pada
quilt per format dpkg-source 3.0 (quilt) , sehingga membantu dengan patch refresh.
Saya akan menyimpulkan dengan contoh kehidupan nyata tentang bagaimana saya backported yang paket Debian dari
PGF . Versi paket terakhir dari pgf adalah 2.00 pada 2008, dan sejak itu 2.10 telah dirilis. Lihat pembahasannya di Harap perbarui ke versi stabil terbaru pgf (2.10) , dan bug tindak lanjut saya dengan patch, pgf: patch terhadap 2.0 paket Debian . Ternyata, kemasan pgf Debian sangat sederhana, dan saya hanya perlu mengubah satu baris dalam kemasan 2,10 untuk membuatnya berfungsi. Saya akhirnya memadamkan semua
keluhan lintian juga, tapi itu sepenuhnya opsional.