IT-Blog von Sebastian van de Meer

Schlagwort: Solaris (Seite 3 von 4)

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

Veraltet: OpenIndiana und Solaris werden kaum noch produktiv eingesetzt. Die hier beschriebene Paketverwaltung mit IPS und Spec-Files ist Solaris-spezifisch.

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.

ZFS: Warum dieses Dateisystem anders ist

ZFS ist kein normales Dateisystem — es vereint Dateisystem, Volumemanager und RAID in einem. Keine separate Partitionierung, kein mdadm, kein LVM. Ein Befehl erstellt einen Pool, ein zweiter ein Dataset. Snapshots, Compression, Verschlüsselung und Replikation sind eingebaut. Ursprünglich von Sun Microsystems für Solaris entwickelt, läuft ZFS heute als OpenZFS auf FreeBSD, Linux und macOS.

Was ZFS anders macht

Copy-on-Write: Daten werden nie überschrieben — jede Änderung wird an eine neue Stelle geschrieben. Erst wenn der neue Block vollständig ist, wird der Zeiger umgehängt. Dadurch gibt es kein Write Hole wie bei klassischem RAID und Snapshots sind praktisch kostenlos.

Checksummen und Selbstheilung: Jeder Block hat eine Checksumme, gespeichert im übergeordneten Block (Merkle Tree). Beim Lesen wird die Checksumme geprüft — bei einem Fehler repariert ZFS den Block automatisch aus der Redundanz. Silent Data Corruption wird erkannt, bevor sie Schaden anrichtet.

Integrierter Volumemanager: ZFS weiß, welche Blöcke belegt sind und welche nicht. Beim Resilvering (Neusynchronisation nach Plattenausfall) werden nur belegte Blöcke kopiert — ein 80-GB-Mirror mit 4 GB Daten ist in Minuten fertig statt Stunden.

Technische Eckdaten

Adressierung128 Bit
Max. Dateisystemgröße16 EiB (16 × 2⁶⁰ Byte)
Max. Poolgröße256 ZiB (256 × 2⁷⁰ Byte)
Max. Dateien pro Verzeichnis2⁴⁸
Max. Geräte pro Pool2⁶⁴
RAID-LevelMirror, RAID-Z (1–3 Paritäten), Striping, Spare
VolumemanagerIntegriert

ZFS im Detail — die Artikelserie

Jedes Feature ist in einem eigenen Beitrag erklärt:

Fragen? Einfach melden.

Solaris Dual-Screen mit NVIDIA: Anleitung zur Einrichtung von zwei Monitoren​

Veraltet: OpenIndiana und Solaris werden kaum noch als Desktop eingesetzt. Dual-Monitor-Konfiguration unter Linux erfolgt über xrandr oder die jeweilige Desktop-Umgebung.

Der OpenSolaris fork Openindiana und Dualscreen / TwinView

Solaris dual screen desktop with NVIDIA 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.

NVIDIA settings manager for dual monitors on Solaris

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

Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. Unter Linux: umount /dev/sdX, unter FreeBSD: umount /dev/daX.

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

Veraltet: OpenIndiana und Solaris werden kaum noch als Desktop eingesetzt. LibreOffice läuft unter Linux und FreeBSD problemlos.

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

Veraltet: OpenIndiana und Solaris werden kaum noch produktiv eingesetzt. gpodder läuft problemlos unter Linux und FreeBSD.

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

Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. VirtualBox läuft unter FreeBSD und Linux problemlos.

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

Veraltet: OpenIndiana und Solaris werden kaum noch als Desktop eingesetzt. Multimedia-Codecs sind unter Linux trivial installierbar.

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 !

 

 

 

Solaris wine

Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. Wine läuft unter Linux deutlich besser als je unter Solaris.

wine winehq logo

Der OpenSolaris fork Openindiana und Wine

