Suche

 

Aktuelle Beiträge

Neues "Feature" im Captains...
Letzte Tage, beim Lesen meiner Blogroll, ging mir durch...
cptsalek - 4. Dez, 15:48
The story of stuff: Jetzt...
An einem der zurückliegenden 8. Dezember habe...
cptsalek - 4. Dez, 08:28
Das Leben ist gut
...so ganz ohne Windows. :-)
cptsalek - 2. Dez, 09:42
Vielen Dank für...
Vielen Dank für das Einstellen dieses Artikels! Endlich...
das Bäumchen (anonym) - 30. Nov, 12:34
HPV-Impfung
Ich mag naturbedingt ein skeptischer Mensch dem Kapital...
cptsalek - 29. Nov, 14:06

Credits

Knallgrau New Media Solutions - Web Agentur für neue Medien

powered by Antville powered by Helma


Creative Commons License

xml version of this page
xml version of this page (summary)
xml version of this page (with comments)

twoday.net AGB

Archiv

Juli 2008
Mo
Di
Mi
Do
Fr
Sa
So
 
 4 
 5 
 6 
11
12
13
14
15
17
19
20
21
24
25
26
27
29
31
 
 
 
 

Status

Online seit 1092 Tagen
Zuletzt aktualisiert: 4. Dez, 15:48

Counter & Co.

Egoload - Verträumter Idealist
Mein
Koordinaten auf der EgoMap:  93,2
100% Heidnisch

Locations of visitors to this page


Lilypie Expecting a baby Ticker

Erste Schritte mit IPS unter OpenSolaris 2008.05

Die Paketverwaltung war bisher immer einer der großen Kritikpunkte in Solaris: Zwar gab es Pakete, die auch Abhängigkeite kannten, allerdings war pkgadd nicht in der Lage, aus einem Repository fehlende Pakete nachzuladen. Pkgrm konnte nur anzeigen, welche Pakete von einem zu entfernenden Paket benötigt werden. Einen ganzen Strang automatisch zu entfernen war somit ebenfalls nicht möglich.
OpenSolaris 2008.05 - genauer gesagt Project Indiana enthält das neue Paketierungsverfahren Image Pakaging System (IPS). Benutzer, die den Nevada-Builds folgen, müssen IPS erstmal nachinstallieren. Das ist aber garnicht so schwer. Sun Mitarbeiter Jyri Virkki hat dazu eine kleine Zusamenfassung geschrieben (Englisch). Die eigentliche Installation sieht folgendermaßen aus:
% hg clone ssh://anon@hg.opensolaris.org/hg/pkg/gate
% cd gate/src
% make
% make install
% su
# make link

Danach steht auch dem Nevada-User der Befehl pkg zur Verfügung. pkg ist der zentrale Dreh- und Angelpunkt der Paketverwaltung, hier werden Repositories gepflegt, Pakete installiert, deinstalliert und aktualisiert.
 
Images
Das Image im Namen unterscheidet IPS dabei von anderen Systemen, die ich bisher gesehen habe. So ganz genau weiß ich auch noch nicht, was ich mir unter dem Begriff Image vorstellen soll, bzw. was man genau alles damit anfangen kann. Bevor man mit IPS arbeiten kann, muss man aber eines erstellen, z.B. via
# pkg image-create --full -a opensolaris.org=http://pkg.opensolaris.org /

In diesem Fall wurde ein full image für das System erzeugt.
 
Authorities
Jedes Image ist mit einem Package Depot Server verknüpft, der auch als Authority bezeichnet wird. Das -a im letzten Befehl hat eine solche Authority mit dem Namen opensolaris.org erstellt, wobei http://pkg.opensolaris.org der eigentliche Server ist. Die URL läßt sich übrigens auch im Browser aufrufen, man erhält dann eine Seite mit Status des Repositories sowie eine Liste der enthaltenen Pakete.
Man kann zusätzliche Authorities erstellen, im Falle von opensolaris.org mittels
# pkg set-authority -O http://pkg.opensolaris.org opensolaris.org

