zur Übersicht

nächste Seite


Updates

Das tragende Element des Betriebssystems ist der Linux-Kernel. Wenn es davon eine neuere Version gibt so ist jeder betroffen und man kann erwarten daß man über ein update informiert wird. Aber wer soll darüber Bescheid wissen welche Software auf dem eigenen Rechner installiert ist und dann über updates informieren - schließlich möchte man ja gerade nicht daß persönliche Informationen weitergegeben werden. Also sollte man sich selbst um updates kümmern. Eine Möglichkeit bietet synaptic aber das Terminal ist vielleicht einfacher: 

Man ruft das Terminal auf. Zunächst muß man sich mit dem Root-Passwort anmelden, also su eintippen und Eingabetaste drücken, dann Passwort eingeben und Eingabetaste drücken

apt update

Man kopiert die Zeichenfolge aus dem weißen Feld und fügt diese mit einem Rechtsklick bei dem blinkenden Cursor des Terminals ein (natürlich kann man diese Zeichenfolge auch eintippen) - dann drückt man die Eingabetaste. 
Damit wird die Datenbank mit der Liste der Pakete aktualisiert und die Versionsnummern verglichen. Wenn neue Versionsnummern gefunden werden:

apt full-upgrade

Man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Terminals ein - dann drückt man die Eingabetaste. 
Es wird aufgezeigt welche Pakete aktualisiert werden können und zur Bestätigung des Updates wird die Taste j gedrückt.
Nachdem alles durchgelaufen ist tippt man  exit  im Terminal ein und drückt die Eingabetaste um die Anmeldung als Root (Administrator) zu beenden.

Die Verwendung von apt ist recht neu, bekannter ist apt-get. Das Terminal bietet die Möglichkeit sich über Eingabebefehle zu informieren:

man apt

Tippt man diese Zeichenfolge beim blinkenden Cursor des Terminals ein und drückt die Eingabetaste so erhält man Erklärungen über apt. Man navigiert mit den Pfeiltasten.

Wenn Pakete installiert werden - über synaptic oder über das Terminal mit apt - werden aus den Quellen die in /etc/apt/sources.list notiert sind die Pakete auf den eigenen Computer heruntergeladen und in dem Verzeichnis /var/cache/apt/archives/ abgelegt. Dann werden diese Pakete ausgepackt und installiert. Wird ein Paket deinstalliert so bedeuted dies daß die Installation rückgängig gemacht wird - das entsprechende Paket verbleibt aber in /var/cache/apt/archives/. Wird ein update für ein Paket gemacht so wird die neue Version des Paketes wieder in /var/cache/apt/archives/ abgelegt (und dann installiert) aber die alte Version des Paketes verbleibt ebenfalls in /var/cache/apt/archives/.  

Man kann recht einfach das Löschen sämtlicher Pakete aus dem Paketcache /var/cache/apt/archives/ veranlassen indem man sich mit dem Root-Passwort anmeldet und dann eintippt   apt-get clean   und die Eingabetaste drückt. Es bleibt dann nur die Datei lock übrig sowie das Unterverzeichnis partial, in dem die Fragmente für Pakete landen, die nur teilweise bezogen wurden. 
Dadurch wird Speicherplatz freigegeben. Die installierten Programme werden davon nicht betroffen - lediglich in dem Fall daß ein Programm erneut installiert werden soll kann der Computer nicht auf das zwischengespeicherte Paket zugreifen und muß dieses aus den Quellen im Internet erneut herunterladen. 

Probleme kann es nur dann geben wenn das Paket inzwischen nicht mehr zum Herunterladen angeboten wird. Aber es bleibt abzuwägen ob es noch sinnvoll ist ein solches Paket erneut zu installieren.

