Ports & Packages Verständnisproblem

Schoitl

Member
Hallo

Ich habe leider ein Verständnisproblem mit dem ganzen Ports & Packages Zeugs:
Die Dokus (http://www.openbsd.org/de/ports.html und das gleiche in Englisch) sind mir bekannt ...

Auf meiner neu installierten OpenBSD Kiste (mit Original CDs) gibts kein Verzeichnis wie z.B. /usr/ports/archivers/unzip wie es in manchen Dokus auftaucht ...

Auf den CDs sind viele Packages mit drauf, wird das ganze nun nach /usr/ports kopiert, so habe ich keine Verzeichnisstruktur nach Anwendungsgruppen.

Muss ich die Datei ports.tar.gz immer wieder (sie wird ständig aktualisiert) runterladen und nach /usr/ports entpacken, damit ich meinen ports tree bekomme?

Gehe ich der Annahme richtig, dass es sich hier um 2 Varinten handelt:
1. Möglichkeit: ich kopier alles von CD in ein Verzeichnis, und kann dann von dort aus ein beliebiges Programm per PKG_ADD installieren, wobei das Programm ev. schon veraltet ist, oder

2. Möglichkeit; ich lade regelmäßig ports.tar.gz runter und entpacke sie nach /usr/ports, setze den Parameter mit "setenv PKG_PATH ftp://ftp.openbsd.org/pub/OpenBSD/3.3/packages/i386/" und kann dann immer die aktuellsten Versionen installieren

Danke für Rückmeldungen

Schoitl
 
Hallo erstmal


Original geschrieben von Schoitl
Hallo

Ich habe leider ein Verständnisproblem mit dem ganzen Ports & Packages Zeugs:
Die Dokus (http://www.openbsd.org/de/ports.html und das gleiche in Englisch) sind mir bekannt ...



O.K.

Auf meiner neu installierten OpenBSD Kiste (mit Original CDs) gibts kein Verzeichnis wie z.B. /usr/ports/archivers/unzip wie es in manchen Dokus auftaucht ...

Du hast doch den ports-tarball entpackt, oder?

Und was unzip angeht, so gibt es ein unzip-Verzeichnis in den Ports.

Hier kannst du es nachprüfen: http://www.openbsd.org/cgi-bin/cvsweb/ports/archivers/unzip/

Auf den CDs sind viele Packages mit drauf, wird das ganze nun nach /usr/ports kopiert, so habe ich keine Verzeichnisstruktur nach Anwendungsgruppen.


Nun, ich sehe, das du nicht präzise genug gelesen hast.

Packages sind was anderes und werden nicht in die Ports-Verzeichnisse abgelegt.

Natürlich gib es auch ein Packages-Verzeichnis in den Ports, weil ja die neukompilierten packages dort abgelegt werden. Jedoch technisch gesehen sind Packages was anderes und sollten am Besten in einem eigenen Verzeichnis abgelegt werden.

Benutze doch einfach mkdir /home/dein-verzeichnis/packages.

Oder lege es sonstwo ab, wo es genügend Plattenplatz gibt.

Muss ich die Datei ports.tar.gz immer wieder (sie wird ständig aktualisiert) runterladen und nach /usr/ports entpacken, damit ich meinen ports tree bekomme?

Na, na ... da hat doch einer nicht gut genug gelesen.

In der FAQ steht detailliert geschrieben, wie man die Ports updated.

Hier der Link: http://www.openbsd.org/de/ports.html

Und um deine Frage zu beantworten: NEIN muss man nicht.

Einmal werden sie enpackt und ab dann nur noch per CVS upgedated.

Gehe ich der Annahme richtig, dass es sich hier um 2 Varinten handelt:
1. Möglichkeit: ich kopier alles von CD in ein Verzeichnis, und kann dann von dort aus ein beliebiges Programm per PKG_ADD installieren, wobei das Programm ev. schon veraltet ist, oder

Nicht alle Packages sind auf der CD.

Daher wirst du viele Packages per FTP holen müssen, oder sie aus den Ports kompilieren.

2. Möglichkeit; ich lade regelmäßig ports.tar.gz runter und entpacke sie nach /usr/ports, setze den Parameter mit "setenv PKG_PATH ftp://ftp.openbsd.org/pub/OpenBSD/3.3/packages/i386/" und kann dann immer die aktuellsten Versionen installieren

Wenn du meine obige Ausführung gelesen hast, dann wirst du es wissen, wie man es macht.

Und was hat bitteschön die PKG_PATH mit dem Ports-tarball zu tun.

Die PKG_PATH zeigt an, wo die PACKAGES zu finden sind, nicht wo die Ports-Tarballs geholt werden können.

DU MUSST LESEN.

Solche Fragen sollten eigentlich nicht auftreten, weil es genügend FAQs dafür gibt.

Gruß

CW
 
Zuletzt bearbeitet:
Man muss grundsätzlich unterscheiden zwischen Ports und Packages.
Packages sind fertig kompilierte Anwendungen wie man sie aus der Windows-Welt kennt. Man installiert diese mittels pkg_add.
Daneben gibt es noch die eigentliche und usprüngliche Variante Software zu installieren, nämlich die Ports.
Die Ports sind aber keine fertige Software, im Grunde sind die Ports überhaupt keine Software, sondern nur ein Verzeichniss in dem Anleitungen liegen wo Software im Quelltext zu finden ist, mit welchen Optionen man diesen Quelltext übersetzen muss und von was er abhängig ist.
Was du also machst wenn du über die Ports installierst ist deinem Computer zu sagen "Befolge bitte diese und jene Anleitung".
Was du effektiv machst ist, wenn du dir die Ports.tgz ziehst und nach /usr/ports entpackst ist das Besorgen der aktuellen Anleitung.
Im Falle der Packages ist eine solche Anleitung natürlich unsinnig, denn dabei hat ja schon jemand andere's Computer die ganze Arbeit erledigt, deinem eigenen musst du nur noch sagen, wo das Package liegt.
Für das OpenBSD Projekt ist es allerdings recht schwer die ganzen Binarys (also Packages) immer neu übersetzt aktuell zu halten, da für eine ziemlich dicke Maschine Nötig ist, Compiler-Läufe dauern eben. Deshalb werden vor allem die Ports aktuell gehalten, das ist ja "nur" eine Textdatei die man editieren muss.
Fazit: Wenn du die Ports haben willst dann hohle sie dir mittels CVS oder über die Ports.tgz (unbedingt Version beachten).
Wenn du allerdings die Packages benutzen willst um dir die ewigen Compiler-Läufe zu ersparen dann sind die CDs die Waffe der Wahl.

In der Hoffnung etwas Klarheit gebracht zu haben
buebo
 
Für die Nachwelt und alle anderen suchenden nun nochmals kurz zusammengefasst:

Vorausgesetzt du benutzt 3.3, dann dieses runterladen:
ftp://ftp.openbsd.org/pub/OpenBSD/3.3/ports.tar.gz

mit tar xfvz ports.tar.gz nach /usr entpacken,

Wenn du nun z.B. nach /usr/ports/shells/bash2 wechselst und dort make install && make clean eingibst, wird die bash installiert
 
Schoitl schrieb:
...Wenn du nun z.B. nach /usr/ports/shells/bash2 wechselst und dort make install && make clean eingibst, wird die bash installiert...
Bin OpenBSD-Neuling: Ich dachte seither immer mit make clean wird die Sache wieder deinstalliert?! Warum erst kompilieren und dann wieder deinstallieren??

Verwechsel ich da wohl gerade was?

ciao

overle
 
Mit "make clean" werden nur alle Sachen, die vom Kompilieren in /usr/ports/../<port>/ uebrig geblieben sind wieder geloescht. Um einen Port zu deinstallieren einfach "make deinstall" benutzen.

-Sascha
 
AHA :apaul: !! kann einer von euch beiden bitte noch kurz die /etc/shells posten?
Ich glaube meine hat´s nämlich gerade verspult... Habe OpenBSD 3.6! Habe grad über Ports BASH 3.0 compiliert und glaube ich einen kleinen fehler gmacht beim adden in selbiger...

Vielen Dank!

ciao

overle
 
okay. was fuer eine art von system moechtest du denn gerne fahren? ein megasicheres?

dann empfehle ich dir folgende /etc/shells:
Code:
#       $OpenBSD: shells,v 1.5 1997/05/28 21:42:20 deraadt Exp $
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/dev/null
/usr/bin/false

oder aber, falls du viel tippen musst:
Code:
#       $OpenBSD: shells,v 1.5 1997/05/28 21:42:20 deraadt Exp $
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/usr/bin/vi

dann gibts auch noch die moeglichkeit fuer ganz verwirrte leute:

Code:
#       $OpenBSD: shells,v 1.5 1997/05/28 21:42:20 deraadt Exp $
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/usr/games/rot13

was mich zu den spielernaturen bringt:
Code:
#       $OpenBSD: shells,v 1.5 1997/05/28 21:42:20 deraadt Exp $
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/usr/games/adventure
/usr/games/arithmetic
/usr/games/atc
/usr/games/backgammon
/usr/games/banner
/usr/games/battlestar
/usr/games/bcd
/usr/games/boggle
/usr/games/bs
/usr/games/caesar
/usr/games/canfield
/usr/games/cfscores
/usr/games/cribbage
/usr/games/factor
/usr/games/fish
/usr/games/fortune
/usr/games/gomoku
/usr/games/grdc
/usr/games/hack
/usr/games/hangman
/usr/games/hunt
/usr/games/huntd
/usr/games/mille
/usr/games/monop
/usr/games/morse
/usr/games/myman
/usr/games/nInvaders
/usr/games/number
/usr/games/petris
/usr/games/phantasia
/usr/games/pig
/usr/games/pom
/usr/games/ppt
/usr/games/primes
/usr/games/quiz
/usr/games/rain
/usr/games/random
/usr/games/robots
/usr/games/rot13
/usr/games/sail
/usr/games/snake
/usr/games/snscore
/usr/games/teachgammon
/usr/games/tetris
/usr/games/trek
/usr/games/wargames
/usr/games/worm
/usr/games/worms
/usr/games/wump

oder aber, weil dus bist, hier meine /etc/shells:
Code:
#       $OpenBSD: shells,v 1.5 1997/05/28 21:42:20 deraadt Exp $
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/sh
/bin/csh
/bin/ksh
/usr/local/bin/bash
/usr/local/bin/zsh
/usr/local/bin/rc
/usr/local/bin/tcsh
/usr/local/bin/ladsh4

ich hoffe dir damit geholfen zu haben
 
eigentlich solltest du /etc/shells nicht anfassen müssen, das wird automatisch gemacht (zumindest ist es das bei zsh der fall).

auf bald
oenone
 
Zurück
Oben