package management unter openSUSE 11.x

Eine historisch begründete Unzufriedenheit mit SUSE Linux Distributionen kommt sicherlich durch den katastrophalen Paketmanager unter SuSE 10.0/10.1 gekoppelt mit Novell’s ZMD und/oder dem stark verbesserten aber noch nicht ganz zufriedenstellenden Paketmanager unter openSUSE 10.2/10.3.

Fairerweise muss man klarstellen, dass dieser Paketmechanismus seit openSUSE 11.0 nun sehr zuverlässig und sehr schnell arbeitet.

Interessanterweise ist das backend das gleiche geblieben. Es handelt sich um libzypp, was das YaST frontend und die Kommandozeilenapplikation zypper bedient. Wie man an im englischen Wikipedia Eintrag nachlesen kann, wurde seit 11.0 der Solver ausgetauscht, was die Performance dramatisch steigerte.

Ich kann das nur für mehrere openSUSE 11.0 Installationen bestätigen – mit 11.2 ist der Paketmechanismus nochmals wesentlich schneller geworden. Zudem können auch kritische Fehler ziemlich schnell behoben werden – am besten auf der Kommandozeile:

zypper refresh

erneuert die Inhalte aller Repositories

zypper verify

Verifiziert die Integrität der Paketabhängigkeiten und schlägt autonom Verbesserungen vor, falls Bedingungen nicht mehr erfüllt werden.

Gerade letzteres benötigte ich, als ein kritisches Update des Paketmanagers selber, durch eine Fehlfunktion des nicht zu empfehlenden SUSE-KDE-Update Applet, schiefging.

Händisch musste ich mit

zypper install

unter zuhilfenahme einer direkten URL zwei Pakete direkt nochmals installieren (mit –force erzwungen) und danach mit zypper verify einen konsistenen Zustand wiederherstellen.

Serielle Schnittstelle ohne internen UART

Im Bereich Messen, Steuern, Sensorik gibt immer noch die serielle Schnittstelle den Ton an.

Dumm nur, dass dieses Randpublikum kaum noch durch Hardwarehersteller bedient wird. Bei Laptops gibt es nur noch selten eine serielle Schnittstelle, bei Desktops teilweise auch nicht – oder zumindest wird kein D-Sub Stecker mehr von aussen zum UART (Serieller Baustein) des Mainboards verbaut.

Die Funktionalität muss daher durch andere Schnittstellen geführt werden und kaum etwas eignet sich schlechter als der Universal Serial Bus. Fast alle USB->Serial Kabel können höchstens ein paar Bytes über die Leitung kriegen. Sobald Timing oder Duplex-Verkehr gefragt ist, sind diese Kabel mit Chipsätzen von Prolific (ganz schlecht) oder FTDI überfordert.

Abhilfe schafft ein Transfer über den PCI Bus, bspw. mit einer ExpressCard.

Die DeLock 66217 ExpressCard34 arbeitet genauso so gut wie die interne Schnittstelle meines Desktop Rechners.
Die Karte benutzt die PCI-Express Verbindung der ExpressCard. In Ihr arbeitet ein Oxford Semiconductor Chip kompatibel zu 16C950 UART

Der Linux Treiber heißt 8250_pci, der aber die Kartenerkennung für diesen Chip erst seit Kernel 2.6.28 besitzt:

Vendor 1415 (Oxford Semiconductor Ltd.)
device c138

Mein openSUSE 11.0 System konnte daher nichts mit der Karte anfangen, erst ein Upgrade auf openSUSE 11.2 brachte das ganze ohne weiteres Eingreifen zum Laufen (8250_pci ist dort statisch in den Kernel einkompiliert und erfordert daher nicht die Kerneleinstellung CONFIG_EMBEDDED, siehe:
http://cateee.net/lkddb/web-lkddb/SERIAL_8250_PCI.html
Dass die Karte, die PCI Verbindung zum ExpressCard Slot benutzt sieht man schon an lspci, welcher den IRQ18 für den UART benutzt.

Die Karte hätte es übrigens in gleicher Bauform auch ein bischen billiger über die USB 2.0 Schnittstelle gegeben – DeLock 66211
Sehr wahrscheinlich mit allen gleiben Defiziten, wie die USB->Serial Kabel…