BSDForen.de  

Zurück   BSDForen.de > FreeBSD > FreeBSD - Anwendungen und Ports

Antwort
 
Themen-Optionen Thema bewerten Ansicht
Alt 09.07.2012, 17:15   #1
Yamagi
Possessed With Psi Powers
 
Benutzerbild von Yamagi
 
Registrierungsdatum: Apr 2004
Ort: Schleswig-Holstein
Beiträge: 6.552
Yamagi eine Nachricht über ICQ schicken
Exclamation Der große pkg (ehemals pkgng) Thread

FreeBSD 9.1 steht vor der Tür und sehr wahrscheinlich wird damit "pkg" für einen großen Nutzerkreis das Licht der Welt erblicken. Dieser Thread soll alle Diskussionen um "pkg" sammeln, damit sie sich nicht über etliche einzelne Threads verteilen. Zudem können hier Fragen gestellt und Hinweise gepostet werden.

----

Was ist "pkg"?
"pkg" ist ein neuer Binärpaketmanager für FreeBSD. Er ersetzt die alten pkg_*-Tools wie zum Beispiel pkg_add und pkg_info. Bei der Entwicklung wurden die Erfahrungen diverser Paketmanager aus der Linuxwelt mit einbezogen, unter anderem dpkg / apt, pacman und yum. Das Interface orientiert sich grob an den alten pkg_*-Tools, wurde aber in großen Teilen neugestalltet.

Was ist "poudriere"?
"poudriere" ist ein System, um automatisiert ein pkg-Repository zu bauen. Es kann genutzt werden, um einen eigenen Paket-Cluster zu implementieren.

Was passiert mit den alten pkg_*-Tools?
Die Tools werden in 9.1 noch vorhanden sein und sehr wahrscheinlich wird es auch weiterhin ein Paket-Repository geben. Sie werden allerdings irgendwann in der Zukunft entfernt werden.

Kann ich "pkg" und die alten pkg_* Tools mischen?
Nein, es geht nicht. Entweder, oder!

Was passiert mit den Ports?
Nichts! Die Ports bleiben von der Umstellung weitgehend unberührt, profitieren jedoch von einigen "pkg"-Features. Dazu gehört u.A. besseren Dependency-Tracking.

Was ändert sich unter der Haube?
Alles! Die wichtigsten Punkte sind:
- Ein deutlich effizienteres Repository-Format
- Ein neues Paketformat (Endung ist .txz)
- Die Paketdatenbank in /var/db/pkg ist durch eine einzige Datei ersetzt
- Diverse Sicherheitschecks, darunter u.a. das Port A Dateien von Port B nicht länger überschreiben kann.

Lebt "pkg" im Basisystem?
Nein. Im Basissystem befindet sich lediglich ein Bootstrap-Tool, was das eigentliche "pkg" installiert. Hierdurch kann "pkg" jederzeit aktualisiert werden, die Porter sind bei der Implementierung neuer Funktionen nicht mehr an die sehr langen Release- und Support-Zyklen des Basissystems gebunden.

----

Eine Liste hilfreicher Links:
- http://wiki.freebsd.org/PkgPrimer
- http://wiki.freebsd.org/pkgng
- http://fossil.etoilebsd.net/poudrier...doc/index.wiki
__________________
Eure Tastatur verfügt nicht umsonst über zwei Shift-Tasten! Benutzt sie bitte, denn sonst ist es mir fast unmöglich euere Posts zu entziffern.


Geändert von Yamagi (10.07.2012 um 07:53 Uhr).
Yamagi ist offline   Mit Zitat antworten
Alt 10.07.2012, 00:12   #2
SolarCatcher
Registered User
 
Registrierungsdatum: Aug 2006
Beiträge: 297
Zitat:
Zitat von Yamagi Beitrag anzeigen
- Diverse Sicherheitschecks, darunter u.a. das Port A Dateien von Port B nicht länger überschreiben kann.
Das klingt sehr gut. Aber heißt das, dass damit Port A nicht mehr gebaut wird (einfach nur eine defensive Massnahme gegegen ungewolltes Überschreiben) oder dass verschiedene Versionen der scheinbar gleichen Datei auf dem System nebeneinander existieren können?
SolarCatcher ist offline   Mit Zitat antworten
Alt 10.07.2012, 06:37   #3
mark05
Registered User
 
Registrierungsdatum: Nov 2003
Ort: Bergisch Gladbach
Beiträge: 567
moin