Um zu sehen, welche Authorities man angelegt hat, reicht ein einfacher
# pkg authority
UTHORITY                           URL
opensolaris.org (preferred)         http://pkg.opensolaris.org/

 
Pakete suchen
Wenn man erstmal soweit ist, geht in Richtung Paketinstallation. Interessant wäre es jetzt, das Repository durchsuchen zu können. In der Tat steht einem dafür der Befehl pkg search zur Verfügung. Meine Erwartung wäre jetzt gewesen, dass der Befehl nach Paketnamen sucht. IPS durchsucht aber die Pakete nach dem Suchstring. Das kann irritierend sein.
Ausserdem kann pkg sowohl die lokal installierten Pakete durchsuchen, wie auch den entfernten Server. Ersteres ist übrigens die Voreinstellung. Wer also etwas zur Installation sucht, sollte entsprechend vorbereitet sein. Hier mal einige Beispiele:
# pkg search vim
# pkg search -r vim
INDEX      ACTION    VALUE                     PACKAGE
basename   dir       usr/demo/mercurial/vim    pkg:/SUNWmercurial@0.9.5-0.86
basename   dir       usr/demo/mercurial/vim    pkg:/SUNWmercurial@0.9.5-0.79
basename   dir       usr/demo/mercurial/vim    pkg:/SUNWmercurial@0.9.3-0.75
basename   dir       usr/demo/mercurial/vim    pkg:/SUNWmercurial@0.9.5-0.86
basename   file      usr/bin/vim               pkg:/SUNWvim@7.1.145-0.86
basename   file      usr/bin/vim               pkg:/SUNWvim@7.1.145-0.86
basename   file      usr/bin/vim               pkg:/SUNWvim@7.1.145-0.79
basename   dir       usr/demo/mercurial/vim    pkg:/SUNWmercurial@1.0-0.89
basename   file      usr/bin/vim               pkg:/SUNWvim@7.1.284-0.89
basename   dir       usr/demo/mercurial/vim    pkg:/SUNWmercurial@1.0-0.90
basename   file      usr/bin/vim               pkg:/SUNWvim@7.1.284-0.90
basename   dir       usr/demo/mercurial/vim    pkg:/SUNWmercurial@1.0-0.91
basename   file      usr/bin/vim               pkg:/SUNWvim@7.1.284-0.91

Mit dem ersten Befehl habe ich nach vim gesucht, bin aber nicht fündig geworden. Mit -r sucht man im Repository des Servers ("remote"). Hier ist pkg direkt mehrmals fündig geworden. Dabei ist die letzte Spalte interessant: Hier findet sich die FMRI, Fault Management Resource Identifier, ein eindeutige Identifizierung des Pakets mitsamt Namen und Versionsnummer. FMRIs findet man auch an anderer Stelle im Solaris, z.B. die Fehlercodes des SMFs.
 
Pakete listen
Der Suchbefehl taugt also nur wirklich, wenn man nach Paketinhalten sucht oder zufälligerweise nach Paketen sucht, wo der Paketname auch der Name des Binaries ist, das man eigentlich verwenden will. Bei großen Paketen wird das aber unübersichtlich, wer möchte, kann das gerne mit mit "firefox" als Suchbegriff probieren...
Alternativ kann man auch aber den Befehl pkg list verwendet. In seiner Grundfunktion ist der dazu gedacht, die installierten Pakete aufzulisten. Das kann man schon als intuitiv bezeichnen. Die Option -a zeigt dann auch alle Pakete an, und gibt einem somit die Möglichkeit nach dem gewünschten zu greppen:

# pkg list -a |grep vim 
SUNWvim                                       7.1.145-0.79    known      ----
SUNWvim                                       7.1.145-0.86    known      ----
SUNWvim                                       7.1.145-0.86    known      ----
SUNWvim                                       7.1.284-0.89    known      ----
SUNWvim                                       7.1.284-0.90    known      ----
SUNWvim                                       7.1.284-0.91    known      -

Ist zumindest übersichtlicher.
 
Na endlich: Pakete installieren
Hat man sein Paket gefunden, reicht einfacherweise ein pkg install aus, wobei die Option -nv nützlich ist um zu schauen, was alles mit installiert wird:
# pkg install -nv SUNWvim
Before evaluation:                    
UNEVALUATED:
+pkg:/SUNWvim@7.1.284,5.11-0.91:20080613T180507Z

After evaluation:
None -> pkg:/SUNWvim@7.1.284,5.11-0.91:20080613T180507Z
None
 # pkg install SUNWvim
DOWNLOAD                                    PKGS       FILES     XFER (MB)
Completed                                    1/1   1300/1300   16.88/16.88 

PHASE                                        ACTIONS
Install Phase                              1345/1345

pkg installiert also immer die aktuellste Version des Paketes.
Man kann übrigens alternativ auch die FMRI aus dem pkg search-Ergebnis nehmen, um eine bestimmte Version zu installieren.

Trackback URL:
http://cptsalek.twoday.net/stories/5034352/modTrackback

Wichtiges/Interessantes aus anderen Blogs:

Netzfilter: Unbrauchbar und schädlich
<p>Sueddeutsche.de hat den Dresdner Informatik-Professor...

Twitter (was mache ich gerade?)

    User Status

    Du bist nicht angemeldet.

    ...wenn man trotzdem lacht
    Atari Mega ST
    Auf Arbeit
    Bloggen
    Bookmarks & Links
    BSD
    Bundeswehr
    CCC07
    Computing
    Datenschutz
    Fahrrad
    Fundsachen
    G8
    Garten
    Gentechnik
    Gesundheit
    ... weitere
    Profil
    Abmelden
    Weblog abonnieren