Paketmanager, welcher ist der Richtige?

ShawnStein

Anfänger
Hallo liebes Forum,

Ich habe mich jetzt endlich mal dazu getraut FreeBSD 10 auf einer virtuellen Maschine zu installieren und damit so zu arbeiten, dass ich eventuell meinen derzeitigen Ubuntu-Server ersetzen kann.

Zwar Bedarf die Navigation in der Konsole keine große Umstellung für mich, die der Paketinstallation allerdings schon. Meistens suche ich noch nach Installationsanleitungen für das jeweilige Programm, was ich haben möchte (z.B. nano). Wenn ich bei den Anleitungen mal davon trenne, dass vieles vor dem Release zu FreeBSD 10/9 entstanden ist, bleiben mir immer noch eine handvoll Alternativen, die aber scheinbar nicht parallel funktionieren. Letztlich bin ich meistens dazu dann gezwungen einen neuen Snapshot zu laden, um den alten Zustand des OS wiederherzustellen.

Die Dokumentation, so gut wie sie ist, bewährt sich auch nicht als Entscheidungshilfe. Mein Wunsch ist es, natürlich die breiteste Masse an Programmen zur Verfügung zu haben, wobei sich die meisten, die ich benötige sowieso überall finden lassen, davon gehe ich zumindest aus.

Mir ist der Einsatz zwischen vor-Ort-Compilen oder einem fertigen Paket auch relativ Wurst. Es muss erstmal nur funktionieren, optionale Dinge können dann später folgen.

Daher meine Kernfrage: Welche Paketverwaltung nutzt ihr zur Installation von Standardpaketen (Apache, mysql, ...) und vor allem: Warum nutzt ihr das?

Es wird kein großes Geheimnis sein, dass ich noch in den Kinderschuhen stecke und mir (Free)BSD wirklich Spaß macht, daher wäre ich für Hilfe sehr dankbar, dass ich besser mit dem OS zurechtkomme.

Besten Dank fürs Lesen und im voraus für die Hilfe.

P.S. Falls ich ein Detail nicht erwähnt habe, die aber zur Hilfe benötigt wird, dann bitte nochmal fragen.
 
Zur Paketverwaltung PKGng. Jedoch installiere ich (zumindest auf dem Server) keine fertigen Pakete damit, sondern kompiliere mir meine Anwendungen aus den Ports mittels portmaster.

Warum das Ganze:
  • PKGng hat mit FreeBSD 10 das alte pkg_install abgelöst und ist somit die einzige, zukunftsweisende Lösung für die Verwaltung der installierten Anwendungen.
  • Ich kompiliere aus den Ports da a) nicht alle Programme immer in den offiziellen Paketrepos vorliegen, b) die Versionen in den offiziellen Repos oft nicht die Optionen gesetzt haben die ich will/brauche und c) ich einst mit Poudriere meine eigenen Pakete gebaut hatte, das aber meist mehr Ärger machte als es wirklich Arbeit sparen konnte.
  • Portmaster macht die Installation und das Update von Ports sehr einfach und bringt viele Optionen mit die einem das Leben erleichtern. z.B. die Anzeige der noch zu installierenden Abhängigkeiten, das Abfragen aller Portoptionen bevor der erste Port angefangen wird zu bauen, etc.
 
Wer ich? Nein, ich frickle nix zusammen.
Das pkg ab 10 ja eh Standard ist muss ich da nix extra machen. Auf den alten Systemen hab ich WITH_PKGNG gesetzt. Sprich ich installiere per "portmaster editors/vim-lite" und deinstalliere dann halt per "pkg delete vim-lite". Update der installierten Programme per "portmaster -a" (vorher natürlich erst mal sehen was es neues gibt und was UPDATING sagt).
 
Erstmal Danke für deine Antwort Rakor.

Gerade in dem Augenblick compile ich mir einen Webserver mit 'make install' zusammen. Für meine persönlichen Vorhaben sehe ich aber irgendwie keinen Sinn darin alles immer zu compilen. Zum einen dauert es ewig, auch wenn ich mich mehr in Geduld üben müsste und zum anderen sind in der virtuellen Maschine (VMWare) keine Geräte installiert, die exotisch sind, und, kernel-technisch verwende ich immer noch das Standard-Ding aus der Installations-CD. .

Allerdings habe ich beim Schreiben dieser Zeilen einen Link bei dir gefunden, den ich für mich brauchbar finde und mir anschauen werde.

