Beiträge getagged ‘Debian’

Paketbau mit dem openSUSE Buildservice

27 Januar 2010

Jeder Open-Source-Entwickler möchte seine Software so weit wie möglich verbreiten. Dazu braucht er viele Anwender. Nun sollte man als Entwickler dem Anwender die Installation der eigenen Software so einfach wie möglich machen. Dazu bieten sich die distributionseigenen Paketsystem geradezu an. Nun ist es möglich, für jedes Zielsystem eine eigene virtuelle Maschine aufzusetzen und dort die jeweiligen Pakete zu bauen. Jedoch ist der Aufwand sehr hoch und auch unnötig. Es geht auch einfacher.

Erfahre mehr über den openSUSE Buildserver

Debianinstallation bereinigen

27 September 2009

Was tun, wenn man sein Debian-System so vermurkelt hat, dass man es nur mit großem Aufwand bereinigt kriegt? Was, wenn zuviel Pakete testweise installiert wurden? Eine Möglichkeit wäre das System komplett neu aufzusetzen. Aber wir sind doch hier nicht bei Windows ;) . Eine besser Möglichkeit bietet uns das wirklich einmalig gute Paketverwaltungssystem von Debian.

Mittels dpkg --get-selections und dpkg --set-selections ist es möglich dem System eine Paketliste eines zweiten System zu übergeben. Also hab ich mich rangesetzt und mit VirtualBox eine saubere Debian-Installation vorgenommen. Die brauchte ich eh irgendwann einmal ;)

Das Debian-System hab ich per Netzwerk installiert. Im Bootprompt habe ich dem Installer noch gesagt, dass ich KDE als Standarddesktop anstelle GNOME haben möchte. Während das Setup durchlief konnte ich mit meinem System wie gewohnt weiterarbeiten.

Nachdem die VM fertig installiert war, habe ich mir dort die installierten Pakete, wie oben bereits erwähnt mit

sudo dpkg --get-selections > debianpackages

geholt. Die so geschriebene Datei musste ich nur noch auf mein richtiges System überspielen und dort ein

sudo dpkg --set-selections < debianpackages

aufrufen, um die neue Paketauswahl zu übernehmen. Danach kann die Installation und Deinstallation mit

sudo apt-get dselect-upgrade

beginnen.

Nachdem apt fertig ist, habe ich ein sauberes und von unnötigen Paketen bereinigtes Debian-System. Einzig die häufig genutzten Pakete muss ich nun wieder installieren.

Vielleicht ist es eine gute Idee, die Paketliste zu sichern, sobald mein Debian wieder alle nötigen Pakete installiert hat ;)

Ein Passagier auf Schienen

25 März 2009

Nachdem ich mich in den letzten Wochen recht intensiv mit Ruby on Rails beschäftigt habe, ist es nun Zeit meinen Server für die Fahrt auf der Schiene vorzubereiten. Die meisten Anleitungen, die ich gefunden habe, beschäftigten sich mit Mongrel samt Apache inklusive Load Balancing. Mit Passenger und der Ruby Enterprise Edition bietet Phusion zwei interessante Softwarepakete zum Hosten von Railsanwendungen an. Laut Phusion soll der Server mit bis zu 33% weniger Speicher auskommen als vergleichbare Lösungen. Neugierig geworden, hab ich mich an das Setup der beiden Open Source Pakete auf meinem Debian-Server gemacht.

Zuerst besorgt man sich die Quellen der beiden Pakete von den o.g. Projektseiten. Die Installation gestaltet sich dank Installer recht einfach. Die Installationsroutinen prüfen als erstes, welche Softwarepakete zur Installation noch notwendig sind. Alternativ zu den Quellen steht auch ein fertig gebautes DEB-Paket für Ubuntu 8.04 bereit.

Auf zu Schritt 1: Die Installation von Ruby Enterprise Edition.
Um die Quellen übersetzen zu können, brachte ich noch ein paar Pakete.

aptitude install build-essential zlib1g-dev libssl-dev libreadline-dev

Danach starte ich den Installer aus dem ausgepackten Quellverzeichnis und nach ein paar Minuten hat er mir unterhalb von /opt/ruby-enterprise-1.8.6-20090201 den Rubyinterpreter gepackt. Einfach und schnell wie so vieles bei Rails :) Damit ich nicht jedesmal den kompletten Pfad zur Ruby-Installation angeben muss, wenn ich gem, rake oder rails aufrufe, passe ich die PATH-Angabe in /etc/profile entsprechend an.

