Debian aus laufendem Linux heraus installieren

Heute habe ich mir vorgenommen parallel zu meinem laufendem Arch Linux ein Debian-System aufzusetzen. Da ich mir zu langes Herumgefrickel auf einem System ohne Desktop sparen wollte, sollte es nicht komfortable menügetriebene Standardinstallation von Debian werden. Ziel war auch gleich die fstab und die Benutzerkonten des laufenden Systems übernehmen zu können.

Prinzipiell gibt es für dieses Thema schon eine offizielle Anleitung, aber ich will hier trotzdem mal meine Schritte festhalten.

Vorbereitungen

Zuerst gilt es für Debian eine Root-Partition vorzubereiten. Ich verwende LVM also ist das recht unkompliziert. Zuerst zwacke ich von meiner Volume Group hdd-neu 50 GB für ein neues Volume namens “debian” ab (man gönnt sich ja sonst nichts).

lvcreate -L 50G -n debian hdd-neu

Dann erzeuge ich auf der neuen Partition ein ext3 Dateisystem

mke2fs -j /dev/hdd-neu/debain

Anschließend mounte ich die neue Partition nach /mnt/debinst

cd /mnt
mkdir debinst
mount /dev/hdd-neu/debain debinst

Als nächstes muss man sich irgendwo her das Debian-Installationstool namens debootstrap besorgen. Für Arch-Nutzer gibt es dazu ein Package in den AUR.

Installation von Debian

Wenn man debootstrap erfolgreich installiert hat kann man mit der Installation des Debian-Basissystems beginnen.

debootstrap --arch amd64 squeeze /mnt/debinst http://ftp.hosteurope.de/mirror/ftp.debian.org/debian/

Kopieren der Konfigurationsdateien

Nun kann man die fstab des laufenden Systems kopieren und Anpassungen vornehmen wie die den Mountpunkt von / zu ändern.

cp /etc/fstab /mnt/debinst/etc/fstab

Jetzt kann man auch die Login-Daten kopieren. Man sollte vorher aber vielleicht noch eine Sicherungskopie der Original Debian Gruppen- und Nutzerdaten anfertigen.

cp /etc/passwd /etc/shadow /etc/group /mnt/debinst/etc/

Es ist natürlich nützlich auf dem neuen System Netzwerkzugriff zu haben. Da ich mir nicht sicher bin welcher meiner beiden Netzwerkkarten welcher Nummer zugeordnet wird habe ich einfach mal meine beide für DHCP konfiguriert. So sieht meine /mnt/debinst/etc/network/interfaces dann aus:

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or
# /usr/share/doc/ifupdown/examples for more information.

#To use dhcp:
#
auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

Damit man auch weiß auf welchem System man arbeitet lohnt es sich im neuen System einen entsprechenden Hostnamen zu setzen.

echo DebianHostName > /mnt/debinst/etc/hostname

Es ist sicherlich sinnvoll für Security-Updates folgende zwei Zeilen in der /mnt/debinst/etc/apt/sources.list hinzuzufügen

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

Installation von Anwendungen

Jetzt ist es an der Zeit einen chroot in das neue Debian-System durchzuführen.

LANG=C chroot /mnt/debinst /bin/bash
export TERM=xterm-color

Um später auf der Konsole des neuen System nicht mit einer kryptischen Tastenbelegung hantieren zu müssen lohnt es sich noch locales und console-data zu installieren.

aptitude install locales
dpkg-reconfigure locales
aptitude install console-data
dpkg-reconfigure console-data

Es wird Zeit auf dem neuen System einen Kernel zu installieren. Ich habe mich für den einfachen amd64-Kernel entschieden.

apt-get install linux-image-amd64

Jetzt wäre ich eigentlich fertig. Aber ich hätte gerne noch einen laufenden Desktop, z.B. Xfce wenn ich das neue System starte:

aptitude install xfce4 xfce4-goodies

