blog.bartlweb - a technologist's external brain

Thema: Software

Script zum überprüfen auf neue Updates

Die folgenden Perl-Skripte überprüfen unter Ubuntu oder openSuse Linux auf neue Updates und senden bei Verfügbarkeit von neuen Updates eine E-Mail an die definierte E-Mail-Adresse.

Um die Überprüfung jeden Tag um 08:00 Uhr anzustoßen, richten Sie den folgenden Cronjob ein:

0 8 * * * /<path>/check_updates.sh >> /dev/null 2>&1

Ubuntu

#!/usr/bin/perl
 
#
# settings
#
 
$mailfrom = "<sendername>\@domain.com";
$mailto = "<recipient>\@domain.com";
$subject = "Server: Updates available!";
 
#
# script
#
 
use FileHandle;
 
@check=`apt-get update`;
@check=`apt-get -s dist-upgrade`;
 
@warn = grep(/^0 updated,/, @check);
# german language pack installed
#@warn = grep(/^0 aktualisiert,/, @check);
 
if(scalar(@warn) == 0){
    $mail = new FileHandle;
    $mail->open("| /usr/sbin/sendmail -t") || die "Cannot open: $!";
    $mail->print("From: $mailfrom\n");
    $mail->print("To: $mailto\n");
    $mail->print("Subject: $subject\n\n");
        
    foreach (@check) {
      $mail->print($_, "\n");
    }
                      
    $mail->close();
}

openSuse

#!/usr/bin/perl
 
#
# settings
#
 
$mailfrom = "<sendername>\@domain.com";
$mailto = "<recipient>\@domain.com";
$subject = "Server: Updates available!";
 
#
# script
#
 
use FileHandle;
 
@check=`zypper refresh`;
@check=`zypper lp`;
 
@warn = grep(/^No updates found./, @check);
# german language pack installed
@warn = grep(/^Keine Aktualisierungen gefunden./, @check);
 
if(scalar(@warn) == 0){
    $mail = new FileHandle;
    $mail->open("| /usr/sbin/sendmail -t") || die "Cannot open: $!";
    $mail->print("From: $mailfrom\n");
    $mail->print("To: $mailto\n");
    $mail->print("Subject: $subject\n\n");
         
    foreach (@check) {
      $mail->print($_, "\n");
    }
                      
    $mail->close();
}

USB-Festplatte unter Linux einrichten

Folgen Sie den folgenden Anweisung um eine USB-Festplatte unter Linux zu verwenden. Führen Sie alle Befehle als root aus.

Festplatte formatieren

Wenn es sich um eine neue Festplatte handelt muss diese zunächst mit einer Partition versehen und formatiert werden. Für Festplatten unter 2TB Kapazität können Sie mit herkömmlichen Partitionstabellen arbeiten und das Tool fdisk nutzen.

  1. Ermitteln Sie die Bezeichnung der Festplattte /dev/<hdd> (z.B. /dev/sdc) mittels fdisk -l.
  2. Führen Sie fdisk /dev/<hdd> (Bsp.: fdisk /dev/sdc) aus und erstellen Sie mittels n eine neue Partition. Mit q beenden Sie fdisk.
  3. Formatieren Sie die Partition mit dem Befehl: mkfs.ext4 /dev/<hdd>1 (Bsp.: mkfs.ext4 /dev/sdc1).

Netzwerk-Drucker für alle Benutzer von Windows einrichten

Standardmäßig werden Netzwerkdrucker immer nur für den aktuellen Benutzer installiert. Die folgenden beiden Workarounds erlauben es jedoch als Administrator einen Netzwerkdrucker für alle Windows-Benutzer einzurichten.

Windows XP - Windows 7

Der Netzwerkdrucker wird als lokaler Drucker mit einem eigenen Anschluss erstellt und ist somit für alle Benutzer zugänglich.

  1. Starten Sie den Assistenten für die Einrichtung eines neuen Druckers
  2. Wählen Sie Lokaler Drucker und daktivieren Sie Plug&Play bei Bedarf
  3. Erstellen Sie im nächsten Schritt einen neuen Anschluss. Wählen Sie als Typ Local Port und als Anschlussnamen den UNC-Pfad des Druckers (Bsp.: \\192.168.10.5\Print)
  4. Schließen Sie den Assistenten ab.

Mac OSX Lion ertragbar machen

Viele Änderungen im neuen Mac OS X Lion betreffen auch die Benutzeroberfläche und Bedienung. Hier einige kurze Punkte die ich geändert habe um wieder halbwegs vernünftig und produktiv arbeiten zu können.

Gesten

Vorwarts/Zurück Geste für Firefox

Um wieder wie gewohnt mit einem Wisch von 3 Fingern nach links oder rechts die Browser-History von Firefox zu steuern bedarf es folgenden Anpassungen.

