Datenhaufen zu IT und Elektronik.

Autor: kernel-error (Seite 43 von 48)

Solaris Boot Environment

Der OpenSolaris fork Openindiana und Boot Environment

 

Um zu zeigen wie geil sich das ZFS Dateisystem integrieren lässt muss man sich nur mal das Thema Boot Environment um OpenSolaris / Solaris 11 anschauen.

Solaris ist ein System fürs Rechenzentrum bzw. Systeme die möglichst ausfallfrei laufen sollen. Natürlich ist kein Code Fehlerfrei und daher gibt es Updates. Jeder Administrator weiß das Updates Dinge sehr deutlich verschlimmbessern können. Das gleiche gilt für neue Programmversionen. Kaum hat man das Update eingespielt funktioniert plötzlich irgendetwas nicht mehr. Dumm wenn man dieses Etwas dringend braucht…. Rollback ist in so einem Fall auch nicht immer möglich. Also Datensicherung zurückspielen? System für die Zeit offline und noch schlimmer alle Daten seit der Datensicherung ggf. weg oder mühsam von Hand durch die Gegend kopieren? Tja, manchmal ist das so. Natürlich kann man auch jedes Update erst in einem Baugleichen Testsystem probieren. Jeder Administrator weiß auch hier: „Das gibt es kaum irgendwo und eine Funktionsgarantie hat man dadurch auch nicht!“ Ja, natürlich kann man über diesen Weg einige Probleme ausschließen und es gibt einem das Gefühl von Sicherheit.

Egal ob ich jetzt ein Windows System von Microsoft oder eine beliebige Linux Distribution nehme. Starte ich ein Update, ist das System in der Zeit des Updates nicht zu 100% verfügbar. Dienste werden beendet, neugestartet… Vor allem Microsoft Systeme wollen für jeden Mist neugestartet werden. (Schalten sie den Computer nicht aus Updates werden installiert… Update 1 von x). Aus Erfahrung kann ich sagen dass der Reboot eines, vielleicht sogar etwas älteren, Microsoft Domaincontrollers schnell mal 15 – 20 Minuten dauern kann. Das zusammen mit den Updates und allem Zipp und Zapp, kann so eine Kiste schon mal 2 Stunden offline nehmen. ServicePack installation, vielleicht sogar am Exchangeserver usw..

Solaris Boot Environment

Wie sagen die Jungs von QVC das so schön? Aber das muss mit den Boot Environments nicht mehr so sein!

Eine Boot Environment muss man sich so vorstellen wie eine komplette Kopie/Snapshot der Daten, Konfigurationsdateien und Verzeichnisse die man zum Booten und Betreiben von seinem Solaris System braucht. Alles lässt sich schnell und einfach auf der Kommandozeile mit dem Befehl: beadm bedienen.
Was bringt einem das?

Gaaaannnzzz einfach! Man kann schnell vor Änderungen an der Konfiguration, Updates oder ähnlichem eine neue Boot Environment erstellen. Dann kann man die Änderungen vornehmen und sollte es doch nicht klappen wie gewünscht kann man einfach im alten Boot Environment neustarten und schon ist alles wie vorher. Es geht aber noch besser! Man kann seine Änderungen, Updates oder Installation einfach direkt im neuen Boot Environment vornehmen. Dann wäre der Ausfall des Systems bei einem Update nur so lange wie der Reboot benötigen würde.
Der Bootloader wird automatisch angepasst und alles arbeitet im groben in Zusammenarbeit mit ZFS-Snapshots und wie gut diese sind muss ich ja nicht noch  mal sagen, oder?

Kleines Beispiel gefällig?

Natürlich braucht man mehr Rechte als ein einfacher User. Also bitte pfexec oder su….

Im Grunde lässt sich alles mit dem Befehl beadm (nicht beadmin wir wollen ja kein Windows Backup machen :-P) erledigen:

