OpenBSD Ports

E

ex-user_280

Guest
Hallo,

ich habe ein paar Fragen zu den Portupdates von OpenBSD. Ich konnte leider keine aussagekräfigen Posts dazu finden.

- Ich starte das Portupdate so
cd /usr
cvs -q get -rOPENBSD_3_5 -P ports

Sehe ich das richtig, dass es das selbe wäre wenn ich an dieser Stelle die ports.tar.gz vom FTP-Server holen könnte und diese unter /usr entpacken würde?

Danch kann ich von Zeit zur Zeit mit
cd /usr/ports
cvs -q up -rOPENBSD_3_5 -Pd

die neusten Patches holen.
Wenn ich aber schon nach dem ursprünglichen Holen ports einstalliert habe und nach dem weiteren Update neuere Versionen vorliegen habe, kann ich dann ein cvs -q up -rOPENBSD_3_5 -Pd machen und unter /usr/ports ein make ausführen?
Werden dann alle schon installierten Ports rekompiliert? Geht das überhaupt oder müssen immer alle installierten Ports nochmals installiert werden, nachdem ein Port-Update durchgeführt wurde?

Danke
Thomas
 
oenone schrieb:
du musst alle installierten ports deinstallieren und neu kompilieren.

das steht aber auch auf http://openbsd.org/ports.html

auf bald
oenone

Ich danke die für die Antwort. Ich dachte das muss ich nur tun wenn ich die Packete installiere.
Also müssen nach jedem Portupdate die Ports neu installiert werden.
Wie ist das mit den Abhängigkeiten? Ich nehme an dass alle Ports die von einem der neuer ist abhängen auch neu installiert werden muss. Sehe ich das richtig?

Ich hatte nämlich verschiedene Fehlermeldungen die aber auf einen "broken port" zurückzuschließen waren.

- Thomas
 
ts schrieb:
Ich danke die für die Antwort. Ich dachte das muss ich nur tun wenn ich die Packete installiere.
Also müssen nach jedem Portupdate die Ports neu installiert werden.
Wie ist das mit den Abhängigkeiten? Ich nehme an dass alle Ports die von einem der neuer ist abhängen auch neu installiert werden muss. Sehe ich das richtig?

ja, du hast es erfasst :)

auf bald
oenone
 
Sind eigentlich alle Ports dynamisch gelinkt?
Dann ist es klar das bei einem Systemupdate die Ports erneuert werden müssen.

- Thomas
 
OK, danke für die Antworten. Dann lag ich mit meiner Vermutung (Sytemupdate = alle Ports updaten) nicht so falsch.

Ich finde es halt extremst nervig, bei jedem Versionssprung alle Ports neu zu installieren.
Habe ich einen Snapshot installiert, darf ich nur die Ports installieren, die zum Zeitpunkt des Snapshots aktuell waren.
Habe ich hingegen immer -current laufen, muß ich quasi immer damit rechnen, das der ein oder andere Port nachinstalliert werden muss.

Entweder habe ich irgendwas grundlegend missverstanden, oder es ist bei OBSD nicht möglich, ein älteres System (sagen wir mal 3.4) problemlos, d. h. ohne nochmal jeden Port zu installieren und jede Konfig anzufassen, auf eine aktuelle Version upzudaten.
 
ReinerWein schrieb:
OK, danke für die Antworten. Dann lag ich mit meiner Vermutung (Sytemupdate = alle Ports updaten) nicht so falsch.

Ich finde es halt extremst nervig, bei jedem Versionssprung alle Ports neu zu installieren.
Habe ich einen Snapshot installiert, darf ich nur die Ports installieren, die zum Zeitpunkt des Snapshots aktuell waren.
Habe ich hingegen immer -current laufen, muß ich quasi immer damit rechnen, das der ein oder andere Port nachinstalliert werden muss.

Entweder habe ich irgendwas grundlegend missverstanden, oder es ist bei OBSD nicht möglich, ein älteres System (sagen wir mal 3.4) problemlos, d. h. ohne nochmal jeden Port zu installieren und jede Konfig anzufassen, auf eine aktuelle Version upzudaten.

Mit ging es genau so. Aber leider muss bei jedem Update auch die Ports angefasst werden.
Also nicht so oft neue Versionen installieren, dann gibt es weniger Arbeit. :D

