Debian-Hack: Einbrecher kam über bekannte Lücke - schnell reagiert und abgewickelt, das ist gut. Kernel auf einem Mehrere-Hundert-User-System nicht früh genug aktualisiert, das ist eher schlecht.
debian
Shit hits Fan bei Debian?
Wenn Joey die Brocken hinschmeisst - und das auch noch öffentlich - dann muss die Geschichte wirklich heftig in den Wicken sein. Denn normalerweise versackt er einfach nur still und leise ...
Ubuntu und Powerbook
Ok, da mein Mac Mini fleissig rödelt und alles funktioniert wie es soll, hab ich dann mal die Gelegenheit genutzt und auf meinem Powerbook Ubuntu installiert. Ich wollte ja endlich mal wieder gucken wie gut sowas heute klappt - früher waren Notebooks ja noch echtes Abenteuer mit Linux.
Grundsätzlich sieht das ganze sehr gut aus - wie schon der erste Eindruck von der Live-DVD. Alles startet ordentlich, die Komponenten werden grösstenteils gut erkannt und die Einstellungen sind weitestgehend sinnvoll - gerade die einfache Installation (für einen Testflug benutze ich gerne den DAU-Modus, einfach um zu gucken wie gut die Leute ihren Job verstehen) hinterlässt ein rundum gut eingerichtetes Desktop System.
Blöderweise habe ich aber ein Notebook. Und zwar ein Powerbook.
Naja, die Software an sich läuft. Der Desktop ist nett eingerichtet und die Auswahl an Software ist sehr brauchbar - auch die ganzen Notebooksachen sind weitestgehend installiert. Was fehlte?
Nunja, fangen wir mit dem einfachsten an: ein Powerbook hat nunmal eine feste Tastaturbelegung - die Tasten sind beschriftet. Ich hab nicht vor die Beschriftung abzurubbeln und auf PC umzulackieren. Wieso liefern die Torfnasen keine Powerbook-Tastaturbelegung mit? Ich hab zwar was im Netz gefunden, aber um das dann einzuhängen sind grössere Handstände (entweder einen nicht vollständig funktionierenden Patch einspielen oder den X-Startprozess anpassen - beides nicht unbedingt DAU-geeignet) nötig. Wieso kommt sowas nicht direkt mit dem System? Schliesslich sieht doch jeder, der ne Mac-Tastatur mal vor der Nase hat, das die nun wirklich nicht identisch mit PC-Tastaturen ist. Verschärft wird das ganze noch dadurch, das durchaus einige Mac-Tastaturlayouts dabei sind - die aber alle nur mit alten ADB-Tastaturen Sinn machen, denn sie haben völlig andere Tastaturcodes.
Dann das nächste: Powermanagement. Es wird ein Haufen Software installiert, der grösstenteils ohne brauchbare Doku daher kommt. Das macht nix - eigentlich sollte alles einfach nur eingerichtet sein. Und es ist grösstenteils auch eingerichtet: schliesse ich mein Display und öffne ich es, wird im daemon.log ordentlich eingetragen das pbbuttonsd das passende Script ordentlich ausführen konnte.
Wäre nur nett gewesen, wenn das Script dann auch irgendwas gemacht hätte ...
Leute, Powermanagement ist nicht irgendwie nice to have mit einem Notebook, das ist essentiell. Und eigentlich ist alles dafür notwendige vorhanden. Packt es bitte mit drauf und benutzt es auch. Die Installation von Ubuntu sieht jedenfalls so aus, als ob da einfach irgendwie der Teil, der die Aktionen ausführen würde, weggelassen wurde. Und in welchem Paket das nun wieder stecken könnte, hab ich auf die Schnelle nicht gefunden.
Dann Bluetooth. Das System erkennt alles mögliche und irgendwas wird auch irgendwie gemacht mit irgendwem - aber wie und was und wo man jetzt mit Bluetooth machen kann, das sieht man irgendwie nicht. Hey Leute, Bluetooth ist ja nun wirklich nicht mehr ultraneu, und für Linux gibts da auch schon länger was - wir wärs denn mal mit wenigstens rudimentären Werkzeugen, die einem den Status anzeigen?
WLAN tuts immer noch nicht - kann aber Ubuntu nix für, ist der blöde Hersteller der Karten. 3D-Beschleunigung der Grafik tut auch nicht, weshalb der Desktop doch etwas zäher ist als nötig wäre - gleicher Grund wie bei WLAN. Wirklich schade, das Hardware-Hersteller einem freien Betriebssystem noch extra Steine in den Weg legen.
NIckeligkeiten am Rande: das Trackpad ist bescheuert hektisch eingestellt - nahezu unbedienbar für Menschen mit motorischen Problemen. Konservativere Einstellungen wären deutlich sinnvoller. Und Gnome ist immer noch recht verschwenderisch mit Bildschirmplatz - hey, mein Notebook hat nunmal nur 1024x768, ich kann da nicht einfach Pixel anbauen!
Alles in allem bestätigt Ubuntu seine gute Eignung als Desktop-System - denn das installierte System an sich ist wirklich brauchbar. Aber Notebooks sind immer noch das letzte Abenteuer für die ganz Harten.
Und mein Notebook? Naja, ich werd wohl einfach wieder den Tiger drüberbügeln
Linux-Vserver on Debian Sarge - da sagt der Titel schon alles. Bookmark für später - könnte für meinen Server interessant werden.
Ubuntu Breezy Badger
Ich hab mir mal die Live+Installations DVD gezogen (hey, T-DSL 3000 rules! und muss sagen, ich bin echt erstaunt. Ok, ein paar Haken hat das ganze: das Tastaturlayout ist als Standard für den PC vorgeschlagen - aber ein Mac-Notebook kann unterschiedliche Layouts haben (extern eine PC-Tastatur, intern aber immer eine Mac-Tastatur), da müsste die Auswahl etwas geschickter sein. Stellt man auf die Macintosh-Tastatur der Auswahl um, funktionieren Sonderzeichen wie das Pipe-Symbol und die geschweiften und eckigen Klammern und AT und sowas alles nicht mehr - bei PC-Belegung stimmt aber die Beschriftung der Mac-Tastatur nicht. Und eine Belegung für die Mac-Sonderzeichen gibts nicht.
Was ebenfalls nicht funktioniert ist der zweite Monitor - er wird einfach nicht erkannt und aktiviert, nicht mal initialisiert wid er. Schon schade, denn Macs haben ja nunmal von Hause aus Multi-Monitor-Unterstützung, jedenfalls die PowerBooks und PowerMac Modelle (die iBooks und iMac nur teilweise und dann nur mit Hacks). Das sollte meiner Meinung auch noch mit rein.
Aber ansonsten - nette Sache. Das WLAN nicht erkannt wird, ist normal - bzw. es wird erkannt, aber ist nicht nutzbar. Apples WLAN Chips sind da öfter nicht unterstützt. Wo das Bluetooth konfiguriert wird, weiss ich auch nicht - warscheinlch müsste ich dazu erstmal Pakete installieren. Aber das könnte meiner Meinung nach auch automatisch gemacht werden, wenn ein Bluetooth-Adapter erkannt wird. Trotzdem, im Grossen und Ganzen wirkt Ubuntu recht nett - es kommt mit brauchbaren Defaults hoch und unterstützt schon gleich eine Menge des Rechners. Und die recht weitgehende Übersetzung zumindestens von Menüs und Dialogen im Gnome ist sehr angenehm.
Und das unten drunter eine Debian-Architektur werkelt ist mir natürlich ganz besonders lieb
Katastrophal ist aber, das in der Live-CD scheinbar nirgendwo ein Terminal gestartet werden kann ...
Manchmal spinnen die Debianistas
Aus der Antwort auf einen Bugreport von mir über eine völlig falsche Version von mod_perl 2:
I'm afraid you will be out of luck here, if I understand the issues correctly. The official release of mod_perl 2.0 never made it to Sarge, the 1.999.21-1 packages in Sarge is a pre-release. The problem was that shortly before mod perl2 went stable, the upstream developers decided to rename lots of things in the API, and Sarge shipped the old API. Thus, mod perl 2.0 as shipped with Sarge won't run in the rest of the world, and vice-versa. Also, the documentation will be confusing. [...] So, well, this isn't a good situation, but it is something we have to live with.
Bitte was? Die haben ja wohl ein Rad ab. Nochmal zum Mitmeißeln: die mod perl 2 Version in Debian Sarge - die aktuelle stabile Debian - ist weder mit der alten mod perl 1 Version noch mit der wirklichen mod perl 2 Version kompatibel, weil es eine 1.99sonstwas ist, die ein ziemlich an deres API hat. Anwendungen die darauf aufbauen sind nicht portabel von der alten Version und nicht portabel zur neuen Version. Wer mit der Debian Sarge und Apache2 und mod perl arbeiten will, muss sich erst einen Backport besorgen, denn die Version da drin ist einfach nur völlig falsch.
Sowas ist doch hirnrissig. Klar, gut, die mod perl 2 ist nicht rechtzeitig zum Release fertig geworden, aber die derzeitig in Sarge befindliche Version ist schlichtweg Müll. Und anstatt die rauszuwerfen wird so eine Zwischenversion reingepackt und jedem der mod perl Anwendungen auf Apache 2 portieren will das Leben schwer gemacht - und zwar gleich doppelt, denn mit dem nächsten Release darf man dann nochmal portieren.
Und heute nacht dann der Hammer:
The only valid complaint in this bug report is the fact that we don't include pre-2.0 API docs in sarge. Debian makes absolutely no guarantees that the version of a package shipped in a stable release will match whatever the current API is on its upstream website.
Zusammenfassung: wir haben nichts verstanden und bestehen darauf uns wie Vollidioten zu verhalten. Statt die schrottige Release - die auch von Upstream als "don't use" eingeordnet ist - wenigstens rauszuwerfen wird jetzt einfach nur als Wishlist-Bug die fehlende Dokumentation gelistet.
Coooool!
BlackDog ist ein PowerPC-Rechner mit 64 MB Speicher und 512 MB Flash-Disc in einem Mini-Gehäuse das man in jeden PC mit Windows oder Linux in den USB-Port stöpseln kann. Dort übernimmt dann der PowerPC-Prozessor die Tastatur, die Maus und den Bildschirm und startet sein Debian Linux, dessen Desktop man dann auf dem PC sieht.
Das Teil läuft nur aus der USB Stromversorgung und hat noch zusätzlich eine biometrische Zugangssicherung per Fingerabdruck. Wow. Schöne kleine Hackerkiste für unterwegs, man muss nur einen Wirtsrechner vorfinden.
Und es ist komplett in der Architektur offen und hackbar - es gibt sogar einen Hack-Wettbewerb um interessante Anwendungen dazu zu entwickeln. Wobei mir schon klar wäre was ich draufpacken würde - all die notwendigen Netzwerktools. Ich glaube ich muss mal in der Firma den Chef motivieren das wir dringend mal gucken müssen was man mit so einem Teil machen kann. So einen heftigen haben wollen Reflex hatte ich schon lange nicht mehr.
es gibt Tage da hasst mein Computer mich
Zum Beispiel wenn ich mit Flup spiele und statt des threaded Servers einen forked Server nehmen will. Und feststelle, das der dann aber die Funktion socketpair benötigt. Die aber dummerweise nur ab Python 2.4 verfügbar ist, welches zwar auf Debian Sarge da ist, aber dafür gibts in der Debian Sarge für Python 2.4 keinen Psycopg - welcher wiederum Voraussetzung für Django und PostgreSQL ist, weshalb ich mich überhaupt ja nur mit FastCGI beschäftige. PsycoPG selber installieren macht keinen Spaß, da man dafür nicht nur die PostgreSQL Header braucht, die normal installiert werden, sondern auch ein paar interne Header - also im Prinzip einen Build-Tree. Und dann braucht man noch die egenix-mx-base Header, die man nur für Python 2.3 kriegt, also müsste man das auch selber installieren. Backports aus der nächsten Debian geht auch nicht, da die gerade auf PostgreSQL 8.0 umbauen und Sarge ja noch 7.4 benutzt und ich nicht gleich das ganze System upgraden wollte. Und so dreht man sich im Kreis und kommt sich leicht verarscht vor vor lauter Abhängigkeiten und Versionskonflikten.
Und was macht man also als Lösung, weil der threaded Server dummerweise nur Segfaults im Psycopg produziert? Man nimmt den threaded Server, verbietet ihm das threaden und startet ihn über den spawn-fcgi vom lighttpd, oder direkt vom lighttpd. Was aber irgendwie auch wieder dämlich ist, da dann immer pro FCGI-Server 3 Threads rumgammeln, von denen 2 nur in der Prozessliste stehen und nix zu tun haben. Und das alles nur weil mod python2 (was für Django gebraucht wird) Apache2 voraussetzt, der wiederum mod perl2 voraussetzt, welches inkompatibel zum alten mod perl ist, weshalb bei mir eine ganze Reihe von meinen Sites nicht mehr laufen würden, würde ich auf Apache2 umstellen. Was ich eh nicht will, weil Apache2 mit mod python arschlangsam ist. Und schon wieder verarscht worden. Ich hätte mir echt einen sinnvolleren Beruf suchen sollen.
Wer nix kapiert hat: macht nix, ist Technik, ist nicht wichtig, wollte das einfach nur mal gesagt haben.
Erste Django Tutorials online
Die Django-Programmierer legen mit den Tutorials los. Das erste Tutorial beschäftigt sich primär mit der Erstellung des Datenbankmodells und des Grundcodes für die zu verwaltenden Objekte und das zweite Tutorial beschäftigt sich mit der automatisch generierten Administrationsoberfläche. Sehr nett, das ganze.
Das System ist natürlich stark auf Content-Erstellung und Verwaltung ausgerichtet - aber trotzdem allgemein genug, so das man es auch für anders gelagerte Inhalte nutzen kann. Die ganze Administration wird automatisch aus dem Objektmodell und einigen Hints erstellt, orientiert sich also immer an den realen Daten im System. Und die Default-Optik ist auch recht ansprechend.
Die Serverintegration geschieht einfach über mod python - also über den Apache. Was ebenfalls ein Vorteil ist, denn mod python bietet sehr hohe Performance schon von Hause aus. Und für heftigere Fälle gibts ja das Caching in Django. Ich muss sagen, was ich bisher von Django sehe gefällt mir ausgesprochen gut.
Ein wichtiger Hinweis fehlt in der Installationsanleitung: Apache2 ist zwingend nötig, und daher auch ModPython in der entsprechenden Version. Mac OS X liefert aber nur Apache 1.3 und viele andere Server haben auch nur den 1.3er Apache zur Verfügung, da hat Django also noch ein echtes Manko.
Wer übrigens auf Debian von Apache zu Apache2 upgraden will: wenn mod perl im Einsatz ist, vergesst es. Das mod perl2 für den Apache2 in der Debian Sarge ist kompletter Schrott - als ob die API-Änderungen in mod perl2 im Vergleich zum alten mod perl nicht schon nervig genug wären. Im Prinzip kriegt man damit keine Perl-Module mehr so einfach zum Laufen.
Update: Übrigens ist gerade im Subversion zu Django eine Menge Aktivität drin um die Pflicht für Apache zu beseitigen. Ein einfacher Entwicklungsserver ist schon drin, man wird also in Zukunft für erste Spielereien keinen Apache mehr benötigen. Und auch das Deployment könnte man damit auf Dauer auch auf andere Beine stellen - z.B. FCGI hinter lighttpd.
Update 2: Das dritte Tutorial ist da und beschäftigt sich mit der Sicht für den Besucher. Die haben ein ganz schön heftiges Tempo im Moment bei Django.
Systemupgrade auf simon.bofh.ms
Da ich irgendwo eine Debian 3.0 auf 3.1 upgraden muss um mal damit Erfahrungen für die Firma zu sammeln, nehme ich einfach meinen eigenen Server. Kann also sein das hier in der nächsten Zeit einiges durcheinander geht oder einem Sachen um die Ohren fliegen. You have been warned
Systemupgrade simon.bofh.ms Part 2
Ok, der Systemupgrade ist im Prinzip durch. Verluste soweit nur das Mailinglistensystem - allerdings das auch hauptsächlich weil ich einfach kein Interesse mehr daran habe es zu betreiben. Im Prinzip war es komplett aktualisiert, ich habs dann einfach nur rausgeworfen weil ich mit dem Teil nichts weiter machen will - war nur eine Liste drin. Und auch sonst ist hauptsächlich alter Schrott rausgeflogen.
Allerdings muss ich nach zwei Systemupgrades sagen, das ich nicht so wirklich begeistert vom Upgrade dieses mal bin - es zeigt sich schon das Problem des extrem langen Release-Zyklus. Der erste Upgrade lief noch ziemlich problemlos durch - die betreffende Maschine war aber auch eine Maschine die schon auf Sarge lief, nur halt auf einer alten Version aus Testing und nicht die aktuelle Stable. Der Upgrade machte keinerlei Probleme.
Der zweite Upgrade war aber eben simon.bofh.ms - einer Maschine die in weiten Teilen noch auf Stable war, mit einer ganzen Reihe von Backports (selbst gemachte und aus dem Netz). Letzteres ist natürlich das eigentliche Problem - weil die Releasezyklen sehr lang sind, ist es oft mals notwendig sich selber Pakete zu installieren. Der Debian-Upgrade-Mechanismus sollte damit trotzdem klar kommen. Die Realität zeigt aber das Pakete aus Backports sich oftmals eben auf Zwischenstände beziehen in denen Bugs in Testing-Paketen drin sind oder einfach Besonderheiten die nicht berücksichtigt wurden. Dadurch waren eine ganze Reihe von Paketupgrades sehr hakelig und ich möchte das keinem normalen User zumuten das durchzumachen.
Highlight der ganzen Probleme war der PostgreSQL-Upgrade, der zwar alles sauber durchführte, aber dann wegen einer veralteten Option in der Config nicht startete. Die Meldungen waren aber so kryptisch, das selbst ich nicht auf Anhieb erkennen konnte was es war - erst wühlen in den Logs und gucken in den Scripts bestätigte mir das der Upgrade sauber war und wirklich nur der Start geklemmt hat.
Allerdings muss ich trotzdem sagen das der Upgrade einer Maschine mit teilweise bis zu 3 Jahre alten Programmversionen erstaunlich gut ging und 99% der Pakete völlig problemlos aktualisiert wurden - selbst so Sachen wie meine recht exotische Exim4-Installation (ein selbstgemachter Backport mit Besonderheiten) lief recht problemlos durch - es waren allerdings schon manuele Fixes nötig, aber die hatte ich selber verbrochen. Der Apache und das ganze PHP-Geraffel lief völlig problemlos, auch die MySQL-Datenbank lief auf Anhieb. Und man sollte auch beachten das der ganze Upgrade - obwohl von mir als suboptimal beschrieben - nur 1:45 Stunden gebraucht hat. Und das meisste davon war warten auf das Auspacken der Pakete ...
Nunja, in den nächsten Tagen wird sich zeigen was sonst noch alles kaputt gegangen ist und welche der ganzen Scripte nicht mehr laufen, die ich bisher übersehen habe
Debian GNU/Linux 3.1 released - wow. Hat ja lange genug gedauert
Debian plant Verringerung der Architekturanzahl - ob das so die pralle Idee ist, weiss ich nicht. Gerade die vielen Architekturen waren mit ein Pro-Argument für Debian. Klar, Exotenarchitekturen können Probleme machen - speziell wenn sie bei den für einen Release anstehenden Recompile-Orgien einfach nicht mitkommen (ich denke da an die 68K Architektur). Trotzdem ist es schade, wenn dieser Aspekt von Debian geschwächt wird.
Zyklische Dependencies
Debian hat ein wunderschönes Paketsystem. Und es hat eine ganze Reihe von sehr brauchbaren Werkzeugen um Backports einfacher zu machen - zum Beispiel in dem man mit debootstrap ein chroot-Environment zusammenstellt in dem man gefahrlos die Pakete zusammentragen kann die man für den Build braucht und dann ein entsprechendes Paket erstellt. Ich habe das ganze schon mehrfach benutzt, es ist wirklich klasse.
Allerdings kann einen das auch manchmal in den Wahnsinn treiben. Ich wollte die neuste SQLite aus der Debian Testing installieren. Dazu brauche ich erstmal die nötigen Tools um das Paket builden zu können. Da ich ein neues chroot Environment aufgesetzt hatte, war noch nicht alles da - zum Beispiel fehlte mir cdbs, ein sehr mächtiges (und mitlerweile viel benutztes) Tool zur einfachen Erstellung von Debian Paketen. Das hatte ich schon mal vorher portiert, aber ich dachte mir die Gelegenheit sei günstig da mal eine aktuelle Version zu bauen.
Dachte ich. Fing auch ganz harmlos an - es braucht für die Dokumentation springgraph - ein Tool zur Formatierung von Grafen. Das Tool selber hat eigentlich keine Builddependencies (ausser den obligatorischen Debhelpern). Fein. Baut auch sehr schnell. Bei der Installation meckert es dann über fehlende Perlmodule für die GD2 Einbindung. Ok, Perlmodule zu portieren ist oft nervig, aber dieses sah eigentlich ganz simpel aus. Eine Reihe von Buildabhängigkeiten, klar, aber sonst harmlos. Bis auf den Fakt, das es zum Builden cdbs braucht.
Aaaaarghl!!!!
Okok, ich weiss was man machen muss. Trotzdem. Manchmal hab ich das Gefühl die Debian-Maintainer setzen sich heimlich zusammen um mich in den Wahnsinn zu treiben
Debian Backports - Backports von Debian Paketen - die Antwort auf "stable ist veraltet"
Writing DVDs under Debian GNU/LINUX - DVDs unter Debian GNU/Linux benutzen - auch DVD-RW und +RW
Glibc-based Debian GNU/kFreeBSD - Debian auf dem FreeBSD Kernel
Index of /~erich/bricolage - Debian Pakete für Bricolage
Index of /~vorlon/d-i/xfs - Debian Sarge Netinst CD mit XFS Unterstützung