BSDForen.de  

Zurück   BSDForen.de > FreeBSD > FreeBSD - Installation

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 29.08.2012, 08:55   #1
Sloop
Registered User
 
Registrierungsdatum: Dec 2006
Beiträge: 187
Programme installieren

Moin,

ich habe mir FreeBSD 9 installiert, um es zu erlernen und auszuprobieren. Ich halte mich dabei an das deutsche Handbuch. Momentan häng ich an einem Verständnisproblem was di e Installation von Programmen betrifft. Laut Handbuch kann man entweder durch Ports installieren, oder durch fertige Pakete. Meine Ports habe ich mit csup aktualisiert gehabt, aber testweise anschließend noch mit portsnap fetch && portsnap extract && portsnap update.

Wenn ich nun etwas bestimmtes suche, dann führe ich ein "whereis programmname" aus und wechsle in das entsprechende Verzeichnis in den Ports. Dort führe ich ein "make install clean" aus, das dauert dann natürlich entsprechend des Programmes da ja alles konfiguriert und kompiliert werden muss. Anschliessend mach ich noch ein "rehash", damit das neu installierte Programm in meiner shell auch auffindbar ist (wegen dem Pfad). Ich hoffe soweit habe ich alles richtig gemacht.

Mein Wunsch: ich würde gerne Pakete installieren, ohne auf den langen Kompilierprozess waren zu müssen. Ich möchte pkg_cutleaves als Beispiel installieren. Ich habs mit "pkg_add -r pkg_cutleaves" versucht, aber das klappt wohl so nicht, denn ich krieg die Fehlermeldung:
[quote
Fetchinf ftp://ftp.freebsd.org/pub/FreeBSD/po..._cutleaves.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/po...l-5.12.4_3.tbz... Done.
pkg_add: package 'perl-5.12.4_3' conflicts with perl-5.14.2_2
pkg_add: please use pkg_delete first to remove conflicting package(s) or -f to force installation
pkg_add: pkg_add of dependency 'perl-5.12.4_3' failed!
[/quote]

Ich versteh was er mir sagt, aber ich versteh nich wieso es dazu kommt. Sollte er mich nicht fragen, ob er das abhängige Paket auch updaten sollte, um so das Programm pkg_cutleaves vollständig installieren zu können? Ist das Verhalten normal?

Bitte nicht hauen, ich komm aus der Debian-Ecke (dpkg und apt-get) und daher bin ich noch etwas verwirrt

Danke im Voraus.
Sloop ist offline   Mit Zitat antworten
Alt 29.08.2012, 10:21   #2
Columbo0815
Kaffeemann
 
Registrierungsdatum: Apr 2007
Beiträge: 1.185
Du vermischst mit dem pkg_add Pakete und Ports. Das kann gut gehen, das kann aber auch in die Hosen gehen. Die Ports installieren automatisch Abhängigkeiten, bei dir ist so zB perl bereits in einer aktuelleren Fassung installiert als pkg_cutleaves braucht.

Mein Vorschlag: Verwende NUR ports. pkg_cutleaves liegt iirc in ports-mgmt. Ans Herz legen möchte ich dir noch "portmaster", was ebenfalls dort liegt. Damit kannst du bequem deine installierten Ports aktuell halten.

Die Pakete sind imho (!) einfach zu alt (ok, bei Debian stable auch) weshalb du dir die Zeit nehmen solltest. Irgendwann in absehbarer Zeit soll woll ein neues Paketsystem für FreeBSD kommen, damit "wird dann alles besser"

HTH!
Gruß
Columbo0815 ist offline   Mit Zitat antworten
Alt 29.08.2012, 10:30   #3
Sloop
Registered User
 
Registrierungsdatum: Dec 2006
Beiträge: 187
Also du meinst, ich sollte alle Programme die ich installiere mit "make install clena" aus den Ports installieren? Das würde bedeuten, dass wirklich jedes einzelne Programm erst kompiliert werden müsste, richtig? Das dauert ja ewig und vor allem bei GNOME, KDE oder Firefox und so würde das ja ewig dauern. Gibts keine Alternative? Auf Debian kompilier ich ja auch nicht, sondern ich nutze dessen Paketmanager 'dpkg' und installiere mir das Paket. Er erkennt welche Abhängigkeiten von Nöten sind, warnt mich und fragt mich wenn es wichtig ist.

Hmm...

EDIT: Ah ich verstehe. Ich hab mir erstmal mit "make install clean" den portmanager installiert. Ich sag jetzt einfachhalber mal frech, dass der portmanager quasi eine Art Frontend für die Ports sei. Mit folgendem Befehl kann ich also das Programm "pkg_cutleaves" installieren. Der Portmanager erkennt dabei automatisch die Abhängigkeiten und installiert die notwendigen Pakete, die für pkg_cutleaves von Nöten wären. Ich setze also ab:

Code:
portmanager ports-mgmt/pkg_cutleaves
Dann arbeitet der durch, bis er mir schließlich diese Probs zeigt...
Zitat:
[...]
===> Cleaning for /ports-mgmt/pkg_cutleaves
reverting bsd.port.mk patch -=>cd /usr/ports/Mk; patch -R < /usr/local/share/portmanager/patch-bsd.port.mk-0.3.6;
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------------
|--- /usr/ports/Mk/bsd.port.mk Tue Nov 8 01:02:51 2005
|+++ bsd.port.mk Wed Nov 16 02:16:57 2005
--------------------------------
Patching file bsd.port.mk using Plan A...
Hunk #1 failed at 2049.
1 out of 1 hunks failed--saving rejects to bsd.port.mk.rej
done
------------------------------
Port Status Report
------------------------------
00001 haveerl-5.14.2_2 /lang/perl5.14
CURRENT
00002 havekg_cutleaves-20090810 /ports-mgmt/pkg_cutleaves
CURRENT
===============
portmanager 0.4.1_9 INFO: all ports are up to date
Was ist da passiert? Ich hab den Befehl nochmal laufen lassen, dann erschien dieser Fehler am Ende nicht mehr. Anschließend noch ein "rehash" und pkg_cutleaves ist nun vorhanden. Was ist aber schiefgelaufen?? Muss ich mir Sorgen machen?

Geändert von Sloop (29.08.2012 um 10:39 Uhr).
Sloop ist offline   Mit Zitat antworten
Alt 29.08.2012, 11:14   #4
s-tlk
Lion King Fan
 
Benutzerbild von s-tlk
 
Registrierungsdatum: May 2004
Ort: Pride Rock
Beiträge: 1.328
Meinst du mit "FreeBSD 9" Stable, oder FreeBSD 9.0? Mit Stable, oder mit FreeBSD 9.1 RC-1 kannst du schon das "neue" package system tool "pkg" benutzen bzw. das bootstraping tool ist schon im Basissystem vorhanden. Andernfalls muesstes du es erst aus den ports installieren. Dir als Debian Nutzer wird das sicher eher liegen, da es repositories verwendet und im Prinzip die selben Faehigkeiten zur Aufloesung von komplexen Abhaengigkeiten und Updates der Pakete wie die klassischen Linux package manager bietet. Bedenke aber das es inkompatibel zu den klassischen pkg_* tools ist, weil es voellig neuentwicklung wurde, um auf die komplexer gewordenen Probleme der Paketverwaltung einzugehen. Ausserdem befindet es sich im Moment immernoch in der Testphase. Die offiziell erste Version wird wohl erst mit FreeBSD 1.0 erscheinen, aber nach meinen Erfahrungen ist es schon ziemlich ausgereift. pkg_cutleaves wird damit, nebenbei gesagt auch ueberfluessig.

Dein Problem oben, ist wohl das du schon eine aktuellere Perl Version installiert hast als die gegen die die Pakete gebaut wurden. Deshalb versuchte er auch diese Version zu installieren, was natuerlich scheitert, da sie schon installiert ist.
Das Phaenomen, das Ports beim zweiten mal erst "durchbauen" kann viele Ursachen haben. Manchmal kommt halt da was durcheinandern, besonders wenn man neu in dem System ist. Ein make clean loescht alle work Verzeichnisse und die evtl. falsch gebaut, oder gelinkt wurden. Deshalb kann es dann nach einem zweiten Lauf funktionieren.
__________________
HP: Simba - The Lion King
s-tlk ist offline   Mit Zitat antworten
Alt 29.08.2012, 11:54   #5
Sloop
Registered User
 
Registrierungsdatum: Dec 2006
Beiträge: 187
öööhm, gute Frage nächste Frage also
Code:
uname -a
mein dazu:
FreeBSD 9.0-RELEASE

Danke für deine ausführliche Erklärung. pkg scheint also in dem Falle wirklich all diese Probleme zu lösen, ich bin gespannt.
Sloop ist offline   Mit Zitat antworten
Alt 30.08.2012, 09:35   #6
Sloop
Registered User
 
Registrierungsdatum: Dec 2006
Beiträge: 187
@s-tlk: kannst du mir vllt. noch den Unterschied zwischen FreeBSD9 Stable und 9.0 erklären. Wie verhält sich das nun? und wie überprüfe ich, ob ich den von dir genannten neuen Paketnamanger nutzen kann oder nicht?
Sloop ist offline   Mit Zitat antworten
Alt 30.08.2012, 09:43   #7
laemodost
FreeBSD User
 
Registrierungsdatum: May 2003
Ort: Düsseldorf
Beiträge: 1.705
laemodost eine Nachricht über ICQ schicken
FreeBSD-STABLE bezeichnet immer die letzte "Spitze" des 9er Zweiges von FreeBSD. Daraus wird dann jeweils zu einem bestimmten Zeitpunkt ein RELEASE erzeugt.

FreBSD 9.0-RELEASE ist dann die offiziell freigegebene Version 9.0.

Hier einmal grafisch:
laemodost ist offline   Mit Zitat antworten
Alt 30.08.2012, 20:21   #8
Sloop
Registered User
 
Registrierungsdatum: Dec 2006
Beiträge: 187
Hab ich jetzt noch nicht wirklich begriffen wenn ich ganz ehrlich bin. Also ist FreeBSD 9.0-RELEASE undgleich FreeBSD-STABLE (aus heutiger und aktueller Sicht) ? Mein uname -a hat mir FreeBSD 9.0-RELEASE ausgespuckt. Was ist dann FreeBSD-Stable ? Ist es nicht dasselbe?
Sloop ist offline   Mit Zitat antworten
Alt 31.08.2012, 07:08   #9
laemodost
FreeBSD User
 
Registrierungsdatum: May 2003
Ort: Düsseldorf
Beiträge: 1.705
laemodost eine Nachricht über ICQ schicken
Also: Die eigentliche Entwicklung und alle Neuerungen werden in CURRENT gemacht, der waagerechte Pfeil oben in der Grafik.
Von CURRENT wird dann zu einem Zeitpunkt X ein neuer Zweig erstellt, oben z.B. der 4er Zweig wird dann zum 4.0-RELEASE. An einem RELEASE wird nichts mehr geändert, von Patches für kritische Sicherheitslücken abgesehen.
Neuigkeiten, die in CURRENT eingehen, werden dann, sofern möglich, auf die Zweige zurück portiert, ein sog. MFC = Merge From Current, jedoch _nicht_ mehr in ein RELEASE, sondern in STABLE.
STABLE bezeichnet den neuesten Stand eines Zweiges, du hast in STABLE also i.d.R. neuere Treiber und Features als im vorherigen RELEASE.
Zu einem Zeitpunkt y wird dann aus einem STABLE, nachdem es sich als stabil genug erwiesen hat, ein weiteres RELEASE, also dann z.B. 4.1.

Die Grafik ist allerdings schon einige Jahre alt, heute sind wir bei 10-CURRENT und haben noch einen unterstützten 8er und 9er Zweig.
laemodost ist offline   Mit Zitat antworten
Alt 31.08.2012, 09:21   #10
Sloop
Registered User
 
Registrierungsdatum: Dec 2006
Beiträge: 187
vielen Dank für die ausführliche Erklärung und Veranschaulichung durch die Grafik.
Sloop ist offline   Mit Zitat antworten
Alt 31.08.2012, 17:12   #11
pit234a
Registered User
 
Registrierungsdatum: Jul 2006
Beiträge: 1.611
es hat aber niemand bisher pkg_upgrade erwähnt.

portupgrade (portinstall) und portmaster sind sicher die klassischen Tools um Anwendungen aus den Ports zu installieren, aber wenigstens bei portinstall kann man sich auch ausschließlich auf Pakete beschränken. Sie den Auszug aus der man
Code:
-P --use-packages Use packages instead of ports whenever available. portupgrade searches the local directories listed in PKG_PATH for each package to install or upgrade the current installation with, and if none is found, pkg_fetch(1) is invoked to fetch one from a remote site. If it doesn't work either, the port is used. However, the source will still be used if the port is listed in USE_PORTS_ONLY variable in pkgtools.conf. -PP --use-packages-only Never use the port even if a package is not avail- able either locally or remotely, although you still have to keep your ports tree up-to-date so that portupgrade can check out what the latest version of each port is
Das bleibt dann natürlich eher theoretisch, wenn durch Versionsmismatches schließlich doch alles aus den Ports gebaut wird, etwa, weil manche Anwendungen ja keine Pakete im offiziellen "Repositry" haben.

pkg_add und das neuere und elegantere pkg_upgrade sind ja für den Umgang mit Paketen geschaffen worden und meine eigenen Erfahrungen mit pkg_upgrade sind sehr gut. Es gibt nur eines, das mir gelegentlich Kopfzerbrechen bereitet: es fehlt die Option --keep going um trotzdem weiter zu machen, wenn etwas mal misslingt. Manche Pakete können schon mal Fehlerhaft sein oder werden falsch heruntergeladen und funktionieren erst im nächsten Versuch, wieso auch immer.
Weil ich bereits mehrere FreeBSD Systeme habe, kenne ich meine Auswahl an installierten und gewünschten Paketen relativ gut und kann diese als ein Textfile ausgeben und dann über xargs an pkg_upgrade oder auch pkg_add weiterleiten und so mehr oder weniger das komplette System in einem Rutsch fix und fertig bekommen.

Es geht also durchaus auch heute bereits, Systeme nahezu komplett aus Paketen zu installieren. Das hörte sich meiner Ansicht nach bisher leicht anders an.
Das Problem, das du nun hast, kommt dadurch, dass du einiges aus den Ports genommen hast und dazu gibt es nicht die passenden Versionen in den Pakten.
Du kannst das ignorieren (was niemand ernsthaft empfehlen wird) und einfach die Versionen kreuz und quer betreiben. Vieles wird trotzdem gut und richtig laufen und bei manchem kann oft einfach repariert werden. Gelegentlich kann das sogar der Ausweg der Wahl sein, wenn plötzlich ein Paket fehlt, das in einer älteren Version noch vorhanden war und nun nicht alles gleich aus Ports gebaut werden soll. Meiner Meinung nach lohnt sich ein solcher Versuch, aber man nennt das nicht umsonst ein unsauberes System.
Willst du ein sauberes System, brauchst du entweder alles aus den Ports, oder alles aus den Paketen, damit deine Versionen stimmen. Du könntest also einfach deinstallieren, was du nun aus den Ports genommen hast und die Pakete dafür verwenden.

Eine gute Wahl ist make config vor einem make install clean aus den Ports. Wenn es Optionen gibt, müssen die gesetzt werden.
portmaster kann eine Art Kontroll-Lauf machen (habe ich mir notiert: portmaster -n -D --no-confirm) und mehr oder weniger alle aufgelösten Ports nach deren Optionen fragen. Damit kannst du vor dem eigentlichen Loslegen, diese schon mal bestimmen. Du kannst auch (durch einen Eintrag in der make.conf) alles auf YES stellen, was ich nicht sinnvoll finde, denn dafür will ich ja gerade die Optionen haben, um darüber bestimmen zu können.
__________________
“Two of the most famous products of Berkeley are LSD and Unix.
I don’t think that this is a coincidence.”
From: The UNIX-HATERS Handbook, ISBN 1-56884-203-1
pit234a ist offline   Mit Zitat antworten
Antwort


Dieses Thema betrachten zurzeit 1 Personen. (0 registrierte Benutzer und 1 Gäste)
 
Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus
Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Probleme mit FTP am Router - kann keine Programme installieren DonTermi OpenBSD - Allgemein 4 03.06.2009 12:32
OpenBSD 4.2; Programme lassen sich nicht installieren Columbo0815 OpenBSD - Pakete und Anwendungen 5 13.11.2007 09:01
FreeBSD Samba PDC Howto Highfish Howtos 103 25.09.2006 21:14
Kann programme via ports nicht installieren piotr FreeBSD - Anwendungen und Ports 2 24.03.2006 09:24
Wie Programme aus /usr/src installieren? marty OpenBSD - Installation 2 11.03.2006 14:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr.


Powered by vBulletin (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.