www.wikidata.de-de.nina.az
Mit Ports werden Software Paketverwaltungssysteme in der Welt der Unix Derivate speziell der BSD Betriebssysteme bezeichnet Ein Port bezeichnet meist ein Verzeichnis in dem sich alle fur die Installation benotigten Dateien sowie das Makefile Kochrezept befinden Inhaltsverzeichnis 1 Geschichte und Verbreitung 2 Technische Funktionsweise 2 1 FreeBSD Ports 2 2 OpenBSD Ports 2 3 NetBSD pkgsrc 2 4 MacPorts 2 5 Gentoo Linux Ebuilds 3 Weblinks 4 EinzelnachweiseGeschichte und Verbreitung BearbeitenDas erste Portsframework wurde von Jordan K Hubbard 1994 fur FreeBSD entwickelt 1 Spater wurde die Idee von OpenBSD NetBSD unter dem Namen pkgsrc und Darwin ubernommen Ports hielten auch Einzug in die Linuxwelt So haben Gentoo CRUX und Arch Linux ports ahnliche Paketverwaltungssysteme namens Portage pkgutils und Arch Build System Technische Funktionsweise BearbeitenBeim Installieren uber das Portssystem wird die Software wenn moglich automatisch aus dem Internet heruntergeladen und installiert Das Portssystem besteht lediglich aus Informationen woher man die Software bekommt welche Anpassungen fur das jeweilige System notwendig sind und wie die Software zu installieren ist Ausserdem werden alle Dateien die ein Softwarepaket installiert aufgezeichnet so dass das Paket auch wieder deinstalliert werden kann Ein Paket kann durchaus von mehreren Paketen abhangen die allesamt nach dem Herunterladen kompiliert evtl konfiguriert und dann installiert werden Dies geschieht nahezu automatisch evtl mit benotigten Zusatzangaben des Nutzers Zunachst wird ein Archiv das die Dateien der aktuellen Ports enthalt von einem Server geladen und entpackt Dieses startet automatisch einen Vorgang zur Installation des Ports und dieser kann anschliessend verwendet werden 2 Ursprunglich waren die Ports eine Sammlung von Makefiles mit Zielformaten targets fur das automatische Herunterladen Auspacken Patchen Kompilieren und Installieren von Softwarepaketen Ein weiteres target dient dem Erzeugen eines Binarpakets 3 Es konnen auch andere Skriptsprachen wie Python bei Gentoo Linux oder Tcl bei MacPorts verwendet werden 4 FreeBSD Ports Bearbeiten Unter FreeBSD befindet sich der sogenannte Portstree standardmassig unter usr ports Der Portstree besteht aus Verzeichnissen in denen sich Installationsanleitungen in Kategorien gegliedert befinden Unter usr ports Mk liegen verschiedene Makefiles die von den einzelnen Ports eingebunden werden bsd port mk ist das Hauptmakefile es enthalt die vordefinierten targets so dass die Portmakefiles meist nur einzelne Variablen setzen mussen Informationen uber installierte Ports findet man standardmassig unter var db pkg Um die Ports hat sich ein kleines Okosystem an Werkzeugen gebildet die das Installieren von Ports stark vereinfachen Nennenswert sind portsnap das automatisch den Portstree aktualisiert portmaster ein Programm das ahnlich einem Linux Paketverwaltungswerkzeug zu bedienen ist und das Installieren und Updaten von Ports noch weiter vereinfacht als es sowieso schon ist pkg cutleaves das nicht weiter benotigte Ports finden und deinstallieren kann beispielsweise Bibliotheken von denen kein installierter Port mehr abhangt oder portupgrade das ahnliche Aufgaben wie portmaster ubernimmt Die Portwerkzeuge selbst finden sich im Portstree im Subtree ports mgmt OpenBSD Ports Bearbeiten OpenBSD stellt wie FreeBSD ein Portsystem zu Verfugung Normalerweise werden die dafur notigen Dateien wie bei FreeBSD unter usr ports abgelegt Ports sind wie bei den anderen Portsystemen in Untergruppen untergliedert um die Suche nach geeigneter Software zu erleichtern Sollte man dennoch nicht fundig werden so hilft OpenBSD in dem man in das Verzeichnis wechselt in dem die Ports gespeichert sind in unserem Beispiel also usr ports und dort make search key SUCHBEGRIFF eingibt Dabei reicht der Suchbegriff von http bis zu prazisen Namen der Pakete Sollte man den Namen einer Software bereits wissen aber nicht mehr wissen wo man sie findet so kann man make search name NAME DER SOFTWARE eingeben und bekommt alle moglichen Varianten FLAVORs dieser Software Da gewisse Software Module beinhalten kann reagiert OpenBSD darauf mit sogenannten FLAVORs Ein FLAVOR ist nichts anderes als eine Art Compilerflag Mochte man beispielsweise eine Software mit PostgreSQL Unterstutzung kompilieren z B PHP so kann man dies mit dem Aufruf env FLAVOR postgresql make install tun wobei postgre ublicherweise durch psql abgekurzt wird oder die Anderung permanent in dem Makefile des betreffenden Ports anpassen Auch OpenBSD kennt ein globales Makefile wobei man zwischen dem Makefile fur das Betriebssystem etc mk conf und dem fur das Port System usr ports infrastructure mk bsd port mk unterscheiden muss Generell sorgt das OpenBSD Portsystem fur eine automatische Installation die Nachinstallation von benotigter Software sog dependencies dt Abhangigkeiten die Ubersetzung der Software aus dem Quellcode die anschliessenden Erstellung eines Binarpakets und das Ablegen dieses Paketes in usr ports packages Installierte Pakete werden entweder mittels pkg info aufgelistet oder sind wie bei FreeBSD unter var db pkg aufgefuhrt Ein Unterschied zu den FreeBSD Ports ist dass die Ports nicht direkt installiert werden Stattdessen werden da OpenBSD eigentlich binar paketorientiert ist also eigentlich vorkompilierte Pakete genutzt werden beim Installieren eines Ports implizit Pakete gebaut bei OpenBSD tar gz Dateien und diese dann ebenfalls implizit mit pkg add installiert Mit make package wird dabei nur das Paket gebaut Der Portstree wird bei OpenBSD vorrangig von Entwicklern oder Administratoren grosserer Netzwerke genutzt um die unter OpenBSD ublichen Binarpakete zu bauen 5 NetBSD pkgsrc Bearbeiten NetBSD verwendet den Begriff Port fur die Portierung von NetBSD auf eine Hardwareplattform weshalb NetBSD seinen Fork der FreeBSD ports pkgsrc genannt hat NetBSDs pkgsrc wurde mittlerweile auch auf verschiedene andere Betriebssysteme portiert unter anderem Linux Solaris und Mac OS X Siehe auch pkgsrc MacPorts Bearbeiten MacPorts fur OS X ehemals DarwinPorts verwendet statt des Programms make das Tcl Skript port Gentoo Linux Ebuilds Bearbeiten Ebuild ist ein Skript welches automatisiert Installationsprozeduren fur Software Pakete zusammenstellt Es wurde vom Gentoo Linux Projekt fur den Einsatz in der Portage Software Management System erstellt Siehe auch Portage im Artikel Gentoo LinuxWeblinks BearbeitenFreeBSD ports auf freebsd org Das FreeBSD Porter Handbuch auf freebsd org Installieren von Anwendungen Pakete und Ports auf freebsd orgOpenBSD ports auf openbsd org OpenBSD Ports Porting Guide auf openbsd org OpenBSD FAQ Packages and Ports auf openbsd orgDan Langille s Webfrontend zum FreeBSD Ports Tree auf freshports org NetBSD pkgsrc auf pkgsrc orgThe MacPorts Project Official Homepage auf macports org OpenBSD ports auf ports suEinzelnachweise Bearbeiten A Brief History of FreeBSD docs freebsd org abgerufen am 11 Mai 2016 Johannes Plotner Steffen Wendzel Linux 14 2 6 BSD Ports Rheinwerk Computing abgerufen am 11 Mai 2016 Paketverwaltung und Ports dozent maruweb de abgerufen am 11 Mai 2016 Johannes Plotner Steffen Wendzel Linux 14 2 1 Paketverwaltung und Ports Ports Rheinwerk Computing abgerufen am 11 Mai 2016 PACKAGES 7 Nicht mehr online verfugbar In OpenBSD Reference Manual mdocml bsd lv archiviert vom Original am 6 Januar 2017 abgerufen am 11 Mai 2016 nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot mdocml bsd lv Abgerufen von https de wikipedia org w index php title Ports Paketverwaltung amp oldid 229281227