Schritt 2: Die Installation von Passenger
Die Ruby Enterprise Edition bringt die Quellen für Passenger praktischerweise gleich mit und gibt mir nach dessen Installation auch gleich den Hinweis, wie ich das Passenger-Modul für den Apache2 erzeugen kann. Der Aufruf von

passenger-install-apache2-module

startet den Installer für Passenger, welcher mir wieder offenbart, dass noch einige Pakete zum Übersetzen der Quellen fehlen. Das hole ich mit

aptitude install apache2-dev

nach und starte den Installer neu. Nach ein paar Sekunden ist das Modul fertig und wartet darauf in den Apache2 eingebunden zu werden. Wie das geht, verrät mir ebenfalls der Installer. Die 3 Zeilen füge ich in die Datei /etc/apache2/conf.d/passenger ein.

LoadModule passenger_module /opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/passenger-2.1.2/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.6-20090201/lib/ruby/gems/1.8/gems/passenger-2.1.2
PassengerRuby /opt/ruby-enterprise-1.8.6-20090201/bin/ruby

Danach noch ein Neustart vom Apache und schon kann ich beginnen meine Applikation auf den Server zu übertragen. Phusion bietet mir an, die Railsapplikation als einen eigenen VirtualServer dem Apache bekannt zu machen. Andere Wege gibt es auch, die beleuchte ich aber später. Als einen eigenen VirtualHost angelegt.

<VirtualHost *:80>
  ServerName railsapplikation.anrichter.net
  DocumentRoot /pfad/zur/rails/applikation/public
</VirtualHost>

Kling einfach, ist es auch. Ausprobiert und läuft :)

Zumindest meldet sich Passenger mit einer Fehlermeldung. Irgendetwas passt ihm noch nicht. Ein Blick in das error.log vom Apache, wie mir die Fehlermeldung rät, zeigt, dass ich natürlich noch Rails installieren muss.

gem install -v=2.3.2 rails

Et voila. Meine erste Railsanwendung auf meinem Server :)

5 Watt eingespart dank neuem Kernel

15 Februar 2009

Angestachelt von den theoretischen 9,5h Laufzeit bei “N@tbooks” habe ich mich in den letzten Tagen etwas intensiver mit dem Energieverbrauch des HP 6715b auseinandergesetzt. Dank powertop lässt sich leicht herausfinden, wieviel Watt das Laptop im Augenblick frisst. Das waren bei mir mit Debian SID und dem Linux Kernel 2.6.26 immerhin zwischen 20,3 und 21,0W im normalen “Office-Betrieb”. Sprich beim Lesen von EMails, News und schreiben dergleichen.

Auf einer zweiten Partition ist noch Kubuntu 8.10 installiert. Da Canonical auf den Endanwender abzielt, dachte ich mir, schau doch mal nach, wieviel Watt Kubuntu im normalen “Office-Betrieb” schluckt. Und siehe da: Es waren fast 5 Watt weniger. Hm. Wie konnte das sein? Einziger bzw. größter Unterschied, der mir aufgefallan ist, war der im Einsatz befindliche Kernel. Bei Debian der 2.6.26 und im Kubuntu der 2.6.27.

Also frisch ans Werk und einen Kernel 2.6.27 für Debian gebaut. Zuerst die 2.6.27er Quellen von kernel.org besorgt und ausgepackt. Da ich kein großartiger Kernel-Kenner oder gar -Hacker bin, hab ich mir die Kernel-Config von Kubuntu als Vorlage für meinen eigenen Kernel genommen und per make oldconfig für den neuen Kernel übernommen.

cp /mnt/kubuntu/boot/config-2.6.27-11-generic ~/src/kernel/2.6.27.13/.config
cd ~/src/kernel/2.6.27.13
make oldconfig

Dank Kapitel 4 vom Debian Linux Kernel Handbook ist das erstellen eines eigenen Kernel-Images ein Kinderspiel

fakeroot make-kpkg --initrd --revision=ar.1.0 kernel_image kernel_source

Nach einer etwas längeren Kaffee-Pause liegen die Pakete linux-image-2.6.27.13_ar.1.0_amd64.deb und linux-source-2.6.27.13_ar.1.0_all.deb auf meiner Platte und warten darauf installiert zu werden.

