Wstrzymaj lub uniemożliwij aktualizację pakietu w Debianie, Ubuntu
Jak już wiesz, możemy zaktualizować wszystkie zainstalowane pakiety za pomocą polecenia apt upgrade w Debianie, Ubuntu i innych systemach opartych na Debianie. Podczas tego procesu aktualizacji wszystkie zainstalowane pakiety zostaną zaktualizowane, niektóre dodatkowe pakiety (tj. zależności) zostaną zainstalowane, a niektóre niepotrzebne pakiety zostaną usunięte. Menedżer pakietów Apt wykonuje wszystkie te czynności automatycznie, aby pomóc użytkownikom w utrzymaniu czystego systemu. Apt ma również opcję zapobiegania automatycznej instalacji, aktualizacji lub usunięciu pakietu w Debianie, Ubuntu i ich wariantach. W tym przewodniku omówimy różne metody wstrzymywania lub uniemożliwiania aktualizacji pakietu w Debianie, Ubuntu i jego pochodnych, takich jak Linux Mint i Pop!_OS.
Dlaczego ktoś miałby chcieć uniemożliwić aktualizację pakietu?
Możesz się zastanawiać, dlaczego ktoś miałby chcieć wstrzymać pakiet z apt upgrade. Czy aktualizacja pakietów do najnowszej wersji nie pomaga nam zabezpieczyć systemu? Oczywiście, że tak! Ale nie chcesz tego robić w pewnych okolicznościach. Oto kilka powodów, dla których należy uniemożliwić aktualizację pakietów:
- Bieżąca wersja pakietu po prostu działa dobrze, więc możesz pomyśleć, że nie jest konieczna jej aktualizacja.
- Do prawidłowego działania inna aplikacja wymaga określonej wersji.
- Pakiet, który zamierzasz zaktualizować, może powodować problemy. Mimo że programiści dokładnie testują pakiety przed umieszczeniem ich w repozytoriach, czasami mogą nieświadomie wypchnąć niestabilne pakiety, co spowoduje uszkodzenie systemu.
- Oszczędzanie przepustowości. Możesz nie chcieć aktualizować pakietu, który zajmuje więcej niż 500 MB.
Niezależnie od przyczyny, jeśli kiedykolwiek chciałeś zapobiec zmianom pakietu w systemach Debian lub Ubuntu, ten samouczek Ci pomoże.
Wstrzymaj lub uniemożliwij aktualizację pakietu w Debianie, Ubuntu
Możemy uniemożliwić/wstrzymać/ignorować/wykluczyć pakiety z aktualizacji apt albo z wiersza poleceń, albo za pomocą graficznego narzędzia do zarządzania pakietami o nazwie menedżer pakietów Synaptic.
Najpierw przyjrzyjmy się metodom wiersza poleceń!
1. Zapobiegaj automatycznej instalacji, aktualizacji lub usunięciu pakietu za pomocą polecenia apt-mark w Debianie i Ubuntu
Apt-mark służy do pokazywania, ustawiania i rozbrajania różnych ustawień pakietu, takich jak oznaczanie pakietu jako instalowanego automatycznie/ręcznie lub zmiana opcji dpkg, takich jak wstrzymanie, instaluj, deinstaluj i czyść, które są przestrzegane, np. przez apt-get dselect-upgrade lub aptitude.
Aby zapobiec zmianom pakietu (instalacji, dezinstalacji i aktualizacji), komenda apt-mark udostępnia następujące trzy komendy podrzędne:
- trzymać
- nieprzytrzymywać
- pokaz
Komenda hold służy do oznaczenia pakietu jako wstrzymanego, co zapobiegnie automatycznej instalacji, aktualizacji lub usunięciu pakietu.
Polecenie unhold służy do anulowania wcześniej ustawionego wstrzymania pakietu i ponownego umożliwienia wszystkich działań.
Komenda showhold służy do wyświetlania listy wstrzymanych pakietów.
Zobaczmy przykład. Zamierzam zapobiec automatycznej instalacji, aktualizacji lub usunięciu pakietu (np. htop) za pomocą polecenia:
sudo apt-mark hold htopPrzykładowe dane wyjściowe:
htop set on hold.Zablokowany pakiet htop pozostanie w tej samej wersji nawet po aktualizacji systemu.
Aby wyświetlić wstrzymane pakiety, uruchom:
sudo apt-mark showholdAby odblokować pakiet, po prostu uruchom:
sudo apt-mark unhold htop
Przykładowe dane wyjściowe:
Canceled hold on htop.Zapobiegaj automatycznej instalacji, aktualizacji lub usunięciu pakietu za pomocą polecenia apt-mark
Pamiętaj, że ta metoda nie zapobiegnie ręcznemu usunięciu pakietu. Nadal możesz usunąć zablokowane pakiety za pomocą polecenia apt-get usuń .
Ta metoda zapobiega jedynie automatycznej instalacji, aktualizacji, aktualizacji lub usunięciu aplikacji podczas aktualizacji systemu. Trzymanie pakietu w rzeczywistości oznacza, że mówisz menedżerowi pakietów, aby zachował aktualną wersję bez względu na wszystko, nawet jeśli dostępna jest nowa wersja. Ta sztuczka może być bardzo przydatna podczas wstrzymywania sterowników graficznych. Jest to również przydatne, jeśli nowsza wersja aktualnie działającego programu ulegnie awarii po aktualizacji.
Za każdym razem, gdy spróbujesz zaktualizować system za pomocą poleceń sudo apt-get update lub sudo apt-get upgrade, zaznaczone pakiety będą nadal mieć tę samą wersję w momencie przytrzymania pakiet.
Apt-mark nie jest jedynym narzędziem CLI, które zapobiega zmianom pakietów w Debianie lub Ubuntu. Istnieją jeszcze dwa sposoby wstrzymania pakietu i odblokowania go później z wiersza poleceń.
2. Zablokuj aktualizację pakietu za pomocą dpkg w Debianie i Ubuntu
Dpkg to narzędzie wiersza poleceń służące do instalowania, budowania, usuwania i zarządzania pakietami Debiana.
Aby wstrzymać pakiet, na przykład htop, używając dpkg, uruchom:
echo "htop hold" | sudo dpkg --set-selectionsMożesz sprawdzić status wstrzymanego wcześniej pakietu, uruchom:
dpkg --get-selections | grep "htop"
htop hold
Jak widać, htop jest wstrzymany.
Aby wyświetlić status wszystkich pakietów, uruchom:
dpkg --get-selectionsAby odblokować paczkę wykonaj:
echo "htop install" | sudo dpkg --set-selectionsZapobiegaj aktualizacji pakietu za pomocą dpkg w Debianie, Ubuntu
3. Wstrzymaj pakiet z aktualizacji za pomocą aptitude w Debianie i Ubuntu
Aptitude to tekstowy interfejs systemu pakietów Debian GNU/Linux. Umożliwia użytkownikowi wykonywanie różnych zadań związanych z zarządzaniem pakietami, takich jak instalowanie, aktualizowanie, aktualizacja, wyświetlanie i usuwanie pakietów.
Aby wstrzymać pakiet i uniemożliwić jego automatyczną aktualizację, uruchom:
sudo aptitude hold htopAby zobaczyć status pakietu, uruchom:
aptitude show htopPrzykładowe dane wyjściowe:
Package: htop
Version: 2.2.0-2build1
State: installed [held]
Automatically installed: no
Priority: optional
Section: utils
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Uncompressed Size: 225 k
Depends: libc6 (>= 2.15), libncursesw6 (>= 6), libtinfo6 (>= 6)
Suggests: lsof, strace
Description: interactive processes viewer
Htop is an ncursed-based process viewer similar to top, but it allows
one to scroll the list vertically and horizontally to see all processes
and their full command lines.
Tasks related to processes (killing, renicing) can be done without
entering their PIDs.
Homepage: https://hisham.hm/htop/Jak widać na powyższym wyjściu, pakiet htop jest wstrzymywany przed aktualizacją.
Aby odblokować paczkę, po prostu wykonaj:
sudo aptitude unhold htopWstrzymaj pakiet z aktualizacji za pomocą aptitude w Debianie, Ubuntu
4. Zapobiegaj automatycznej instalacji, aktualizacji lub usunięciu pakietu za pomocą menedżera pakietów Synaptic w Debianie, Ubuntu
Jeśli w swoim systemie masz zainstalowany menedżer pakietów Synaptic, możesz łatwo zablokować instalację, aktualizację, aktualizację lub usunięcie pakietu.
Otwórz menedżera Synaptic i wyszukaj pakiet, który chcesz zatrzymać. Następnie kliknij Pakiet na pasku menu i kliknij przytrzymaj.
Zapobiegaj automatycznej instalacji, aktualizacji lub usunięciu pakietu za pomocą menedżera pakietów Synaptic
Otóż to. Teraz pakiet nie zostanie dotknięty podczas aktualizacji systemu, o ile go trzymasz.
Aby to cofnąć, przejdź do wersji Synaptic -> Pakiet -> Odblokuj.
Jeśli w Twoim systemie nie jest zainstalowany menedżer pakietów Synaptic, możesz go zainstalować za pomocą polecenia:
sudo apt install synapticWniosek
W tym samouczku nauczyłeś się, jak zapobiegać automatycznej instalacji, aktualizacji i usunięciu pakietu w systemach opartych na Debianie, takich jak Ubuntu, Linux Mint i Pop!_OS itp.
Chociaż wstrzymywanie pakietów może być pomocne w niektórych przypadkach, pozostawi również luki w zabezpieczeniach systemu Ubuntu. Trzeba wiedzieć, kiedy wstrzymać, a kiedy cofnąć paczki. Używaj tej funkcji ostrożnie. Powodzenia!
Powiązana lektura:
- Jak zignorować aktualizację pakietu w Arch Linux
Wyróżniony obraz autorstwa studia erfouris z Pixabay.