$ beadm list
BE                                     Active Mountpoint Space Policy Created
09-02-2012                             -      -          88,0K static 2012-02-09 15:30
Sebastians-Notebook                    -      -          22,3M static 2011-10-25 10:49
oi_151a2-Sebastians-geht-steil-Version NR     /          14,7G static 2012-02-14 16:18
openindiana                            -      -          26,5M static 2011-09-28 19:06
openindiana-1                          -      -          22,6M static 2011-10-27 20:04

Listet einem alle Boot Environments seines Systems auf. Diese sollten einem schon vom Grub her bekannt vorkommen, da sie einen bei jedem Start anlächeln. Mal angenommen wir wollen nun ein Update von Virtualbox machen (das steht bei mir gerade an :-P) dann erstelle ich als erstes dafür ein neues Boot Environment:

$ beadm create Nach-Virtualbox-Update
Created successfully

Mal schauen ob es angelegt wurde….

$ beadm list Nach-Virtualbox-Update
BE                     Active Mountpoint Space Policy Created
Nach-Virtualbox-Update -      -          83,0K static 2012-02-23 14:32

Wunderbar. Damit habe ich nun erstmal eine „Kopie“ meiner aktuellen Boot Umgebung. Jetzt möchte ich natürlich noch das diese beim nächsten Reboot automatisch gestartet wird. Daher muss ich sie noch aktivieren:

$ beadm activate Nach-Virtualbox-Update
Activated successfully

$ beadm list Nach-Virtualbox-Update
BE                     Active Mountpoint Space Policy Created
Nach-Virtualbox-Update R      -          14,7G static 2012-02-23 14:32

Um nun in dieser Boot Umgebung herumzufummeln mounte ich sie einfach und schnell:

$ beadm mount Nach-Virtualbox-Update /mnt
Mounted successfully on: '/mnt'

Jetzt kann man schon erahnen was alles möglich ist, richtig? 🙂

Die neuste Virtualbox Version habe ich natürlich schon heruntergeladen. Also auspacken…

$ tar xvzf VirtualBox-4.1.8-75467-SunOS.tar.gz
Decompressing 'VirtualBox-4.1.8-75467-SunOS.tar.gz' with '/usr/bin/gzcat'...
tar: blocksize = 10
x VirtualBox-4.1.8-SunOS-r75467.pkg, 248977920 bytes, 486285 tape blocks
x LICENSE, 20137 bytes, 40 tape blocks
x autoresponse, 151 bytes, 1 tape blocks
x ReadMe.txt, 1778 bytes, 4 tape blocks

Bevor ich nun die neue Version von Virtualbox installiere muss ich die alte deinstallieren. Das mache ich natürlich nicht in meinem aktuellen Boot Environment sondern nur im neuen:

$ pkgrm -R /mnt SUNWvbox

The following package is currently installed:
   SUNWvbox  Oracle VM VirtualBox
             (i386) 4.1.6,REV=2011.11.05.00.26.74727

Do you want to remove this package? [y,n,?,q]

......

..........


Removal of <SUNWvbox> was successful.

Und weg ist es 🙂 Natürlich kann ich im aktuell gestarteten System weiter mit Virtualbox Arbeiten. Es ist hier ja noch installiert! Wo wir gerade beim Installieren sind. Jetzt kann ich die aktuelle Version direkt in der neuen Startumgebung installieren:

$ pkgadd -R /mnt -d VirtualBox-4.1.8-SunOS-r75467.pkg

The following packages are available:
  1  SUNWvbox     Oracle VM VirtualBox
                  (i386) 4.1.8,REV=2011.12.19.14.10.75467

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:

.......

............

Installation of <SUNWvbox> was successful.

So nun können wir ja schon die neue Boot Environment aushängen:

$ beadm unmount -f Nach-Virtualbox-Update
Unmounted successfully

Fertig…. So schnell und einfach kann es gehen. Wenn man jetzt neustartet:

reboot -p

Kommt das System hoch und hat sofort die neue VirtualBox Version. Geht etwas nicht, startet man einfach in der alten Startumgebung 🙂 Das mein Beispiel nun an VirtualBox hängt ist Zufall. Geht natürlich auch mit fest jedem anderen Paket!