Wine braucht man immer mal wieder für irgendwas. Ich auf meiner Solariskiste auch…. Auf der Download Seite von wienhq.org (http://www.winehq.org/download) gibt es zwar einen direkten Link zu einem fertigen Paket für Solaris (OpenSolaris binär .pkg für OpenSolaris x86) aber dieser scheint irgendwie tot zu sein: This application is no longer in service. For those in the community who participated in the past we thank you for your contributions. Damit ist wohl wieder mal Handarbeit angesagt. Um wine selbst zu übersetzten fehlen noch ein paar Pakete, diese lassen aber glücklicherweise schnell mit dem Paketmanager installieren:
$ pfexec pkg install autoconf automake-110 header-math bison gcc-3 flex
Nun schnell den heruntergeladenen Tarball von wine auspacken und in das Verzeichnis springen:
$ bunzip2 wine-1.3.13.tar.bz2
$ tar xvfwine-1.3.13.tar
$ cd wine-1.3.13
Damit nun auch gleich alles gefunden wird muss noch ein Symlink angelegt werden:
$ ln -s /usr/bin/automake-1.10 /usr/bin/automake
Jetzt noch schnell der kleine Dreisatz:
$ ./configure --prefix=/usr
$ make
$ make install
Fertig ist wine… Da stand man schon vor größeren Herausforderungen, oder?
*Update* Ihr solltet euch unbedingt mal das Spec Files Extra Repository anschauen, bevor ihr hier etwas macht !

Solaris NFS

Veraltet: OpenIndiana und Solaris werden kaum noch eingesetzt. NFS funktioniert unter FreeBSD und Linux identisch und ist dort besser dokumentiert.

Der OpenSolaris fork Openindiana und NFS zu Linux

Es gibt leider ein kleines Problem zwischen den Lizenzen unter welchen Linux und Opensolaris herausgegeben werden. Diese sind nämlich inkompatibel. Das bedeutet man kann nicht einfach Code welcher unter der CDDL erstellt wurde in den GPL Linux Kernel packen und umgekehrt. Dieses merkt man, wie ich, sehr schnell beim einfachen Versuche seine lang genutzte externe ext4 formatierte USB Festplatte in mein Opensolaris zu mounten….. Es gibt zwar Mittel und Wege sein ext2 / ext3 read only zu mounten aber bei ext4 ist hängen im Schacht :-/ In Zeiten von GB-Netzwerken geht das ja bei kleineren Datenmengen dank NFS noch. Solaris Linux NFS mount Pahhh da boote ich ganz cool meine Linux-Schüssel, hänge die USB-Platte ein und passe meine exports für einen ganz einfachen und schnellen Share an:
$ cat /etc/exports
/festpladde (ro)
Dann noch schnell dem NFS Server auf der Linuxschüssel sagen das er die exports neu einliest:
$ exportfs -ra
Und noch mal gegenchecken ob der Export auch sauber in der Liste steht:
$ showmount -e
/festpladde *
Perfekt nun sollte jeder Rechner einfach die Daten mounten können, denke ich! Auf meinem Solaris gebe ich schnell in der Konsole den mount Befehl ein und:
$ mount 192.168.1.88:/festpladde /mnt
No such file or directory
No such file or directory????? Ich prüfe alle Einstellungen noch 3 mal nach…. Alles richtig! Alles richtig? Ja im groben schon. Solaris versucht die Linux Kiste per NFSv4 anzusprechen. Dieses unterstützen zwar beide Maschinen, es kann denn noch Probleme damit geben. Schaltet man aber bewusst auf NFSv3 zurück klappt es (darauf soll mal einer kommen.).
$ mount -o vers=3 192.168.1.88:/festpladde /mnt
Ganz blöde Falle, oder? Hat man häufiger Datenaustausch per NFS zu Linux Maschinen könnte man Solaris dazu bringen per default immer NFSv3 zu nutzen:
$ sharectl set -p client_versmax=3 nfs
Will man es später ändern reicht es natürlich die 3 gegen eine 4 zu ersetzten, schlau was?

Fragen? Einfach melden.

« Ältere Beiträge Neuere Beiträge »

© 2026 -=Kernel-Error=-RSS

Theme von Anders NorénHoch ↑