Universität Bielefeld Rainer Orth
Portable Software-Installation mit pkgsrc
Dipl.-Chem. Rainer Orth Technische Fakultät Universität Bielefeld [email protected]
AG Rechnerbetrieb SS 2006 pkgsrc 1 von 12 Universität Bielefeld Rainer Orth
Übersicht
• Problemstellung
• Benutzersicht • Parallelinstallationen: Package Views
• Entwicklersicht • Probleme
• Alternativen
AG Rechnerbetrieb SS 2006 pkgsrc 2 von 12 Universität Bielefeld Rainer Orth
Software-Installation: Der Status Quo
• manuelles Bauen aus den Quellen für verschiedene Plattformen – zeitaufwendig – mühselig – verschiedene Versionsstände, keine problemlosen Updates wegen Abhängigkeiten – zunehmende Zahl von Abhängigkeiten – zahlreiche Packages kommen mit Volume-Struktur nicht gut zurecht – kein Tracking installierter Software
AG Rechnerbetrieb SS 2006 pkgsrc 3 von 12 Universität Bielefeld Rainer Orth
Problemstellung
• Ziel: einheitliche plattformübergreifende Software-Installation • mindestens für Linux, Mac OS X, Solaris; gut, wenn auch IRIX und Tru64 UNIX
• Option: native Package-Systeme (Blastwave, Sun Freeware, Fink, . . . ) – Einzelmaschinen-orientiert – plattformabhängig – keine einfache lokale Konfiguration – Binary Packages stellen verschiedene Software-Versionen in verschiedenen Konfigurationen bereit – schwierige Parallel-Installation verschiedener Versionen
AG Rechnerbetrieb SS 2006 pkgsrc 4 von 12 Universität Bielefeld Rainer Orth
pkgsrc
• Framework zum Bauen und Installieren von Software-Paketen • entstanden aus FreeBSD ports, ursprünglich nur für NetBSD (August 1997) • inzwischen: Unterstützung von 12 Plattformen: AIX, *BSD, IRIX, Linux, Mac OS X, Solaris, Tru64 UNIX, Windows (via Interix) • basiert auf BSD Make (bmake) • unterstützt Bauen aus den Quellen und Binärpackages • 6110 Software-Pakete in ca. 50 Kategorien inkl. Meta-Packages (zwei CVS-Branches: stable und current) • weitere 2400 Packete via pkgsrc-wip: Work in Progress
AG Rechnerbetrieb SS 2006 pkgsrc 5 von 12 Universität Bielefeld Rainer Orth
Features
• Installation in einheitlichen Directory-Baum (/usr/pkg per Default)
• Berücksichtigung von Dependencies • portabel, plattform-übergreifend einheitlich
• Unterstützung verschiedener Compiler: nativer cc, gcc, distcc, ccache • Konfigurationsmöglichkeiten über mk.conf: – Directories – Optionen (global und pro Package)
AG Rechnerbetrieb SS 2006 pkgsrc 6 von 12 Universität Bielefeld Rainer Orth
Benutzersicht
• Installation von Binärpackages mit pkg_add • Installation aus den Quellen: – zunächst: pkgsrc-Bootstrap – NetBSD-Compat-Library, bmake, ggfs. Ersatz für einige native Tools (sed, ftp, . . . ) • dann: cd
AG Rechnerbetrieb SS 2006 pkgsrc 7 von 12 Universität Bielefeld Rainer Orth
Parallelinstallationen mit Package Views
• Problem: verschiedene Versionen der gleichen Software parallel bereitstellen (z.B. für Tests oder bei Inkompatibilitäten) • mit Package Views: Installation in ein Directory pro Version (Default: /usr/pkg/packages/
• verschiedene Views (i.e. Symlinks-Trees) möglich, z.B. Default, Test, . . .
AG Rechnerbetrieb SS 2006 pkgsrc 8 von 12 Universität Bielefeld Rainer Orth
Entwicklersicht
• benötigt werden: Makefile, DESCR, PLIST (wird bei Package Views dynamisch erzeugt), distinfo, ggfs. Patches • Tools zur Unterstützung: url2pkg, pkglint
AG Rechnerbetrieb SS 2006 pkgsrc 9 von 12 Universität Bielefeld Rainer Orth
Probleme
• manche Packages recht alt • systemnahe Packages fehlen u.U. ganz (z.B. ntp, amd, . . . )
• Packages lassen sich nicht bauen (aber meist Upstream-Problem)
AG Rechnerbetrieb SS 2006 pkgsrc 10 von 12 Universität Bielefeld Rainer Orth
Alternativen
• OpenPKG: Projekt von Ralf S. Engelschall, Cable & Wireless – RPM-basiert – eingeschränkter Satz von Packages (vor allem Server-Software) – primär für FreeBSD, Linux, Solaris • The Written Word – kommerziell, kostenpflichtig – basiert auf Wrappern um native Package-Tools – eingeschränkte Sammlung von Packages
AG Rechnerbetrieb SS 2006 pkgsrc 11 von 12 Universität Bielefeld Rainer Orth
Weitere Informationen
• pkgsrc: The NetBSD Packages Collection: http://www.pkgsrc.org/
• Web-Frontend zu pkgsrc: http://pkgsrc.se/ • pkgsrc-Work In Progress: http://pkgsrc-wip.sourceforge.net/
• OpenPKG: http://www.openpkg.org/ • The Written Word: http://www.thewrittenword.com/
AG Rechnerbetrieb SS 2006 pkgsrc 12 von 12