- Thomas
 
oenone schrieb:
du musst alle installierten ports deinstallieren und neu kompilieren.

Jaein.
Man muss nur die Ports, mit den dazugehoeringen Dependencies Updaten, die sich geaendert haben.
Hier mal meine Vorgehensweise von mir:
# cvsup -L 2 -g stable-ports
# cd /usr/ports
# make index
# cd /usr/ports/infrastructure/build
# ./out-of-date
Make sure your ports tree is up-to-date
Generate specs
Check new package names
Record old package names
Show discrepancies
[ ... diff Like Output ... ]
# pkg_delete -f dependencies [PAKETNAME]
# [...usw]
....
und dann den Port oder die Ports wieder neu installieren.

Es gibt sogar die Moeglichkeit, eine Datei zu erstellen die eine Liste von Ports beinhaltet ... (sieht dann so aus)

www/mozilla
graphics/gimp/stable
archivers/zip
...
und diese Ports bzw. PKGs werden dann (Plus "Abhaengigkeiten") mit einem make Aufruf installiert. Leider habe ich den "Aufruf" gerade nicht zur Hand. Koennte ich gegebenenfals nach Liefern :)
 
ts schrieb:
Also nicht so oft neue Versionen installieren, dann gibt es weniger Arbeit. :D

Naja, das kann man sich halt leider nicht immer aussuchen. Mal gibt es Sicherheitslücken, mal werden fehlende Funktionen nachgeschoben. Ich denke da an die enorme Entwicklung von pf mit vielen tollen Features, die ich eigentlich gut gebrauchen könnte.

Aber ich habe keinen Bock, meine OBSD-Kiste alle 6-12 Monate komplett neu aufzusetzen.

Welches BSD unterliegt nicht diesen Restriktionen ? Umgeht das vielgelobt Updatesystem von Debian diese Probleme ?
 
MateJunk schrieb:
Jaein.
Man muss nur die Ports, mit den dazugehoeringen Dependencies Updaten, die sich geaendert haben.
Hier mal meine Vorgehensweise von mir:
# cvsup -L 2 -g stable-ports
# cd /usr/ports
# make index
# cd /usr/ports/infrastructure/build
# ./out-of-date
Make sure your ports tree is up-to-date
Generate specs
Check new package names
Record old package names
Show discrepancies
[ ... diff Like Output ... ]
# pkg_delete -f dependencies [PAKETNAME]
# [...usw]
....
und dann den Port oder die Ports wieder neu installieren.

Es gibt sogar die Moeglichkeit, eine Datei zu erstellen die eine Liste von Ports beinhaltet ... (sieht dann so aus)

www/mozilla
graphics/gimp/stable
archivers/zip
...
und diese Ports bzw. PKGs werden dann (Plus "Abhaengigkeiten") mit einem make Aufruf installiert. Leider habe ich den "Aufruf" gerade nicht zur Hand. Koennte ich gegebenenfals nach Liefern :)

Das werde ich heute Abend einmal ausprobieren. Ich bin auf jeden Fall daran interessiert wie die nötigen Ports (mit den Abhängigkeiten) automatisiert installiert werden können.
 
ReinerWein schrieb:
Naja, das kann man sich halt leider nicht immer aussuchen. Mal gibt es Sicherheitslücken, mal werden fehlende Funktionen nachgeschoben. Ich denke da an die enorme Entwicklung von pf mit vielen tollen Features, die ich eigentlich gut gebrauchen könnte.

Aber ich habe keinen Bock, meine OBSD-Kiste alle 6-12 Monate komplett neu aufzusetzen.

Welches BSD unterliegt nicht diesen Restriktionen ? Umgeht das vielgelobt Updatesystem von Debian diese Probleme ?


Mit anderen BSD´s kenne ich mich nicht aus.
Aber das Debianupdatesystem ist auf jeden Fall in diesem Punkt überlegen.
Bei Updates werden die Abhängigkeiten gelöst und installiert.
 
