Bagaimana cara menginstal satu paket dari Debian sid?

8

Ambil ibus-sunpinyin misalnya, yang tidak ada dalam rilis pemerasan. Saya tidak akan mengalihkan seluruh sistem ke cabang sid, jadi, saya ingin mengunduh paket tunggal dari repositori sid dan menginstalnya seperti:

# Add the sid repository
sudo mv /tmp/sid.list /etc/apt/sources.list.d/

# Error: can't install because version conflicts of libc6:
#     sudo apt-get install ibus-sunpinyin

# This is ok but it will upgrade a lot of mess from sid branch:
#     sudo apt-get upgrade ibus-sunpinyin

# So, instead of apt-get install/upgrade, let me download & install the single package.
# However, this errored again because of version conflicts of libc6:
#      apt-get install --download-only ibus-sunpinyin

## THEN, WHAT CAN I DO? ##

# Remove the sid repository.
sudo mv /etc/apt/sources.list.d/sid.list /tmp

# Install the single package.
sudo dpkg -i ./ibus-sunpinyin-x.x.x.deb
Xiè Jìléi
sumber
Untuk mengunduh satu paket: Anda dapat apt-get download ...(untuk apt-get 0.8.11+), atau aptitude download .... Namun, saya juga gagal sudo dpkg -i ibus-sunpinyin-x.x.x.debkarena dependensi sid.
Xiè Jìléi

Jawaban:

1

Anda juga dapat mencoba mengunduh paket sumber dari repositori sid, dan membuatnya di sistem squeeze. Anda mungkin mengalami masalah jika ada banyak dependensi, atau jika paket tergantung pada versi perpustakaan yang tidak tersedia dalam pemerasan.

Jika ini berhasil, maka Anda tidak perlu mempertahankan distribusi lain di folder terpisah, seperti yang Anda lakukan dengan pendekatan bootstrap.

Neil
sumber
1
apt-pinning adalah cara yang tepat untuk melakukan ini, TBH. jaqque.sbih.org/kplug/apt-pinning.html
Rob
9

Yang Anda BENAR-BENAR inginkan adalah belajar tentang apt-pinning. http://jaqque.sbih.org/kplug/apt-pinning.html

rampok
sumber
Anda memerlukan ini jika paket yang Anda inginkan tidak memiliki backport. Kalau tidak, saya akan bertaruh backports umumnya berfungsi lebih baik.
d -_- b
1
Ya. Backports adalah taruhan yang jauh lebih aman. Pin-pin tidak akan selalu bekerja dan kadang-kadang akan menarik lebih dari yang Anda inginkan (tidak ada yang mau membantu jika Anda menarik libc6 dari sid!)
Rob
4

Paket ini tersedia di Debian Backports , yang akan membuat hidup Anda jauh lebih mudah. Biasanya ini adalah paket yang ditarik dari pengujian atau tidak stabil (sid), dan "di-backport" ke rilis stabil saat ini.

Tambahkan baris ini ke sources.list

deb http://backports.debian.org/debian-backports squeeze-backports main

lalu lari:

apt-get update && apt-get -t squeeze-backports install ibus-sunpinyin
Chad Feller
sumber
0

Salah satu cara untuk mengatasi ini adalah dengan menggunakan cdebootstrapuntuk menginstal sistem sid dasar, kemudian gunakan chrootuntuk menjalankan program yang Anda butuhkan dalam sistem baru.

cdebootstrapmenginstal sistem debian baru dari distribusi mana pun yang Anda inginkan dalam direktori. Lalu, chrootbiarkan Anda menjalankan program di distribusi lain itu tanpa me-reboot atau apa pun.

Anda juga dapat menggunakan mount --binduntuk membiarkan sistem chroot mengakses folder rumah Anda, / proc, dll.

Dari dalam sistem chroot, apt-get akan menginstal dari repositori sid.

Untuk penjelasan lebih rinci, lihat https://wiki.ubuntu.com/DebootstrapChroot .

Neil
sumber