Mam Debian Jessie i dodałem backporty (zgodnie z tymi instrukcjami ):
echo "deb http://http.debian.net/debian jessie-backports main contrib non-free" | sudo tee /etc/apt/sources.list.d/backports.list
(Zrobiłem to, aby uzyskać nowsze jądro, w razie potrzeby, dla jakiegoś sprzętu w moim laptopie).
Instrukcje mówią, że nic nie powinno się zdarzyć, chyba że wyraźnie poproszę o przeniesienie pakietu. np apt-get -t jessie-backports install "package"
.
Jednak teraz wydaje mi się, że mam cały ładunek mojego systemu z backportów, a jeden pakiet został odinstalowany, ponieważ zależy to od dokładnej wersji czegoś, co zostało zaktualizowane do back-portów.
Więc moje pytanie:
- Jak najpierw go zatrzymać, aby nie było już instalowanych żadnych backportów?
- Jak usunąć istniejące backporty?
Uwaga: otrzymuje listę zainstalowanych pakietów pochodzących z backportów (w formacie, który można przekazać apt-get install
, z jakiegoś powodu umieszczenie sudo apt-get install
echa na końcu potoku nie działa):
cat /var/log/dpkg.log.1 |grep -v linux | grep -v xserver | grep -v firmware | grep "status installed" | grep bpo | cut -d" " -f 5 | cut -d: -f 1 | xargs -i{} -n1 bash -c "dpkg-query -s {} >/dev/null && echo {}" | sed -r -e "s~.*~\0/jessie~" | xargs echo
Uwaga:
Niektóre pakiety są instalowane automatycznie, więc jeśli ponownie je wszystkie, to te automatycznie zainstalowane pakiety zostaną oznaczone jako zainstalowane ręcznie. Dlatego nie jest usuwany, gdy nie jest potrzebny.
Czy ktoś ma jakieś pomysły, jak to rozwiązać?
apt-get
albodpkg
. Dopóki nie panikujesz, nie ma się czym martwić. Większość problemów z systemami pakowania jest spowodowana przez ludzi panikujących i reagujących bez zastanowienia.apt-get
nie obniży wersji już zainstalowanego pakietu, chyba że wyraźnie to powiesz. I @richard powiedział, że chce instalowaćjessie
pakiety domyślnie, chyba że wyraźnie to określiłjessie-backports
- zakładam, że życzenie to dotyczy również pakietów jądra.stable
+,stable-backports
prawdopodobnie bardziej troszczą się o przypinanie niż ja i włożyli wysiłek, aby dowiedzieć się więcej na ten temat. Zwykle uruchamiamunstable
i regularnie synchronizuję moje systemy z najnowszymi sidami (z okazjonalnymi dodatkami odexperimental
), więc nie muszę ich przypinać. Jedyny raz, kiedy intensywnie go używałem, to lata temu podczas przejścia na gnome3, kiedy nie chciałem, aby moje pakiety gnome2 były wymieniane - pamiętam, że utrzymywanie ciągle zmieniającej się listy pakietów do przypięcia było PITA. Od tego czasu przeszedłem na Xfce i oczyściłem gnoma.Wygląda na to, że nie masz poprawnie skonfigurowanej
/etc/apt/preferences
. Poniższe informacje uniemożliwiają zainstalowanie czegokolwiek z jessie-backports, które oczekują tego, co nakazuje zainstalować (np. Jądro z backportowanym oprogramowaniem). Nadal będziesz mieć problemy, jeśli określone pakiety wymagają innych pakietów z backportów, których nie ma na liście.Jeśli chcesz uzyskać listę zainstalowanych backportowanych pakietów, możesz użyć następującego skryptu (lub jego części):
Jeśli chcesz obniżyć wersję dowolnego pakietu wymienionego przez powyższy skrypt, dołącz następujące elementy do
/etc/apt/preferences
:Następnie uruchomić:
źródło
Sprawdź konfigurację przypinania dla apt w / etc / apt / preferences i /etc/apt/preferences.d/
Czy to możliwe, że dodałeś niestandardową konfigurację przypinania i o niej zapomniałeś? To jedyny sposób, w jaki o tym myślę, sprawiłby, że apt wolałby backports, ponieważ wydaje się, że ci to robi. W przeciwnym razie po prostu wyciąga zależności - których wymagają określone pakiety.
Oficjalne backporty są już przypięte niżej (100) niż jessie w backportowanych pakietach Plik Release w repozytorium backports. Nie powinieneś wykonywać żadnej konfiguracji apt, aby apt wolał jessie od jessie-backports.
źródło