Bagaimana cara menginstal beberapa paket dari Debian "tidak stabil" di komputer yang menjalankan Debian "stabil"?

14

Pada komputer yang menjalankan Debian "stable", ketika mencoba menginstal paket yang ada dalam daftar tidak stabil di situs web Debian menggunakan aptitude install <package>/unstableperintah, saya mendapatkan output yang mirip dengan ini:

Couldn't find any package whose name or description matched "<package>"
Couldn't find any package whose name or description matched "<package>"
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

Apa yang bisa saya lakukan untuk dapat menginstal paket "tidak stabil"? (Saya berpikir untuk menambahkan repositori ke sources.list, tetapi saya tidak ingin semuanya mulai diinstal dari "tidak stabil").

Jadi: bagaimana saya bisa menginstal paket yang tidak stabil (dengan menggunakan /stabledi akhir nama paket)?

Abbafei
sumber
Lihat unix.stackexchange.com/q/112157/4671 untuk jawaban mendalam untuk pertanyaan ini.
Faheem Mitha
1
Versi singkat: Jangan. Versi yang lebih panjang: jangan lakukan ini . Gunakan backports jika Anda harus, tetapi jangan mencampur stabil / tidak stabil.
Shadur
Saya percaya ini disebut "FrankenDebian": "Debian Stable tidak boleh digabungkan dengan rilis lain. Jika Anda mencoba untuk menginstal perangkat lunak yang tidak tersedia dalam rilis Debian Stable saat ini, itu bukan ide yang baik untuk menambahkan repositori untuk rilis Debian lainnya. Masalahnya mungkin tidak terjadi segera, tetapi lain kali Anda menginstal pembaruan. " Dari Don't Break Debian .
malan

Jawaban:

29

Anda harus unstableterdaftar di blog Anda sources.list. Kalau tidak, apt hanya tidak akan menemukan paket.

Untuk menghindari unstablepaket ditarik, Anda memiliki dua cara.

  • Cara mudah adalah menambahkan Default-Releaseklausa ke /etc/apt/apt.conf(atau ke file di bawah /etc/apt/apt.conf.d/, misalnya /etc/apt/apt.conf.d/my-default-release).

    APT::Default-Release "stable";
    
  • Cara yang sulit adalah dengan menggunakan preferensi APT . Dalam /etc/apt/preferences:

    Package: *
    Pin: release o=Debian,a=unstable
    Pin-Priority: 10
    

Perhatikan bahwa untuk sebagian besar masa rilis Debian, tidak praktis untuk menginstal sebagian besar paket dari tidak stabil pada sistem yang stabil, karena mereka akan menarik banyak perpustakaan dari tidak stabil, dan Anda akan berakhir dengan sistem yang tidak stabil. Jika Anda ingin menjalankan tidak stabil, itu akan menghemat Anda untuk hanya menargetkan tidak stabil (atau pengujian). Yang terbaik adalah tetap berpegang pada rilis tunggal, atau pengujian dengan sesekali tidak stabil jika Anda merasa berani. Dan tentu saja, pada sistem produksi, tetap stabil.

Jika Anda menjalankan stabil tetapi Anda memerlukan versi satu aplikasi yang lebih baru, pertama-tama lihat apakah ada backport untuk mereka. Jika tidak, jika Anda ingin menginstal paket dari tidak stabil tetapi tidak harus menarik ketergantungannya, coba dapatkan sumber dari tidak stabil dan kompilasi ulang.

apt-get source foo=1.42
apt-get build-dep foo  # pulls the dependencies of foo in stable but that's often good enough
dpkg-source -x foo_1.42.dsc
cd foo-1.4210126#10126
dpkg-buildpackage -rfakeroot -us -uc -b -nc
dpkg -i ../foo_1.42_$(arch).deb
Gilles 'SANGAT berhenti menjadi jahat'
sumber
2
+1 untuk menyebutkan backport, tetapi Anda harus benar-benar menunjukkan dengan lebih tegas bahwa mencampur stabil / tidak stabil benar-benar berbahaya dan jika Anda tidak tahu apa yang Anda lakukan Anda tidak boleh melakukan ini pada sistem produksi .
Shadur