Як встановити деякі пакети з "нестабільного" Debian на комп'ютер, на якому працює стабільний Debian?


16

На комп'ютері, на якому працює стабільний Debian, при спробі встановити пакет, який знаходиться в нестабільному списку на веб-сайті Debian за допомогою aptitude install <package>/unstableкоманди, я отримую результат, подібний до цього:

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.

Що я можу зробити, щоб мати можливість встановити "нестабільні" пакети? (Я думав додати сховище до sources.list, але не хочу, щоб все почалося з "нестабільного").

Отже: як я можу встановити нестабільні пакети (з використанням /stableв кінці назви пакета)?


Дивіться unix.stackexchange.com/q/112157/4671 для поглибленої відповіді на це питання.
Faheem Mitha

1
Коротка версія: Не варто. Більш дрібна версія: не робіть цього . Використовуйте підпори, якщо вам потрібно, але не змішуйте стабільні / нестабільні.
Шадур

Я вважаю, що це називається "FrankenDebian": "Debian Stable не повинен поєднуватися з іншими випусками. Якщо ви намагаєтесь встановити програмне забезпечення, яке недоступне в поточному випуску Debian Stable, не доцільно додавати сховища для інші випуски Debian. Проблеми можуть виникнути не відразу, але наступного разу, коли ви встановите оновлення. " Від не зламайте Debian .
малан

Відповіді:


29

Вам потрібно вказати unstableу своєму sources.list. Інакше apt просто не знайде пакет.

Щоб уникнути unstableпопадання пакетів, у вас є два способи.

  • Найпростіший спосіб - додати Default-Releaseпункт до /etc/apt/apt.conf(або до файлу під /etc/apt/apt.conf.d/, наприклад /etc/apt/apt.conf.d/my-default-release).

    APT::Default-Release "stable";
    
  • Важкий спосіб - використовувати налаштування APT . В /etc/apt/preferences:

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

Зверніть увагу, що більшу частину життя випуску Debian не встановити більшість пакетів із нестабільної на стабільній системі, оскільки вони затягнуть велику кількість бібліотек з нестабільної, і ви отримаєте нестабільну систему. Якщо ви хочете запустити нестабільну, це позбавить вас від проблем, щоб просто націлити нестабільну (або тестувати). Найкраще дотримуватися одного випуску чи тестування з випадковими нестабільними, якщо ви відчуваєте сміливість. І звичайно, на виробничій системі дотримуйтесь стабільності.

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

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

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