wie upgrade ich den auf das neue system .... habe hier ein 9 stable laufen welches
ich dann auch upgrade auf 9.1 , ergoi wuerde ich gerne dort auch das neue pkg system
haben wollen.

holger
mark05 ist offline   Mit Zitat antworten
Alt 10.07.2012, 07:10   #4
Yamagi
Possessed With Psi Powers
 
Benutzerbild von Yamagi
 
Registrierungsdatum: Apr 2004
Ort: Schleswig-Holstein
Beiträge: 6.552
Yamagi eine Nachricht über ICQ schicken
Zitat:
Zitat von SolarCatcher
Das klingt sehr gut. Aber heißt das, dass damit Port A nicht mehr gebaut wird (einfach nur eine defensive Massnahme gegegen ungewolltes Überschreiben) oder dass verschiedene Versionen der scheinbar gleichen Datei auf dem System nebeneinander existieren können?
Ersteres. Der Port baut durch, kann aber nicht installiert werden, da er vorhandene Dateien überschreibt. Ein Klassiker ist da zum Beispiel x11/nvidia-driver, der mehrere Dateien anderer Ports ersetzt: https://github.com/pkgng/pkgng/issues/253 Die betroffenen Ports werden noch angepasst werden müssen, sodass sie sich nicht mehr gegenseitig überschreiben. Das Verhindern des Überschreibens dürfte die Ports teilweise wesentlich robuster machen und einige seit Ewigkeiten vorhandenen, obskuren Probleme lösen.

Zitat:
Zitat von mark05
wie upgrade ich den auf das neue system .... habe hier ein 9 stable laufen welches
ich dann auch upgrade auf 9.1 , ergoi wuerde ich gerne dort auch das neue pkg system
haben wollen.
Nachdem pkg installierst ist - sei es über die Ports aus ports-mgmt/pkg oder per /usr/sbin/pkg - führst du "pkg2ng" aus. Damit wird die Datenbank in /var/db/pkg konvertiert. Außerdem kommt noch ein "WITH_PKGNG=yes" in die /etc/make.conf. Aber Achtung! Wenn die Datenbank einmal konvertiert wurde, gibt es keinen Weg mehr zurück! Um portmaster mit pkg nutzen zu können, ist nach wie vor ein Patch notwendig: https://github.com/pkgng/pkgng/tree/master/ports Einfach in das files/ Unterverzeichnis des Portmaster-Ports und diesen neubauen. Portupgrade-Nutzer müssen port-mgmt/ portupgrade-devel installieren.
__________________
Eure Tastatur verfügt nicht umsonst über zwei Shift-Tasten! Benutzt sie bitte, denn sonst ist es mir fast unmöglich euere Posts zu entziffern.

Yamagi ist offline   Mit Zitat antworten
Alt 10.07.2012, 07:47   #5
h^2
Moderators
 
Registrierungsdatum: Sep 2009
Beiträge: 869
Zitat:
Zitat von Yamagi Beitrag anzeigen
- Ein neues Paketformat (Endung ist weiterhin .tbz)
Klugscheiß: Das letzte mal als ich mit pkgng arbeitete war es .txz. Und das wäre ja auch gut so.

Ich habe jetzt aber immernoch nicht verstanden, ob es nun mit 9.1 default ist oder nicht. Und welchen Sinn macht es beide Tools standardmäßig auszuliefern? Das verwirrt doch nur. Warum versteckt man die alten tools nicht und setzt standardmäßig die Flag fürs Port-System?

edit: oder besser noch wrapper um PKGNG machen, die wie pkg_* aussehen. Im Idealfall merkt man garnichts
__________________
Wir kommen aus /dev/null und wir gehen nach /dev/null, alles dazwischen ist ziemlich /dev/random.

Mein Blog zu BSD und Freier Software: https://blogs.fsfe.org/h2

Geändert von h^2 (10.07.2012 um 07:54 Uhr).
h^2 ist offline   Mit Zitat antworten
Alt 10.07.2012, 07:52   #6
Yamagi
Possessed With Psi Powers
 
Benutzerbild von Yamagi
 
Registrierungsdatum: Apr 2004
Ort: Schleswig-Holstein
Beiträge: 6.552
Yamagi eine Nachricht über ICQ schicken
Oh, ja. Natürlich .txz, ich habe mich verschrieben.

