pkgsrc im Hochschulrechenzentrum
Jörn Clausen
joern.clausen@uni-bielefeld.de
Übersicht
Was ist pkgsrc
pkgsrc unter Solaris
pkgsrc im HRZ
Was ist pkgsrc
siehe auch "
Portable Software-Installation mit pkgsrc
" (Rainer Orth)
Installation von quelloffener Software durch Kompilation
Erstellung von Binär-Paketen als Nebeneffekt
automatische Behandlung von Abhängigkeiten und Konflikten
ursprünglich für
NetBSD
entwickelt, auf andere Betriebssysteme portiert
Linux, Solaris, Irix, *BSD, Minix, ...
Darwin (Mac OS X), Interix, ...
erfordert
bootstrapping
für BSD-Tools (make, ...) und pkg-tools
Verteilung per
CVS
stable release
pro Quartal
Benutzung
DEMO
Verzeichnisstruktur
Installation von Paketen
Binär-Pakete
lokale Anpassungen
Software-Pflege mit pkgsrc
Ist-Zustand:
pkg_info
veränderte Pakete neu bauen:
pkg_chk
Veränderungen und Auswirkungen:
pkgdepgraph
rollierende Updates:
pkg_rolling-replace
Liste aller benötigten Pakete in
pkgchk.conf
Software-Pflege mit pkgsrc, cont.
Unix im Hochschulrechenzentrum
Solaris 10, Sparc und i86
derzeit keine anderen unixoiden Betriebssysteme
Erbringung zentraler Dienstleistungen auf Basis von Solaris (DNS, Web, Mail, Oracle DB, ekVV, ...)
Software-Sammlung für tägliche Arbeiten durch Administratoren
ursprünglich: händische Installation und Pflege von Software
Einführung von pkgsrc vor ca. 3 Jahren
pkgsrc unter Solaris
funktioniert leidlich gut
regelmäßige händische Korrekturen notwendig
gemeldete Probleme werden
behoben
, oder auch
nicht
Wahl des Compilers:
früher: bootstrap mit Sun Studio, dann Wechsel auf
lang/gcc34
inzwischen: außerhalb von pkgsrc gebauter GCC 4.7.0
GCC for Sun Systems war vielversprechend, aber nur für Sparc und inzwischen tot
Zusammenspiel von runpath, Linker-Optionen, libtool und Behandlung des Themas durch Paket-Verantwortliche ist ... spannend
hin und wieder Änderungen, die nur unter
OpenSolaris
/
Solaris 11
/
Illumos
/... funktionieren
Geschmackssache: Verweise auf
/usr/sfw
Leben und Arbeiten mit pkgsrc
Konflikt: aktuelle oder stabile Software-Sammlung?
Update nur eines Paketes wegen Abhängigkeiten nicht immer möglich
versionierte Pakete (pkgviews) IMHO tot
unvorhergesehen lange Update-Dauer durch "Solaris-Probleme"
Lösung im HRZ: pkgsrc-Releases
unabhängig von Quartals-Releases von pkgsrc, da diese nicht garantiert fehlerfrei sind
pkgsrc im Hochschulrechenzentrum
Installation nach
/usr/pkgsrc/RELEASE/
(Format
YYYYMMDD
)
symlinks "
head
" und "
current
" zeigen ausgezeichnete Versionen an
"
head
" folgt CVS zeitnah, d.h. kann jederzeit unvollständig sein
"
current
" wird nicht mehr verändert, ist also garantiert stabil
"
stable
" später als Hilfsmittel beim Release-Wechsel eingeführt
Konsistenz zwischen Releases (wie auch zwischen Sparc und i86) durch
pkgchk.conf
aktueller Stand wird
im Web dokumentiert
pkgsrc im Hochschulrechenzentrum, cont.
Release-Wechsel:
20090129/ 20090316/ <- current, stable 20090520/ <- head
20090129/ 20090316/ <- current 20090520/ <- head, stable
20090129/ 20090316/ <- current 20090520/ <- stable 20090814/ <- head
20090129/ 20090316/ 20090520/ <- current, stable 20090814/ <- head
20090129/ 20090316/ <- current, stable 20090520/ 20090814/ <- head
pkgsrc im Hochschulrechenzentrum, cont.
Verwendung:
interaktiv: "
current
" oder (für Mutige) "
head
"
in Skripten: "
stable
"
bei Problemen: bestimmte Release-Version "
YYYYMMDD
"
dedizierte Releases mit längerer Lebensdauer oder alten Versionen (z.B. PHP)
alternative Lösungen
Binär-Pakete
lokale Installationen auf Applikations-Servern
staging auf Compile-Server mit Pfad-Tricksereien
??? Vorschläge erbeten !!!
Verweise
pkgsrc
The pkgsrc guide
pkgsrc under Solaris
(veraltet)
pkgsrc im Hochschulrechenzentrum
pkgsrc-Releases im HRZ