Natürlich kann man Gleiches auch vor Änderungen an Konfigurationen machen usw. usw. usw… Macht man ein ganzes Image Update seiner xyz-Solaris Version wird meist automatisch ein neues Boot Environment erstellt und alles läuft in diesem ab. Man kann einfach vor irgendwelchen Änderungen oder Konfigurationen ein neues Boot Environment anlegen. Kostet nichts und ist mit einem Einzeiler auf der Konsole in Sekunden erledigt. Wenn man es später doch nicht braucht, wirft man es einfach wieder weg, kein Problem….

Eine Warnung habe ich natürlich noch:

Hat man sich einmal daran gewöhnt und geht an Systeme mit dem natürlichen Hintergedankten: „Wenn ich was versaue, hohle ich es einfach aus dem alten Boot Environment oder einem Snapshot wieder…“ Kann man schnell Probleme bekommen. Denn man hört Stückchen für Stückchen auf sich zu merken wie der Stand war oder macht vorher keine Sicherungskopien der Konfigurationsdateien mehr usw. usw… Ist mir alles schon passiert. 🙂 Man steht dann am Ende vor der Kiste und sagt: „Wie scheisse ist denn bitte dieses Filesystem?“

Spec-Files und Extra-Repositorys: Paketverwaltung unter Solaris optimieren

Es gibt eine ganze Hand breit Software, welche man gerne auf seinem Solaris System hätte. Nicht alle sind in den Basis Repositorys dabei

Daher gibt es das Spec Files Extra Projekt. Das OpenIndiana Projekt hat eines in ihrem Spec Files Extra Repository untergebracht. So lassen sich schnell und einfach über den Paketmanager Dinge installieren wie: Python3, PostgreSQL, Postfix, LaTeX, ffmpeg, vlc, wine……

Gut beschrieben inkl. ggf. nötiger „Workarounds“ findet man im Openindiana Wiki.

Es gibt zwei verschiedene SFE Repositorys. Eines mit Paketen bei denen die Lizenzbedingungen ein problemloses Nutzen zulässt und eines bei dem es ggf. zu Problemen kommen kann.

Wobei man hier beim in den meisten europäischen Ländern kein Problem mit den Lizenzen bekommen sollte. Jeder sollte es aber für sich selbst prüfen.

Eingerichtet ist beides wie folgt:

# pkg set-publisher -p http://pkg.openindiana.org/sfe
# pkg set-publisher -p http://pkg.openindiana.org/sfe-encumbered

Nach diesem Zweizeiler hat man nun schon die Möglichkeit die Pakete bequem per Paketmanager zu installieren.

Solaris ZFS

Der OpenSolaris fork Openindiana und ZFS, das beste Filesystem wo gibt von ganze Welt.

Das ZFS derzeit das geilste Filesystem überhaupt ist, muss ich ja keinem mehr sagen. Aber ich möchte 😀 Boar ist das GEIL!

Zurück zum Thema und damit zu ein paar technischen Eckdaten

Wortlänge 128 Bit (wer noch die letzten Zahlen in Sachen IPv6 im Kopf hat, der hat eine Ahnung von 128Bit Zahlen :D)
Volumemanager Integriert (im groben weiss das Dateisystem was die Platten machen und umgekehrt)
Ausfallsicherheit RAID 1, RAID-Z1 (1 Parity-Bit, ~RAID 5), RAID-Z2 (2 Parity-Bits, ~RAID 6) und RAID-Z3 (3 Parity-Bits) integriert
maximale Größe des Dateisystems 16 exbi Byte (= 16 × 260 Byte)
maximale Größe jedes Pools 3 × 1023 pebi Byte (ca. 2 × 1038 Byte)
maximale Anzahl an Dateien in einem Verzeichnis 248
maximale Anzahl an Geräten im Pool 264
maximale Anzahl an Dateisystemen im Pool 264
maximale Anzahl an Pools im System 264

