Sicher löschen: RAM, Dateien, Swap und freien Speicherplatz unter Linux
Über Sinn, Unsinn und Paranoia bezüglich des sicheren Löschens von Daten kann man ausgiebig diskutieren. Wie viel Sinn es tatsächlich macht seine Daten sicher zu löschen und ob es den Zeitaufwand wert ist, das möchte ich hier offen lassen. Möge das jeder für sich entscheiden. Fakt ist: Das sichere Löschen dauert deutlich länger und kostet mehr Rechenzeit als das gewöhnliche Löschen, da der zu löschende Datenbereich mehrmals überschrieben wird und die dafür nötigen Zufallsdaten generiert werden müssen.
Wer sich dafür interessiert, findet im Repository seiner Distribution sicherlich irgendwo das Paket „secure-delete“, welches auf Ubuntu/Debian-Systemen mittels folgender Zeile aus der Shell heraus installiert werden kann:
sudo apt-get install secure-delete
Wer das Paket im Repository seiner Distribution nicht findet, kann es sich über die Seite des Autos herunterladen, in dem er dort nach „secure delete“ sucht: http://freeworld.thc.org
Die Tool-Sammlung besteht aus vier Befehlen für die Kommandozeile: sdmem, sfill, srm und sswap. Wer diese Befehle effektiv nutzen möchte, sollte sie am besten mit Root-Rechten ausführen (mit einem vorgesetzten sudo unter Ubuntu zum Beispiel). Da die Befehle sdmem und sfill den freien Speicher überschreiben, ist ihr Einsatz noch effektiver, wenn Programme bereits geschlossen wurden, die sensible Daten im Arbeitsspeicher oder temporär auf Festplatten gespeichert lassen könnten.
WICHTIG: Vorsicht im Umgang mit den Befehlen srm und sswap! Wer nicht aufpasst, kann damit versehntlich wichtige Daten löschen! Für Datenverluste welcher Art auch immer übernehme ich daher keine Verantwortung.
Secure-Delete im Überblick
sdmem: Überschreibt den vorhandenen Arbeitsspeicher sicher.
sfill <VERZEICHNIS>: Überschreibt den freien Speicherplatz auf der Festplatte. Wer möchte kann auch ein Verzeichnis angeben, dann werden alle freien Inodes eines angegebenen Verzeichnisses sicher gelöscht.
Beispiel:
sfill /home/mein_account/
srm <DATEI>: Löscht wie der Befehl rm Dateien bzw. mit der Option -r auch rekursiv Verzeichnisse – nur eben sicher, durch mehrmaliges Überschreiben.
Beispiel:
srm Dokument.doc
sswap /dev/[Partition]: Löscht die Swap-Partition durch mehrmaliges Überschreiben sicher.
Die Swap-Partition muss für diesen Prozess zunächst deaktiviert werden: swapoff -a. Nach Beendigung des Löschvorgangs kann die Swap-Partition wieder aktiviert werden: swapon -a. Da swapon/swapoff -a dazu führt, dass alle Swap-Partitionen deaktiviert werden und man eventuell nur eine bestimmte Swap-Partition aktivieren/deaktivieren möchte, kann man dies auch mittels swapon/swapoff -U <UUID> tun.
Wer sich unsicher ist wie die UUID seiner Swap-Partition lautet oder wo diese überhaupt im System verankert ist, kann dies mit dem Befehl blkid einsehen. Die Swap-Partition trägt am Ende der Zeile die Bezeichnung: TYPE=”swap”.
Beispiel:
sswap /dev/sda5
Alle Befehle unterstützen die Optionen -f und -l
Der Schalter -f steht für „fast“, zu Deutsch: „schnell“. Er führt den Löschvorgang deutlich schneller aus, da er nicht auf das Device-File /dev/urandom des Systems zugreift, welches Zufallsdaten produziert. Dieser Vorgang ist jedoch auch unsicherer!
Der Schlater -l steht für „lessens the security“, was so viel bedeutet wie „mit verringerter Sicherheit“. Die Daten werden nur in zwei Durchgängen überschrieben. Es wird daher empfohlen diesen Vorgang anschließend noch ein zweites Mal durchzuführen.
Übrigens: Wer sich für weitere Schalter/Optionen der jeweiligen Befehle sowie deren Löschprozedur und Hintergrundinformationen interessiert, kann zu jedem Befehl eine Manpage aufrufen:
man sdmem
man sfill
man srm
man sswap
Bash-Tricks: Die History
Nach einer laaaangen Sommerpause, in der es für mich viel zu tun gab und in der ich unter anderem meine Abschlussarbeit fertiggestellt habe, melde ich mich wieder zu Wort, mit einer kurzen Einführung in die „Bash-History“.
Zunächst einmal: Was ist überhaupt eine „Bash-History“? „History“ kommt, wie wir alle wissen, aus dem Englischen und bedeutet „Geschichte“. Was die Bash ist, das dürfte den meisten Linux-Nutzern vermutlich klar sein: Die Shell bzw. die Eingabeaufforderung, über die man Programme starten und das System steuern kann. Die „Bash-History“ ist also eine Art Protokoll über die von uns im Laufe der Zeit eingegebenen Befehle.
Der Sinn der History ist, bei Bedarf zurückverfolgen zu können, welche Schritte man bei der letzten Arbeit in der Shell durchgeführt hat. Dies kann sehr sinnvoll sein, wenn man zum Beispiel unbeabsichtigt etwas verstellt hat und aufgrund dessen nun etwas nicht so will wie es sollte. Es kann aber auch sehr sinnvoll sein sich eine benötigte Befehlszeile wieder ins Gedächtnis zu rufen, die einem entfallen ist.
Durch die History navigieren
Wer sich einmal seine eigene Bash-History anschauen möchte, gibt in der Bash einfach folgenden Befehl ein:
history
Nun werden alle gespeicherten Einträge untereinander ausgegeben und durch eine Zeilennummer am Anfang ergänzt. Bei mir fängt die erste Zeile mit der Zeilennummer 14 an und endet mit der Zeilennummer 513 – warum auch immer.
Wer nicht die komplette History sehen möchte, kann durch diese auch mit den Cursortasten [↑] und [↓] navigieren. Dabei muss man sich die History wie einen Stack – also zum Beispiel einen Stapel Papier vorstellen. Das was ich nun als letztes auf den Stapel lege, das kann ich auch als erstes wieder greifen. Mit der Cursortaste [↑] kann ich immer weiter in die Vergangenheit der History eindringen. Mit der Cursortaste [↓] gehe ich den umgekehrten Weg.
Wer eine Zeile gefunden hat, die wieder ausgeführt werden soll, muss diese einfach nur mit der Enter-Taste bestätigen. Soll diese Zeile etwas angepasst werden, so kann man sich mit den Cursortasten [←] und [→] innerhalb der Zeile bewegen. Wem das bei langen Zeilen zu langsam geht, kann zusätzlich die [Strg]- bzw. [Ctrl]-Taste gedrückt halten.
Die History durchsuchen
Bei einer langen History ist es manchmal mühselig sich mit den Cursortasten durch die Liste zu bewegen, deshalb ist es hier praktisch, dass man die History auch durchsuchen kann.
Eine sehr einfache Methode ist in der Bash [Strg] + [R] zu drücken. Wenn man nun zu tippen anfängt, dann sucht die Bash die letzte zutreffende Zeile raus. Nun ist es aber oft so, dass nicht unbedingt die zuletzt eingegebene Zeile, die mit dem eingegebenen String anfängt, auch gleich die richtige ist. Wenn man nun erneut [Strg]+[R] eingibt, so gelangt man zur vorletzten, dem eingegebenen String entsprechenden Befehlszeile. Mit dem erneuten Drücken von [Strg]+[R] gelangt man dann zur vorvorletzten Befehlszeile und immer so weiter.
Wurde die gewünschte Zeile gefunden, so kann man sie mit der Enter-Taste ausführen. Wer den Suchvorgang abbrechen möchte, drückt auf [Esc]. Und wer die gefundene Zeile anpasse möchte, drückt eine der beiden Cursortasten [←] oder [→].
Diese Suchmethode erfordert allerdings, dass man weiß, womit die gesuchte Befehlszeile anfängt. Ist das nicht der Fall, so kann man auf eine so genannte „Pipe“ zurückgreifen. Das bedeutet, dass die Ausgabe des Befehls vor der Ausgabe auf dem Bildschirm zunächst abgefangen, verarbeitet und erst dann ausgegeben wird. Hier leiten wir die Ausgabe des Befehls history durch eine grep-Pipe, mit der wir nach einem String suchen können:
history | grep apt-get
Diese Zeile lieferte in meinem Falle beispielsweise folgende Ausgabe, in der der gesuchte String „apt-get“ vorkommt:
35 sudo apt-get install gtk2-engines-equinox equinox-theme equinox-ubuntu-theme faenza-icon-theme
156 sudo apt-get install darktable
404 sudo apt-get cache search pidgin
405 sudo apt-get —purge autoremove
407 sudo apt-get update
408 sudo apt-get upgrade
523 history | grep apt-get
Für kompliziertere Suchvorgänge, beispielsweise wenn ihr mehrere Begriffe in einer Befehlszeile finden möchtet, müsst ihr erst mal auf Google zurückgreifen. Ein kleines Tutorial zu grep ist hier schon geplant, aber würde in diesem Beitrag etwas den Rahmen sprengen.
Die History lässt sich übrigens auch als Datei öffnen, einsehen, durchsuchen und modifizieren:
gedit ~/.bash_history
Größe der History ändern
Wer die aktuelle Größe seiner History erfahren möchte, kann dies mit folgender Zeile tun:
echo $HISTSIZE
Die Zahl gibt die Länge der History an (Anzahl der Einträge). Um diese Größe anzupassen, genügt es in der .bashrc zwei Werte zu setzen. Am besten ist, man sucht zunächst nach folgender Zeile:
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
Findet man sie nicht, so kann man sie am Ende der Datei einfügen. Darunter fügt man dann die folgenden beiden Zeilen ein:
export HISTFILESIZE=10000
export HISTSIZE=10000
Natürlich können die Werte nach belieben angepasst werden.
History löschen
Wer Spuren verwischen möchte (Ihr Bösnickel, ihr! ;), hat natürlich die Möglichkeit die History zu löschen. Der folgende Befehl macht die History wieder „clean“:
history -c
Wer nicht die komplette History, sondern nur Teile daraus löschen oder gar modifizieren möchte, kann dies – wie bereits erwähnt – in der .bash_history machen:
gedit ~/.bash_history
History-Einträge mit Zeit- und Datumsangaben
Manchmal wäre es beim Durchsuchen der History ganz sinnvoll zu erfahren wann eine Befehlszeile ausgeführt wurde – also mit Datum und Uhrzeit. Durch eine kleine Modifikation an der .bashrc ist dies möglich:
gedit ~/.bashrc
Am Ende der Datei fügt man die folgenden beiden Zeilen ein, bevor man die Datei speichert und den Editor wieder schließt:
# HISTTIMEFORMAT
export HISTTIMEFORMAT=’%Y-%m-%d, %T – ‘
Jetzt nur noch die Bash geschlossen und wieder geöffnet und durch Eingabe von history kann man nun in Erfahrung bringen, wann welche Zeile ausgeführt wurde.
History-Shortcuts
Es gibt noch ein nettes Feature der Bash, dass ich hier mal als „Shortcuts“ bezeichnen möchte.
Nehmen wir zum Beispiel an, wir haben eine Befehlszeile, die wir immer wieder nacheinander in gewissen Zeitabständen ausführen müssen/wollen. Einmal eingegeben, holen wir die Zeile mit der Cursortaste [↑] wieder aus der History und bestätigen sie mit der Enter-Taste. Statt dessen kann man den letzten Befehl aber auch mit folgender Zeile erneut ausführen:
!!
Der Vorteil des ganzen ist jetzt sicherlich nicht so ganz ersichtlich. In Scripten kann dies aber durchaus sinnvoll sein. Oder man führt die zuvor eingegebene Zeile mit Root-Rechten aus:
sudo !!
Was auch noch möglich ist, ist das Hervorholen der Befehlszeile, die mit einem bestimmten String anfängt, der das letzte Mal in der History aufgetaucht ist. Oder kurz und verständlich: Wenn ich fünf Zeilen vorher ps -fe | grep pino ausgeführt habe und danach kein weiterer ps-Aufruf erfolgt ist, dann kann ich eben diese Zeile mit folgendem Befehl erneut ausführen:
!ps
Der String nach dem Ausrufezeichen ist variabel. Die Bash holt einfach die Befehlszeile aus der History raus, die als erstes dem nach dem Ausrufezeichen eingegebenen String entspricht und führt diese aus.
Mehr über die History
Dies ist natürlich nur ein kurzer Einblick in die History-Funktion der Bash. Kombinationsmöglichkeiten mit anderen Befehlen gibt es natürlich nahezu unendlich viele, man muss sich nur ein wenig Zeit nehmen und das Netz danach mit Google durchsuchen.
Wer sehen möchte, wie mächtig der history-Befehl ist und was damit noch alles möglich ist, der sollte sich die Manpage dazu durchlesen:
man history
Ansonsten wünsche ich noch viel Spaß mit der History!
Ubuntu via Handy mit OpenSSH fernsteuern
Hin und wieder kommt es vor, dass der Rechner einfach seine Zeit braucht, um etwas fertig zu stellen. Sei es ein Download, ein System-Update oder gar -Upgrade oder das Kompilieren einer aufwändigeren Anwendung. Nicht immer hat man Zeit und Lust am Rechner zu sitzen und darauf zu warten, bis er mit seiner Aufgabe fertig geworden ist. Den Rechner möchte man aber vielleicht trotzdem nicht unnötig lange laufen lassen.
Ein anderes Szenario ist – wie in meinem Falle – der Rechner der Eltern, auf dem man wunderbar Ubuntu installiert hat und es nun hin und wieder via Internet aktualisieren möchte. Wenn man nicht immer vor Ort sein kann, dann wäre es sehr praktisch, wenn man dies aus der Ferne erledigen könnte. Eben schnell ein kurzer Anruf: „Mutter! Schmeiß’ die Kiste an!“ Und schon kann es losgehen.
Geht nicht? Geht doch! Es geht sogar sehr einfach. Es gibt fünf grobe Schritte, welche zu befolgen sind um zu diesem Ziel zu gelangen:
1. Installation und Konfiguration des OpenSSH-Dämons
2. DynDNS einrichten
3. Installation und Konfiguration der SSH-Client-Software auf dem Handy
4. Konfiguration des Routers/der Firewall
5. Sicherheitstipps
Wer allerdings eine grafische Steuerung erwartet wird enttäuscht. Hier läuft alles über die Shell ab. Dies mag vielleicht schade sein, aber es spart Transfervolumen, was je nach Datentarif am Mobiltelefon günstiger und je nach verfügbarem Datenzugang außerdem viel schneller ist, steht mal kein UMTS/HSDPA zur Verfügung. Außerdem macht es an einem „normalen Mobiltelefon“ auch wenig Sinn auf einen Briefmarken-Bildschirm irgendwelche GUIs zu übertragen.
Packen wir es also an!
Schritt 1: OpenSSH-Dämon installieren und konfigurieren
Die Installation des Open-SSH-Dämonen (Daemons) bzw. -Servers ist so simpel wie sonst was:
sudo apt-get install openssh-server
Fertig! Jetzt wird zunächst die Konfigurationsdatei editiert:
sudo gedit /etc/ssh/sshd_config
Folgendes ist der Datei hinzu zu fügen bzw. abzuändern… .
Zunächst sollten wir die Option abschalten, sich direkt als root anzumelden. Dies ist unter Ubuntu ohnehin nicht möglich, aber sicher ist sicher. Die administrativen Rechte holen wir uns dann wie gewohnt mit sudo:
1. ÄNDERN VON:
PermitRootLogin yes
IN:
PermitRootLogin no
Anschließend möchten wir uns via Passwort anmelden, was im Zusammenhang mit MidpSSH (dem SSH-Client für Java-fähige Mobiltelefone), meines Wissens nach bislang die einzige Authentifizierungsmöglichkeit ist:
2. EINFÜGEN VON:
Password Authentication yes
… am besten direkt unter die Zeile UsePAM yes.
Und dann noch dies hier… . Dazu gleich mehr!
3. EINFÜGEN VON:
# Allow/Deny Users and Groups
AllowGroups admin
… an das Ende der Datei.
Man kann natürlich noch mehr konfigurieren, dies sind aber die einfachsten Schritte, welche die grundlegenden Bedürfnisse abdecken sollten.
Dann sei noch zu AllowUsers bzw. DenyUsers und AllowGroups bzw. DenyGroups folgendes gesagt: Mit AllowUsers kann man Benutzernamen auf dem Server angeben, welche Benutzer sich via SSH am System anmelden dürfen bzw. unter DenyUsers, welche dies nicht dürfen. Ähnlich verhält es sich mit AllowGroups: Hier im Beispiel ist admin als Gruppe eingetragen, was allen Benutzern mit Administrationsrechten den Zugriff auf das System via SSH gestattet. Genauso kann man mit DenyGroups bestimmte Benutzergruppen vom Zugriff ausschließen.
Nun nur noch ein Neustart des Servers:
sudo /etc/init.d/ssh restart
Und damit wäre der Dämon einsatzbereit. Ob er funktioniert, können wir zunächst an einem anderen Rechner im lokalen Netz testen, sofern ein Zweitrechner vorhanden ist:
ssh benutzername@IP_DES_SSH_SERVERS
Beispiel:
ssh klaus@192.168.2.10
Klappt es nicht, so prüft bitte zunächst eure Konfiguration und schaut unter Schritt 4 rein!
Schritt 2: DynDNS einrichten
Das Problem ist nun, dass wir außerhalb des lokalen Netzwerks nicht die IP-Adresse des Rechners mit dem SSH-Server kennen. Kaum jemand wird eine statische IP-Adresse besitzen. Daher brauchen wir einen Dienst, der einer von uns festgelegten Domain automatisch die aktuelle IP-Adresse des Systems zuweist und dieser nennt sich beispielsweise DynDNS. Es gibt auch noch andere Dienste dieser Art, aber ich beschränke mich hier zunmächst nur auf DynDNS, zumal dies der wohl bekannteste Dienst seiner Art sein dürfte.
Geht zunächst zu DynDNS.com, registriert euch dort kostenlos und erstellt euch eine Domain. Zum Beispiel: DOMAINNAME.dyndns.org
Wer nun das Glück hat einen Router zu besitzen, der DynDNS und ähnliche Dienste unterstützt, der kann in der entsprechenden Konfigurationsmaske des Routers seine DynDNS-Daten eintragen. Bei mir (Speedport W 701V „gefritzt“) sieht das wie folgt aus:

