Archiv für Kategorie Ubuntu / Linux
GNOME startet langsam?
Verfasst von Finn unter Ubuntu / Linux am 2. September 2010
Ich ärgere mich seit längerer Zeit, dass GNOME so lange zum Starten braucht. Ubuntu fährt eigentlich noch relativ schnell hoch und auch das Anmeldefenster erscheint schnell, aber nachdem ich mich eingeloggt habe, vergeht eine kleine Ewigkeit und ich sehe vorerst nur mein Hintergrundbild.
Des Rätsels Lösung ist oft ganz simpel, in meinem Fall lag es daran, dass mein Rechnername nicht in der /etc/hosts eingetragen war. Also mal eben schnell Terminal öffnen und
1 | sudo nano /etc/hosts |
und die entsprechende Zeile mit der IP 127.0.0.1 anpassen:
1 | 127.0.0.1 localhost.localdomain localhost HOSTNAME |
Da bin ich natürlich nicht alleine drauf gekommen, ein entsprechender Eintrag findet sich im Ubuntuusers Forum. Aber trotzdem so einfach und wirkungsvoll, dass ich es hier wiederholen wollte. Vielleicht ist ja noch nicht jeder drauf gekommen.
mfg
Finn
127.0.0.1 localhost.localdomain localhost HOSTNAME
Ubuntu mit Software-RAID 1 installieren
Verfasst von Finn unter Ubuntu / Linux am 1. September 2010
Ich habe kürzlich zwei neue Festplatten für meinen Heimserver besorgt, um ein RAID 1 System einzurichten. Bei einem RAID 1 werden die beiden (oder auch mehr) Festplatten zu einer zusammengefasst. Die Daten werden dann redundant auf beiden Festplatten gespeichert (Mirroring / Spiegelung). Sollte eine Festplatte ausfallen, so bedeutet dies nicht den Verlust der darauf gespeicherten Daten, denn diese befinden sich ja ebenfalls auf der anderen Festplatte.
An dieser Stelle sei aber erwähnt, dass ein RAID 1 System kein Backup ersetzen kann. Wenn auf irgendeiner unachtsamen Art und Weise Daten gelöscht werden oder verloren gehen, sind sie natürlich auch auf beiden Festplatten nicht mehr vorhanden. Da ich aber beruflich (genauer: nebenberuflich zum Studium) oft auf kaputte Festplatten (defekte Sektoren, kaputte Elektronik, Motorschaden, Headcrash etc.) treffe, habe ich eine gewisse Paranoia entwickelt.
Die folgende Anleitung ist auch auf RAID 0 (Verdopplung der Kapazität und Geschwindigkeit, Ausfall einer Festplatte bedeutet kompletten Datenverlust) oder andere RAID Systeme anwendbar, aber ich schreibe einfach darüber, was ich bei mir gemacht habe.
Ein Software-RAID habe ich aus 2 Gründen gewählt:
- Mein Mainboard besitzt keinen echten RAID-Controller
- Ein Software-RAID ist unabhängig vom Mainboard bzw. RAID-Controller einsetzbar
Einrichtung des RAID Systems:
Ich beschreibe hier die Einrichtung eines RAID Systems bei einer Neuinstallation von Ubuntu. Diese Anleitung kann ab Ubuntu 9.10 verwendet werden. Ältere Ubuntu Versionen verwenden noch kein GRUB 2, weshalb eine andere Partitionierung notwendig ist.
Das RAID lässt sich zwar auch später einrichten, aber es gleich bei der Installation einzurichten finde ich einfacher. Außerdem ist nichts gegen ein frisches Ubuntu einzuwenden.
Für die Installation wird eine Ubuntu Server CD oder eine Ubuntu Alternate CD benötigt, die man für 10.04.1 hier herunterladen kann. Anschließend wird der Rechner von der CD gestartet und nach der Auswahl der Sprache der Menüpunkt “Ubuntu Installieren” ausgewählt (durch drücken der Eingabetaste).
Nach einigen Angaben über Land, Tastatur, Gebiet und Rechnername landet man bei dem Punkt “Festplatten partitionieren”. Dort wählt man dann “Manuell” aus.
Als nächstes kann man die Festplatten partitionieren.
Hier sieht man die beiden Festplatten (sda und sdb), in diesem Fall befindet sich noch keine Partitionstabelle auf den Festplatten. Um bei einem Festplattenausfall sda und sdb unterscheiden zu können, sollte man sich die Festplatten markieren. SCSI3 ist der erste (oder dritte?) und SCSI4 der zweite (oder vierte, entscheidend ist die Reihenfolge) SATA Anschluss.
Befinden sich bereits Partitionen oder gar Daten auf der Festplatte, müssen die Daten natürlich vorher gesichert werden, da diese verloren gehen werden. Hat man bereits die Festplatten (gleicherweise) partitioniert und möchte diese Partitionen nicht neu erstellen, bitte einfach weiter lesen.
Nun wählt man die erste Festplatte aus. Die Frage, “Neue, leere Partitionstabelle erstellen?” bestätigt man mit ja.
Nachdem die neue Partitionstabelle erstellt wurde, wählt man den freien Speicher aus.
Im nächsten Schritt wählt man dann “Eine neue Partition erstellen” aus, anschließend gibt man die Größe der ersten Partition an. Ich habe lediglich eine root (/) Partition und eine Swap Partition erstellt. Für die erste Partition wähle ich eine “Primäre Partiton”, die am “Anfang” erstellt werden soll.
Dann landet man bei dem Schritt, den Typ und die Verwendung der Partition anzugeben. Bei “Benutzen als” wählt man nicht ext4 oder Ähnliches aus, sondern “physikalisches Volume für RAID”. Dann wird noch mit dem Betätigen der Eingabetaste das “Boot-Flag” gesetzt. Damit wäre die erste Partition für den RAID Verbund fertig, nun kann man das “Anlegen der Partition beenden”.
Dann landet man wieder bei der Übersicht der Partitionen, wo man nun wieder den freien Speicher auswählt.
Nun können nach der gleichen Vorgehensweise weitere Partitionen erstellen werden. Ich habe allerdings nur noch eine Swap Partition eingerichtet. Die Swap Partition werde ich aber nicht zum RAID hinzufügen, da dies meistens eher unwichtig ist. Trotzdem werde ich zwei Swap Partitionen anlegen, die dann automatisch beide von Ubuntu genutzt werden. Die Gesamtgröße des Swaps ergibt sich aus der Summe der Swap Partitionen, die Schreibgeschwindigkeit in den Swap sollte sich damit ebenfalls erhöhen.
Also, zum Erstellen der Swap Partition wählt man wieder den freien Speicher aus und erstellt eine neue Partition. Da nun die Swap Partition die letzte Partition ist, ist es wichtig, dass am Ende der Festplatte ein wenig (128 KB sollten reichen) freier Speicher übrig bleibt, da am Ende der Festplatte Informationen über den RAID Verbund gespeichert werden. Deswegen gibt man bei der Frage nach der Größe der Partition ein bisschen weniger an.
Für weitere Partitionen bzw. diese Swap Partition wählt man eine “logische Partition”, die ebenfalls am “Anfang” des freien Speichers erstellt wird.
Für eine Swap Partition wählt man als Verwendung logischerweise “Auslagerungsspeicher (Swap)”.
Anschließend kann das Anlegen der Partition beendet werden. Damit wäre die erste Festplatte fertig partitioniert. Die zweite Festplatte benötigt nun exakt die gleiche Partitionierung, damit das RAID funktionieren kann. Dazu wählt man nun die zweite Festplatte aus und wiederholt exakt die gleichen Schritte wie bei der ersten Festplatte.
Anschließend sollte die Partitionierung der Festplatten so aussehen:
Wenn die Partitionierung beider Festplatten auf gleiche Weise geschehen ist, kann man das “Software-RAID konfigurieren”. Die Frage, ob die Änderungen auf das Speichergerät geschrieben werden sollen, bestätigt man mit ja, dann gelangt man zu diesem Bildschirm:

Hier kann man nun für jede Partition, die man dem RAID Verbund hinzufügen möchte, ein “MD-Gerät erstellen” (Multiple Devices). Für unser Vorhaben wählen wir anschließend RAID1 aus, die Anzahl der am RAID Verbund beteiligten Geräte (bzw. Partitionen, für dieses Beispiel also 2) und die Anzahl der Reserve-Geräte (hier 0).
Der nächste Schritt ist der interessanteste, hier wählt man die Partitionen aus, die für diesen RAID Verbund genutzt werden sollen:

Mit der Leertaste lassen sich die Partitionen auswählen. Wer bisher noch nicht viel mit Linux Partitionen gearbeitet hat, mag vielleicht ein wenig verwirrt sein. Aber gerade bei nur 2 Partitionen pro Festplatte ist es gar nicht so schwierig zu erkennen, dass sda die erste und sdb die zweite Festplatte ist. Wir möchten jeweils die “raid” Partition einer Festplatte dem RAID Verbund hinzufügen, also wählen wir /dev/sda1 und /dev/sdb1 aus und bestätigen mit “Weiter”.
Wenn man mehrere Partitionen für den RAID Verbund angelegt hat, wiederholt man einfach die letzten Schritte, für dieses Beispiel können wir die Software-RAID Konfiguration mit “Fertigstellen” abschließen.
Wenn bisher alles richtig ausgeführt wurde, sollte das Resultat so aussehen:
Jetzt sind wir auch fast fertig. Der RAID1 Verbund wurde richtig erstellt, aber Ubuntu wüsste noch nichts damit anzufangen, weil wir ihm noch kein Dateisystem zugeteilt haben. Also wählen wir die RAID Partition aus und stellen die Benutzung auf “Ext4 journaling file system” und den Einhängepunkt auf “/”.
Jetzt können wir endlich die “Partitionierung beenden und Änderungen übernehmen”.
Damit ist die Erstellung des RAID 1 Arrays beendet und die Installation fast geschafft. Im nächsten Schritt wird allerdings noch eine wichtige Frage gestellt: “Do you want to boot your system if your RAID becomes degraded?” Hier wird gefragt, ob das System gebootet werden soll, wenn das RAID Array nicht mehr richtig arbeitet, also z.B. eine Festplatte ausfällt. Ich empfehle hier “Nein”, denn wenn das System nur noch mit einer Festplatte problemlos bootet, merkt man schwieriger, dass eine Festplatte ausgetauscht werden muss.
Man kann dies aber auch nachträglich in der Datei /etc/initramfs-tools/conf.d/mdadm ändern. Dazu setzt man den Wert “BOOT_DEGRADED” auf “true” (bootet bei defektem RAID) oder auf “false” (bootet nicht bei defektem RAID).
Anschließend bestätigt man noch einmal, dass die Änderungen auf die Festplatten geschrieben werden sollen und der Rest ist normale Ubuntu Installation.
Überprüfung des RAID Arrays
Nach der Installation sollte man gleich testen, ob das RAID Array auch vernünftig funktioniert. Dies geschieht am besten mit dem Befehl
1 | cat /proc/mdstat |
dessen Ausgabe etwa so aussehen sollte:
1 2 3 4 | Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sda1[0] sdb1[1] 7811008 blocks [2/2] [UU] unused devices: <none> |
Hier sieht man, dass md0 ein RAID1 Device ist, dass aus den Partitionen sda1 und sdb1 besteht. Wenn dieses zu sehen ist, dann funktioniert der RAID Verbund.
Wenn eine der Festplatten nun ausfällt, dann sieht man das entweder an der Ausgabe von “cat /proc/mdstat” oder beim nächsten Booten. Die Zeile
1 | md0 : active raid1 sda1[0] sdb1[1] |
wird z.B. so aussehen:
1 | md0 : inactive raid1 sda1[0] |
Wie man sieht, fehlt die Partition sdb1 und damit wäre der Übeltäter schnell erkannt.
Austausch einer defekten Festplatte
Nachdem man die defekte Festplatte ausgetauscht hat, müssen noch einige Schritte vorgenommen werden, um die neue Festplatte in das RAID Array aufzunehmen. Zunächst entfernt man die als defekt erkannte Festplatte aus dem RAID Array.
1 | mdadm /dev/md0 --remove /dev/sdb1 |
Nachdem man nun die Festplatte ausgetauscht hat, muss diese noch exakt wie die andere Festplatte partitioniert werden. Am einfachsten erledigt man es mit diesem Befehl:
1 | sfdisk -d /dev/sda | sfdisk /dev/sdb |
Jetzt kann man die Partition wieder dem RAID Array hinzufügen:
1 | mdadm /dev/md0 --add /dev/sdb1 |
Seitdem ich ein RAID1 einsetze, kann ich zwar ruhiger schlafen, aber wenn man Vorkehrungen getroffen hat, geht so eine Festplatte ja eh nie kaputt
sfdisk -d /dev/hdf | sfdisk /dev/hde
SSH Tunnel mit SOCKS durch Proxy-Server
Verfasst von Finn unter Internet, Ubuntu / Linux am 30. Mai 2010
Öffentliche Internetzugänge in Cafés, in Hotels oder an Hochschulen sind natürlich eine wunderbare Sache, allerdings ist dieser Datenverkehr meistens für alle anderen im Netzwerk mit Leichtigkeit abhörbar. Davon betroffen ist der Großteil der Daten, nämlich der, der nicht z.B. SSL verschlüsselt ist.
An vielen (Fach)Hochschulen ist es außerdem üblich, dass der Internetzugang nur über einen Proxy-Server möglich ist, der gleichzeitig alle übrigen, nicht für das “normale” Surfen (HTTP) gedachten, Ports sperrt. Somit ist es nicht möglich, FTP Verbindungen aufzubauen, E-Mails mit einem Mailprogramm zu verwalten (POP3/IMAP und SMTP) oder sonstige andere Dienste zu nutzen.
Hat man einen SSH Server zur Verfügung, lassen sich nun diese zwei Fliegen mit einer Klatsche schlagen. Ein SSH Tunnel leitet den gesamten Datenverkehr durch die verschlüsselte SSH Verbindung, gleichzeitig lassen sich so die Port-Sperren des Proxy-Servers umgehen.
Ich nutze auf meinem Server und meinem Notebook Ubuntu, also sollte diese Anleitung kompatibel mit Debian Systemen sein und prinzipiell auch auf andere Distributionen anwendbar sein.
Einrichtung des SSH Servers:
Falls noch nicht geschehen, installiert man zuerst den SSH Server:
1 | sudo apt-get install openssh-server |
Um den Server später von überall erreichen zu können, lässt man ihn zusätzlich auf Port 80 laufen. Dazu öffnet man man die Datei sshd_config…
1 | sudo nano /etc/ssh/sshd_config |
…und fügt folgende Zeile ein:
1 | Port 80 |
Alternativ bietet sich auch Port 443 (SSL) an, dieser ist bei vielen Proxy-Servern ebenfalls offen, allerdings hatte ich da so meine Probleme. Entscheidet man sich für den Port 80, muss man bei einem eventuell vorhandenen Webserver dessen Port umstellen.
Es ist nicht notwendig, aber recht praktisch, sich anstatt per Passwort mit dem Public Key einzuloggen. Dazu erstellt man auf dem Client ein Schlüsselpaar…
1 | ssh-keygen -t rsa |
…und kopiert dann den Public Key auf den Server:
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub user@server |
Das wäre serverseitig dann auch schon alles.
Einrichtung des Clients:
Wird in dem öffentlichen Netzwerk ein Proxyserver benutzt, muss man dem SSH Client dazu bringen, auch über diesen zu verbinden. Dafür wird corkscrew benötigt:
1 | sudo apt-get install corkscrew |
Dann fügt man der SSH Konfiguration noch einen Eintrag für den SSH Tunnel über den Proxy hinzu:
1 | nano ~/.ssh/config |
Der Eintrag sieht in etwa so aus:
1 2 3 | Host tunnelserver Hostname server.xyz ProxyCommand corkscrew proxy.abcdef.xyz 80 %h %p ~/proxy.auth |
Die Pfadangabe zu einer Datei wie z.B. proxy.auth ist nur nötig, wenn der Proxy-Server einen Benutzernamen und Passwort verlangt. Der Inhalt einer solchen Datei sieht z.B. so aus:
1 | username:password |
Dann stellt man die Verbindung zum SSH Server her, als Host verwendet man nicht die normalen Host, sondern den in der SSH Konfiguration angegebenen (hier: tunnelserver). Der Parameter “-D 1080″ bewirkt eine dynamische Portweiterleitung, SSH fungiert hier als SOCKS Server, der auf dem Port 1080 lauscht.
1 | ssh -D 1080 tunnelserver -p 80 |
Als nächstes wird eine Verbindung zu dem lokalen SOCKS Server hergestellt, dies kann entweder mit dem Programm tsocks oder proxychains geschehen. Mit tsocks hatte ich aber Probleme, denn die CPU Auslastung der über tsocks gestarteten Programme lag bei 100% und waren somit auch nicht benutzbar. Wen es interessiert, hier der entsprechende Bugreport.
Wer tsocks benutzen möchte, installiert es…
1 | sudo apt-get install tsocks |
und konfiguriert es…
1 | sudo nano /etc/tsocks.conf |
Dazu wird das path Beispiel auskommentiert und die Server Einstellungen am Ende entsprechend angepasst:
1 2 3 | server = 127.0.0.1 server_type = 5 server_port = 1080 |
Möchte man z.B. nun seine E-Mails mit Mozilla Thunderbird abfragen, startet man es folgendermaßen:
1 | tsocks thunderbird |
Wer proxychains benutzen möchte, installiert es…
1 | sudo apt-get install proxychains |
…und konfiguriert es
1 | sudo nano /etc/proxychains.conf |
Man kommentiert stric_chain und proxy_dns aus und und der lokale SOCKS wird unter [ProxyList] hinzugefügt:
1 | socks5 127.0.0.1 1080 |
Möchte man z.B. nun seine E-Mails mit Mozilla Thunderbird abfragen, startet man es folgendermaßen:
1 | proxychains thunderbird |
Das war auch schon alles. Wer es etwas komfortabler machen möchte, kann die Befehle als Starter ins Menü packen.
So kann man dann mit nur einem Klick die SSH Verbindung herstellen und anschließend mit einem weiteren Klick Thunderbird über diesen Tunnel starten.
mfg
Finn
Compiz auf dem Notebook automatisch steuern
Verfasst von Finn unter Ubuntu / Linux am 9. April 2010
Nachdem Compiz bei mir auf dem Notebook endlich vernünftig läuft, habe ich mir Gedanken um meinen sowieso nicht mehr sehr fitten Akku gemacht. Natürlich könnte man Compiz manuell deaktivieren, wenn man per Akku unterwegs ist, aber das ist keine Lösung für faule Geeks.
Lieber setzt man sich hin, grübelt ein wenig und heraus kommt ein Bash Script. Zugegebenermaßen ist es mein erstes Bash Script, deshalb nicht böse sein, falls es nicht funktioniert. Konstruktive Kritik nehme ich gerne an
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/bin/bash while (true) do #Akku- oder Netzteilbetrieb ermitteln AKKU=$(cat /proc/acpi/ac_adapter/AC0/state) if [ "${AKKU}" = "state: on-line" ]; then # Netzteilbetrieb, laeuft Metacity noch? PS_METACITY=$(ps -C metacity| grep metacity) if [ "${PS_METACITY}" ]; then # Wenn Metacity noch lauft, durch Compiz ersetzten compiz --replace & fi else # Akkubetrieb, laeuft Compiz noch? PS_COMPIZ=$(ps -C compiz| grep compiz) if [ "${PS_COMPIZ}" ]; then # Wenn Compiz noch laeuft, durch Metacity ersetzen metacity --replace & fi fi sleep 10s done |
(Hilfe, wieso wollen die TAB Einrückungen nicht?)
Oder das Script zum Download: auto-compiz.sh
Das Script muss natürlich noch ausführbar gemacht werden, das habe ich früher immer vergessen und mich jedes mal wieder geärgert
1 | chmod a+x auto-compiz.sh |
Anschließend kann man das Script in den Autostart (System – Einstellungen – Startprogramme) eingetragen werden, z.B. so:

Es gibt auch andere Wege, das Script automatisch zu starten, z.B. über die /etc/rc.local, aber ich habe mich eben hierfür entschieden. Ich hoffe es läuft bei euch, bei mir tut es das jedenfalls.
mfg
Finn
Bugfix: Fenster wiederherstellen mit Compiz und ATI langsam
Verfasst von Finn unter Ubuntu / Linux am 9. April 2010
Vielen läuft sicherlich ein kalter Schauer über den Rücken, wenn sie die Worte “ATI” und “Compiz” in einem Satz hören. Die Unterstützung für ATI Grafikkarten unter Linux hat sich in den letzten Jahren aber wesentlich verbessert. Sowohl mit den freien als auch mit dem proprietären Treibern habe ich schon lange keine Probleme gehabt.
Allerdings habe ich bisher nie Compiz benutzt, erstens weil es überwiegend nur eine Spielerei ist und zweitens weil das Wiederherstellen minimierter Fenster sehr langsam war. Allgemein schien mir alles etwas langsamer zu sein. Kürzlich habe ich dann den entsprechenden Bug-Report bei Launchpad herausgesucht.
Tja, und das ist es, was ich an Open Source Software so liebe: Bevor man das Problem genauer untersuchen kann, stellt sich heraus, dass andere schon an der Lösung des Problems arbeiten. In diesem Fall ist das Problem schon lange bekannt und inzwischen gibt es einen Bugfix (für Xorg X-Server 1.7.6) in Form eines PPA.
Die Installation gelingt damit sogar jemandem wie mir ![]()
(Achtung! Fremdquellen können das System gefährden! Nervig, aber na ja, ihr wisst schon…
1 2 3 | sudo add-apt-repository ppa:info-g-com/xserver-xorg-1.7.6-gc sudo apt-get update sudo apt-get upgrade |
Bei mir (Lucid Lynx) läuft Compiz jetzt (augenscheinlich) genauso flüssig wie Metacity, sehr schön! Ich bin mal gespannt, wie lange es dauert, bis dies in ein normales Ubuntu Update einfließt. Ich muss zugeben, dass ich momentan noch kein aktiver Teil der Open Source Gemeinde bin, deshalb habe ich schlicht keine Ahnung, wie lange so etwas dauert und welche Schritte genau da hinter stecken.
Also nochmal Danke an alle, die mir ein flüssiges Compiz ermöglicht haben und überhaupt geile Open Source Software programmieren!
mfg
Finn
Platzsparende Backups mit rsnapshot
Verfasst von Finn unter Netzwerk, Ubuntu / Linux am 28. März 2010
Ich weiß nicht, wie viele Beiträge ich schon zum Thema Backups und Datensicherung geschrieben habe, aber ich habe schon jede Menge Programme ausprobiert. Jetzt habe ich auf meinem Server rsnapshot im Einsatz, dass sich per SSH und rsync die Daten von meinem Notebook holt. Dank Gigabit kann ich das Backup sehr großzugig gestalten, aber auch per WLAN geht das ziemlich zügig, denn das Besondere an rsnapshot ist, dass es in jedem Backup nur veränderte Daten speichert. Zu unveränderten Dateien wird ein Hardlink erstellt, so dass man ohne allzu großen Platzbedarf mehrere Backups eines Systems speichern kann.
Bei der Installation habe ich mich an diesem Artikel im Ubuntuusers Wiki orientiert, er enthält eigentlich alles nötige was man über die Konfiguration wissen muss. Auf bereits dort genanntes werde ich auch nicht näher eingehen. Allerdings hatte ich anfangs Probleme rsnapshot zum Laufen zu kriegen, da ich das Backup meines Notebook schließlich per Netzwerk auf meinem Server speichern möchte. Das Backup auf eine gemountete Samba Freigabe zu speichern ist jedenfalls nicht zu empfehlen, da cifs anscheinend Probleme mit Dateirechten hat:
1 | /bin/cp: Erhalten der Zugriffsrechte für „/media/Backup/daily.1/finn-laptop/sbin“: Permission denied |
Also wollte den Dateitransfer per SSH erledigen. Leider unterstützt rsnapshot nur das Speichern auf lokalen Datenträgern, also habe ich den Spieß umgedreht und rsnapshot auf dem Server installiert und einen SSH Server auf meinem Notebook installiert.
Weil ich aber mehr als nur mein /home Verzeichnis sichern möchte, muss ich auf meinem Notebook den Root Account aktivieren. Unter Ubuntu ist der Root Account standardmäßig deaktiviert, schließlich kann man damit auch schnell sein System kaputt machen, wenn man nicht aufpasst, was man tut. Möchte man ein Programm als Root Ausführen, gibt es dafür den sudo Befehl. Um den Root Account zu aktivieren, verpasst man ihm einfach ein Passwort:
1 | sudo passwd root |
Die entsprechende Backup-Zeile in der Konfigurationsdatei /etc/rsnapshot.conf sieht dann z.B. so aus:
1 | backup root@finn-laptop.local:/ finn-laptop/ |
An dieser Stelle ist zu erkennen, dass ich eine Sicherung des kompletten Dateisystems vornehmen möchte. Diese wird dann im snapshot_root im Ordner finn-laptop auf dem Server gespeichert. Damit rsnapshot auch SSH benutzen kann, muss der Pfad dazu in der rsnapshot.conf eingetragen werden:
1 | cmd_ssh /usr/bin/ssh |
Außerdem wird im oben genannten Wiki Artikel erwähnt, wie man rsnapshot mit anacron automatisiert. Aber damit Backups per SSH ohne Eingabe des Root Passworts auch automatisch laufen können, muss man ein Schlüsselpaar für den SSH Server (in meinem Fall ist das mein Notebook) erstellen:
1 2 3 4 5 6 7 8 9 10 11 | finn@finn-laptop:~$ sudo ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): [---leer lassen---] Enter same passphrase again: [---leer lassen---] Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: ... The key's randomart image is..... |
Für diesen Zweck ist es leider notwendig, den Schlüssel ohne ein Passwort zu erstellen.
Als nächstes kopiert man den öffentlichen Schlüssel des Root Benutzers auf den Client (also eigentlich mein Server, dort läuft rsnapshot). Vorher sind allerdings ein paar Einstellungen in der sshd_config nötig:
1 | sudo nano /etc/ssh/sshd_config |
Erstens muss der Root Zugriff per SSH erlaubt werden:
1 | PermitRootLogin yes |
Für das Übertragen muss des Schlüssels muss das Einloggen per Passwort möglich sein, nach der Übertragen deaktiviert man dies wieder:
1 | PasswordAuthentication yes |
Dann kann der Schlüssel kopiert werden:
1 2 3 4 5 6 7 8 9 | finn@finn-server:~$ sudo ssh-copy-id -i ~/.ssh/id_rsa.pub root@finn-laptop.local [sudo] password for finn: root@finn-laptop.local's password: Now try logging into the machine, with "ssh 'root@finn-laptop.local'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting. ### Ab hier kann PasswordAuthentication wieder auf no gesetzt werden. finn@finn-server:~$ ssh root@finn-laptop.local root@finn-laptop:~# |
Mit anacron lässt sich das ganze auch automatisieren, allerdings weiß ich noch nicht, was passiert, wenn rsnapshot gestartet wird, aber mein Notebook ausgeschaltet ist. Falls mir jemand sagen kann, wie anacron da reagiert und ob Backups eventuell ausgelassen werden, wäre ich sehr dankbar.
Heute habe ich keine Lust mehr, mich damit zu beschäftigen
mfg
Finn
Heimserver wieder online
Verfasst von Finn unter Computer, Netzwerk, Ubuntu / Linux am 28. März 2010
Endlich! Letzten Monat habe ich das defekte Mainboard meines Heimservers eingeschickt. Diese Woche ist es endlich zurück gekommen, genauer gesagt wurde es durch ein neues ersetzt. Eigentlich ist mein Heimserver nur mein Desktop-PC, den ich eigentlich eh nicht brauche. Wenn alles nach meinen Vorstellungen läuft und Geld übrig ist, werde ich neue und noch bessere Hardware kaufen, dann kann der “Server” zurück in meinen Schrank.
Seitdem mein Server also nun wieder läuft, habe ich erst gemerkt, wie verdammt praktisch so ein kleiner Linux Server zu hause sein kann. Das Fernsehen über MythTV ist eigentlich eher eine Spielerei, aber endlich kann ich wieder schön einfach von allen Rechnern Drucken, kann ganz einfach per einer einzigen Samba Freigabe auf meine 3 Externen Festplatten zugreifen und Backups muss ich nicht mehr per Hand machen, denn das erledigt auch mein Server für mich.
Backups sind zwar schön, aber wenn sie umständlich sind und lange dauern, macht sie keiner gerne. Genau aus diesem Grund habe ich mir jetzt endlich einen Gigabit Switch gekauft. Für meine bescheidenen Zwecke soll vorerst ein günstiger 5 Port Switch der Firma TP-Link genügen. Ich besitze ebenfalls einen 5 Port 100 Mbit/s Switch und einen WLAN Access Point dieser Firma. Anfangs war ich skeptisch, da mir TP-Link bislang unbekannt war und ich schon oft Probleme mit zu billiger Hardware hatte.
Aber ich muss sagen, alle 3 Geräte laufen bestens und selbst mit dem Gigabit Switch bin ich zufrieden:
1 2 3 4 5 6 7 8 | finn@finn-laptop:~$ iperf -c finn-server.local ------------------------------------------------------------ Client connecting to finn-server.local, TCP port 5001 TCP window size: 16.0 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.1.9 port 60054 connected with 192.168.1.10 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.07 GBytes 923 Mbits/sec |
Das geht wahrscheinlich noch etwas schneller, aber ich besitze sowieso nur herkömmliche Magnetspeicher-Festplatten, also reicht das völlig aus.
Linux Server zu betreiben und zu konfigurieren macht halt Spaß, was soll ich da noch großartig zu sagen?
Festplattendefekte erkennen
Verfasst von Finn unter Computer, Ubuntu / Linux am 12. Januar 2010
Wenn die Festplatte erst einmal den Geist aufgegeben hat, dann ist oft nicht mehr viel zu retten. Bei einem Head-Crash oder kaputter Festplattenelektronik, kann man selber meist nichts unternehmen, es sei denn man bastelt gerne und würde den kompletten Datenverlust hinnehmen können, denn das ist bei Eigenreparatur sehr wahrscheinlich.
Normalerweise legt man bei Festplatten nicht selbst Hand an, bei wichtigen Daten sollte man die Reparatur speziellen Datenrettungsfirmen überlassen und das kann manchmal ziemlich teuer werden.
Irgendwann wird jede Festplatte kaputt gehen, das lässt sich nicht verhindern. Darum sollte man regelmäßig Backups machen, dann bleibt auch der Blutdruck unten, wenn man merkt, dass die Festplatte defekt ist.
Wenn die Festplatte im BIOS erkannt wird und das Betriebssystem sauber hochfährt, heißt das noch lange nicht, dass es der Platte noch gut geht. Mit Linux bzw. in meinem Fall Ubuntu gibt es ein paar schöne Möglichkeiten, Laufwerke zu überprüfen und notfalls noch einige Daten zu retten.
Ich beschreibe hier lediglich meine persönliche Vorgehensweise, sicherlich lässt das eine oder andere auch anders bewerkstelligen.
S.M.A.R.T ist eine Selbstüberwachungstechnik, die eigentlich von allen modernen Festplatten beherrscht wird. Man sollte darauf achten, dass dies nicht im BIOS deaktiviert wurde, das wäre doch schade. Um die SMART Daten auszulesen, wird das Paket smartmontools benötigt:
1 | sudo apt-get install smartmontools |
Anschließend kann man sich die SMART Werte mit folgendem Befehl ausgeben lassen:
1 | sudo smartctl -A /dev/sda |
/dev/sda ist natürlich eventuell anzupassen, je nach Laufwerk. Mit fdisk kann man sich seine Festplatten und deren Partitionen anzeigen lassen:
1 | sudo fdisk -l |
Bei mir sieht das ganze z.B. so aus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | finn@finn-laptop:~$ sudo smartctl -A /dev/sda smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always - 0 3 Spin_Up_Time 0x0027 154 152 021 Pre-fail Always - 1300 4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 43 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0 7 Seek_Error_Rate 0x002e 100 253 000 Old_age Always - 0 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 523 10 Spin_Retry_Count 0x0033 100 253 051 Pre-fail Always - 0 11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 41 192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 10 193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 300 194 Temperature_Celsius 0x0022 103 092 000 Old_age Always - 40 196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0 197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0009 100 253 051 Pre-fail Offline - 0 |
Wer das ganze etwas übersichtlicher und grafisch haben möchte, der kann dies ab Ubuntu 9.10 Karmic Koala ganz leicht mit der Palimpset Laufwerksverwaltung tun, diese findet man unter System – Systemverwaltung – Laufwerksverwaltung. Ein Klick auf “Weitere Informationen” hinter dem SMART Status zeigt die SMART Werte.
Die Werte (RAW_VALUE) geben die aktuellen Daten der Platte an, diese sollen den Grenzwert (TRESH) nicht über- bzw unterschreiten (je nach Wert). Grüne Lämpchen sind natürlich ein gutes Zeichen, wer es genauer wissen möchte kann sich hier eine etwas genauere Erklärung der Parameter ansehen.
Eigentlich noch häufiger setze ich das Programm badblocks ein, welches eine Festplatte oder Partition nach defekten Datenblöcken durchsucht und praktischerweise bei Ubuntu vorinstalliert ist.
Um eine Festplatte zu überprüfen, auf der sich noch Daten befinden, empfiehlt sich der “nicht-überschreibende” Modus:
1 | sudo badblocks -vsn /dev/sda |
Einen ausführlicheren Test, der die Datenblöcke überschreibt, lässt sich mit dem Parameter “w” anstatt “n” starten. Ein einzelner defekter Datenblock kann entweder, je nachdem was in ihm gespeichert ist, gar nicht erst auffallen oder den Bootvorgang des Rechner unmöglich machen. Festplatten und Flash Speicher verfügen über eine Defektblockverwaltung, die i.d.R. defekte Datenblöcke über eine Zuordnungstabelle durch fehlerfreie Blöcke aus einem Reservebereich ersetzt. Dieser Reservebereich kann aber irgendwann aufgebraucht sein und außerdem haben defekte Datenblöcke eine Ursache. Man kann die defekten Datenblöcke zwar durch Remapping von der Nutzung ausschließen, aber eine Festplatte mit defekten Blöcken sollte man im Auge behalten.
Ob man bei defekten Blöcken die Festplatte sofort austauscht oder sie (nach einem Backup) weiter benutzt oder ein Remapping durchführt, bleibt jedem selbst überlassen. Einige Festplatten haben bereits früh fehlerhafte Sektoren, diese vermehren sich aber nicht und die Festplatte ist noch lange benutzbar. Man kann leider nicht in Festplatten hineinschauen und deren Zukunft vorhersagen, SMART und badblocks helfen einem dabei sehr.
Wenn die Festplatte schon komische Geräusche macht, dann kann man sich SMART und badblocks eigentlich sparen und sollte lieber sofort mit dem Backup anfangen. Ich könnte einige Geschichten erzählen, was mir beim Reparieren von Computer schon passiert ist, aber das würde den Rahmen des eh schon verlaufenen Artikels sprengen
Ich verstehe nur nicht, warum ich für eine Menschen “die letzte Hoffnung” bin, wenn es darum geht Computer wieder zum laufen zu kriegen. Oft liegt es nicht an der Festplatte, trotzdem überprüfe ich diese, wenn die Zeit vorhanden ist. Wenn ich dann zu einer neuen Festplatte rate und empfehle, endlich mal mit Backups anzufangen, glaubt mir einfach niemand, dass Festplatten kaputt gehen können. Funktioniert die Festplatte dann einmal nicht mehr, ist das Geschrei groß…
mfg
Finn
PokerStars unter Linux mittels Wine
Verfasst von Finn unter Software, Ubuntu / Linux, Windows am 6. Januar 2010
Hin und wieder spiele ich gerne eine genüssliche Runde Poker bei PokerStars. Leider gibt es keinen PokerClient für Linux, aber mit Wine lässt sich PokerStars ziemlich gut unter Linux spielen. Ich nutze Wine eigentlich nur selten, da meine übrige Windowssoftware eher komplex ist und besser in einer virtuellen Maschine läuft.
Also mal schnell Wine installieren
1 | sudo apt-get install wine |
PokerStars herunterladen
1 | wget http://www.pokerstars.com/PokerStarsInstall.exe |
und anschließend PokerStars installieren
1 | wine PokerStarsInstall.exe |
PokerStars hingegen läuft bis auf einige Kleinigkeiten ziemlich flüssig und fehlerfrei mit Wine. Allerdings stört es mich etwas, dass sich die Tische nicht vergrößern oder verkleinern lassen. Es scheint ein alter Bug zu sein und die Lösung habe ich hier gefunden:
Man öffne die user.ini von PokerStars, bei mir liegt diese beispielsweise hier. Für kleine Änderungen nutze ich meist den konsolenbasierten Texteditor nano, natürlich kann man die Datei auch grafisch mit gedit oder etwas ähnlichem öffnen.
1 | nano /home/finn/.wine/drive_c/Programme/PokerStars/user.ini |
Dem oberen Block “[Options]” fügt man folgende Zeile hinzu:
1 | f5redrawtable=1 |
Speichern, schließen (bei nano Strg+O und Strg+X) und dann PokerStars starten. Nun lassen sich Tische wieder vergrößern, indem man anschließend F5 drückt, dann erscheint der Tisch korrekt dargestellt in der richtigen Größe.
Seitdem ich zum Pokern nicht mehr VirtualBox starten muss, poker ich auch wieder öfter
mfg
Finn
TechniSat Skystar HD2 unter Ubuntu installieren
Verfasst von Finn unter Computer, Ubuntu / Linux am 20. Dezember 2009
In meinem noch nicht ganz fertigen Heimserver steckt seit kurzem eine TechniSat SkyStar HD2 DVB-S2 PCI Karte. Leider laufen (noch) nicht alle TV-Karten out-of-the-box, die meinige jedenfalls nicht. Es hat zwar ein paar Tage und einige Google Suchanfragen gebraucht, bis die Karte lief, aber letztendlich war es doch nicht allzu schwierig.
Zuerst schaut man nach, ob die PCI Karte korrekt erkannt wurde:
1 2 | lspci | grep -i dtv 03:06.0 Multimedia controller: Twinhan Technology Co. Ltd Mantis DTV PCI Bridge Controller [Ver 1.0] (rev 01) |
Die SkyStar Karte besitzt den gleichen Chip wie die Twinhan VP1041 oder Azureweve AD-SP 400, deshalb nicht über die Ausgabe von lspci wundern. Wenn diese oder eine ähnliche Ausgabe erscheint, wurde die Karte erkannt.
Als nächstes wird der Treiber heruntergeladen:
1 2 3 4 5 | sudo apt-get update sudo apt-get install mercurial build-essential gcc make libncurses5-dev linux-headers-`uname -r` hg clone http://mercurial.intuxication.org/hg/s2-liplianin/ cd s2-liplianin sudo make menuconfig |
Wählt dort unter “Multimedia Support -> DVB/ATSC Adapters” den Punkt “Firedtv/Floppydtv” ab, ansonsten kommt es eventuell zu einem Fehler beim make Vorgang.
Jetzt sollte sich der Treiber problemlos installieren lassen:
1 2 3 | make sudo make install sudo reboot |
Nach dem Neustart sollte die Karte dann laufen:
1 2 3 4 5 | dmesg | grep -i dvb [ 8.509639] found a VP-1041 PCI DSS/DVB-S/DVB-S2 device on (03:06.0), [ 8.512424] DVB: registering new adapter (Mantis dvb adapter) [ 9.089752] mantis_frontend_init (0): found STB0899 DVB-S/DVB-S2 frontend @0x68 [ 9.090205] DVB: registering adapter 0 frontend 0 (STB0899 Multistandard)... |
Wenn diese Ausgabe erscheint, ist die Karte fertig eingerichtet und Fernsehempfang mit beispielsweise MythTV sollte möglich sein.
mfg
Finn
Update: Die Installation von ntop hätte ich sein lassen sollen. Das Netzwerk Monitoring Programm bekam meiner Ubuntu Installation nicht sehr gut. Ich weiß nicht, ob es sich nicht mit dem Kernel oder mit den Nvidia Treibern vertragen hat, jedenfalls konnte ich Ubuntu nicht mehr booten. Weder mit einem älteren Kernel, weder im Low Graphics Mode und auch die Konsole funktionierte nicht.
Irgendwie hätte man das Problem sicherlich beheben können, aber eine Neuinstallation dauert auch nicht lange und die paar Treiber sind ja schnell installiert. Leider hat nach der Neuinstallation fast nichts funktioniert. Ich habe auch verschiedene Treiber probiert:
1 | hg clone http://jusst.de/hg/v4l-dvb |
oder den hier:
1 | hg clone http://linuxtv.org/hg/v4l-dvb/ |
Die v4l-dvb Treiber wurden zwar korrekt geladen und liefen, aber mit w_scan konnte ich nicht alle Programme finden, es waren etwa 800 Stück, darunter 99% Schrottsender. Beispielsweise konnte ich mit jedem Treiber den RTL Transponder finden, allerdings z.B. Pro Sieben nur mit dem s2-liplianin Treiber.
Dann habe ich etwa 2 Wochen alte s2-liplianin Treiber installiert, da die aktuellen Treiber nicht geladen werden und eine Fehlermeldung bezüglich mantis raushauen.
1 | hg clone -r d37b8ae36051 http://mercurial.intuxication.org/hg/s2-liplianin |
Der s2-liplianin Treiber funktionierte aus folgendem Grund nicht:
1 2 | mantis_core: disagrees about version of symbol ir_input_init mantis_core: Unknown symbol ir_input_init |
Aber es hat sich herausgestellt, dass das Problem inzwischen gefixt wurde.
Jetzt finde ich mit w_scan immerhin wieder alle Programme, die ich haben möchte, insgesamt etwas über 1000 Stück, davon natürlich wieder überwiegend nutzlose Sender. Immerhin läuft die SkyStar HD2 jetzt wieder normal. Ich werde die Entwicklung von s2-liplianin beobachten und dann irgendwann mal den Treiber updaten, wenn das Problem gefixt ist
Update 2: Nachdem ich dachte mit dem aktuellen s2-liplianin Treiber (rev 98c44b3dd343) wieder alle Sender empfangen zu können, gibt es nun das nächste Problem:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [ 14.168953] found a VP-1041 PCI DSS/DVB-S/DVB-S2 device on (03:06.0), [ 14.168955] Mantis Rev 1 [1ae4:0003], irq: 21, latency: 64 [ 14.168956] memory: 0xfbfff000, mmio: 0xffffc900111b6000 [ 14.172920] MAC Address=[00:08:c9:e0:df:3a] [ 14.172941] mantis_alloc_buffers (0): DMA=0x37840000 cpu=0xffff880037840000 size=65536 [ 14.172945] mantis_alloc_buffers (0): RISC=0x37814000 cpu=0xffff880037814000 size=1000 [ 14.172948] DVB: registering new adapter (Mantis dvb adapter) [ 25.790017] mantis_ack_wait (0): Slave RACK Fail ! [ 37.410017] mantis_ack_wait (0): Slave RACK Fail ! [ 47.960018] mantis_ack_wait (0): Slave RACK Fail ! [ 47.960426] _stb0899_read_s2reg ERR(1), Device=[0xf3fc], Base address=[0x00000400], Offset=[0xf334], Status=-121 [ 59.850016] mantis_ack_wait (0): Slave RACK Fail ! [ 59.850427] _stb0899_read_s2reg ERR(1), Device=[0xf3fc], Base address=[0x00000400], Offset=[0xf33c], Status=-121 [ 70.870017] mantis_ack_wait (0): Slave RACK Fail ! [ 70.870426] _stb0899_read_s2reg ERR(1), Device=[0xfafc], Base address=[0x00000800], Offset=[0xfa2c], Status=-121 [ 81.980022] mantis_ack_wait (0): Slave RACK Fail ! [ 81.980433] _stb0899_read_s2reg ERR(1), Device=[0xfafc], Base address=[0x00000800], Offset=[0xfa34], Status=-121 [ 81.980493] stb0899_attach: Attaching STB0899 [ 81.980495] mantis_frontend_init (0): found STB0899 DVB-S/DVB-S2 frontend @0x68 [ 81.980549] stb6100_attach: Attaching STB6100 [ 81.981137] LNBx2x attached on addr=8 [ 81.981140] DVB: registering adapter 0 frontend 0 (STB0899 Multistandard)... [ 81.981199] mantis_ca_init (0): Registering EN50221 device [ 81.981299] mantis_ca_init (0): Registered EN50221 device [ 81.981360] mantis_hif_init (0): Adapter(0) Initializing Mantis Host Interface [ 81.981488] input: Mantis VP-1041 IR Receiver as /devices/virtual/input/input8 [ 82.090022] Mantis VP-1041 IR Receiver: unknown key for scancode 0x0000 [ 82.090025] Mantis VP-1041 IR Receiver: unknown key: key=0x00 down=1 [ 82.190021] Mantis VP-1041 IR Receiver: unknown key: key=0x00 down=0 |
Wenn ich einen DVB-S2 Sender aufrufe, ist kein Empfang mehr möglich und das Mantis Modul scheint nicht mehr zu funktionieren. Das hier spukt dmesg aus:
1 2 | mantis_ack_wait (0): Slave RACK Fail ! _stb0899_read_s2reg ERR(1), Device=[0xf3fc], Base address=[0x00000400], Offset=[0xf334], Status=-121 |
Auf DVB-S2 Sender kann ich auch vorerst verzichten. Vermutlich wird das auch wieder in Kürze gefixt werden…
Wenn bei mir dieses Problem auftritt, hilft es das Mantis Modul neu zu laden:
1 2 | sudo modprobe -r mantis sudo modprobe mantis |