Wie es mit 9.1 nun genau aussehen wird, weiß ich ehrlich gesagt noch nicht. Es wäre schön, dort von aktueller Seite mal ein Statement zu bekommen. Fakt ist zumindest, dass mir erst letzten noch einmal gesagt wurde, dass pkg nun mit 9.1 kommt. Das Bootstrap-Tool ist im Basissystem, die alten Tools aber auch. Derzeit zeigt pkg noch auf http://pkgbeta.freebsd.org/ aber vielleicht ändert es sich ja noch.
__________________
Eure Tastatur verfügt nicht umsonst über zwei Shift-Tasten! Benutzt sie bitte, denn sonst ist es mir fast unmöglich euere Posts zu entziffern.

Yamagi ist offline   Mit Zitat antworten
Alt 10.07.2012, 21:17   #7
spaulding
Registered User
 
Registrierungsdatum: Mar 2007
Beiträge: 205
Sehr informativer Thread, danke!

Hier das Tube zu Baptistes Vortrag auf der heurigen BSDCan
http://www.youtube.com/watch?v=4Hxq7...10C737F224D0DC ~60 Min.

und showcases zu pkg

http://www.youtube.com/watch?v=89h_Y1BRMiA
http://www.youtube.com/watch?v=iBgcuKF8R_A
spaulding ist offline   Mit Zitat antworten
Alt 12.07.2012, 00:22   #8
haegga
Registered User
 
Registrierungsdatum: Aug 2011
Beiträge: 90
wie ändert man den eigentlich am besten Optionen für ein Paket?
Also als Beispiel, ich möchte php + php-apache module Installieren

pkg install php5
...

wenn ich mir dann die optionen anschaue sehe ich:
pkg info -f php5
...
Options :
CLI: on
CGI: on
FPM: off
APACHE: off
...

sehr nett aber wie schalte ich das nun ein? Oder muss ich dafür ein anderes Paket installieren?

Gruß
haegga ist offline   Mit Zitat antworten
Alt 12.07.2012, 06:23   #9
Yamagi
Possessed With Psi Powers
 
Benutzerbild von Yamagi
 
Registrierungsdatum: Apr 2004
Ort: Schleswig-Holstein
Beiträge: 6.552
Yamagi eine Nachricht über ICQ schicken
Für Binärpakete wird man wahrscheinlich - auch da gibt es noch keine klare Aussage - zu Beginn nur die Standardoptionen des zugehörigen Ports haben. Wer andere Optionen möchte, wird den Port bauen müssen. Ich hoffe, dass sich das später zumindest für einige, oft angepasste Pakete wie PHP ändern wird...
__________________
Eure Tastatur verfügt nicht umsonst über zwei Shift-Tasten! Benutzt sie bitte, denn sonst ist es mir fast unmöglich euere Posts zu entziffern.

Yamagi ist offline   Mit Zitat antworten
Alt 12.07.2012, 10:26   #10
-Nuke-
Registered User
 
Benutzerbild von -Nuke-
 
Registrierungsdatum: Jul 2004
Beiträge: 338
-Nuke- eine Nachricht über AIM schicken
Kriegt man das nicht so hin, wie man das unter Linux auch macht? Also PHP einfach modularisieren, und neben php auch php-mod-apache usw.
__________________
Ich glaube das hier ist 'ne Signatur...

MfG
-Nuke-
-Nuke- ist offline   Mit Zitat antworten
Alt 12.07.2012, 11:22   #11
haegga
Registered User
 
Registrierungsdatum: Aug 2011
Beiträge: 90
1.0rc1 ist gerade erschienen

http://docs.freebsd.org/cgi/getmsg.c.../freebsd-ports
haegga ist offline   Mit Zitat antworten
Alt 12.07.2012, 11:42   #12
Yamagi
Possessed With Psi Powers
 
Benutzerbild von Yamagi
 
