Wyszukiwanie w witrynie

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:

  1. trzymać
  2. nieprzytrzymywać
  3. 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 htop

Przykł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 showhold

Aby 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-selections

Moż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-selections

Aby odblokować paczkę wykonaj:

echo "htop install" | sudo dpkg --set-selections

Zapobiegaj 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 htop

Aby zobaczyć status pakietu, uruchom:

aptitude show htop

Przykł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 htop

Wstrzymaj 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 synaptic

Wniosek

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.

Powiązane artykuły