Solusi 1:
Banyak orang tampaknya takut mencampur stabil dengan pengujian, tetapi terus terang, pengujian cukup stabil dengan sendirinya, dan dengan preferensi yang tepat dan pemeriksaan solusi, Anda dapat menghindari "penyimpangan stabilitas" yang menempatkan paket inti Anda di jalur yang tidak stabil.
"Pengujian cukup stabil??" , Anda bertanya. Ya. Agar sebuah paket bermigrasi dari tidak stabil ke pengujian, ia harus memiliki nol bug terbuka selama 10 hari berturut-turut. Kemungkinannya, terutama untuk paket yang lebih populer, seseorang akan mengirimkan laporan bug untuk versi yang tidak stabil jika terjadi kesalahan.
Bahkan jika Anda tidak ingin menggabungkan lingkungan, masih bagus untuk memiliki opsi di sana jika Anda mengalami sesuatu yang memerlukan versi yang lebih baru daripada versi stabil.
Inilah yang saya sarankan untuk menyiapkannya:
Pertama, buat file berikut di /etc/apt/preferences.d
:
stable.pref
:
# 500 <= P < 990: causes a version to be installed unless there is a
# version available belonging to the target release or the installed
# version is more recent
Package: *
Pin: release a=stable
Pin-Priority: 900
testing.pref
:
# 100 <= P < 500: causes a version to be installed unless there is a
# version available belonging to some other distribution or the installed
# version is more recent
Package: *
Pin: release a=testing
Pin-Priority: 400
unstable.pref
:
# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package
Package: *
Pin: release a=unstable
Pin-Priority: 50
experimental.pref
:
# 0 < P < 100: causes a version to be installed only if there is no
# installed version of the package
Package: *
Pin: release a=experimental
Pin-Priority: 1
(Jangan takut dengan hal-hal yang tidak stabil/eksperimental di sini. Prioritasnya cukup rendah sehingga tidak akan pernah menginstal hal-hal itu secara otomatis. Bahkan cabang pengujian akan berperilaku, karena hanya akan menginstal paket yang Anda inginkan dalam pengujian.)
Sekarang, buat satu set yang cocok untuk /etc/apt/sources.list.d
:
stable.list
:Salin dari /etc/apt/sources.list
asli Anda . Ganti nama file lama menjadi sesuatu seperti sources.list.orig
.
testing.list
:Sama seperti stable.list
, kecuali dengan testing
.
unstable.list
:Sama seperti stable.list
, kecuali dengan unstable
, dan hapus daftar keamanan.
experimental.list
:Sama seperti unstable.list
, kecuali dengan experimental
.
Anda juga dapat menambahkan oldstable
di sources.lists.d
dan preferences.d
(gunakan prioritas 1), meskipun moniker ini cenderung kedaluwarsa dan menghilang sebelum siklus stabil berikutnya. Dalam kasus seperti itu, Anda dapat menggunakan http://archive.debian.org/debian/
dan "hardcode" versi Debian (etch, lenny, dll.).
Untuk menginstal versi pengujian sebuah paket, cukup gunakan aptitude install lib-foobar-package/testing
, atau lompat saja ke GUI aptitude dan pilih versi di dalam detail paket (tekan enter pada paket yang Anda lihat).
Jika mendapatkan komplain paket bentrok, lihat dulu solusinya. Dalam kebanyakan kasus, yang pertama adalah "jangan instal versi ini". Pelajari cara menggunakan pilihan penyelesai terima/tolak per paket. Misalnya, jika Anda menginstal foobar-package/testing, dan solusi pertama adalah "jangan instal foobar-package/testing", maka tandai pilihan itu sebagai ditolak, dan solusi lain tidak akan pernah mengarah ke jalur itu lagi. Dalam kasus seperti ini, Anda mungkin harus memasang beberapa paket pengujian lainnya.
Jika terlalu berbulu (seperti mencoba memutakhirkan libc atau kernel atau sistem inti besar lainnya), maka Anda dapat menolak jalur pemutakhiran tersebut atau mundur dari pemutakhiran awal sama sekali. Ingatlah bahwa itu hanya akan meningkatkan barang ke pengujian/tidak stabil jika Anda mengizinkannya.
EDIT:Memperbaiki beberapa pin prioritas, dan memperbarui daftar.
Solusi 2:
Di /etc/apt/apt.conf.d
tambahkan file berikut
99defaultrelease
:
APT::Default-Release "stable";
di /etc/apt/sources.list.d
- tambahkan url untuk pengujian / sumber tidak stabil
stable.list
:
deb http://ftp.de.debian.org/debian/ stable main contrib non-free
deb-src http://ftp.de.debian.org/debian/ stable main contrib non-free
deb http://security.debian.org/ stable/updates main contrib non-free
testing.list
:
deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
lari
apt-get update
lalu instal apa yang Anda butuhkan dengan
apt-get -t testing install something
Berhati-hatilah jika Anda menginstal hal-hal yang memiliki banyak ketergantungan. Sebaiknya jangan lakukan ini pada produksi.
Anda juga dapat mencoba keberuntungan Anda di backport atau repositori serupa.
Solusi 3:
apt_preferences
Tetapkan level default yang harus 'diupgrade dengan aman' oleh sistem di file /etc/apt/preferences:
man apt_preferences
Ada banyak hal yang dapat Anda lakukan dengan apt_preferences tetapi demi kesederhanaan...
Saya perlu menginstal satu paket (autoMysqlBackup) yang hanya tersedia di Pengujian. Solusinya adalah menambahkan yang berikut ke /etc/apt/preferences:
Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian
Pin-Priority: -10
Dengan beberapa repositori yang ditambahkan ke /etc/apt/sources.list, aptitude sekarang hanya akan ditingkatkan ke rilis yang Anda tentukan meskipun repo rilis selanjutnya terdaftar (dalam hal ini 'stabil').
deb http://mirror.aarnet.edu.au/debian/ lenny main
deb-src http://mirror.aarnet.edu.au/debian/ lenny main
deb http://mirror.aarnet.edu.au/debian/ squeeze main
deb-src http://mirror.aarnet.edu.au/debian/ squeeze main
Jadi untuk menginstal paket itu, yang harus Anda lakukan adalah:
$ aptitude install -t testing packageName
Solusi 4:
Untuk apa nilainya, saran umum yang selalu saya lihat adalah "Jangan mencampur stabil dengan apa pun." Sebagian besar tutorial sistem campuran adalah untuk pengujian campuran dan tidak stabil.
Alasannya tampaknya adalah jika Anda menggabungkan stabil dengan pengujian, paket yang sangat mendasar (seperti libc6) akan memerlukan pembaruan (untuk menginstal perangkat lunak dari pengujian), dan begitu paket dasar ini pindah ke pengujian, seluruh sistem dapat melayang seperti itu.
Berikut adalah dua alternatif:
- Gunakan Backport.
- Instal baris sumber dari pengujian, dan coba buat versi terbaru yang Anda inginkan dari sumber.
Solusi 5:
Dokumentasi debian sangat luas dalam subjek ini dan saya sangat menyarankan untuk menggali lebih dalam karena ini akan mengungkap keindahan sistem debian.
Lihat Cara menjaga sistem campuran, ini akan menjelaskan semua yang perlu Anda ketahui.