Konnektivität nach der Installation von CentOS 7 herstellen

Wenn man ein CentOS 7 in der Minimal-Installation installiert (und dabei nicht aufpasst), wird man nach der Installation feststellen das man über keine Konnektivität verfügt. Das ist bedingt dadurch das die entsprechende Netzwerkschnittstelle beim Booten nicht konfiguriert wird. Um die Schnittstelle zu konfigurieren, sollte im ersten Schritt in den entsprechenden Ordner gewechselt werden:

cd /etc/sysconfig/network-scripts/

In diesem Ordner befindet sich eine Datei ifcfg-eth0 (alternativ sind auch andere Schnittstellennamen wie ifcfg-enp0s3, em1 und ähnliche möglich). Die entsprechende Datei wird nun mittels vi geöffnet:

vi ifcfg-eth0

In dieser Datei gibt es eine Option mit dem Namen ONBOOT, deren Wert standardmäßig auf no gestellt ist. Dieser Wert muss in yes geändert werden und anschließend die Datei gespeichert werden (:w zum Speichern der Datei, :q um VIM zu schließen). Nach einem anschließenden Neustart, sollte die Netzwerkschnittstelle konfiguriert und funktionsfähig sein.

Heap Dumps unter Java auswerten

Manchmal kommt es vor das man eine Java Applikation geschrieben hat, welche aus irgendeinem Grund mehr Speicher verbraucht als sie sollte. Im schlimmsten Fall führt dies zu einem OutOfMemory-Error. Möchte man dem Übeltäter auf die Spur kommen, kann man im ersten Schritt einen Heap Dump bei einem OutOfMemory-Error vornehmen. Dazu fügt man den VM Optionen der JVM den Parameter:

-XX:+HeapDumpOnOutOfMemoryError

hinzu. Dieser Parameter sorgt dafür, das im Falle eines OutOfMemory-Error, ein Dump des Heaps auf der Festplatte landet. Das Problem an diesem Dump ist allerdings, das er sich händisch schlecht auswerten lässt. Abhilfe schafft hier das freie Werkzeug Eclipse Memory Analyser.

Eclipse Memory Analyser

Eclipse Memory Analyser

Mit diesem ist es möglich den Heap Dump einzulesen und anschließend unter Zuhilfenahme der Analysefunktion dem Memory Leak auf die die Spur zu kommen. Bezogen werden kann das Tool über die offizielle Webseite. Lizenziert ist der Memory Analyser unter der Eclipse Public License und damit freie Software.

InputStream mit einem BufferedReader nutzen

In Java gibt es eine Klasse mit dem Namen InputStream. Wie der Name verrät handelt es sich um einen Stream für eine wie auch immer geartete Quelle von Eingangsdaten. Möchte man diesen Stream auslesen, so könnte man einen BufferedReader nutzen. Das Problem ist, das der BufferedReader keinen InputStream akzeptiert. Abhilfe schafft hier ein kleiner Umweg über den InputStreamReader:

InputStream inputStream=new InputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));

Mit dem InputStreamReader wird der InputStream in einem Reader gekapselt und kann somit in einem BufferedReader genutzt werden.

Firefox Passwörter mit einem Master-Passwort schützen

Der freie Browser Firefox kann (wie so ziemlich jeder Browser) Passwörter für Webseiten speichern. Dieser Passwörter werden dabei verschlüsselt in einer Datei gespeichert. Allerdings wird diese Datei automatisch entschlüsselt wenn Firefox läuft – was problematisch ist wenn andere Personen einen Zugang zum Rechner haben.

In den Einstellungen kann das Master-Passwort gesetzt werden

In den Einstellungen kann das Master-Passwort gesetzt werden

Möchte man hier Abhilfe schaffen, so kann man ein Master-Passwort definieren. Ohne dieses Passwort ist anschließend kein Zugriff mehr auf die Passwörter möglich. Um das Master-Passwort zu setzen müssen die Einstellungen und dort der Tab Sicherheit geöffnet werden. Sobald man dort Master-Passwort verwenden aktiviert ist, wird man nach dem gewünschten Master-Passwort gefragt. Ist das Master-Passwort gesetzt, wird man, sobald man das erste Mal in einer Sitzung auf den Passwortspeicher zugreifen möchte, nach dem Passwort gefragt. Für den Rest der Sitzung wird der Passwortspeicher schließlich offen gehalten.

Verzeichnisse in Java rekursiv anlegen

Möchte man in Java Verzeichnisse rekursiv anlegen, so kann man hierfür das File-Objekt nutzen. Dazu muss das Objekt angelegt werden und anschließend die Methode mkdirs ausgeführt werden:

File directories = new File("/Users/seeseekey/Ordner1/Ordner2/Ordner3/");
directories.mkdirs();

Im Gegensatz zu Methode mkdir, legt die Methode mkdirs alle Verzeichnisse im übergebenen Pfad an – wenn sie noch nicht existieren sollten. Die Methode gibt dabei über einen boolean den Erfolg der Operation zurück – diesen Wert sollte man natürlich anschließend auswerten.