Systemeinstellungen -> Trackpad -> Mit wischen Seiten blättern - Mit drei Fingern horizontal wischen

Spaces wechseln

Um wie gewohnt mit einem Wisch von 4 Fingern nach links oder rechts zwischen den Spaces zu wechseln passen Sie die folgende Einstellung an.

DMG nach ISO konvertieren

Mit Mac OS X erstellte DMG Images lassen sich unter Windows oder in Programmen wie VMWare leider nicht lesen. Abhilfe schafft die Konvertierung in ein ISO-Image. Wenn Sie einen Mac zu Verfügung haben genügt die folgende Befehlszeile:

hdiutil convert /path/image.dmg -format UDTO -o /path/image.iso

Um unter Mac OS X mit dem Festplattendienstprogramm ISO Images einer CD zu erstellen, genügt es diese als CD/DVD-Master zu erstellen und danach die Dateiendung einfach von .cdr in .iso zu ändern.

 

Autostart-Dienste unter Ubuntu verwalten

Wer unter Ubuntu Dienste automatisch beim Start (booten) des Systems mitstarten möchte kann dies über den Befehl update-rc.d tun. Einzige Voraussetzung ist die Existenz eines Startup-Skripts unter /etc/init.d für den betreffenden Service.

Dienst automatisch starten

sudo update-rc.d <service> defaults

Beispiel

sudo update-rc.d mysql defaults

automatischen Start eines Dienstes deaktivieren

sudo update-rc.d <service> remove

Monitor-Kalibrierung auf den gesamten Windows-Desktop anwenden

Anders als unter Mac OS X werden unter Windows 7 gesetzte Farbprofile (z.B. nach einer Kalibrierung) nur in den Arbeitsbereichen von unterstützten Anwendungen (Bildvorschau, Adobe Photoshop, ...) angewandt. Der restliche Desktop oder Programmfenster werden unverändert davon angezeigt. Dieses Verhalten ist vor allem dann nicht wünschenswert, wenn man die Darstellung von zwei nebeneinanderstehenden Monitoren anpassen möchte. Mit den folgenden Einstellungen lässt sich aber auch Windows 7 zu einer globalen Verwenung des Farbprofils überreden.

Farbprofil für gesamten Desktop aktivieren

  • Melden Sie sich mit einem Administrator-Account am PC an.
  • Öffnen Sie den Punkt Farbverwaltung in der Systemsteuerung.

Linux-Befehl oder Skript im Hintergrund ausführen

Gerade bei Befehlen oder Skripten die eine längere Laufzeit haben, ist es oft von Vorteil wenn man diese im Hintergrund ausführen kann. Somit wird die Konsole bzw. die SSH-Sitzung nicht blockiert bzw. im Falle der SSH-Verbindung kann diese Beendet werden ohne, dass die Ausführung des Befehls abgebrochen wird.

Um einen Befehl im Hintergrund auszuführen fügen Sie diesem am Ende ein & hinzu.

./myscript& rm -R largefolder&

Login-Screen unter Windows 7 tauschen

Um den Login-Screen unter Windows 7 mit einem eigenen Hintergrundbild zu versehen, machen wir uns der Möglichkeiten der OEM-Hersteller zu nutzen. Achten Sie beim Erstellen der Grafik, dass diese im JPEG-Format vorliegt, die Auflösung der maximal genutzen Bildschirmauflösung entspricht und die Dateigröße 256KB nicht überschreitet.

Bennen Sie die Datei backgroundDefault.jpg und legen Sie dieses im Ordner C:\Windows\System32\oobe\info\backgrounds\ ab. Dabei kann es durchaus vorkommen, dass Sie die letzten beiden Ordner info und backgrounds noch erstellen müssen.

Zu letzt muss in der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Logo?nUI\Background der Wert von OEMBackground auf 1 gesetzt werden. Nach dem Abmelden ist der neue Hintergrund sofort sichtbar.

Login-Screen unter Mac OS tauschen

Wer den Standard-Weltraumhintergrund des Login-Screens unter Mac OS tauschen möchte muss dazu nur eine einfache JPEG-Datei auswechseln. Achten Sie darauf das Ihre neue Grafik unbedingt als JPEG-Datei gespeichert wird und eine Auflösung von 2560x1600 bzw. eine Dateigröße von 500KB nicht überschreitet.

Sobald Ihre Grafik bereit ist benennen Sie zunächst die Original Datei DefaultDesktop.jpg im Ordner /System/Library/CoreServices/ um. Danach können Sie Ihren neuen Hintergrund dort hin kopieren und als DefaultDesktop.jpg benennen. Setzen Sie nun die Berechtigungen der Datei auf -rw-r--r-- (644) und root:wheel. Nun können Sie sich abmelden und den neuen Hintergrund genießen.