Jak sprawdzić w CLI, czy aktualizacje mają być wykonywane co 4 tygodnie i instalować je automatycznie bez wchodzenia do zródła oprogramowania?


10

Mam zestaw niestandardowych poleceń uruchamianych na komputerach po ich zainstalowaniu. Jak sprawić, aby Ubuntu sprawdzał dostępność aktualizacji co 4 tygodnie i instalował je automatycznie podczas sprawdzania?

Musiałbym to zrobić za pomocą wiersza polecenia, abym mógł skonfigurować go dla zwykłych użytkowników podczas konfigurowania ich komputerów.

Pierwsze polecenie sprawi, że menedżer aktualizacji będzie sprawdzał dostępność aktualizacji co 2 tygodnie, ponieważ nie zawsze są one tak częste i oszczędza przepustowość serwerów Ubuntu.

Muszę też to ustawić, aby użytkownicy nie musieli klikać, aby zainstalować aktualizacje, ponieważ jest to męczące za każdym razem, gdy pomagam znajomemu w konfiguracji komputera.

Odpowiedzi:


10

Najpierw włącz automatyczne aktualizacje w następujący sposób:

sudo apt-get install unattended-upgrades

Następnie musisz edytować jego konfigurację, wpisz

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

( nanojeśli chcesz, zastąp go preferowanym edytorem tekstu)

Plik wygląda następująco:

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu maverick-security";
//      "Ubuntu maverick-updates";
};

//Oznacza ta linia jest komentarz i nie będą brane pod uwagę przez program, usunąć uderzeń obejmuje stabilne aktualizacje zwalniające oprócz poprawek bezpieczeństwa. Zastąp mavericktakże wersję Ubuntu, którą używasz.

Aby ustawić częstotliwość sprawdzania aktualizacji przez system, edytuj /etc/apt/apt.conf.d/10periodicplik za pomocą edytora tekstu:

APT::Periodic::Update-Package-Lists "14";
APT::Periodic::Download-Upgradeable-Packages "14";
APT::Periodic::AutocleanInterval "14";
APT::Periodic::Unattended-Upgrade "14";

W tym przykładzie system jest aktualizowany co dwa tygodnie.

Aby uzyskać bardziej szczegółowe wyjaśnienie, zobacz Automatyczne aktualizacje w przewodniku serwera Ubuntu.


Zauważ, że odpowiedź papukaija mówi o tym, jak często pojawia się okno dialogowe Menedżera aktualizacji na twoim ekranie. Myślę, że to nie to, czego nie chcesz, ale nie jestem pewien. :)


Dialogi nie muszą się pojawiać i nie idą w 1 linii. Jeśli ustawię w źródłach oprogramowania 2 tygodnie na sprawdzenie, czy to możliwe, że okno dialogowe aktualizacji pojawi się wcześniej czy później? Potrzebne jest to, że z 1 linią można by skonfigurować, że użytkownik nawet nie wiedziałby, że system jest aktualizowany co 4 tygodnie i nie musi widzieć żadnych zapytań o aktualizacje i automatycznie jest właśnie instalowany. Więc nie muszę ustawiać tego ręcznie za pomocą myszy w źródłach oprogramowania.
Kangarooo

Nie jestem pewien czy cię rozumiem. Możesz wyłączyć powiadomienia o aktualizacji, przechodząc do opcji System → Preferencje → Aplikacje startowe i usuwając znacznik wyboru w „Powiadomieniu o aktualizacji”. Czy o to ci chodziło? Oczywiście możesz też ustawić „30” zamiast „14” dni (lub dowolną kwotę, jaką chcesz)
Stefano Palazzo

I można to również zrobić za pomocą jednej linii? Jeśli tak, to również dobrze jest zrobić, jeśli nie - to nie jest najważniejsze, czego chciałem. Najważniejsze jest, aby przejść do ustawień źródeł oprogramowania, aby zmienić sprawdzanie aktualizacji i co robić. Chcę sprawdzać co 28 dni i instalować aktualizacje bez pytania w terminalu, aby było szybciej.
Kangarooo,

Komenda w jednym wierszu w mojej odpowiedzi: apt-get update && apt-get upgrade -y
luri

@luri, nie o to chodzi w tym pytaniu
Stefano Palazzo

2

Jeśli masz na myśli aktualizację wszystkiego, co jest „możliwe do zaktualizowania”, tj. Aktualizację WSZYSTKICH swoich pakietów, myślę, że możesz cron (w głównym cronie) niż co 28 dni apt-get update && apt-get upgrade -y.

Niektóre osoby mają problemy z zadaniami crond z powodu restrykcyjnego PATHustawienia. Jeśli masz jakiś problem, możesz zdefiniować go PATHna samym początku crontab -epliku (jak sugeruje CronHowto )

Ponadto, aby sprawdzić, czy wszystko jest w porządku, zapisałbym wyniki w następujący sposób:

root@PORTATIL:/var/log$ crontab -l
* * */2 * * /usr/share/myupdate.sh > /var/log/myupdate.log

myupdate.sh może być tak proste:

#!/bin/bash
#Testing updates
echo "$(date) Crond myupdate sarting."
apt-get update -y
apt-get upgrade -y
echo "$(date)Crond myupdate finished."

To mi nie działa. Kiedy dostaję moje dzienniki crona, aptitude -y safe-upgradenarzeka na potrzebę kontrolowania tty, a następnie kilka błędów ścieżki. Może powinienem zadać pytanie ...
djeikyb

Czy ustawiłeś go w głównym cronie?
luri

Tak. Zawiodło z powodu różnych problemów ze ścieżką, więc napisałem skrypt w katalogu / root / bin z #! / Bin / bash i pełną ścieżką do apt-get. Działa lepiej, ale wciąż się nie aktualizuje.
djeikyb

Zamieść błędy w dzienniku .... lub cokolwiek się nie powiedzie
luri


1

Możesz zmienić odstęp czasu między uruchomieniem menedżera aktualizacji, otwierając edytor gconf (na przykład Alt + F2 i pisząc gconf-editor). Następnie zlokalizuj /apps/update-notifier.

Interwał jest zdefiniowany w kluczu, regular_auto_launch_intervalgdzie wartością jest liczba dni. Myślę, że ta metoda nie wpływa na nie-graficzny automatyczny aktualizator (aktualizacje nienadzorowane).

Należy pamiętać, że Ubuntu może nie automatycznie instalować aktualizacji bezpieczeństwa z powodu błędu .


4
To jest wersja wiersza polecenia tej odpowiedzi: gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 7(gdzie 7 to interwał w dniach)
Stefano Palazzo

Właśnie sprawdziłem, że jest już 7. Ale w źródłach oprogramowania jest ustawiony na 2 tygodnie. Może to gdzieś indziej?
Kangarooo

0

Wkładam gconftool -s /apps/update-notifier/regular_auto_launch_interval --type int 1i jego otwarcie każdego dnia pokazuje, że nie zainstalowałem aktualizacji. Czy otwiera się, jeśli nie ma nowych aktualizacji? A więc wykonywanie automatycznej aktualizacji co 4 tygodnie nie spowodowałoby pojawienia się tego? Więc jak zrobić z CLI, aby automatycznie instalować aktualizacje co sprawdzanie co 4 tygodnie? To jest to czego chce. Nie przechodząc do źródeł oprogramowania i robiąc to za pomocą myszy. A czyniąc to, możliwe jest, że nie można tam umieścić więcej niż 2 tygodnie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.