Wenn man nun mal von den irren Maximalwerten absieht, was genau ist denn jetzt so neu? Tja, grob betrachtet kaum etwas… Snapshots gibt es schon, vergrößerbare Dateisysteme auch, Verschlüsselung gibt es schon lange, Raid ist ebenso ein alter Hut, Snapshots sind alles andere als neu usw. usw.. Das aber alles zusammen kombiniert wird, das ist hier das Neue 😀

Die Kombi? Japp… Als kleines Beispiel: Normalerweise ist es bei einem Raidverbund so, dass sich der Raidcontroller bzw. ein paar Softwarestücke (beim Softwareraid) um die Platten kümmen. Der eigentliche Raidverbund hat keine Ahnung Ob Daten auf den Platten liegen. Nicht einmal ob es überhaupt ein Dateisystem oder gar eine Partitionstabelle gibt ist ihm bewusst. Soll jetzt z.B.: alle Platte durchgesync (resilvered) werden, muss das Byte für Byte passieren, egal wieviel von den Platten nun wirklich belegt ist. Ob nun 2TB oder halt nur 1kb auf dem Raidverbund liegt. Das Resilvering dauert die gleiche Zeit (ewig). Das wäre beim ZFS anders, denn ZFS weiss genau welche Daten wo liegen. Somit müssen nur die Teile mit Daten syncronisiert werden.

ZFS unterstützt einfaches Striping, einen Mirror, Raid5 (raidz), Raid6(raidz2) und natürlich Spares. In Sachen Datensicherheit ist das aber noch lange nicht alles…. ZFS verbessert selbst die Datensicherheit bei einzelnen Festplatten. Dafür gibt es Ditto Blöcke…. Wird dieses aktiviert, werden für jeden logischen Block bis zu drei physische Blöcke auf der Platte verteilt. Das verschwendet zwar echt Platz auf der Platte, erhöht dafür die Chance selbst bei einer def. Platte Daten rekonstruieren zu können extrem.

Macht ein Festplattenkontroller nicht was er soll oder ein Kabel hat einen def. kann es zu extrem dummen Fehlern kommen oder gar zu Silent Data Corruption (leisem/unbemerktem Datenverlusst). Das bedeutet: Die eigentlichen Daten auf der Festplatte werden stellenweise unbrauchbar. Das merkt man aber erst wenn man versucht auf diese Daten zuzugreifen. Selbst ein Dateisystemscan kann fehlerfrei durchlaufen, denn noch sind die Daten im Eimer. ZFS bietet hier nicht nur die einfache Möglichkeit von Blöcken Checksummen zu bilden, nein es integriert Hash Trees. So können Checksummen in einer Baumstrucktur erstellt werden und es können z.B. sogar versehentlich überschriebene Blöcke erkannt werden. Diese Probleme löst ZFS dann, wenn möglich schon automatisch. Sind Daten gespiegelt kann so direkt festgestellt werden, auf welcher Platte def. Daten liegen. Das ZFS unter anderem dieses kann gilt es als selbstheilendes Dateisystem.

Nach offizieller Aussage soll man ein ZFS Dateisystem nicht kaputt bekommen (es sei denn man schlägt mit dem Hammer drauf :-P). Dateisysteme wie NTFS, ext3, xfs usw…. benutzten journaling um zu erledigende Aufgaben bzw. Aufgaben die noch anstehen zu protokollieren. ZFS arbeitet da eher wie moderne Datenbanksysteme. Es nutzt das ZFS Intent Log… Dort wird genau aufgeführt was ZFS nun gerade vor hat und im Falle eine Stromausfalles oder ähnlich kann ZFS dort ganz genau nachvollziehen was passieren sollte. Für alle Fälle gibt es natürlich die Möglichkeit sein Dateisystem zu überprüfen. Dieses nennt sich unter ZFS scrubbing (total lustiger aber auch passender Begriff, oder?).

