Aktualizacje ubuntu - automatyczne

Witam, korzystam z Ubuntu 11.04 i poleciłem ten system pewnej osobie, jednak ona nie czuje się w kompach za dobrze i moje pytanie: jak zrobić aby Ubuntu całkowicie sam w tle ściągał i instalował wszystkie dostępne aktualizacje i tym samym o jedno okienko mniej obciążyć kogoś :smiley:

ew. jak się nie da, to myślałem o napisaniu programu który wykonywał by apt-update za każdym uruchomieniem kompa.

Dodane 11.07.2011 (Pn) 15:02

napisałem taki program w C++:

#include 

#include 

using namespace std;

int main(){

system("sudo apt-get update");

system("sudo apt-get upgrade");

cout<<"Ubuntu został zaktualizowany"<
return 0;

}

Jeden jest problem pyta się o hasło, nie wiem jak zrobić aby ten program podawał hasło, a nie ja. Może ktoś z was ma inny pomysł np. napisać w powłoce bash ale ja tam nie umiem pisać.

W C++ nie ma sensu tego robić.

Jeśli już, to napisz skrypt w Bashu. Będzie jakieś 8 razy prościej.

Tylko jak “sudo”, to trzeba będzie i tak hasło podać.

Może gksudo (czy jak to tam szło)? Wtedy hasło będzie do wstukania w GUI, nie w konsoli.

______________________________________________

Dodane:

Nie zauważyłem, że pod kodem jeszcze coś napisałeś.

Jeśli się nie mylę, to kod jest niesłychanie trudny:

#!/bin/bash

sudo apt-get update && sudo apt-get upgrade

Nadajesz prawa do wykonania i tyle. Ale. Taka aktualizacja w tle może długo potrwać. Ja bym się nie bawił w głębszą automatyzację tego. Niech ta osoba jednak sama zatwierdza aktualizacje, gdy system wypluje jej stosowny komunikat. Albo niech wykonuje sobie samodzielnie z konsoli

sudo apt-get update && sudo apt-get upgrade

albo klika w Ubuntu tweak.

Dzięki gksudo działa, skrypt w Bash napisany, faktycznie znaczniej szybciej. Szkoda że Ubuntu nie ma opcji aby ściągać i aktualizować się sam.

Ja bym zamienił “szkoda” na “dobrze”. System, moim zdaniem, nie powinien być za bardzo samobieżny.

no i chyba kolega ma rację, Windows jest samobieżny za bardzo i nic z tego dobrego nie wychodzi.

Problem z wpisywaniem hasła można rozwiązać z pomocą visudo (odsyłam do google, tylko że byś nie wyłączył hasła w całym systemie).

Robisz to w prosty sposób, dodajesz skrypt do Crona dla użytkownika root (odpada problem z podawaniem hasła):

sudo crontab -e

ustalasz, że np. co 2 godziny skrypt będzie sprawdzał dostępność aktualizacji i jeśli się pojawią, to je zainstaluje

0 */2 * * * /sciezka/do/skryptu

i piszesz prosty skrypt

#!/bin/bash

apt-get update

apt-get upgrade -y

Natomiast jeśli aktualizacja ma się wykonywać tylko po każdym restarcie systemu, to możesz dodać te polecenie do /etc/rc.local nad linią exit 0. W opcjach menedżera aktualizacji jest jeszcze możliwość instalacji aktualizacji bezpieczeństwa bez potwierdzenia.

Pozdrawiam!