Neustart und den Linux Kernel 2.6.27 geladen, powertop angeschmissen und? Tataaaa!!! Der Verbrauch im “Office-Betrieb” ist auf 16,3 bis 15,6 Watt geschrumpft. Das macht bei 55Wh, die der Standard-Akku besitzt eine 0,7h längere Laufzeit (2,7h gegenüber 3,5h).

Super. Und wodurch das ganze? Mit Kernel 2.6.27 hielt endlich eine funktionierende Tickless Timer Implementierung für AMD Prozessoren Einzug. Was Tickless Timer sind, wird recht gut auf cyberpolis erklärt.

Das nenn ich mal Green-IT in Reinkultur ;) Ich bin auch auf den Kernel 2.6.29 gespannt. Denn dort soll es laut Heise viele Verbesserungen für Notebooks geben.

Fingerprintsensor am HP 6715b mit Debian

3 Januar 2009

Nun habe ich das HP 6715b schon eine ganze Weile und es noch nicht geschafft den Fingerprintsensor einzurichten. Dafür sind ja bekanntermaßen die langen Winterabende gedacht. Und siehe da: Nu tut er :)

Die Installation und Konfiguration war dank SlyBlog recht einfach und schnell erledigt. Als erstes werden mit

aptitude install libpam-fprint

in Debian Sid alle benötigten Pakete installiert.

Jeder Benutzer, der sich mit seinem Fingerabdruck authentifizieren möchte, muss der Gruppe scanner angehören.

addgroup benutzer scanner

Als nächstes sollten die Fingerabdrücke eingescannt werden. Dazu loggt sich jeder Benutzer mit seinem Namen und Passwort ein und legt mit dem Befehl

pam_fprint_enroll

einen Scan seines rechten Zeigefingers an.

Nun kann das System so eingestellt werden, dass nicht nur Passwörter, sondern auch Finger-Scans als Login-Methode genutzt werden können.

Dazu ist in der Datei /etc/pam.d/common-auth folgende Zeile vor die bereits bestehende einzutragen:

auth    sufficient    pam_fprint.so

Die Datei gespeichert und ab sofort können sich die Benutzer optional mit ihrem Finger am System anmelden.

Über eine Schwierigkeit bin ich gestoßen. Ich habe als erstes die Änderungen in der /etc/pam.d/common-auth vorgenommen und mich anschließend am System als Benutzer angemeldet. Dabei greift pam_fprint bereits und legt in meinem Heimverzeichnis die Verzeichnisstruktur unterhalb von .fprint an. Dort werden die Scans zum authentifizieren gespeichert. Leider besitzt nur Root Schreib- und Lese-Rechte auf dem Verzeichnis, sodass ich als normaler Benutzer nicht mittels pam_fprint_enroll meinen Scan in das Verzeichnis speichern kann. Abhilfe schafft hier nur ein von Root abgesetztes

chown -R benutzer:benutzergruppe /home/benutzer/.fprint

Wer etwas mehr Komfort haben möchte, kann sich mit

aptitude install fprint-demo

ein grafisches Frontend für das Scannen der Fingerabdrücke installieren. Neben dem rechten Zeigefinger können hier für alle zehn Finger die passenden Abdrücke angelegt und validiert werden.

Grafisches Frontend zur Eingabe der Fingerprints

Grafisches Frontend zur Eingabe der Fingerprints

Was mir jetzt noch fehlt ist die Möglichkeit, dass mein System beim Login anhand des Fingerabdruckes den Benutzer erkennt. Das würde die Eingabe vom Benutzernamen sparen.

USB-Festplatte über festen Mountpoint ansprechen

26 November 2008

Vor einigen Tage habe ich mein Debian SID von KDE3 auf KDE4/experimental aktualisiert. Unter KDE3 hatte ich meine externe Festplatte automatisch in /media/mybook einbinden lassen. Auf dem Verzeichnis bauen meine Backup-Scripte und einiges mehr auf. Leider bietet KDE4 noch nicht die Möglichkeit, ein USB-Device immer in einem bestimmen Verzeichnis automatisch zu mounten. Also ran an die Suche dies per udev/hal/sonstwas zu erledigen.