Ganz cool ist die Möglichkeit immer und zu jedem Moment Snapshots vom aktuellen Dateisystem anzufertigen. Somit lässt sich immer der aktuelle Zustand einfrieren. Da es zusammen mit Copy on Write läuft, werden im groben die aktuellen Daten einfach so gelassen wie sie sind und erst bei einer Veränderung wird diese einfach an eine andere Stelle geschrieben. Es passiert also nicht das Daten doppelt und dreifach durch einen Snapshot im Pool liegen 🙂

Ich kann nun wenn ich Bock habe einfach auf einen der Snapshots zurück springen, ich kann Snapshots von Hand oder auch per Cronjob erstellen… Von mir aus alle 10 oder 15 Minuten 😀 Ich kann einen Clone aus einem Snapshot erstellen, welcher dann wieder veränderbar ist. Ich kann auch per SSH einen Snapshot auf eine andere Maschine irgendwo auf der Erde schieben und somit meinen ZFS Pool sichern/synconisieren… Dort könnte ich vorher zusätzlich noch einen Snapshot erstellen usw. usw. usw…..

Dieses ist nun nur ein Bruchteil von dem was mit ZFS möglich ist, man sieht jetzt schon schnell was mit ZFS alles möglich ist!

Solaris nvidia Dualscreen

Der OpenSolaris fork Openindiana und Dualscreen / TwinView

Die automatische Konfiguration des X-Server läuft auf den meisten Systemen mehr als zuverlässig. Mir ist noch kein System unter die Finger gekommen bei welchem es wirklich ein Problem war den Xorg-Server lauffähig zu bekommen.

Ich bin seit langem schon ein Fan von Nvidia-Karten. Schuld ist da wohl die alte Firma Elsa (die vor der Pleite…)! Die Treiberunterstützung unter Linux oder Solaris ist bei Nvidia-Karten auch wunderbar. Es funktioniert einfach und sauber.

Jetzt habe ich also einen Arbeitsplatzrechner mit zwei Monitoren an einer Nvidia VGA Karte. Openindiana fährt hoch, erkennt die Karte, schaltet den primären Monitor ein und richtet Auslösung/Farbtiefe usw. korrekt ein. Ich kann mich anmelden und per Klickibunti ganz Windooflike unter ==> System == > Einstellungen ==> NVIDIA X-Server-Einstellungen den zweiten Monitor einfach aktivieren. Nvidias TwinView auswählen, sagen wie und wie der Monitor sein soll und fertig. Klappt alles sofort und so einfach das man weinen könnte (sofern man sich früher schon mal an so etwas probiert hat).

Dumm nur dieses bei jedem Reboot neu einstellen zu müssen. Also sollte man diese Einstellungen am besten gleich in seine xorg.conf schreiben, oder? Richtig….. Selbst dafür bieten die nvidia-settings einen Button: „Save to X Configuration File“. Dieses nun einfach noch als xorg.conf unter „/etc/X11/xorg.conf“ speichern und auch nach dem Reboot ist alles gut

Für Spaß findet man >>hier<< meine xorg.conf, auch wenn das ja so einfach ist, das es jeder schaffen sollte!

Solaris USB unmount

Der OpenSolaris fork Openindiana und das USB mount Problem

Inzwischen ist man selbst als Unix Mensch verwöhnt von seinem GUI. Daher nerven kleinere Problemchen welche einen zwingen doch wieder die Konsole zu öffnen sehr….Openindiana unmount umount USB Stick

So ging es mir mit allem was man so mal eben in die Kiste stopfen kann. Ob es nun ein USB-Stick, eine CD/DVD oder eine Wechselplatte ist. Sie wird sauber erkannt und automatisch eingebunden. Es gibt ein schönes Symbol auf dem Gnome Desktop und in dessen Dateiverwaltung. Selbst der Zugriff auf alles klappt tadellos. Aber wehe man möchte das Teil wieder los werden 🙂

Sobald man auf „Aushängen“ klickt, springt einem das System mit der GUI-Meldung an: cannot unmount volume

