Polecenie apt służy do zarządzania pakietami w Debianie i Ubuntu. Chociaż prawdopodobnie znasz już opcje instalacji i usuwania, apt zapewnia również kilka dodatkowych funkcji.
Jednym z nich jest możliwość zobaczenia wszystkich pakietów, które można aktualizować w twoim systemie. Aby je wyświetlić, wystarczy użyć tego polecenia w terminalu:
apt list --upgradable
Jak możesz zauważyć, nie potrzebujesz nawet sudo, aby wyświetlić listę pakietów, które można aktualizować. Zawiera tylko listę pakietów, które można zaktualizować. Nie aktualizuje ich.
W rzeczywistości polecenie apt dodaje tę wskazówkę po uruchomieniu sudo apt updatepolecenia aktualizacji lokalnej pamięci podręcznej repozytorium pakietów.
Fetched 1,243 kB in 17s (71.4 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
30 packages can be upgraded. Run 'apt list --upgradable' to see them.
Nie przypominam sobie żadnej podobnej opcji bezpośredniej w starszym poleceniu apt-get, aby wyświetlić listę wszystkich pakietów, które można aktualizować. Jest to jedna z kilku nowych funkcji, które apt dodał do starszego polecenia apt-get.
Porozmawiajmy o tym bardziej szczegółowo.
Lista wszystkich pakietów, które można aktualizować
Powinieneś tu wiedzieć, że możesz wyświetlić tylko listę aktualizacji dostępnych za pośrednictwem menedżera pakietów APT. Tak więc, jeśli dodałeś PPA lub zewnętrzne repozytoria do systemu sources.list, zobaczysz aktualizacje z nich.
Ale nie otrzymasz tutaj aktualizacji dla AppImage, Flatpak, Snap ani niektórych innych formatów opakowań.
Innymi słowy, działa tylko z pakietami apt.
Tak więc, aby wyświetlić listę wszystkich pakietów, które można aktualizować w systemie Ubuntu lub Debian, należy najpierw zaktualizować lokalną pamięć podręczną pakietów:
sudo apt update
A wtedy twój system będzie świadomy dostępnych aktualizacji pakietów. Polecenie apt informuje o tym, ile pakietów można zaktualizować na końcu polecenia aktualizacji:

Aby zobaczyć, jaki pakiet można zaktualizować, uruchom polecenie:
apt list --upgradable
Powinieneś zobaczyć wynik taki:
abhishek@itsfoss:~$ apt list --upgradable
Listing... Done
apparmor/jammy-updates 3.0.4-2ubuntu2.1 amd64 [upgradable from: 3.0.4-2ubuntu2]
brave-browser/stable 1.40.113 amd64 [upgradable from: 1.40.107]
evolution-data-server-common/jammy-updates,jammy-updates 3.44.2-0ubuntu1 all [upgradable from: 3.44.1-0ubuntu2]
evolution-data-server/jammy-updates 3.44.2-0ubuntu1 amd64 [upgradable from: 3.44.1-0ubuntu2]

Zawiera listę wszystkich pakietów, które można aktualizować w porządku alfabetycznym, z informacjami o aktualnie zainstalowanej wersji i nowej dostępnej wersji pakietu.
brave-browser/stable 1.40.113 amd64 [upgradable from: 1.40.107]
Na przykład pokazuje, że mam zainstalowaną w systemie przeglądarkę Brave w wersji 1.40.107, a wersja 1.40.113 jest dostępna.
Co możesz zrobić z tymi informacjami? Pozwólcie, że podzielę się kilkoma rzeczami, o których myślę.
Uaktualnij wszystkie pakiety
To jest prawdopodobnie to, co robi większość zwykłych użytkowników Ubuntu. Możesz zaktualizować wszystkie pakiety, które można aktualizować za pomocą następującego polecenia:
sudo apt upgrade
Wyświetla listę pakietów, które zostaną zaktualizowane, a następnie prosi o potwierdzenie aktualizacji, naciskając klawisz Enter lub Y.

Jeśli jesteś pewien, że uaktualnisz wszystkie pakiety, możesz pominąć część „Czy chcesz kontynuować”, dając jej zgodę, dodając -y do polecenia.
sudo apt upgrade -y
Symuluj aktualizację (ale nie aktualizuj żadnych pakietów)
To właśnie robili ludzie przed poleceniem apt list. Dzięki opcji symulacji nie wprowadzasz żadnych zmian. Pokazuje tylko, jakie pakiety zostaną zainstalowane lub zaktualizowane, jeśli uruchomisz aktualizację.
apt -s upgrade
Nie musisz używać sudo (mimo że użyłem go na poniższym zrzucie ekranu).

Uaktualnij tylko wybrane pakiety
Jeśli zarządzasz serwerem Ubuntu i nie chcesz aktualizować wszystkich pakietów, a tylko jeden z kilku wybranych (np. MySQL/Ngnix), możesz to łatwo zrobić za pomocą polecenia apt.
sudo apt --only-upgrade install package_name
W rzeczywistości, jeśli uruchomisz polecenie apt install na już zainstalowanym pakiecie, dla którego dostępna jest aktualizacja, pakiet zostanie zaktualizowany.
Z --only-upgradeflagą zapewniasz, że pakiet jest aktualizowany tylko (jeśli jest już zainstalowany). Nie zainstaluje danego pakietu, jeśli nie jest jeszcze zainstalowany.
Możesz także uaktualnić wybrane pakiety, podając ich nazwę:
sudo apt --only-upgrade install package1 package2
Możesz też zrobić odwrotnie i zatrzymać wybrane pakiety z aktualizacji .
sudo apt-mark hold package_name
Dzięki temu dany pakiet nie zostanie zaktualizowany podczas aktualizacji wszystkich pakietów systemowych.
Możesz usunąć blokadę za pomocą tego polecenia:
sudo apt-mark unhold package_name
Czy pokazuje aktualizacje jądra?
To trochę trudne.
Po uruchomieniu polecenia „apt list –upgradable” pokazuje wszystkie pakiety, które można zaktualizować.
Ale jeśli są dostępne nowe wersje jądra, mogą nie być wyświetlane, ponieważ nazwa pakietu jądra zaczyna się od linux-headers-xy. Dzieje się tak dlatego, że system traktuje je jako nowe pakiety, a nie aktualizację już zainstalowanego pakietu linux-headers-ab.
Jednak na liście pakietów, które można aktualizować, nadal będzie można zobaczyć pakiet typu „linux-generic-hwe”. Ponieważ ten pakiet zostanie zaktualizowany (z nowszym jądrem).
Wniosek
Możliwość wyświetlenia listy pakietów, które można aktualizować, jest jedną z kilku nowych funkcji, które polecenie apt wprowadziło do starszego polecenia apt-get. Aby uzyskać więcej informacji na ten temat, możesz przeczytać mój artykuł wyjaśniający różnicę między poleceniami apt i apt-get .
Jako użytkownik komputera stacjonarnego nie zawsze sprawdzam pakiety, które można zaktualizować. Od razu wybieram aktualizację. Jednak kiedy zarządzam serwerem, wolę zobaczyć, jakie aktualizacje są dostępne, a następnie zdecydować, czy mam zamiar dokonać aktualizacji.
Jak o tobie? Czy widzisz dobre wykorzystanie tej funkcji dla siebie?