Und dazu kommt noch GDM als Display Manager

aptitude install gdm

Damit GDM auch gleich startet sollte man in /etc/inittab noch das default runlevel auf 5 setzen.

Debian-Root im LVM

Mein Debian-Root liegt ein einem Logical Volume weswegen eine zusätzliches Skript beim booten mit ausgeführt werden muss. Dazu muss auch eine neue Ramdisk erstellt werden.

cp /usr/share/initramfs-tools/scripts/local-top/lvm2 /etc/initramfs-tools/scripts/local-top/
dpkg-reconfigure linux-image-2.6.32-5-amd64

Vorbereitungen für den ersten Start von Debian

Es ist an der Zeit, sich aus dem Debain-chroot zu verabschieden und in das zur Zeit laufende Linux-System zurück zu kehren. Dann musste ich noch die für den Bootvorgang benötigten Dateien aus dem /boot-Verzeichnis des Debian-chroots in mein echtes /boot-Verzeichnis kopieren. Vorher unbedingt auf Namenskonflikte prüfen!

cp /mnt/debinst/boot/* /boot

Zum Schluss muss ich Grub noch zeigen, wo er Debian findet. Dazu lege ich zunächst der Übersicht halber zwei symbolische Verknüpfungen in /boot an.

ln -s vmlinuz-2.6.32-5-amd64 vmlinuz-debian
ln -s initrd.img-2.6.32-5-amd64 initrd-debian

Danach füge ich die folgenden Zeilen in meine /boot/grub/menu.lst ein.

title Debian
root (hd0,5)
kernel /vmlinuz-debian root=/dev/mapper/hdd--neu-debian ro nomodeset
initrd /initrd-debian

Jetzt noch den neuen Bootloader schreiben und fertig ist die Sache.

grub-install /dev/sda

Bei einem Neustart des Rechners sollte man jetzt erfolgreich das neue Debian booten können.

Sweet: KDE Schreibtischglobus Marble in Version 0.10

Heute habe ich festgestellt, dass die neue KDE Version 4.5 in den Repositories von Arch Linux zur Installation zur Verfügung steht. Das habe ich natürlich gleich mal ausprobiert. Ich habe dann festgestellt, dass das Arbeitsflächen-Design überarbeitet wurde und beim ersten Anblick einen akuten Anfall von Augenschmerzen verursacht. Aber ich denke, dass ist mehr eine Gewöhnungssache.

Das Tolle an diesem Update ist aber unter anderem, dass der KDE Schreibtischglobus Marble in der Version 0.10, die mir schon im aktuellen Linux Magazin (09/10 S. 34) schmackhaft gemacht wurde, enthalten ist. Marble versucht, dem KDE Nutzer einen ähnlichen Funktionsumfang wie Google Earth zu bieten. Allerdings kann Marble natürlich nicht mit hoch aufgelösten Luftbildern dienen. Dafür kann man verschiedene freie Karten auf den virtuellen Globus projezieren.

Zum Beispiel kann man sich die freie Straßenkarte OpenStreetmap anzeigen lassen. Diese ist besonders gut geeignet um ein neues Feature in Version 0.10 zu nutzen: die Routenplanung. Marble ist nun in der Lage, ebenfalls durch Daten aus dem OpenStreetmap Projekt, eine Punkt-zu-Punkt Navigation anzubieten. Dazu kann man einfach den Start- und Zielort auf der Karte anklicken und es wird eine Route für Kraftfahrzeuge, Fahrradfahrer oder Fußgänger berechnet. Auch das Setzen von Via-Punkten ist möglich.

Kfz-Route
Kfz-Route

Fahrrad-Route
Fahrrad-Route

Fußgänger-Route
Fußgänger-Route

Ich habe dieses neue Feature gleich mal ausprobiert und eine Route vom Barkhausen-Bau zur Alten Mensa auf dem Campus der TU Dresden berechnet. Anhand dieser, zugegeben recht trivialen Route kann man doch die unterschiedlichen Randbedingungen der Routenplanung für die verschiedenen Verkehrsteilnehmer sehen.

Kraftfahrzeuge werden, wie es nicht anders zu erwarten war, nur über die öffentlichen Straßen geführt. Ein Fahrradfahrer wird dagegen durch Schranken hindurch (da bin ich mir nicht ganz sicher, ob das ein Bug oder ein Feature ist) über eine private Lieferantenzufahrt geschickt. Der Fußgänger kann eine noch kürzere Route über Fußwege und Treppen benutzen.

Satellitenbild mit Wolken
Satellitenbild mit Echtzeit-Wolken

Ein weiteres tolles Feature ist die “Echtzeit”-Darstellung von Wolken auf Satellitenbildern. “Echtzeit” bedeutet in diesem Fall, dass die Bilder alle 3 Stunden aktualisiert werden. Das Ganze scheint auch nur bei Tageslicht zu funktionieren. So ist auf dem Bild gerade keine einzige Wolke über der Ost-Hälfte Amerikas zu sehen, was ich mir irgendwie schwer vorstellen kann. Auch ist die Darstellung nur bei einem relativ großem Maßstab möglich. Trotzdem ein tolles Feature.

Neben der Erde kann Marble übrigens auch noch andere Himmelskörper darstellen. Im Lieferumfang ist neben der Erde auch noch der Mond enthalten. Weitere Himmelskörper wie der Mars oder die Venus können mit wenigen Klicks aus dem Internet nachinstalliert werden.

Alles in allem ist Marble ein weiteres gelungenes Stück Open Source Software.

Trouble with gpg-agent

After migrating to Arch Linux and to KDE 4.2.1 (at the same time!), KMail lost its ability to sign (and probably also to decrypt) emails. After some investigation I found out that gpg-agent is the problem. At its startup, KGpg always complained that gpg-agent seems not to be running and that I shoud either make sure that it is started or deactivate the use of the agent in the configuration file of gnupg. Being lazy, I chose to deactivate the use of the agent. But KMail needs the agent for its gpg related features.

So I needed to make sure that gpg-agent is started in the proper way each time KDE is started. I worte a little script that should do the job. The script needs to set environmental variables for programs such as KGpg. That is why I placed the script at

~/kde4/env

(after creating the

env

subdirectory and

chmod a+x

it).

After a restart of KDE, KGpg still complained that no gpg-agent is runnung and in fact a

ps -e | grep gpg-agent

confirmed the fact. It cost me hours and nearly drived me crazy to find out why KDE refused to run my skript in

~/.kde4/env

. Solution: for some stupid reason, KDE only executes files ending in

.sh

in the

~./kde4/env

directory, so renaming my script solved the problem.

Here is my (very simple) shell script that start the gpg-agent every time I login to KDE:

#!/bin/bash

eval $(gpg-agent –daemon)
export GPG_AGENT_INFO

DVD-Playback with Kaffeine

Since a couple of months, I cannot watch DVDs using KDE’s media player Kaffeine due to complains about missing libdvdcss (even for DVDs that are not encrypted). I used VLC instead, but it was’nt realy cool. Today, I found a post on ubuntuforums providing the solution for my problem:

the default behavior of kaffeine when it can’t access your dvd device is to try to prompt you to install libdvdcss (even when it’s installed)
run sudo lshw -C disk to see what your dvd drive is linked to and then check in kaffeine -> settings -> xine engine parameters -> media and see what the default dvd device is.

OTR macht wieder Spaß – neue Version von multicut.sh

Das benutzen vom Onlinetvrecorder macht wieder deutlich mehr Spaß, denn vor einigen Tagen ist eine neue Version von mutlicut.sh erschienen. Die Version implementiert die neue API der Cutlist-Anbieter. Die API Umstellung war laut Aussage der Cutlist-Anbieter nötig, da die alte API die Server zu sehr belastet hat. Seit der API Umstellung hatte multicut.sh garkeine funktionierenden Cutlists mehr angeboten.

Die neue Version ist zwar noch als Beta gekennzeichnet, macht aber trotzdem einen ganz guten Eindruck.

Siehe auch: HOWTO: Vom TV zur DVD

HOWTO: Vom TV zur DVD

In diesem HOWTO geht es um die Fragestellung, wie man eine Sendung aus dem Fernsehen aufzeichnet und diese dann (zusammen mit anderen Aufnahmen) als Video-DVD brennt. Das ganze kommt ohne kostenintensive Hardware aus. Es wird also keine TV Karte und noch nichtmal TV-Empfang benötigt. Ich gehe lediglich davon aus, dass der Leser über einen (nicht zu leistungsschwachen) PC mit DVD-Brenner und einen Breitband-Internetzugang verfügt.

Dieses Tutorial wurde für Kubuntu 8.04 geschrieben.

1. Aufzeichnen
Zum Aufzeichnen von Sendungen aus dem deutschen Fernsehen empfehle ich den OnlineTVRecorder (OTR). Auf dieser Website kann man nach einer Registrierung seine gewünschten Sendungen programmieren.

Einige Zeit nach Ende der Sendung kann man sich dann eine verschlüsselte Datei herunterladen, die die aufgenommene Sendung im DivX-Format beinhaltet. Die Datei hat eine Größe von ungefähr 500MB pro aufgenommener Stunde. Der Download benötigt bei einer 1,5Mbit/s-Leitung ca so lange wie die Sendung dauert.
Die Aufnahmen müssen verschlüsselt sein, damit OTR sicher stellen kann, dass man sich auch wirklich nur diejenigen Sendungen ansehen kann, die man vorher programmiert hat. Zum Dekodieren der Datei benötigt man ein Programm, welches man sich beim OTR auch in einer Linux-Version herunter laden kann.

Info: OTR und Kosten
Prinzipiell ist der OTR kostenfrei benutzbar. Das hat wahrscheinlich auch juristische Gründe. Jedenfalls wenn man die fortgeschrittenen Funktionen wie zum Beispiel Wishlisten (alle Sendungen werden aufgenommen so dass man wirklich sämtliche Sendungen seit dem Anlegen der Wishlist ansehen kann, ohne diese programmieren zu müssen) nutzen will und keine Lust hat am Tag 10 Werbebanner zu klicken, sollte man darüber nachdenken für den Dienst zu bezahlen. Zur Zeit kostet der Premium-Status etwa 50ct pro Monat.

2. Schneiden
Nach erfolgreichem Dekodieren hat man die Sendung wie sie im TV zu sehen war mitsamt einigen Minuten vor Beginn und nach Ende der Sendung. Neben dem anfänglichem Vorspulen trüben auch noch Werbepausen den Film-Genuss. Die Lösung (jedenfalls für die Linuxgemeinde) ist Multicut, ein Bash-Skript, was sich automatisch von anderen OTR-Nutzern erstellte Schnittlisten aus dem Internet läd und die Aufnahme entsprechend schneidet.

Bei mir gabt Multicut jedoch immer eine Fehlermeldung aus. UPDATE: Bei der neueren Version von Multicut tritt dieser Fehler nichtmehr auf.

line 126: [: ==: unary operator expected

Offensichtlich bin ich der einzige, der das Problem hat. Jedenfalls habe ich im Internet nirgends eine Beschreibung oder Lösung dieses Problems gefunden. Dies führte dazu, dass mir Multicut.sh keine Schnittliste angeboten hat, obwohl genug geeignete vorhanden waren.

Ich bin kein Bash-Guru, aber ich habe eine (zumindest oberflächliche) Lösung für das Problem gefunden, indem man die Zeilen 126, 127, 128 und 130 (nicht 129!) mit einem Hash (#) auskommentiert.

Multicut benötigt noch eine Backend-Anwendung zum Schneiden, wie zum Beispiel Avidemux (in den Ubuntu Quellen enthalten). Sollte es einmal für eine Sendung keine Schnittliste geben, kann man die Sendung auch per Hand mit Avidemux framegenau schneiden.

Avidemux kann MPEG-Videos auch ohne ein erneutes Kodieren schneiden, weshalb das Schneiden von Aufnahmen nur relativ wenig Zeit in Anspruch nimmt.

3. DVD Authoring
Eigentlich könnte man sich jetzt schon die Sendung auf jedem PC und auf DivX-fähigen DVD-Playern angucken. Ich ziehe es jedoch vor, Filme auf Video-DVDs zu brennen, damit sie auch bei meinen technisch nicht so begabten Bekannten ohne Probleme im DVD-Player laufen.

Damit die bisher im DivX-Format befindlichen Aufnahmen dem DVD-Standard entsprechen muss man dann doch mal in den sauren Apfel beißen und das Video neu kodieren. Bitter, weil die Zeit die das Kodieren auf meinem DualCore (2x 1,8Ghz) in Anspruch nimmt in etwa der Laufzeit der Aufnahme entspricht.

Zum neu kodieren öffnet man das Video in Avidemux und wählt im Menü “Auto” -> “DVD”. Avidemux würde nun das Video der DVD-Spezifikation entsprechend kodieren. Entsprechend würden die meisten Spielfilme mehr Speicherplatz in Anspruch nehmen, als eine DVD+-R aufnehmen kann. Auf DVD gekaufte Filme haben übrigens i. A. eine Größe von 6 bis 8 GB.

Glücklicher Weise kann man ohne Probleme die Datenrate des Filmes dem verfügbaren Speicherplatz anpassen. Um einfach die maximal mögliche Datenrate zu berechnen, kann man den Taschenrechner von Avidemux verwenden. Man kann auch eine Zielgröße vorgeben. Das ist insbesondere dann nützlich, wenn man mehrere Filme auf einer DVD unterbringen will. Ich persönlich halte übrigens eine Datenrate von 1000 kB/s für ausreichend, da das DivX-Material sowieso nicht mehr hergibt.

Die gewünschte Datenrate gibt man dann in der Konfiguration des Video-Codecs als durchschnittliche Datenrate an. Anschließend klickt man auf die Schaltfläche “Speichern” und Avidemux kodiert das Video neu.

Nun hat man ein Video im DVD-Format aber noch keine Video-DVD. Es fehlt zum Beispiel noch ein Menü und eine Verzeichnisstruktur. Darum kümmert sich ein DVD-Authoring Programm.

Ich habe mir QDVDAuthor, KMediaFactory und DVD Styler angesehen.
KMediaFactory hat eigentlich genau die richtige Idee für diese Aufgabenstellung (und eine lustige Dokumentation), versagt aber in der Umsetzung. So ist es mir nicht gelungen, mit KMediaFactory ein brauchbares Menü zu erstellen.
QDVDAuthor hat bei mir wegen eines Programmfehlers beim Erstellen des ISO-Images abgebrochen.
DVD Styler funktioniert hingegen ganz gut, auch wenn ich intuitiv mit dem Programm zuerst garnicht klar kam. Nach einem kurzen Blick in die Dokumentation hat sich das Problem aber erledigt. Das Programm ist als einziges der oben genannten nicht in den Ubuntu Quellen enthalten. Auf der Website werden jedoch Debian-Packages angeboten. Hierbei muss zuerst das wxSVG-Package (von der gleichen Website) installiert werden, bevor man das DVD Styler Package installieren kann.

DVD Styler erstellt dann ein ISO-Image welches man dann z.B. mit K3b brennen kann.


Ubuntu Hardy: CPU Freuqenzsteuerung wiederherstellen

Vor einigen Wochen habe ich ein Update meines Kubuntu 8.04 durchgeführt, infolge dessen das Einstellen der CPU-Frequenz nichtmehr funktionierte und die CPU immer mit der maximalen Frequenz lief. Das ist natürlich nicht sehr schonend für den Akku.

Dank einem Thread auf ubunutforum.org habe ich jedoch eine überraschend einfache Lösung für dieses Problem gefunden: man muss einfach das Paket

powernowd

installieren und es funktioniert wieder. Die Installation erfolgt z.b. mit

sudo apt-get install powernowd

ngspice installieren unter Kubuntu/Debian

Eigentlich sollte die Installation des Schaltungssimulators ngspice kein Problem darstellen. Das Programm gibt es zwar nicht in den offiziellen Paketquellen, aber auf der Website wird, wenn auch etwas versteckt, ein .deb-Paket zum Download angeboten. Genauer gesagt zwei Pakete, nämlich

ngspice

und

xspice

.

Jetzt kommt der tricky Part: die beiden Pakete sind jeweils voneinander abhängig, d.h. der Versuch, eines der beiden Pakete mit einem Klick auf die .deb-Datei zu installieren schlägt fehlt mit der Meldung, dass eben jene Abhängigkeit nicht aufgelöst werden kann. Aber das ist alles kein Problem. Fix die Bash bemüht und folgenden Befehl eingegeben:

$ sudo dpkg -i ngspice_17.0.0-1_i386.deb xspice_17.0.0-1_i386.deb

Somit werden beide Pakete gleichzeitig installiert und der Paketmanager kann die Abhängigkeiten auflösen.

Flash und Linux…

… war bei mir immer so ne Sache. Damals, als ich mein x86-64 SuSE auf meinem Rechner hatte, gings sowieso nicht. Aber ich habe dazu gelernt und installiere seither nur die 32-Bit Version von Kubuntu (übrigens: morgen ist der Release von Hardy). Jedenfalls wollte Flash trotz einigen, zugegebener Maßen relativ unmotivierten, Versuchen nicht so richtig im Konquerror laufen. Im Firefox hingegen schon.

Mittlerweile, ist es aber zu einem ziemlichen Problem geworden, da immer mehr Websites wie z.B. Wetter.com nicht mehr ohne Flash zu benutzen sind. Ja sogar Dilbert hat auf Flash umgestellt. Gerade deswegen musste schleunigst eine Lösung her. Ich habe nämlich keine Lust für den Wetterbericht oder den neuen Dilbert-Strip erst den Feuerfuchs anzuwerfen.

Die Lösung ist überraschend einfach. Ich habe mir bei den einzelnen Lösungsversuchen verschiedenste Flash-Implementierungen, die mir der Paketmanager angeboten hat, installiert. Konqueror griff offensichtlich immer auf genau die Implementierung zu, die einfach nicht funktionieren wollte. Jetzt habe ich sämtliche Flash-Lösungen bis auf

flashplugin-nonfree

deinstalliert und siehe da: es flasht.

[UPDATE]
Ganz so einfach ist die Sache wohl doch nicht. Heute habe das Distributionsupdate auf Hardy gemacht. Hinterher wollte kein Flash-Filmchen mehr laufen. Der Ton war zwar vereinzelt noch zu hören, jedoch anstatt des Bildes oder der Bedienelemente befand sich nur ein weißer Fleck auf der Website. In einem Forum habe ich dann gelesen, dass Konqueror mit der aktuellen Flash-Version Probleme hat. Aber mit der 48er-Version solle es funktionieren. Diese gibt es tatsächlich, aber sehr versteckt, auf der Adobe-Website im Archiv. Dort muss man das immerhin fast 100 MB große Archiv für den Flash-Player 9 herunterladen. Dieses Archiv enthält neben anderen Versionen auch die gesuchte 48er. Mit dieser habe ich nun keine Probleme mehr mit Flash-Filmen. Jedoch Wetter.com lässt immernoch den Plugin-Viewer abstürzen. 🙁