Registrierungsdatum: Apr 2004
Ort: Schleswig-Holstein
Beiträge: 6.552
Yamagi eine Nachricht über ICQ schicken
Jepp, hier noch mal in Kopie:
Code:
Hi, On behalf of the pkgng team I'm really pleased to announce pkg 1.0 RC1 (aka pkgng) Only bug fixes will be accepted in the RC phase. What is pkg ----------- pkg is a new package manager for FreeBSD. It is designed as a replacement for the pkg_* tools, and as a full featured binary package manager. It provides a library that does all the work, and a frontend to be used by users The ports tree is already able to transparently switch to pkgng by default by adding WITH_PKGNG=yes to your make.conf It provides a pkg2ng tool to help converting from an old installation to a new one. Test repositories are available on http://pkgbeta.freebsd.org/ (I try to update them as fast as I can) It will live forever in the ports tree (with a binary bootstrap in 9 and 10) Why pkg? -------- pkg_* tools have become hardly maintainable over the time, it lacks lots of features most of people are expecting from a package manager: - binary upgrade - ability to search information about remote packages - real reverse dependency tracking - tracking leaves - many more. Third party tools ----------------- Tools supporting natively pkgng - ports-mgmt/portupgrade-devel (soon the main portupgrade will support) - ports-mgmt/pkg_cutleaves - ports-mgmt/poudriere - ports-mgmt/portdowngrade - ports-mgmt/tinderbox-devel (support can be improved) Tools supporting pkgng via a patch (I hope it will be reviewed/integrated soon) - ports-mgmt/portmaster (https://github.com/pkgng/pkgng/blob/master/ports/patch-portmaster-pkgng) Tools being worked on (or I heard people are interested) : - salt support (in version 0.10) http://salt.readthedocs.org/en/v0.10.0/ref/modules/all/salt.modules.freebsdpkg.html - cfengine support - puppet support: (https://github.com/xaque208/puppet-pkgng) - ruby bindings: (https://github.com/baloo/libpkg-ruby/) - PackageKit Links ----- - http://wiki.freebsd.org/PkgPrimer - http://wiki.freebsd.org/pkgng Please report bugs in the github issue tracker: - http://github.com/pkgng/pkgng Schedule -------- The plan is to switch the ports tree to pkgng on CURRENT by default on July 25th No dates are planned yet for other branches. Note that there will be a NO_PKGNG knob for some time (undefined yet) for people not will to switch on July 25th Please also note that some ports won't work with pkgng right now, because pkgng is more strict than pkg_install on purpose. The major one is: nvidia drivers, because pkgng does not allow to overwrite a file owned by another package, and we will not accept any hacks for that in pkgng. Road to next version -------------------- The road to the next version is already open and lots of work will happen, list of ideas: - remote repositories will be able to display update messages - optionnal remote files repository to be able to search which packages to install if you want a known binary - real solver, - better support for multi repository - provides/requires support - stabilisation of the library API - reduce as much as possible scripting in packages to allow cross installation - many more :D regards, Bapt
Damit sind nun zumindest einige Fragen geklärt.
__________________
Eure Tastatur verfügt nicht umsonst über zwei Shift-Tasten! Benutzt sie bitte, denn sonst ist es mir fast unmöglich euere Posts zu entziffern.

Yamagi ist offline   Mit Zitat antworten
Alt 23.07.2012, 13:49   #13
h^2
Moderators
 
Registrierungsdatum: Sep 2009
Beiträge: 869
Paketkonflikte / Pakete ersetzen mit pkg ...?

Also ich habe hier einen Haufen Pakete, die lang/perl5.12 wollen und ein paar, die lang/perl5.14 wollen.

Ich habe beherzt das erste mit -f gelöscht und das neue installiert. Geht auch alles soweit, nur meckert es jetzt immer rum, das was inkonsitent ist und möchte andauernd wieder das alte Perl installieren. Voll der Murks, wo ist die "-o" Optione, die portmaster, porupgrade und pkg_upgrade alle haben?
__________________
Wir kommen aus /dev/null und wir gehen nach /dev/null, alles dazwischen ist ziemlich /dev/random.

Mein Blog zu BSD und Freier Software: https://blogs.fsfe.org/h2
h^2 ist offline   Mit Zitat antworten
Alt 23.07.2012, 14:08   #14
laemodost
FreeBSD User
 
Registrierungsdatum: May 2003
Ort: Düsseldorf
Beiträge: 1.704
laemodost eine Nachricht über ICQ schicken
Hast du die neue Perl-Version in die make.conf eingetragen?
laemodost ist offline   Mit Zitat antworten
Alt 23.07.2012, 14:19   #15
mousaka
getting older
 
Benutzerbild von mousaka
 
Registrierungsdatum: Sep 2004
Ort: Region Bern, Schweiz
Beiträge: 754
... und perl-after-upgrade ausgeführt?
__________________
I thought of that while riding my bicycle.
--- Albert Einstein
mousaka 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
[FreeBSD] pkgng: Tester gesucht! Yamagi News 27 11.06.2012 20:27


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.


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