Aber mal all die Argumente beiseite: Du hattest erwähnt, dass du Programme auch aus den Ports heraus installierst, die nicht in den offiziellen Repos vorhanden sind. Ich bitte bei meiner blöden Frage um Entschuldigung, aber: Wie funktioniert das?
 
Ich würde, gerade als Anfänger, Binrärpakete nehmen. Hier am Besten die neu eingeführten Quartalspakete. Für 10.0 haben wir im Moment 22.578 Pakete. freshports.org listet etwa 24.000 nicht beschränkte Ports, die also problemlos als Pakete angeboten werden dürfen. Ein paar Pakete gibt's halt derzeit nicht, aber wenn man die unbedingt haben möchte, oder ein Pakete mit anderen Optionen braucht, empfiehlt es sich, mit net-mgmt/poudriere die gewünschten Ports selbst kompilieren.
Hierzu nimmt man auch direkt den zu den Quartalspaketen passenden SVN Checkout.

Die die Repo-Config sieht dann so aus:
Code:
FreeBSD_quarterly: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly/",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

Falls du dann poudriere benutzt, erstellst du dir den dazugehörigen Portstree mit:

Code:
poudriere ports -c -p quarterly -m svn+https -B branches/2014Q2

Aber probier's erst mal mit den Binärpaketen, die Manpages zu pkg sind recht brauchbar, wenn's doch Probleme gibt, einfach hier fragen.
 
Wieder vorneweg: Danke für die Hilfe.

Ich habe mich sehr bei den Dokumentationen an der deutschen orientiert. Mittlerweile habe ich mir aber auch die englische Fassung angeschaut (genanntes Kapitel 5) und "poudriere" auf die Maschine gebracht. Passend war in der englischen Doku auch das Einrichten von "poudriere", allerdings mit Jails. Ergo habe ich gleich noch SVN eingerichtet und mir während der Installation davon, den Sinn/Nutzen von Jails angeschaut (so etwas kannte ich leider noch nicht). Mein Problem bzw. meine Angst ist nur, dass ich bei den vielen kleinen Nebenschritten, die ich machen muss, irgendwo wieder alles ins Nirvana schicke. Ich mein kleine außerplanmäßige Änderungen gibt es immer (Art der Architektur, Pfade, etc.), aber letztlich seh ich BSD als sehr rohes Ei. Genaueres ob das aber funktioniert kann ich noch nicht sagen, da ich aktuell noch beim Extrahieren der src.txz bin.

Gerade bin ich noch dabei die Schrittfolge von Ime zu bearbeiten. Ich weiß leider nicht den Pfad der Repository-Config, eine Google-Recherche brachte mir für alle möglichen Paketverwaltungen Abhilfe, die mir scheinbar nicht wirklich was bringen. Wenn mir jemand den Pfad zu der Config nennen könnte, wäre ich sehr dankbar.
Nachtrag: Eine Korrektur der Suchbegriffe hat mir dann doch den nötigen Pfad für pkg gebracht, trotzdem danke. Nach dem Erstellen der Repo-Config und dem Update des Portstree erhalte ich eine Fehlermeldung mit folgenden Worten:
Code:
====>> Checking out the ports tree...svn: E000061: Unable to connect to a repository at URL 'https://svn.freebsd.org/ports/branches/2014Q2'
svn: E000061: Error running context: Connection refused
====>> Error:  fail
====>> Error while creating ports tree, cleaning up.

Auf Anhieb fällt mir eine Problematik auf, deren Lösung ich aber nicht kenne: Ich musste die Repo-Config und dessen zugehörige Ordner erst erstellen. Der Pfad dazu war "/usr/local/etc/pkg/repos/", Inhalt der Repo-Datei war das von Ime genannte. Ich habe beim Update aber nie einen Pfad zu der Konfigurationsdatei angegeben, würde mich verwundern, wenn BSD das jetzt errät.

// Edit: Ich glaube. ich bin doof: Scheinbar hat er doch die URL aus der Repo-Config genommen, allerdings ist deren Server darunter nicht erreichbar.
// Edit2: Scheinbar liegt das Problem am https, da unter dem normalen Webserver http erreichbar ist.
 
Verschlüsselung ist mir erstmal Wurscht. Ich danke erstmal, mein Vorhaben hat ohne Einschränkungen funktioniert. Nun habe ich was neues vor, aber ich glaube dazu sollte ich einen neuen Thread in einem anderen Forenbereich eröffnen :D
 
Zurück
Oben