ReinerWein schrieb:
Naja, das kann man sich halt leider nicht immer aussuchen. Mal gibt es Sicherheitslücken, mal werden fehlende Funktionen nachgeschoben. Ich denke da an die enorme Entwicklung von pf mit vielen tollen Features, die ich eigentlich gut gebrauchen könnte.
Yep.
Aber ich habe keinen Bock, meine OBSD-Kiste alle 6-12 Monate komplett neu aufzusetzen.
Musst du auch nicht. Siehe mein Beitrag oben. http://www.bsdforen.de/showpost.php?p=54254&postcount=10
Welches BSD unterliegt nicht diesen Restriktionen ?
Restrikionen ? Das ist doch keine Restriktion. Jedes System hatt abhaengikeiten, die mit "geupdatet" werden muessen. Bei dem einen geht das automatisch, bei dem anderen halt nicht. Ich wuerde es eher als "Update-Vorgehen" bezeichnen.
Also unter FreeBSD gibt es ein Tool (unter ports/sysutils/portupgrade), das sich portupgrade nennt. Damit geht sowas automatisch.
Umgeht das vielgelobt Updatesystem von Debian diese Probleme ?
Naja, vielgelobt, viel gehasst, viel .... bla. jedes "System" hatt halt sein Vor- und Nachteile. Und du kannst nicht "Source-Basierte" Systeme mit "Bin-Basierte" Systeme vergleichen.
Ich zum Beispiel wuerde im Linux Bereich das "emerge unter Gentoo" loben.
Redhat hat das RPM "System" bzw. apt-get.
Jedes System hatt halt sein eigenes "Update vorgehen".
Unter OpenBSD muss man halt einwenig "mehr" machen (obwohl es nuetzliche Tools gibt s.o.), dadurch lernt man aber mehr und schneller vom System kennen.
 
Zuletzt bearbeitet:
ts schrieb:
Das werde ich heute Abend einmal ausprobieren. Ich bin auf jeden Fall daran interessiert wie die nötigen Ports (mit den Abhängigkeiten) automatisiert installiert werden können.

Wie gesagt, man erstellt eine Datei mit einer Liste von den ports die installiert werden sollen. In dieser Datei/Liste koennen auch die FLAVORS eines Paketes mit uebergeben werden.
Zum Beispiel:
# emacs /root/make-ports
Code:
www/mozilla
archivers/zip
security/dsniff,no_x11
x11/qt3,no_mysql,-html
Abspeichern und dann ...
# cd /usr/ports
# make BUILD=Yes SUBDIRLIST=/root/make-ports install

Das wars :)
 
Zuletzt bearbeitet:
MateJunk schrieb:
Wie gesagt, man erstellt eine Datei mit einer Liste von den ports die installiert werden sollen. In dieser Datei/Liste koennen auch die FLAVORS eines Paketes mit uebergeben werden.
Zum Beispiel:
# emacs /root/make-ports
Code:
www/mozilla
archivers/zip
security/dsniff,no_x11
x11/qt3,no_mysql,-html
Abspeichern und dann ...
# cd /usr/ports
# make BUILD=Yes SUBDIRLIST=/root/make-ports install

Das wars :)

Danke dir ich werde es ausprobieren.
 
MateJunk schrieb:
Jaein.
# cvsup -L 2 -g stable-ports
# cd /usr/ports
# make index
# cd /usr/ports/infrastructure/build
# ./out-of-date
Make sure your ports tree is up-to-date
Generate specs
Check new package names
Record old package names
Show discrepancies
[ ... diff Like Output ... ]
# pkg_delete -f dependencies [PAKETNAME]
# [...usw]
....
und dann den Port oder die Ports wieder neu installieren.
Finde ich gut, aber was ist wenn ein es einen neuen gcc oder einen neuen glibc gibt? soll ich erst gcc mit pkg_delete -f dependencies löschen und dann neu bauen? Wie kann ich gcc ohne gcc bauen?
 
Zuletzt bearbeitet:
gcc gehört zum System, da kannst du mit den ports bzw. pkg-tools nicht viel anstellen. und die glibc gibt es auch nicht bei BSD. Da gibt es eine eigene libc und die gehört auch zum System. Hier geht es aber um ports.

auf bald
oenone
 
Ups. Das wusste ich nicht...

Ich warte ja immer noch auf mein OpenBSD, welches die Post noch nicht gebracht hat..
 
Zurück
Oben