Wenn beim update ein neuer Kernel installiert wird so sollte der Computer neu gestartet werden (wenn Programme aktualisiert werden brauchen nur diese Programme neu gestartet zu werden). Der alte Kernel verbleibt weiterhin auf dem Computer und mit der Zeit kann dadurch einiges an Speicherplatz verlorengehen. Und es gibt einen weiteren Aspekt. Bei Linux wird jeder Datei eine Inode-Nummer zugeordnet - und da die Anzahl der Inode-Nummern begrenzt ist hat das System Probleme wenn die maximale Anzahl erreicht wird. Es kann dann keine weitere Datei mehr angelegt werden, egal wie viel Speicher noch frei ist und der Computer kann nicht mehr richtig arbeiten, weil dabei auch temporäre Dateien erzeugt werden. Unter Ubuntu wo ständig neue Kernel eingespielt werden bin ich einmal an diese Grenze gekommen und wußte erstmal gar nicht was los ist. Man kann sich leicht einen Überblick über die verbrauchten Inode machen: 

df -i

Man tippt diese Zeichenfolge bei dem blinkenden Cursor des Terminals ein und dann drückt die Eingabetaste.

Das Löschen alter Kernel läßt erstaunlich viele Inode wieder frei werden. 
Eine Inode ist quasi der Personalausweis der Datei der genau angibt wo auf der Festplatte diese in welchen Speicherbereichen zu finden ist, aber es sind auch andere Informationen hinterlegt. Man kann die Inode einer Datei aufrufen z.B.

ls -il ~/.bash_history

Man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Terminals ein und drückt dann die Eingabetaste.

abc@777:~$ ls -il ~/.bash_history
131121 -rw------- 1 abc abc 2424 Sep 29 20:04 /home/abc/.bash_history
abc@777:~$

Die Zahl am Anfang ist die Nummer der zugeordneten Inode, dann gibt es Informationen über Zugriffsrechte, zum Eigentum der Datei, zur Dateigröße in byte, Datum und Ort der Datei im (auf dem Bildschirm sichtbaren) Datei-Verzeichnis sowie den Namen der Datei. Diese Informationen werden z.B. ausgegeben wenn man bei einer Datei einen Rechtsklick macht und dann Eigenschaften auswählt.

Die aktuelle Kernel-Version kann man leicht ermitteln indem man im Terminal eintippt

uname -a

dann drückt man die Eingabetaste. 
Soweit am Zeilenende erscheint  i386 oder i486 oder i586 oder i686, so läuft das System unter 32 bit.
Wenn am Zeilenende  x86_64  erscheint, so läuft das System unter 64 bit.

Den aktuellen Kernel darf man natürlich nicht antasten - er ist lebenswichtig für das System. Sollte aber doch einmal etwas mit diesem Kernel schief gehen so schlägt das Bootmenu vor andere Kernel zum Start zu verwenden. Deshalb ist es vorteilhaft ein oder auch zwei Vorgängerversionen des aktuellen Kernels auf dem System zu belassen. Aber noch ältere Kernel sind definitiv eine Belastung. Zur Beseitigung kann man Synaptic nutzen: 

Bei linux-headers und linux-image kann man in den Spalten 
Installierte Version/Neueste Version 
sofort sehen welches der aktuelle Kernel ist (Übereistimmung in beiden Spalten) und welche älter sind. Hat man sich entschieden einen der Uralt-Kernel zu löschen so macht man auf dessen Eintrag einen Rechtsklick und wählt 
"Zum vollständigen Entfernen vormerken"
Dann klickt man auf Anwenden (das grüne Häkchen) und der Uralt-Kernel wird entfernt.

Vielleicht noch ein Wort zur versteckten Datei ~/.bash_history 
Wenn man das Terminal aufruft und den blinkenden Cursor vor sich hat kann man die Taste "Pfeil nach oben" drücken und es erscheint der letzte im Terminal eingegebene Befehl - erneutes Drücken der Taste "Pfeil nach oben" und es erscheint der davor eingegebene Befehl - schreibt man 

history

bei dem blinkenden Cursor des Terminals und drückt die Eingabetaste so erscheinen eine Menge an eingegebenen Befehlen. Diese Befehlseingaben werden in der Datei ~/.bash_history archiviert. Mit dem Befehl history -c löscht man die komplette History des aktiven Terminals auch wenn man dies nicht erkennen kann, aber die Befehlseingaben des aktiven Terminals werden dadurch nicht archiviert. Das bestehende Archiv in ~/.bash_history bleibt aber erhalten. Möchte man noch die archivierten Befehle aus der ~/.bash_history löschen, so muß man nach dem Befehl history -c auch noch den Befehl history -w eingeben. 

zur Übersicht

nächste Seite