Universität Bielefeld Rainer Orth

Portable Software-Installation mit

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 , Mac OS X, Solaris; gut, wenn auch IRIX und Tru64

• Option: native Package-Systeme (Blastwave, Sun Freeware, , . . . ) – 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 (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 : 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 //; bmake install • Schritte beim Bauen: fetch, checksum, extract, , tools, wrapper, configure, build, test, install, package • Möglichkeit lokaler Patches • Security-Checks mit audit_packages

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