Sehr nervig…. Konsole aufmachen, su, unmount…..

Dass dieses ein Problem mit irgendeiner Berechtigung sein muss ist schnell klar, aber welcher? Google konnte mir schnell helfen. Das Problem besteht seit 147 bzw. Solaris Express, soll aber inzwischen gefixt sein. Ist es auch, nur taucht es inzwischen durch eine andere Änderung wieder auf. Das ganze ist bekannt und soll gelöst werden. Bisher gibt es einen Workaround.

Einfach nachstehende Zeile in die folgende Datei packen:

/etc/logindevperm
/dev/vt/console_user    0620    /dev/console            # workaround for defect.opensolaris.org 12133

Einen einfachen Reboot später klappt dann alles mit dem unmount per GUI.

Solaris OpenOffice

OpenOffice Installation Setup OpenSolaris Solaris Openindiana

Der OpenSolaris fork Openindiana und OpenOffice

Ein Office Paket darf kaum auf einem Desktopsystem fehlen. In den ersten Versionen von OpenSolaris hat Sun (jetzt Oracle) sogar noch ihre kommerzielle Version StartOffice mitgeliefert. Das hat sich inzwischen sehr geändert. Von OpenOffice.org gibt es fertige Pakete für Solaris. Zwar bevorzuge ich LibreOffice, müsste dieses für Solaris nur selbst aus den Quellen bauen. Dafür fehlt mir die Zeit/Lust…

Also OpenOffice.org… Dieses ist schnell in einer aktuellen Version inkl. Javainstaller von www.openoffice.org heruntergeladen.

Nach dem entpacken

$ tar xczf OOo_3.3.0_Solaris_x86_install-wJRE_de.tar.gz

lässt sich die Installation schnell und einfach wie folgt starten:

$ cd OOO330_m20_native_packed-1_de.9567
$ ./setup

Der Rest ist dann sogar für jeden Windows-User selbsterklärend 😛

Solaris gpodder

gPodder Solaris Openindiana Opensolaris MTPDer OpenSolaris fork Openindiana und gPodder

Ich nutze zur Verwaltung meiner abonnierten Podcasts schon seit langer Zeit gPodder. Es ist schlank klein, schnell und tut nur das was ich möchte Das soll unter Openindiana nun auch so sein. Zusätzlich möchte ich auch gerne die Podcasts auf meinen Creative ZEN mozaic per MTP schieben. Hier gibt es zwar ein kleines Problem, dieses konnte ich aber für mich mit einem (ganz ganz ganz ganz bösen) Workaround lösen, davon später mehr.

Um gpodder auf mein System zu bekommen sind zusätzlich noch folgende Python Erweiterungen nötig:

