lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

SoftwareUpdateCheck.sh

Image of SoftUpdCheck.sh running

Om SoftwareUpdateCheck.sh

SoftwareUpdateCheck.sh listar de mjukvaruuppdateringar som finns att hämta via ”Programuppdatering...”. Eftersom Adobes Flash-plugin är behäftad med många säkerhetsrelaterade fel finns det även en option, -f, som visar om det finns en ny Flash-plugin att hämta.

Tänkt användare av detta script är alla de duktiga användare som inte längre kör som administratörer och därmed inte längre får reda på vilka systemuppdateringar som behöver petas in i burken. Avsikten är att använda detta tillsammans med GeekTool och visa resultatet på skrivbordet.

Scriptet kontrollerar om det finns några system uppdateringar var 6:e timme och uppdaterar sig självt automatiskt var 14:e dag. Om open_ports.sh kör på maskinen använder SoftwareUpdateCheck.sh de data som open_ports.sh genererar. Man sätter lämpligen GeekTool till att uppdatera en gång i kvarten.

Finns inga uppdateringar ser det ut så här:

Image of SoftUpdCheck.sh running

 

Användning

Scriptet kan köras tillsammans med GeekTool så att man alltid har en uppdaterad vy på skrivbordet eller, om man vill, direkt i ett terminalfönster.

Optioner:
-fVisar status för Adobe Flash-plugin
-uUppgradera scriptet. Dess plats antas vara /usr/bin varför man måste vara root för att uppgradera
-tTvinga skapande av data
-hHjälp. Visar denna text

 
Exempel från Terminal-körning:
$ SoftwareUpdateCheck.sh
Hostname: paravel.cs.lth.se (130.235.16.211)    Running: Mac OS X 10.6.7    Uptime: 4 days

Software update check performed at: 9 Maj 10:31
No system software updates found


Installation

  1. Hämta scriptet från http://fileadmin.cs.lth.se/cs/Personal/Peter_Moller/scripts/SoftwareUpdateCheck_install.sh
  2. Starta Terminal.app
  3. Bli root: om du är en vanlig användare skriver du su adminanvändarnamn och sedan sudo -i; om du är admin-användare skriver du bara sudo -i
  4. Sätt accessrättigheter på scriptet:
    chmod 755 SoftwareUpdateCheck_install.sh (du måste leta upp var det finns)
  5. Kör scriptet:
    ./SoftwareUpdateCheck_install.sh
  6. Installationen går normalt snabbt. Om du inte har GeekTool installerat så hämtas det och dess skivavbild öppnas. För att installera GeekTool, dubbelklicka på dess .PrefPane
  7. I GeekTool: klicka på ikonen som det står ”Shell” under och drag ut på en del tomt skrivbord (måste vara tomt annars vill den inte). Drag den så stor som du vill ha den och där du vill ha den.
  8. Det dyker upp ett ”Properties”-fönster. Det du behöver fylla i här är:
    • Command: SoftwareUpdateCheck.sh
    • Refresh every: 3600 s
    • Byt typsnitt till ett du tycker om, gärna med vit färg
  9. Nu kan du stänga GeekTool

Notera att GeekTool inte flyttar runt sitt innehåll om du ändrar antalet skärmar etc. (t.ex. med en bärbar dator som har en extern skärm). Däremot blir dess fönster åter synligt när skärmgeometrien återställs!

Notera även att scriptet automatiskt kommer att starta efter en omstart!

 

Manuell installation

Lägg SoftwareUpdateCheck.sh i /usr/bin och se.lth.cs.softwareupdatecheck.plist i /Library/LaunchDaemons.

Starta sedan (som root) den senare med launchctl:
launchctl load /Library/LaunchDaemons/se.lth.cs.softwareupdatecheck.plist
launchctl start se.lth.cs.softwareupdatecheck
(se till att filen ägs av root:wheel och har accessrättighet 644)

 

Uppdatering

Scriptet automatuppdaterar sig var 14:e dag men man kan även göra det manuellt:
som root i ett terminalfönster, skriv:
SoftwareUpdateCheck.sh -u

Den kommer då att hämta ner den senaste versionen av scriptet och installera det (om den är annorlunda än den du har). Har du redan den senaste versionen kommer den berätta det!

Alternativt kan du själv göra detta som root:
curl fileadmin.cs.lth.se/cs/Personal/Peter_Moller/scripts/SoftwareUpdateCheck.sh > /usr/bin/SoftwareUpdateCheck.sh
chmod 755 /bin/SoftwareUpdateCheck.sh

 

Beskrivning av komponenterna

De ingående komponenterna är dessa:

/usr/bin:
SoftwareUpdateCheck.sh Scriptet som körs av både bakgrunds-datasamlaren och av GeekTool (och användaren)
/Library/LaunchDaemons:
se.lth.cs.softwareupdatecheck.plist Styrscript till launchd; gör så att SoftwareUpdateCheck.sh-scriptet körs var en gång i timmen (3600 sekunder)
/tmp:
swu.temp Datafil som innehåller de uppdateringar som finns tillgänliga via softwareupdate.
ExternIP.txtDatorns externa IP-adress