Auf der Suche bin ich nach einigen udev-Scripten auf die wohl einfachste Möglichkeit gestoßen, meine Anforderungen umzusetzen. HAL in Debian SID ist derzeit so eingestellt, dass angeschlossene USB-Massenspeicher immer unter /media/ gefolgt vom Label-Namen des Dateisystems eingebunden werden. Sprich die USB-Festplatte angestöpselt, über dmesg die Partition auf der Platte bestimmt und mit

e2label /dev/sdb1 mybook

das Label auf mybook gesetzt.

Und tatsächlich. Nach dem Ab- und wieder Anstöpseln der Platte meldet mir KDE4 in der Taskleiste ein neues Gerät mit dem Namen mybook. Ein Klick darauf und KDE4 bindet mir meine Platte unter /media/mybook ein. Genau wie ich es benötige. Kann nicht alles so einfach sein? :)

Linux Kernel 2.6.24 und die BCM94311MCG

7 März 2008

Wie ich in meinem Artikel Debian auf dem HP 6715b beschrieben habe, gibt es mit der integrierten Broadcom WLAN-Karte BCM94311MCG einige Probleme. Bei dem Linux Kernel 2.6.22 musste ich noch den ndiswrapper einsetzen. Die Kernel-Entwickler und die Leute von linuxwireless.org haben in den letzten Wochen jedoch einige Änderungen am WLAN-Stack und den Treibern vorgenommen.

Seit einigen Tagen ist in Debian sid der Linux Kernel 2.6.24 als Standard-Kernel angekommen. Der bringt mit dem b43 einen neuen Broadcom-Treiber mit. Der alte Treiber bcm43xx basiert auf dem alten WLAN-Stack SoftMAC. Der neue nutzt den neuen Stack mac80211. Das bringt zwar einige Vorteile, jedoch hat Linux Kernel 2.6.24 noch Probleme mit den Broadcom-Karten der Revision 2. Da hilft nur eins: Ouzo ;) – Neee – Selber compilieren.

Der bcm4311 Treiber für die Karten der Revision 2 benötigt einen Patch, den die Entwickler von linuxwireless.org zum Download anbieten. Die besten Voraussetzungen also, um einen eigenen 2.6.24-Kernel mit laufendem bcm4311 für Karten der Revision 2 zu bauen.

Als erstes brauche ich wieder etwas Software. Vor allem die Kernel-Quellen samt Debian-Patches, Build-Umgebung und den bcm4311-Patch.

apt-get install linux-source-2.6.24 kernel-package build-essential
wget http://linuxwireless.org/download/b43/patch_2.6.24_for_4311_2

Danach bereite ich die Quellen zum Compilieren vor.

cd /usr/src
tar xvjf linux-source-2.6.24.tar.bz
rmdir linux
ln -s linux-source-2.6.24 linux
cd linux
patch -p1 < patch_2.6.24_for_4311_2

Fehlt nur noch die Konfiguration vom originalen Debian-Kernel 2.6.24 zu kopieren und auf meine Quellen anzuwenden.

cp /boot/config-2.6.24-1-amd64 .config
make clean
make oldconfig
make-kpkg clean

Das Compilieren und verpacken in Debian-Pakete ist nun dank make-kpkg recht komfortabel.

make-kpkg --initrd --append-to-version=-1-amd64-ar \
--revision=1 kernel_image kernel_headers

Und schwups – ok – einige Zeit später warten mit linux-image-2.6.24-ar_1_amd64.deb und linux-headers-2.6.24-1-amd64-ar_1_amd64.deb zwei neue Pakete unter /usr/src auf ihre Installation.

cd /usr/src
dpkg -i linux-image-2.6.24-1-amd64-ar_1_amd64.deb
dpkg -i linux-headers-2.6.24-1-amd64-ar_1_amd64.deb

Den so installierten Kernel kann ich nun starten und komme in den Genuss eines reinen Linux-Treibers für die Broadcom BCM94311MCG Revision 2.

Debian auf dem HP 6715b

27 Januar 2008

Nachdem ich Anfangs Kubuntu auf meinem HP 6715b installiert habe, war es nur eine Frage der Zeit, bis ich als eingefleischter Debian-Fan wieder auf das Community-Linux umschwenken würde. Kubuntu kam als Übergangslösung auf das Laptop, da Debian zum Zeitpunkt der Installation noch mit einem ATI-Treiber ausgeliefert wurde, der die Grafikkarte nur in 1280×1024 betrieb.
» Weiterlesen: Debian auf dem HP 6715b

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Deutschland
This work by Andreas Richter is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Deutschland.