sudo apt-get upgrade
instaluje wszystkie aktualizacje, nie tylko aktualizacje bezpieczeństwa. Wiem, że mogę używać Menedżera aktualizacji, aby wybierać tylko ważne aktualizacje zabezpieczeń, ale czy można to zrobić z wiersza polecenia?
command-line
package-management
updates
security
Michael Crenshaw
źródło
źródło
linux-image-generic
pakiet, w zależności od bieżącego obrazu, np.linux-image-3.x.y-zz-generic
(Każda wersja to osobna nazwa pakietu), dist-upgrade (umożliwiający instalację nowych pakietów w celu spełnienia zależności) przeprowadzi tę aktualizację , podczas gdy aktualizacja pokaże pakiet jądra jako wstrzymany.apt-get
odpowiedzi, biorąc pod uwagę, jak wyraźnie jest ono wymienione na każdym serwerzeOdpowiedzi:
Pakiet aktualizacji nienadzorowanych zapewnia funkcję automatycznego instalowania aktualizacji zabezpieczeń.
Możesz użyć tego, ale zamiast konfigurować automatyczną część, możesz wywołać ją ręcznie:
Jeśli zamiast tego chcesz uruchomić go cicho:
UWAGA: Kiedy wywołujesz aktualizację nienadzorowaną, pozostawiasz „s” poza końcem.
Zakłada się, że pakiet jest instalowany domyślnie, co prawdopodobnie jest. Jeśli nie, po prostu wykonaj:
Zobacz także
/usr/share/doc/unattended-upgrades/README.md
.źródło
unattended-upgrade
, prawdopodobnie musisz to zmienić/etc/cron.daily/apt
, ale nie jesteś pewien, czy jest to „poprawne”unattended-upgrades
nie jest instalowany domyślnie.-v
do wiadomości informacyjnych lub-d
do debugowania wiadomości. W przeciwnym razie narzędzie będzie bardzo ciche, w takim przypadku musisz sprawdzić logi/var/log/unattended-upgrades
. Możesz także użyć--dry-run
do symulacji, ale w rzeczywistości niczego nie ulepszać. Aby uzyskać więcej informacji i inne opcje, użyj,--help
aby uzyskać komunikat pomocy.unattended-upgrades
dzisiaj kilku rzeczy . dzięki!Kilka wskazówek na temat zarządzania aktualizacjami
Dotyczy to zarówno Debiana, jak i Ubuntu, ale bardziej szczegółowe instrukcje dotyczące Ubuntu są następujące.
Pokaż tylko aktualizacje zabezpieczeń:
lub
lub
Pokaż wszystkie pakiety z możliwością aktualizacji
Instaluj tylko aktualizacje zabezpieczeń
Uwagi:
Czasami Ubuntu pokazuje aktualizacje bezpieczeństwa, jakby pochodziły z repozytorium $ release-updates. Tak jest, powiedziano mi, ponieważ programiści Ubuntu pchają również aktualizacje bezpieczeństwa do repozytorium $ release-updates, aby przyspieszyć ich dostępność.
W takim przypadku możesz wykonać następujące czynności, aby wyświetlić tylko aktualizacje zabezpieczeń:
i
Sprawdź, jakie usługi należy zrestartować po aktualizacji pakietu. Dowiedz się wcześniej, jakie pakiety zamierzasz zaktualizować i zaplanuj ponowne uruchomienie / ponowne uruchomienie. Problem polega na tym, że dopóki nie uruchomisz ponownie usługi, nadal może korzystać ze starszej wersji biblioteki (najczęstszy powód), która została załadowana do pamięci przed zainstalowaniem nowego pakietu, który naprawia lukę w zabezpieczeniach lub cokolwiek innego.
Należy jednak pamiętać, że
checkrestart
może zawierać listę procesów, które niekoniecznie muszą zostać ponownie uruchomione. Na przykład usługa PostgreSQL może przechowywać w pamięci odniesienie do już usuniętego pliku xlog, co nie jest prawidłowym powodem do ponownego uruchomienia usługi.Dlatego innym, bardziej niezawodnym sposobem sprawdzenia tego za pomocą standardowych narzędzi jest następujący skrypt bash, który bezwstydnie ukradłem z https://locallost.net/?p=233
Sprawdza, czy uruchomione procesy w systemie nadal używają usuniętych bibliotek, dzięki zachowaniu kopii tych w aktywnej pamięci.
źródło
zamień
/etc/apt/preferences
na:teraz prosty
apt-get upgrade
zaktualizuje tylko wszystkie aktualizacje zabezpieczeń.Dlaczego (i jak) to działa: Plik preferencji przypina wszystkie pakiety z dystrybucji Ubuntu do priorytetu 50, co czyni je mniej pożądanymi niż pakiety już zainstalowane. Pliki pochodzące z repozytorium zabezpieczeń mają domyślny priorytet (500), więc są rozważane do instalacji. Oznacza to, że tylko pakiety uważane za bardziej pożądane niż obecnie zainstalowane są aktualizacjami zabezpieczeń. Więcej informacji o przypinaniu na stronie apt_preferences .
Możesz tymczasowo promować określoną dystrybucję aktualizacji z
--target-release
opcją, która działa z (apt-get
iaptitude
przynajmniej), która pozwoli przypiąć określone wydania, aby kwalifikowały się do aktualizacji.Jeśli chcesz używać tego tylko do skryptów i nie ustawiać go jako domyślnego dla systemu, możesz umieścić reguły w innej lokalizacji i użyć tego:
Spowoduje to, że apt będzie szukał pliku preferencji z lokalizacji innej niż domyślna.
Plik preferencji podany jako przykład nie ma zastosowania do repozytoriów stron trzecich, jeśli też chcesz je przypiąć, możesz
apt-cache policy
łatwo użyć wymaganych kluczy do przypięcia.źródło
apt-cache policy packagename
. Spowoduje to wyświetlenie listy priorytetów dla różnych wersji. Powinieneś zobaczyć różne linie i różne priorytety. Jeśli nie ma linii o priorytecie 50, przypinanie z jakiegoś powodu nie wpływa na dane pakiety.Następujące informacje znajdują potwierdzenie w Ubuntu 14.04 LTS.
Skorzystaj z
unattended-upgrade
pakietu.Spójrz na plik
/etc/apt/apt.conf.d/50unattended-upgrades
. Na górze powinna znajdować się sekcja:Zwróć uwagę, jak został skonfigurowany, aby domyślnie dopuszczać tylko nienadzorowane aktualizacje pakietów bezpieczeństwa.
Zmodyfikuj plik
/etc/apt/apt.conf.d/10periodic
podobny do:Spowoduje to uruchomienie automatycznych nienadzorowanych aktualizacji zabezpieczeń, raz dziennie.
Teraz, aby uruchomić ręcznie:
sudo unattended-upgrade
.Aby przetestować za sucho, nie robiąc nic:
sudo unattended-upgrade --dry-run
.Źródło: https://help.ubuntu.com/14.04/serverguide/automatic-updates.html
źródło
APT::Periodic::Unattended-Upgrade "30";
to zrobiłoby - co 30 dni.Chociaż jest to dość brzydkie, możesz wyłączyć wszystkie repozytoria oprócz repozytorium zabezpieczeń, a następnie:
Nie testowałem tego, ale teoretycznie znajdzie tylko aktualizacje w repozytorium zabezpieczeń i zastosuje je ...
źródło
sudo apt-get update && sudo apt-get upgrade
(anulowanie przed wykonaniem jakichkolwiek aktualizacji). Następnie ponownie włączyłem wszystkie moje repozytorium, uruchomiłemsudo apt-get updatee
i otworzyłem Menedżera aktualizacji. Pakiety oznaczone jako aktualizacje zabezpieczeń nie były dokładnie tym, coapt-get upgrade
znaleziono, ale były bardzo blisko - wystarczająco blisko dla mnie. Nadal chciałbym wiedzieć dokładnie, jak to robi Menedżer aktualizacji i jak zrobić to samo z wiersza polecenia, ale tak się stanie. Dzięki!apt-get update
: wystarczy przeczytać wpisy w repozytorium - zgodnie z istniejącą listą. Musiałem sprawdzić, co nowego.apt-get upgrade
: wszystkie aktualizacje dla zainstalowanych pakietów bez modułów jądra. Brak aktualizacji wydania.apt-get dist-upgrade
: wszystkie aktualizacje dla zainstalowanych pakietów również z modułami jądra. Brak aktualizacji wydania.apt-get
z parametrem-s
: tylko test, bez zmian.źródło
W Debianie używam tego polecenia do robienia tylko aktualizacji bezpieczeństwa:
źródło
Nie mogę znaleźć opcji ani apt-get, ani aptitude, jednak ktoś miał takie samo pytanie na SuperUser. Jedyną odpowiedzią jest:
Brak odpowiedzi na pytanie, czy to zadziałało.
źródło
Oto skrypt, który osiąga to na kilka różnych sposobów:
źródło