Archive for the ‘howtos’ Category

Letztes Wochenende war ein Videoabend auf einem HDTV angesagt. Zu dieser Gelegenheit wollte ich mal den HDMI Ausgang meines Dell XPS M1330 Notebooks unter Ubuntu Gutsy testen. Dies funktionierte auch ziemlich gut mit der eingebauten nVidia GeForce 8400M GS. Es wurde ein zweiter Bildschirm in der xorg.conf eingerichtet, der dem HDMI Ausgang zugeordnet wurde. Durch die folgende Option wurde die Auflösung des angeschlossenen Fernsehers automatisch erkannt:
[sourcecode language="php"]Option "metamodes" "DFP-1: nvidia-auto-select +0+0"[/sourcecode]
Leider funktioniert die digitale Audioausgabe über HDMI mit dem bei Ubuntu mitgelieferten Kernel noch nicht, so dass ich auf die alte analoge Variante zurückgreifen musste. Hierbei kam es jedoch zu einer Verzögerung zwischen Bild und Ton von +300ms. Dies lässt sich aber mit mplayer problemlos einstellen, so dass dem sorglosen Filmgenuß in HD Qualität nichts mehr im Wege stand. Interessierten XPS M1330 Besitzern sowie Besitzern eine nVidia Grafikkarte mit HDMI Ausgang stelle ich meine xorg.conf zum Download.
dd nutze ich häufig zum Klonen von Festplatten. Nervig ist es da, dass dd per default keine Statusanzeige besitzt, so dass man bei großen Datenmengen keine Informationen über die Dauer des Kopiervorgangs hat. dd reagiert jedoch auf das benutzerdefinierte Signal USR1 bzw. SIGUSR1. Startet man also einen Kopiervorgang im Hintergrund mit:
[sourcecode language="css"]# dd if=/dev/sda of=/dev/sdb &
[1] 8512[/sourcecode]
kann man das Signal USR1 (Signal Nummer 10) mit kill an den dd Prozess schicken:
[sourcecode language="css"]# kill -USR1 8512
17798625+0 Datensätze ein
17798624+0 Datensätze aus
9112895488 Bytes (9,1 GB) kopiert, 272,58 Sekunden, 33,4 MB/s[/sourcecode]
So hat man den Kopiervorgang im Blick und kann die ungefähre Dauer abschätzen.
Möchte man FreeBSD und Linux parallel auf einer Maschine installieren und nutzt GRUB als Bootloader, so kann man mit folgendem Eintrag in der /boot/grub/menu.lst FreeBSD auswählen und starten.
[sourcecode language="css"]title FreeBSD
root (hd0,3,a)
kernel /boot/loader[/sourcecode]
Im obigen Beispiel ist FreeBSD auf der vierten Partition der Master ATA Festplatte des primären IDE Channels installiert. Unter Linux wäre dies dementsprechend die Partition hda3 und unter FreeBSD das Slice ad0s4. Das root-Dateisystem von FreeBSD befindet sich auf der ersten Partition ad0s4a. Aufgerufen wird nicht direkt der Kernel, wie bei Linux üblich, sondern der FreeBSD Loader.
Eben wollte ich auf die Schnelle einen Service unter einem Windows 2000 Server installieren. “Kann ja nicht allzu schwer sein” dachte ich mir. Nur ist das ohne Weiteres nicht mit den mitgelieferten Bordmitteln zu bewerkstelligen. Mit einem kleinen Kommandozeilentool namens instsrv ist die Prozedur jedoch eine Sache von nur einer Minute:
[sourcecode language="css"]instsrv.exe dienst_name C:\pfad\zur\service.exe[/sourcecode]
Schon wird der Dienst installiert und kann im Dienstemanager angepasst werden. Zusätzlich lassen sich auch weitere Einstellungen in der Registry unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\dienst_name machen.
Löschen kann man einen Service wie folgt:
[sourcecode language="css"]instsrv.exe dienst_name remove[/sourcecode]
Da lob ich mir doch mein LINUX/*NIX – da geht das bedeutend einfacher mit Bordmitteln.
Download instsrv.exe
Mit Wildcard Zertifikaten kann man beliebig viele Subdomains unterhalb einer Domain mit nur einem Zertifikat erstellen. Dies ist besonders praktisch, wenn man mehrere Dienste unter einer Domain anbietet und somit typische Domains wie www.domain.tld, ftp.domain.tld oder mail.domain.tld besitzt.
Um ein solches selbstsigniertes Zertifikat mit OpenSSL mit einer Gültigkeitsdauer von einem Jahr für die Subdomains von domain.tld zu erstellen, geht man wie folgt vor:
[sourcecode language="css"]openssl req -new -x509 -keyout cert.pem -out cert.pem -days 365 -nodes[/sourcecode]
[sourcecode language="css"]Country Name (2 letter code) [AU]:DE
State or Province Name (full name) [Some-State]:Germany
Locality Name (eg, city) []:meineStadt
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Firma
Organizational Unit Name (eg, section) []:Abteilung
Common Name (eg, YOUR name) []:*.domain.tld
Email Address []:webmaster@domain.tld[/sourcecode]
Man erhält die Datei cert.pem, die das soeben erzeugte Zertifikat enthält. Dieses kann man nun problemlos in verschiedensten Programmen für alle Subdomains unterhalb von domain.tld nutzen.
Links:
TLS/SSL bei Wikipedia
Braucht man unter Debian Etch (bzw. Ubuntu Linux) einen Treiber oder ein Feature, das im 2.6.18er Linux Kernel nicht verfügbar ist, so muss man sich selbst einen Kernel kompilieren. Natürlich möchte man hierbei möglichst wenig Aufwand betreiben und so nahe wie möglich an der Debian Paketverwaltung bleiben, um das System konsistent zu halten. Aus diesem Grund bietet Debian für das Erstellen und Kompilieren eines eigenen Kernels das Paket kernel-package an.
Ich habe mir kürzlich ein Asus M2A-VM HDMI Mainboard mit 2x 1GB RAM gekauft. Leider zeigte “free” nur 896MB Ram an. “dmesg” offenbarte folgendes:
Warning only 896MB will be used.
Use a HIGHMEM enabled kernel.
896MB LOWMEM available.
HIGHMEM, aha! Also habe ich schnell per make menuconfig in die Kernel Konfiguration geschaut und folgendes aktiviert:
-> Processor type and features -> High Memory Support -> 4GB
Nach kurzer Compilierzeit und einen Neustart wird nun der weitere RAM (abzüglich 128MB für die onboard Grafik) auch erkennt.
Wer zwei Systeme parallel betreibt kennt vielleicht das Problem: Unterschiedliche Datenbestände. Wie kann man bei zwei Systemen seine Daten synchron halten, ohne viel Handarbeit zu leisten? Unter Linux denkt man hier zuerst an rsync, nur ist dieses Programm nicht das Mittel der Wahl. Es ist dafür gedacht die Daten in eine Richtung abzugleichen. Was aber, wenn man Desktop und Notebook gleichzeitig nutzt und Änderungen auf beiden Systemen zusammenführen möchte? Hier kommt Unison ins Spiel.