Як встановити один пакет від Debian sid?


8

Візьмемо для прикладу ibus-sunpinyin, якого не було у випуску стискання. Я не збираюся переключати всю систему на гілку sid, тому я хочу завантажити єдиний пакет із сховища sid та встановити його так:

# 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

Щоб завантажити один пакет: ви можете apt-get download ...(для apt-отримати 0.8.11+) або aptitude download .... Однак мені теж не вдалося sudo dpkg -i ibus-sunpinyin-x.x.x.debчерез сид-залежність.
Xiè Jìléi

Відповіді:


1

Ви також можете спробувати завантажити вихідні пакети з сховища sid та створити їх у вашій системі стискання. Ви можете зіткнутися з проблемою, якщо залежностей багато, або якщо пакет залежить від версії бібліотеки, яка недоступна в стисканні.

Якщо це працює, то вам не потрібно підтримувати інший дистрибутив в окремій папці, як це було б при завантаженому підході.


1
apt-pinning - це правильний спосіб зробити це, TBH. jaqque.sbih.org/kplug/apt-pinning.html
Роб

8

Чого ви дійсно хочете, це дізнатися про влучне закріплення. http://jaqque.sbih.org/kplug/apt-pinning.html


Вам це потрібно, якщо потрібний пакет не має підпорки. В іншому випадку я ставлю, щоб резервні пари, як правило, працювали краще.
d -_- b

1
Так. Бекспорти - це набагато безпечніша ставка. Apt-pinning не завжди спрацює, а іноді буде тягнути набагато більше, ніж ви хочете (ніхто не захоче допомогти, якщо ви витягнете libc6 з sid!)
Роб

4

Цей пакет доступний у Debian Backports , що полегшить ваше життя. Це, як правило, пакети, витягнуті з тестування або нестабільні (sid) та "підтримувані" до поточного стабільного випуску.

Додайте цей рядок до свого sources.list

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

потім запустіть:

apt-get update && apt-get -t squeeze-backports install ibus-sunpinyin

0

Один із способів подолати це - це cdebootstrapвстановити базову систему sid, а потім chrootзапустити потрібну програму в новій системі.

cdebootstrapвстановлює нову систему debian із будь-якого дистрибутива, який ви хочете в каталозі. Потім chrootдозволяє запускати програми в іншому дистрибутиві без перезавантаження чи нічого.

Ви також можете використовувати mount --bindдозволена системою доступ до вашої домашньої папки, / proc тощо.

З внутрішньої системи, apt-get буде встановлений із сховища sid.

Більш детальне пояснення дивіться на https://wiki.ubuntu.com/DebootstrapChroot .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.