Wer einen Router ohne entsprechende DynDNS-Unterstützung seinen eigenen nennt oder gar keinen Router, sondern ein Modem besitzt, der muss auf eine Software-Lösung zurückgreifen. Dafür bietet sich der ddclient aus dem Ubuntu-Repository an, der bei einer Verbindung mit dem Internet die dynamische Domain mit der aktuellen IP-Adresse abgleicht. Installiert wird er wie folgt:
sudo apt-get install ddclient
Nach der Installation erfolgt auch sogleich die Konfiguration, die ihr schon mal vornehmen solltet.
Schritt 3: SSH-Client-Software installieren und konfigurieren
Es gibt sicherlich noch andere SSH-Clients für das Handy. Ich habe mich jedoch für MidpSSH entschieden, weil es meiner Ansicht nach ein sehr guter SSH-Client für mein Sony Ericsson K800i und K510i ist. Wer mag, kann natürlich auch andere Software testen. Genauso gibt es für Smartphones (Black Berry, iPhone, etc.) und andere Mobiltelefone, auch die passende Software. Die Vorstellung der zahlreichen Programme würde hier jetzt allerdings den Rahmen sprengen, weshalb ich mich nur auf MipdSSH beschränke.
Nach der Installation und Ausführung der Anwendung auf dem Handy, sollte man sich zunächst ein Profil anlegen, um sich in Zukunft die ganze Tipperei zu ersparen. Anschließend kann man sich auch schon einloggen… .
Sehr praktisch ist die Funktion sich so genannte Macro sets anzulegen. Ich kann es wirklich nur empfehlen! Das sind einfach Vorlagen dafür, was man im Client sonst mühsam eingibt. Wer an seinem Mobiltelefon keine vollwertige Tastatur hat, wird wenig Freude beim Updaten des Systems haben, das er anschließend herunterfahren möchte:
sudo apt-get update && sudo apt-get upgrade
sudo shutdown -h now
Kurz paar Vorlagen/Macros angelegt, kann man sich hinterher das nervige getippe mit T9 ersparen.
Auch das „Abschießen“ einer Anwendung kann man sich erleichtern. Statt zum Beispiel:
sudo ps -fe | grep firefox
sudo kill -9 2641
… immer wieder einzugeben, können wir zwei Macros erstellen:
sudo ps -fe | grep
… und …
sudo kill -9
WICHTIG: Am Ende der Zeile sollte in beiden Macros ein Leerzeichen eingefügt werden! Außerdem sollte, bei der Erstellung der Macros, die Option Mode auf Type gestellt sein!
Der Grund für diese beiden „Besonderheiten“ ist ganz einfach: Was am Ende der Zeile steht, variert, je nachdem, welche Anwendung bzw. welche Prozess-ID man abschießen möchte. Somit hat man nach Auswahl des jeweiligen Macros noch immer die Möglichkeit, mit Input, die fehlenden Angaben am Ende der Zeile zu ergänzen, bevor man die endgültige Befehlszeile abschickt.
Schritt 4: Router (NAT) und Firewall konfigurieren
Wer sich im lokalen Netzwerk nicht auf dem SSH-Server einloggen kann, hat vermutlich entweder etwas falsch konfiguriert oder eine Software-Firewall laufen. Ich persönlich bin der Meinung, dass Software-Firewalls nur eine Ressourcenverschwendung sind, aber es sei jedem selbst überlassen darüber zu entscheiden, was nötig und unnötig ist. Standardmäßig sollte die Firewall auf dem Server – sofern vorhanden – eingehende und ausgehende Verbindungen auf dem TCP-Port 22 zulassen. Wer einen anderen Port für seinen SSH-Dämon benutzt, muss in der Firewall den entsprechenden TCP-Port statt TCP-Port 22 freigeben.
Sollte dies nun klappen, aber eine Verbindung vom Handy oder von einem externen Rechner aus – also außerhalb des lokalen Netzwerkes – scheitern, so kann es daran liegen, dass man hinter einem Router sitzt, der eingehende Verbindungen aus Sicherheitsgründen blockiert. Normalerweise biete der Router – in meinem Falle ein „gefritzter“ Speedport W 701V – unter den Konfigurationsoptionen die Möglichkeit die NAT (eine Art Firewall) zu konfigurieren. Schlagen wir also ein Löchlein in die Wand für die IP des Rechners, auf dem der SSH-Dämon läuft, für TCP-Port 22 oder welchen Port man bei sich auch immer gewählt hat. Danach sollte alles soweit funktionieren. Bei mir sieht das so aus:

Schritt 5: Sicherheitstipps
Zu beachten ist, dass die Authentifizierung auf dem Server nun über das Passwort eines lokalen Benutzers durchgeführt wird. Daher ist es sehr wichtig, dass alle Benutzernamen, über die man sich via SSH am System einloggen kann, über ein möglichst starkes und sicheres Kennwort verfügen. Einfache Kennwörter sind unter Umständen leicht zu erraten und stellen somit ein Sicherheitsrisiko dar – vor allem, wenn es sich um Benutzer mit Administrationsrechten handelt!
Sofern der SSH-Client dies unterstützt – MidpSSH tut es bislang meines Wissens nach nicht – empfiehlt es sich statt der Passwort-Authentifizierung die Public-Key-Authentifizierung zu benutzen. Nähere Informationen dazu ergoogelt bitte selbst.
Außerdem ist es ein Trugschluss, dass die Abweichung beim SSH-Server vom Standard TCP-Port 22 auf einen anderen Port – z.B. 27409 – für mehr Sicherheit sorgt. Es mag sicherlich einige Möchtegern-Cracker und -Hacker täuschen oder eventuell die Sichtbarkeit eines offenen Ports etwas hinauszögern, allerdings zeigt ein Portscan relativ schnell, welche Ports am System geöffnet sind und welche nicht.
Daher gilt: Wer einen SSH-Server nicht wirklich braucht, sollte auf ihn verzichten. Nur weil es „witzig“ ist sein System via Mobiltelefon zu steuern, muss es noch lange nicht sinnvoll sein! Für gewöhnlich sollte das System zwar grundsätzlich sicher sein, aber offene Ports stellen immer ein Sicherheitsrisiko dar, welches nichts ausgenutzt werden muss, aber kann, wenn z.B. die entsprechende Software eine Sicherheitslücke oder etwaige Bugs aufweist oder Kennwörter zu leicht zu erraten sind.
So, und nun hoffe ich, dass ich nichts vergessen habe und wünsche euch viel Spaß damit!
Ubuntu: Problemfall „AT-SPI-Registry“ lösen
Auf einigen Systemen kann es vorkommen, dass ein gewisser Dienst Komplikationen verursacht. Dies kann zum Beispiel so aussehen, dass einige Fenster nur noch träge reagieren oder beim Herunterfahren eine Meldung erscheint, dass der Dienst AT-SPI-Registry nicht beendet werden konnte, das System wartet dann auf eine Aktion des Benutzers. Auf anderen Systemen frisst dieser Dienst unnötig viel Arbeitsspeicher (angeblich bis zu 250 MByte laut einigen Berichten) oder soll sogar das System teilweise bremsen. Im Prozessmanager lässt sich der Dienst killen – oft erscheint er dort auch als ein so genannter „Zombie-Prozess“ – danach sollte das System etwas besser laufen.
Ich weiß nicht warum das so ist, aber ich habe endlich mit etwas Googeln eine Lösung gefunden. Für alle Leidgeplagten hier eine kurze Anleitung.
Wer auf den genannten Dienst nicht angewiesen ist, kann ihn ganz einfach deinstallieren:
sudo apt-get autoremove at-spi
Dabei werden auch einige andere Anwendungen mit deinstalliert. Dies betrifft in der Regel jedoch nur Software wie z.B. den Screenreader Orca und gegebenenfalls benötigte Komponenten. Wer auf einen barrierefreien Zugang zum System nicht angewiesen ist, sollte nach der Deinstallation keine Probleme bekommen, denn kurz und bündig: Für einen solchen Einsatz ist dieser Dienst hauptsächlich gedacht.
Ubuntu: Dateivorschau in Nautilus reparieren
Für gewöhnlich zeigt Nautilus – der Standard-Dateimanager unter Ubuntu – eine Vorschau für bestimmte Dateien an. Zu diesen Dateien gehören z.B. PDF-Dokumente, Bild- und Filmdateien oder andere visuell wahrnehmbare Dateien. Dies ist zum Beispiel dann sehr praktisch, wenn man Fotos sortiert.
Hin und weder kommt es jedoch vor, dass Nautilus eine solche Dateivorschau nicht generiert oder erst dann generiert, wenn man die entsprechende Datei zunächst geöffnet und anschließend die Ansicht für den Ordner, in dem sie liegt, aktualisiert hat. Dies passiert für gewöhnlich dann, wenn man zusätzliche Software installiert hat, welche das Verhalten des Dateimanagers verändert beziehungsweise in irgendeiner Weise beeinflusst.
Vor einem ähnlichen Problem stand ich bis heute auch, bis mir im Heimatverzeichnis der Ordner .thumbnails aufgefallen ist. Dies ist der Ordner, der die Vorschaubilder der jeweiligen Dateien enthält. Um das Problem nun zu beheben, begibt man sich in die Shell und löscht diesen Ordner zunächst komplett:
rm -R ~/.thumbnails
Anschließend sollte man sich aus- und wieder einloggen. Wer mag, kann alternativ auch Nautilus abschießen. Zumindest unter Lucid Lynx (Ubuntu 10.04) startet der Dateimanager von selbst neu und generiert entsprechende Dateivorschau, sobald man einen Ordnerinhalt aufruft. Das Abschießen des Dateimanagers geschieht mit:
killall nautilus
UPDATE:
Da ich ein ähnliches Problem eben an meinem Desktop-Rechner hatte und die von mir zuvor beschriebene brachiale, wenn auch einfache Lösung nicht geklappt hat, hier noch ein kleines Update dieses Beitrags.
Um das Problem zu lösen, sollte obiger Lösungsvorschlag nicht funktioniert haben, startet man einfach ein Terminal-Fenster und führt in der Shell folgende Befehle aus:
sudo update-mime-database /usr/share/mime
sudo update-desktop-database
sudo dpkg-reconfigure shared-mime-info
Anschließend bedarf es wieder eines Aus- und Einloggens bzw. des Abschießens des Dateimanagers Nautilus. Et voilà!
Granola – Energie sparen unter Linux ist ganz einfach
Aus Zeitgründen kommt nach einer längeren Pause endlich wieder ein kleiner Beitrag im Blog. Diesmal gibt es ein kleines Tool namens „Granola“, welches ich euch ans Herz legen kann. Es ist kostenlos und es hilft euch Strom und somit Geld zu sparen und damit wiederum die Umwelt zu schonen. Dabei sollen die Energiesparmaßnahmen nicht auf Kosten der Leistung gehen.
Das Tool besteht aus zwei Teilen: der eigentlichen Power-Management-Software und einer passenden GUI. In der GUI sieht man zudem, wie viel Strom und somit Geld und CO2 gespart wird.
Download der Software:
http://grano.la/help/?os=linux&download
Installation:
sudo bash ./installer.bash
sudo apt-get update
sudo apt-get install granola granola-gui
Natürlich kann und sollte man stets alles kritisch hinterfragen. So kann ich zum Beispiel spontan nicht beweisen, dass das Tool funktioniert, aber eines kann ich euch versprechen: Ich arbeite oft am Laptop und seit der Installation dieses Tools ist der Lüfter deutlich leiser und der Laptop etwas kühler.
Dieses Tool gibt es übrigens auch für Windows.
Typografie-Grundlagen und Sonderzeichen unter Ubuntu Linux
Typografie ist ein interessantes Thema, was man nicht in einem Blog-Beitrag abhaken kann. Daher betrachte ich diesen Beitrag als eine absolute Grundlage, welche das Thema höchstens dezent ankratzt. Wer sich mit dem Thema näher befassen möchte, wird um weiterführende Literatur in Form von Büchern oder spezialisierten Seiten und Foren nicht d’rum herum kommen. Für den Anfang sollte allerdings auch die Wikipedia genügen, um sich das gröbste, des gröbsten Wissens dieses Gebietes anzueignen: http://de.wikipedia.org/wiki/Satzzeichen
Manche kleinen, aber feinen Unterschiede der Typografie sind für Laien nicht sichtbar und folglich sind die kleinen Fehler für die Laien auch nicht schlimm. Bei einem „Profi“ können sie aber durchaus die Haare zu Berge stehen lassen. Natürlich muss man nicht immer und überall auf diese Feinheiten achten, das mache ich zum Beispiel in diesem Blog auch nicht, obwohl ich mir in diesem Beitrag versucht habe etwas mehr Mühe zu geben als sonst. Wer allerdings einen Text wirklich schön aussehen lassen möchte, zum Beispiel um diesen professionell drucken zu lassen, der sollte sich mit den Regeln der Typografie zumindest etwas vertraut machen. Andere – nicht böse gemeint – haben es wiederum bitter nötig sich die Grundlagen der Typografie anzusehen, da sie blutige Anfänger sind, die bei der Verwendung von Satz- und Sonderzeichen selbst einen Typografie-Laien manchmal zum Weinen bringen.
Typo-Beispiele
Hier ein kleines Beispiel: Wie sieht das typografisch korrete Apostroph-Zeichen aus? Oder anders gefragt: Welche der nachfolgenden Schreibweisen ist typografisch korrekt?
- Thatˈs it!
- That´s it!
- That`s it!
- That’s it!
- That‘s it!
- That′s it!
Die Antwort lautet: Es ist die vierte Schreibweise, die typografisch korrekt ist. Nummer eins ist nämlich das Ersatzzeichen für das Apostroph, wie man es links neben der Enter-/Return-Taste findet – auch als Betonungszeichen bezeichnet. Nummer zwei und drei sind Akzent-Zeichen – Akut-Akzent (Nummer zwei) und Gravis-Akzent (Nummer drei). Nummer fünf ist das typografisch korrekte einfache, schließende Anführungszeichen. Nummer sechs ist schließlich das Zeichen für die Bogenminute, also das Zeichen, welches bei der Angabe von Winkelmaßen verwendet wird.
Wie man sieht, gibt es aber alleine in diesem Beispiel sechs unterschiedliche Arten des „Hochkommata“, wie man es vermutlich im Volksmund nennt, und diese Aufzählung ist noch nicht vollständig. Dann gibt es noch Zeichen, die sich – zumindest je nach Schriftart – optisch gar nicht von den eben erwähnten unterscheiden, jedoch aber einen anderen Unicode-Zeichenwert haben. Das ist allerdings noch ein anderes Thema, auf das ich hier nicht zu sprechen kommen möchte.
Ein anderes Beispiel, dessen sichtbare Unterschiede teils auch stark von der verwendeten Schriftart abhängen, sind der Binde- oder Trennstrich, sowie der Gedankenstrich oder das Minus-Zeichen. Das alles bezeichnet man in in der Typografie als „Geviertstriche“, die je nach Länge „Viertelgeviertstrich“ (-), „Halbgeviertstrich“ (–) oder „Geviertstrich“ (—) heißen. Der Gedankenstrich ist hier immer der Halbgeviertstrich, ebenso das Minus-Zeichen. Wort-Trennung findet jedoch immer mit den Viertelgeviertstrich statt.
Es ist auch viel schöner und platzsparender „3 ½“ statt „3 1/2“ zu schreiben oder „5⁶ × 7 ½ ÷ 4“ statt „5^6 * 7 1/2 / 4“. Schöner ist auch: „Ich komme in ± 10 Minuten …”, statt: „Ich komme in +/- 10 Minuten …”.
Ähnlich sieht es auch mit den in diesem Beitrag verwendeten Anführungszeichen „“ aus, im Gegensatz zu den herkömmlichen Ersatz-Anführungszeichen “”, wie sie auch auf der Schreibmaschine zu finden sind. Gerade die Anführungszeichen sind ein wichtiger typografischer Punkt, der je nach Land unterschiedlich ausfällt. So verwenden zum Beispiel die Schweizer und Franzosen «» (Guillemets) statt den in Deutschland üblichen „Gänsefüßchen”.
Korrekte Typografie ist aber nicht nur esthetisch, sondern auch praktisch, denn ein korrekt typografisch aufbereiteter Text ist für den Leser leichter zu lesen, die Informationen schneller aufnehmbar und außerdem optisch womöglich ein Augenschmauß. Und genau da liegt der Hund begraben beziehungsweise der Sinn des Ganzen!
Schriften installieren
Je nach verwendet Schriftart kann es durchaus sein, dass manche der soeben verwendeten Sonderzeichen entweder nicht korrekt oder gar nicht dargestellt werden. Bei der „richtigen“ Schriftart sind allerdings die Unterschiede zumindest in den eben genannten Beispielen sichtbar.
Wer also weitere Schriften unter Linux braucht, muss diese nachinstallieren. Die einfachste Möglichkeit ist, sich im Repostory umzusehen. Im Beispiel von Ubuntu kann man eine Hand voll nützlicher Schriften mit folgender Zeile aus der Shell heraus installieren:
sudo apt-get install msttcorefonts ttf-dejavu ttf-dejavu-core ttf-dejavu-extra
Die Installation beinhaltet einige Microsoft-Schriftarten, wie sie einige von Windows her kennen. Dazu zählen unter anderem „Arial“, „Trebuchet“, „Times New Roman“, sowie „Verdana” und die Schriftart „DejaVu“.
Wer allerdings weitere Schriften, zum Beispiel käuflich erworbene oder freie Schriften von irgendwelchen Seiten installieren möchte, muss wissen wo. Dafür gibt es zwei Möglichkeiten: Entweder nur für sich, im eigenen Heimverzeichnis im Ordner /home/BENUTZERNAME/.fonts bzw. ~/.fonts oder für alle Benutzer des Rechners, im Ordner /usr/share/fonts. Existiert der .fonts-Ordner im Heimverzeichnis nicht, so muss man ihn einfach erstellen:
mkdir ~/.fonts
Anschließend kopiert man die Schriften in den jeweiligen Ordner:
cp ./*.ttf ~/.fonts/
Wer die zweite Möglichkeit bevorzugt, sollte die im Ordner /usr/share/fonts/ bereits enthaltene Ordner-Struktur beachten! Folglich kopiert man TrueType-Schriften wie folgt:
sudo cp ./*.ttf /usr/share/fonts/truetype/
Normalerweise führt dies unter Ubuntu einen Prozess aus, der den Zwischenspeicher mit den Schriften aktualisiert. Dieser Vorgang führt in der Regel zu einem erhöhten CPU-Verbrauch und endet – je nach Anzahl der Schriften und verfügbarer Rechenleistung – nach einigen Sekunden. Sollten jedoch einmal nicht alle Schriften nach dem Kopiervorgang (korrekt) angezeigt werden, so muss man von der Shell aus etwas nachhelfen und den Aktualisierungsvorgang für den Zwischenspeicher manuell ausführen:
sudo fc-cache -f -v
Wie die Sonderzeichen auf den Bildschirm kommen
Nun habe ich so lange über die Vorzüge einer korrekten Typografie geschrieben und die tollen Sonderzeichen erwähnt, aber auf der Tastatur ist weit und breit nichts von den vorgestellten Sonderzeichen zu sehen. April, April?
Keineswegs! Hier gibt es zwei Vorgehendweisen: Den „Meta-Key“ und den „Compose-Key“. Beide Varianten ergänzen sich, bieten jedoch auch redundante Möglichkeiten, ein und die selben Sonderzeichen einzugeben, jedoch auf unterschiedliche Weisen. In beiden Fällen gehen wir von einer deutschen Tastatur und Tastaturbelegung aus.
Schauen wir uns zunächst den Meta-Key an. Der Meta-Key ist die Taste direkt neben der Leertaste, und zwar „Alt Gr“.
Drücken wir auf 7, so erhalten wir ein 7. Völlig klar, schließlich steht das Zeichen ja auch auf der Tastatur.
Drücken wir Shift + 7, so erhalten wir /. Auch klar.
Durch das Drücken von Alt Gr + 7 erhalten wir {. Auch irgendwie logisch.
Wenn wir aber Shift + Alt Gr + 7 drücken, so erhalten wir ⅞.
Wir stellen also fest: Die Tasten sind in vier Teile eingeteilt.

Genauso können wir es auch mit allen anderen Tasten ausprobieren. Manche Tasten sind allerdings so genannte „tote Tasten“. Das bedeutet, dass das Drücken der Taste kein Zeichen ausgibt, erst das erneute Betätigen der Taste führt zur Ausgabe eines Zeichens am Bildschirm. Eine solche Taste ist z.B. ^ (unter der Esc-Taste), die man durch das doppelte Drücken zur Ausgabe eines Zeichens am Bildschirm bewegen kann. Diese Tasten sind deshalb „tot“, da man sie mit anderen Tasten verwenden kann. Beispiel: ^ und anschließend a ergibt ein â.
Um sich die Tasten besser merken zu können oder vielleicht auch nicht merken zu müssen, kann man sich jedes unter Ubuntu eingestellte Tastatur-Layout auch ausdrucken. Auf diesem erscheinen dann auf den jeweiligen Tasten auch die Sonderzeichen bzw. „toten Tasten“. Irgendwo an die Wand gepinnt oder griffbereit abgelegt, kann man so schnell auf den „Spickzettel“ schielen.
Und so gelangt man an den Ausdruck des Tastatur-Layouts: Im Menü System → Einstellungen → Tastatur klickt man auf den Karteireiter Belegung, wählt dort unter Gewählte Belegungen: das gewünschte Tastatur-Layout aus und klickt auf Drucken, um den Druck-Dialog aufzurufen.

Doch nun zum „Compose-Key“. Diese Taste ist für gewöhnlich unter Ubuntu nicht aktiviert, kann jedoch unter System → Einstellungen → Tastatur, Karteireiter Belegungen über Belegungseinstellungen und dort unter Position der Compose-Taste eingestellt werden. Ich benutze dafür an meinem Laptop die rechte Strg- beziehungsweise Ctrl-Taste, da ich keine rechte Windows-Taste habe. Für Tastaturen, auf denen die rechte Windows-Taste vorhanden ist, empfiehlt es sich vielleicht diese zu verwenden. Wer mag, kann dort aber auch gleich mehrere Tasten als die Compose-Taste definieren.
Nach aktivierung dieser Taste, kann man diverse Tasten als zusätzliche „Dead-Keys“, also „tote Tasten“, verwenden. Einige Beispiel dazu:
Compose-Key + Shift + 7 und anschließend o ergibt ø.
Compose-Key + o und anschließend a ergibt å.
Compose-Key + o und anschließend c ergibt ©.
Compose-Key + e und anschließend e ergibt ə.
Compose-Key + # und anschließend # ergibt ♯.
Compose-Key + < und anschließend < ergibt «.
…
Näheres zum Compose-Key findet sich auf der Ubuntu-Seite: https://help.ubuntu.com/community/ComposeKey
Mich würde allerdings noch interessieren, ob es für den Compose-Key eine druckbare Tastatur-Belegung gibt. Falls jemand etwas dazu weiß, so würde ich mich über einen Kommentar sehr freuen.
Tiefgestellte Ziffern und Zahlen (Update 13. Juni 2010)
Nun gibt es auch die Möglichkeit tiefgestellte Ziffern und Zahlen einzugeben. Dies ist z.B. im Bereich der Chemie sehr sinnvoll. Bestes Beispiel: CO₂. Um tiefgestellte Ziffern und Zahlen eingeben zu können, drückt man die Meta-Taste und drückt einmal, bei ebenfalls gedrückter Shift-Taste das Ä. Anschließend kann man die Tastenkombination wiederloslassen und eine beliebige Ziffer drücken, welche tiefgestellt ausgegeben wird.
Beispiel:
Meta-Taste (Alt Gr) + Shift + Ä und anschließend 2 ergibt ₂.
Zusätzliche Tools
Es gibt noch einige sehr nützliche Tools, die sich im Ubuntu-Repository finden und welche man sich unbedingt anschauen sollte. Sicherlich gibt es noch einige mehr, aber hier möchte ich zunächst vier besonders nützliche Tools vorstellen.
Zeichentabelle
Bereits vorinstalliert sollte die Zeichentabelle sein. Bei dem Vorinstallierten Tool handelt es sich um eine Zeichentabelle, wie sie auch von anderen Betriebssystemen her sicherlich bekannt ist. Zu finden ist dieses Tool im Menü Anwendungen → Zubehör.

Zeichenpalette
Das zweite Tool, ist das Zeichenpalette-Applet für das Gnome-Panel. Einmal in einem Panel abgelegt, kann sich damit seine eigenen Sonderzeichen-Paletten anlegen. Einmal eine Sonderzeichen-Palette üÜber das Menü aktiviert, stehen einem anschließend die zusammengestellten Sonderzeichen zur Verfügung. Nun kann man mit einem Links-Klick auf das gewünschte Sonderzeichen dieses in den Zwischenspeicher kopieren und es anschließend an der gewünschten Position mit der mittleren Maustaste oder der Tastenkombination „Strg + V“ beziehungsweise „Ctrl + V“ einfügen.

Dieses Tool ist vor allem dann nützlich, wenn man viele zusätzliche Schriftzeichen verwendet, zum Beispiel für die Mathematik oder für andere Sprachen, diese aber nicht über die Tastatur eingeben kann oder sich die dafür notwendigen Tastenkombinationen merken möchte.
Unter Ubuntu sollte die Zeichenpalette unter den Standard-Applets für Gnome zu finden sein.
Fontmatrix
Fontmatrix ist eine Schriftenverwaltung, mit der man sich die auf dem System installierten Schriftarten, Schriftschnitte und ihre Eigenschaften übersichtlich anschauen kann. Zusätzlich erhält man zu jeder Schrift diverse interessante Informationen.

Installation:
sudo apt-get install fontmatrix
Specimen
Ähnlich wie Fontmatrix, allerdings etwas abgespeckter, wer es übersichtlicher und puristischer mag.

Installation:
sudo apt-get install gnome-specimen
Ubuntu Tweak: System-Einstellungen und zusätzliche Software-Quellen
Vor ungefähr einem Monat habe ich “Fünf System-Tools, die man haben sollte” vorgestellt und dabei mal wieder ein Tool vergessen, wie mir gerade auffällt. Und das, obwohl ich es zum besagten Zeitpunkt auf meiner Liste der erwähnenswerten System-Tools hatte. Wie schlampig! Ich werde nach Fertigstellung dieses Beitrags umfangreiche Resozialisierungs- und Bestrafungsmaßnahmen gegen mich selbst einleiten, damit so etwas nicht wieder vorkommt. Versprochen!
Ubuntu Tweak ist mit Ailurus vergleichbar. Ein kleines System-Tool, das diverse Einstellungsmöglichkeiten am System ermöglicht und zudem noch zahlreiche zusätzliche Programme und PPA-Quellen mit Software offeriert. Letzteres ist vermutlich der größte Vorteil der Software, da die meisten der hier möglichen Einstellungen auch vom System aus möglich sind.

Und so installiert man Ubuntu Tweak. Einmal bitte in die Shell/ins Terminal wechseln und dort zunächst die PPA-Quelle hinzufügen:
sudo add-apt-repository ppa:tualatrix/ppa
Anschließend müssen nur noch die Software-Quellen aktualisiert und das Tool installiert werden:
sudo apt-get update
sudo apt-get install ubuntu-tweak
Nach der Installation ist Ubuntu Tweak im Menü “Systemwerkzeuge” zu finden.
OpenOffice 3.2 aus PPA-Quellen installieren/upgraden
Lange habe ich als Nutzer von Ubuntu 9.10 auf OpenOffice 3.2 gewartet, da diese Version einige für mich wichtige Änderungen mitbringt – insbesondere die von mir lang ersehnte Unterstützung für OpenType-Schriften. Nun ist die besagte Version des freien Office-Paketes schon länger verfügbar. Einziges Problem: Bislang mussten sich Ubuntu-Nutzer mit einer manuellen Installation zufrieden geben, was bedeutet, dass man bei Aktualisierungen diese nicht automatisch bei Durchführung eines Updates mit apt beziehen konnte. Nun habe ich auf WebUpd8.org einen Beitrag mit entsprechenden Quellen entdeckt.
Da im WebUpd8.org-Beitrag dem Autor leider ein klitze-kleiner Fehler unterlaufen ist – vermutlich weil OpenOffice neu installiert wurde, statt aktualisiert zu werden – hier das gleiche nochmal “fehlerbereinigt” auf Deutsch.
Zunächst muss die neue PPA-Quelle dem Repository hinzugefügt werden:
sudo add-apt-repository ppa:openoffice-pkgs/ppa
Anschließend müssen die lokalen Repository-Daten aktualisiert werden:
sudo apt-get update
Nun kommt es drauf an, ob man eine Neuinstallation oder ein Upgrade durchführt. Wer mag, kann natürlich die alte Version zunächst deinstallieren und anschließend neu installieren. Eine Installation führt mit folgender Zeile aus:
sudo apt-get install openoffice.org openoffice.org-gnome
Wer dagegen ein Upgrade ausführen möchte, sollte ein Distributions-Upgrade durchführen, da ansonsten – dies ist der eben genannte Fehler des WebUpd8.org-Beitrags – nur Teile des OpenOffice 3.2 Paketes heruntergeladen und installiert werden. Dies geschieht mit folgender Zeile:
sudo apt-get dist-upgrade
Und nun viel Spaß mit dem neuen OpenOffice!