Unterschied Ports/Packages/M:Tier

the_postman

New Member
Hallo zusammen,

bevor ich für diese Frage gesteinigt werde, möchte ich versichern, dass ich sowohl man ports (7) als auch man packages (7) und auch die Ports FAQ gelesen habe. Trotzdem ist mir der Unterschied und das Zusammenspiel zwischen Ports und Packages unter OpenBSD immer noch nicht völlig klar, was vielleicht auch damit zusammenhängt, dass ich aus der Linuxwelt komme und dort nur Packages kenne.

In erster Linie geht es mir darum, wie ich die auf meinem OpenBSD installierten Programme aktuell halte. Nach der Installation habe ich sowohl syspatch als auch openup laufen lassen.
Mit beiden Tools kann ich die installierten Packages nach meinem Verständnis aktuell halten, wobei syspatch nur das base-system updatet und openup zusätzlich alle weiteren installierten Pakete. Damit ist die Aktualisierung der Anwendungen ähnlich einfach wie unter Linux. Was ist aber, wenn ich eine Anwendung aus den Ports installiert habe? Diese werden ja anscheinend nicht durch openup oder gar syspatch mitaktualisiert, oder? Oder sehe ich das richtig, dass ich dafür die OpenBSD-Mailingliste verfolgen muss und dann regelmäßig per CVS die Ports aktualisieren, in das Verzeichnis des zu aktualisierenden Ports gehen und make update laufen lassen muss? Das ist die Updateprozedur für Ports wie ich sie in verschiedenen Anleitungen gefunden habe, aber ich kann mir kaum vorstellen, dass jeder User das so umständlich betreibt.
Welche Nutzen hat in diesem Zusammenhang der Package Mirror von M:Tier? Wenn ich ein OpenBSD-stable nutze, müsste ich es doch ebenfalls durch openup und einen normalen OpenBSD-Mirror im PKG_PATH aktuell halten können, oder? Was ist da der zusätzliche Nutzen von M:Tier? Oder ist das diese Verbindung von Ports und Packages und dem Aktuellhalten derselbigen, die sich mir bisher nicht erschlossen hat?

Vielen Dank im Voraus für eine Hilfe, auch wenn die Fragen vielleicht banal erscheinen mögen.

p.
 
Ein -stable fixt nur das Basissystem bei wichtigen Bugs. Die Packages werden einmal beim Release gebaut und dann nicht wieder. Willst du hier aktuell bleiben, musst du entweder Ports selbst aktualisieren und bauen oder auf M:Tier setzen, die das mit übernehmen.
 
Hm kurz und knapp:
packages sind binarys, ports sind sind Quellcode und syspatch läd Updates fürs Basissystem

openup von mtier ist das Equivalent zu pkg_add und dient lediglich zum Updaten von packages die auch im Repo von mtier vorhanden sind. Konnte früher auch das Basissystem updaten, ob das jetzt noch geht weiß ich nicht

pkg_add kann auch Updates der Packages fahren, bei -stable sind diese jedoch immer nur zum Release des Basissystems aktuell, bei -current in der Regel alle 1-2 Tage neu

ports dienen dem Selbstkompilieren

fw_update fährt firmware-updates

Ports sind so weit ich weiß mit keinem der Systeme auf einfachem Weg kombinierbar
 
Ein -stable fixt nur das Basissystem bei wichtigen Bugs. Die Packages werden einmal beim Release gebaut und dann nicht wieder. Willst du hier aktuell bleiben, musst du entweder Ports selbst aktualisieren und bauen oder auf M:Tier setzen, die das mit übernehmen.
Dass -stable nur die absolut notwendigen Sicherheitsupdates erhält, war mir klar. Aber die müsste ich doch über pkg_add -u einspielen können. Wozu brauche ich dann M:Tier? Oder kommen besagte Updates nur auf anderem Wege auf mein System?




Danke, mogbo, auch für deine Antwort. Was Ports betrifft, habe ich folgendes Problem:
Code:
➜  bin doas ./out-of-date
doas (phil@vultr.guest) password:
Collecting installed packages: ok
Collecting port versions: ok
Collecting port signatures: ok
Outdated ports:

devel/quirks                   # always-update -> 0,quirks-2.414
➜  bin cdcd ../../devel/quirks
➜  quirks ls
CVS      Makefile files    pkg
➜  quirks make update
you don't have permission to write into /usr/ports/pobj/locks (1000, 1000 1000 0)
*** Error 1 in /usr/ports/devel/quirks (/usr/ports/infrastructure/mk/bsd.port.mk:2419 'update')
➜  quirks doas make update
➜  quirks doas make install
➜  quirks doas make clean
===>  Cleaning for quirks-2.414
➜  quirks cd ../../infrastructure/bin
➜  bin doas ./out-of-date
Collecting installed packages: ok
Collecting port versions: ok
Collecting port signatures: ok
Outdated ports:

devel/quirks                   # always-update -> 0,quirks-2.414
➜  bin
Warum ist laut out-of-date das Paket `quirks` immer noch out of date, obwohl ich es neu kompiliert habe? Den neusten Portstree habe ich natürlich auch ausgecheckt.
 
Aber die müsste ich doch über pkg_add -u einspielen können. Wozu brauche ich dann M:Tier?
pkg_add -u kann was du denkst, die -stable repos werden aber nicht aktualisiert, nur zu neuen release versionen. Auch keine wichtigen Bugs, garkeine! Bei -current würde pkg_add -u zB genau das machen, was du erwartest, denn dort sind die Repos "aktuell"

Lediglich wichtige fixes des Basissystems (=! packages) können mit syspatch geupdated werden siehe https://www.openbsd.org/errata63.html

mtier's openup ist prinzipiell pkg_add, jedoch mit eigenem repo, welches nicht mit dem -stable gesynct ist
 
Zurück
Oben