Jak zainstalować niektóre pakiety z „niestabilnego” Debiana na komputerze z „stabilnym” Debianem?


16

Na komputerze z uruchomionym „stabilnym” Debianem przy próbie zainstalowania pakietu, który znajduje się na liście niestabilnej na stronie Debiana za pomocą aptitude install <package>/unstablepolecenia, otrzymuję wynik podobny do tego:

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.

Co mogę zrobić, aby móc zainstalować pakiety „niestabilne”? (Myślałem o dodaniu repozytorium do sources.list, ale nie chcę, aby wszystko zaczęło być instalowane od „niestabilnego”).

Więc: jak mogę zainstalować niestabilne pakiety (z użyciem /stablena końcu nazwy pakietu)?


Szczegółowa odpowiedź na to pytanie znajduje się na stronie unix.stackexchange.com/q/112157/4671 .
Faheem Mitha

1
Krótka wersja: Nie. Dłuższa wersja: nie rób tego . Użyj backportów, jeśli musisz, ale nie mieszaj stabilnych / niestabilnych.
Shadur

Uważam, że nazywa się to „FrankenDebian”: „Debian Stable nie powinien być łączony z innymi wydaniami. Jeśli próbujesz zainstalować oprogramowanie, które nie jest dostępne w bieżącej wersji Debian Stable, nie jest dobrym pomysłem dodawanie repozytoriów dla inne wydania Debiana. Problemy mogą nie wystąpić od razu, ale przy następnej instalacji aktualizacji. ” From Don't Break Debian .
Malan

Odpowiedzi:


29

Musisz mieć na unstableliście sources.list. W przeciwnym razie apt po prostu nie znajdzie pakietu.

Aby uniknąć unstablewciągania pakietów, masz dwa sposoby.

  • Najłatwiejszym sposobem jest dodanie Default-Releaseklauzuli do /etc/apt/apt.conf(lub do pliku poniżej /etc/apt/apt.conf.d/, np /etc/apt/apt.conf.d/my-default-release.).

    APT::Default-Release "stable";
    
  • Trudno jest użyć preferencji APT . W /etc/apt/preferences:

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

Zauważ, że przez większość życia wydania Debiana nie jest praktyczne instalowanie większości pakietów z niestabilnego na stabilnym systemie, ponieważ będą one pobierać wiele bibliotek z niestabilnych, a skończysz na niestabilnym systemie. Jeśli chcesz działać niestabilnie, zaoszczędzisz kłopotów z celowaniem w niestabilność (lub testowanie). Najlepiej trzymać się jednego wydania lub testować od czasu do czasu niestabilność, jeśli czujesz się odważny. I oczywiście w systemie produkcyjnym trzymaj się stabilnego.

Jeśli pracujesz stabilnie, ale potrzebujesz nowszej wersji jednej aplikacji, najpierw sprawdź, czy istnieje dla nich backport . W przeciwnym razie, jeśli chcesz zainstalować pakiet z niestabilnego, ale nie musisz pobierać jego zależności, spróbuj pobrać źródło z niestabilnego i ponownie skompilować.

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 za wzmiankę o backportach, ale naprawdę powinieneś bardziej zdecydowanie podkreślić, że mieszanie stabilnego / niestabilnego jest naprawdę cholernie niebezpieczne, a jeśli nie wiesz, co robisz, nie powinieneś tego robić w systemie produkcyjnym .
Shadur
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.