– feedparser (http://code.google.com/p/feedparser/downloads/list)
– mygpoclient (http://thp.io/2010/mygpoclient/)

Einfach herunterladen, auspacken:

$ gzcat feedparser-5.0.1.tar.gz | tar xvf -
$ gzcat mygpoclient-1.6.tar.gz | tar xvf -

Und dann ganz schnell als root installieren:

$ cd feedparser
$ python setup.py build
$ python setup.py install
$ cd ..
$ cd mygpoclien
$ python setup.py build
$ python setup.py install

Man man man…. Das ging ja noch 😀 Jetzt also gpodder (http://gpodder.org/downloads.html). Nach dem Download entpacken und dann…

$ gzcat gpodder-2.19.tar.gz | tar xvf -
$ cd gpodder
$ python setup.py build

Immer wenn ich nun ein python setup.py install gestartet habe blieb er mit folgender Meldung hängen:

error: can't copy 'data/org.gpodder.service': doesn't exist or not a regular file

Ganz braun hat mir hie folgendes geholfen:

$ cd data
$ cp org.gpodder.service.in org.gpodder.service
$ cd ..
$ org.gpodder.service

Damit lässt sich gpodder auch schon starten und benutzen. Mir fehlt nur noch die Unterstützung von MTP (http://libmtp.sourceforge.net/) nach Download und Auspacken kommt der bekannte Dreisatz zum Tragen:

$ ./configure
$ make
$ make install

Fertig…

Fertig? Na ja fast!

$ mtp-detect

erkennt meinen Player. mtp-files listet die auf dem Player befindlichen Files auf und ein mtp-sendfile schiebt eine mp3 Datei sauber und abspielbar auf den MP3-Player. Wenn ich nun im gpodder unter: Preferences ==> Devices ==> Device type: MTP einstelle. Kann ich mit der rechten Maustaste Podcasts an meinen MP3-Player senden. Diese kommen dort wirklich an und sind in der Liste auswählbar. Ich bekomme nur im MP3-Player die Meldung: „Problem bei der Audiowiedergabe“ das File wieder übersprungen und Ende. So habe ich mir das nicht vorgestellt :-/ Vor allem lassen sich Dateien abspielen, welche ich von Hand auf der Konsole per mtp-sendfile herüberschiebe. Daher müsste es doch auch über den gpodder funktionieren, oder?

Beim Auflisten der Files vom MP3-Player ist mir aber etwas spannendes aufgefallen:

$ mtp-files

File ID: 18655
Filename: 1LIVE - Comedy_ Dennis ruft an_ ANUGA (10.10.2011).mp3
File size 964156 (0x00000000000EB63C) bytes
Parent ID: 96
Storage ID: 0x00010001
Filetype: RIFF WAVE file


File ID: 8214
Filename: pofacs#093 - Commodores Homecomputer.mp3
File size 98408576 (0x0000000005DD9880) bytes
Parent ID: 96
Storage ID: 0x00010001
Filetype: ISO MPEG-1 Audio Layer 3

AHA… Der funktionsfähige, von Hand angeschobene, Podcast hat den Filetype: ISO MPEG-1 Audio Layer 3

Dieses ist für ein MP3-File auffallend korrekt. Der vom gpodder hochgeschobene Podcast hat den Filetype: RIFF WAVE file. Das kann ja nicht klappen 😛

Ich tippe nun mal dass es irgendwo im gpodder auf meiner Solaris Kiste ein Problem damit gibt den Filetype richtig zu erkennen oder zu setzten (Vermutung halt)… Ich habe den Quelltext nun einmal hoch und runter gescrollt aber nichts gefunden (ich bin halt kein Programmierer)…. Ich habe nur eine Liste von Filetypen gefunden mit dem Hinweiss das diese immer syncron mit den Einträgen aus der libmtp.h sein müssen.

Daher habe ich mir mal die libtmp.h.in angeschaut. Hier finden sich diese Filetypen wieder. Was soll ich sagen? An erster Stelle steht jeweils WAV… Nun zu meinem bösen Versuch (bitte nicht schimpfen) ich habe einfach den ersten Eintrag:

LIBMTP_FILETYPE_WAV,

ausgetauscht gegen:

LIBMTP_FILETYPE_MP3,

Weiter unten habe ich dann MP3 gegen WAV getauscht. Nun einfach libmtp neu übersetzen und, ja es funktioniert. Zumindest mit MP3 Files.

Bei Zeiten müsste ich mich hier wohl mal eingehender beschäftigen oder mal einen Bug aufmachen, das Problem könnte auch hausgemacht sein. Bei Zeiten…..

Solaris Virtualbox

Solaris Virtualbox

Der OpenSolaris fork Openindiana und VirtualBox

Nicht nur das die modernen Systeme inzwischen meist genug Leistung haben um zu einem Hostsystem noch ein weiteres oder mehrere zu „Emulieren“ nein, man kann es auch ganz gut gebrauchen. Bedingt durch meine Arbeit bin ich leider an vielen Stellen auf Produkte von Microsoft angewiesen. Zusätzlich ist es ganz praktisch für Schulungen oder Vorträge immer ein dazu passendes, sauberes und funktionsfähiges System aus dem Glas holen zu können. Natürlich ist es auch mehr als praktisch wenn man Experimente nicht immer in seinem echten System fahren muss 🙂

Ich setzte hier derzeit auf VirtualBox, da dieses die für mich wichtigsten Plattformen abdeckt und ich so die VMs einfach von hier nach da schieben und nutzen kann. Das darf natürlich auf meinem Solaris Desktop nicht fehlen!

Bei Oracle gibt es fertige Pakete für Solaris. Ein solches ist schnell heruntergeladen und entpackt sich fast von alleine:

$ tar xvzf VirtualBox-4.1.2-73507-SunOS.tar.gz

Die Installation stellt einen auch nicht weiter vor große Probleme:

$ cd VirtualBox-4.1.2-73507-SunOS
$ pkgadd -d VirtualBox-4.1.2-SunOS-r73507.pkg

Damit ist Virtualbox schon nutzbar und fertig installiert. Man sollte nun aber nicht vergessen seinen User mit in die Gruppe vboxuser zu packen, sonst gibt es so lustige Fehlermeldungen beim Versuch an USB Geräte zu kommen:

Could not load the Host USB Proxy service (VERR_ACCESS_DENIED).

Details:

Result Code: NS_ERROR_FAILURE (0x00004005)
Component: Host
Interface: IHost {f460cbfc-2332-4fa6-899e-45ded6b3242342}
Callee: IMachine {99404fe0-2310-40d3-889b-dd2f79e7365e}

USB 2.0 und noch etwas mehr Lulu bekommt man über das Oracle VM VirtualBox Extension Pack. Hier sollte man sich aber (wie bei allen Dingen) die Lizenzbestimmungen durchlesen 🙂

Solaris Multimedia

Der OpenSolaris fork Openindiana und Multimedia

Ich nutze Openindiana auf meinem Notebook als Desktopsystem. Natürlich wird damit hauptsächlich gearbeitet, denn noch sehe ich mir gerne mal ein Video an, höhre eine mp3 oder einen Livestream im Internet. Dafür benötigt man passende Codecs und Player. Diese stehen oft unter Lizenzen, welche einem ausliefern mit Openindiana im Wege stehen.

Nun kann man also anfangen sich alles Stückchen für Stückchen zusammen zu suchen oder auf ein Multimedia Repository zurückgreifen. Das spart viel Arbeit 🙂

Eingebunden ist dieses schnell mit:

$ pkg set-authority -O http://ips.homeunix.com:10906 ips.homeunix.com
$ pkg refresh --full

Nun kann man schon eine ganze Palette von Paketen nachinstallieren:

$ pfexec pkg install medialib songbird MBLa52dec MBLeasytag MBLfaac MBLfaad2 MBLffmpeg MBLfribidi MBLgst-plugin-a52dec MBLgst-plugin-asf MBLgst-plugin-dts MBLgst-plugin-dvd MBLgst-plugin-dvdread MBLgst-plugin-ffmpeg MBLgst-plugin-flv MBLgst-plugin-lame MBLgst-plugin-mad MBLgst-plugin-mp3 MBLgst-plugin-mpeg2 MBLgst-plugin-mpegaudioparse MBLgst-plugin-mpegstream MBLgst-plugin-taglib MBLid3lib MBLlame MBLlibdca MBLlibdv MBLlibdvdcss MBLlibdvdread MBLlibid3tag MBLlibmad MBLlibmpeg2 MBLmldonkey MBLmplayer MBLrecordmysolaris MBLrecordmysolaris-gtk MBLtaglib MBLx264 MBLxvidcore

Im Grunde ist nun das Wichtigste schon erledigt und man kann die meisten Dinge abspielen 🙂

 


 

*Update*

Ihr solltet euch unbedingt mal das Spec Files Extra Repository anschauen, bevor ihr hier etwas macht !

 

 

 

« Ältere Beiträge Neuere Beiträge »

© 2025 -=Kernel-Error=-

Theme von Anders NorénHoch ↑