Alle (binär) Ports aktualisieren

bananenBrot

Well-Known Member
Hi!
Ich wollte mir eben mal ein neuen git installieren, da sehe ich, dass mal wieder alle möglichen Ports nicht mehr aktuell sind und durch die Abhängigkeiten ich eigentlich keinen neuen Port mehr installieren kann.

Jetzt wollte ich einfach mal alle auf einen Rutsch auf den aktuellen Stand bringen, hab jedoch vor meinem Plan etwas... Respekt.

Laut einschlägigen Suchmaschinen ist die Methode der Wahl ja ein
Code:
pkg_info -qoa > /root/packagelist
Dann ein
Code:
pkg_delete -a -f
(davor graust es mir)
Dann ein
Code:
rm -r -f /boot/modules /usr/local /var/db/pkg
Und dann das ewig dauern werdende
Code:
while read PKG; do pkg_add -r $( basename ${PKG} ); done < /root/packagelist

Ist die Idee dahinter funktionsfähig?

Danke und verregneten Gruß!
 
Evtl. PACKAGESITE auf packages-9-stable/Latest/ setzen. Also z.B.
Code:
setenv PACKAGESITE "ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-9-stable/Latest/"
 
So kannst du dir eine Liste mit allen Ports anzeigen, welche nicht aktuell sind: (Benötigt "portmaster")
Code:
portmaster -L --index-only | grep '[N]ew' | awk '{print $5}'
Dann würde ich ein...
Code:
portmaster --check-depends
...machen und dann mit
Code:
portmaster -RadCGK
...versuchen

Bitte kontrolliere die einzelnen Parameter!
 
Ich dachte portmaster kann nur aus /usr/ports ge"makte" ports updaten.
Wusste nicht, dass das auch für die per pkg_add -r installierten gilt.
 
Ist das schon verwendbar?
Als ich das neulich getestet hatte und es nach einer Stunde PACKAGESITE rumprobieren mit irgenwelchen pkgbeta URLs (WTF) nicht hingehauen hat (scheinbar gibt es keine funktionsfähige PACKAGESITE) hab ichs gelassen.

Hat pkg eine "update all" option?
 
Also ich weiß ja nicht, was es da für "Geheimtricks" gibt, aber alle FreeBSD Admins mit denen ich heute gesprochen habe, haben mir zur Variante in meinem Originalpost geraten, da es sonst keine verlässliche Methode gibt.
Wenn pkgng diese Option hat, wird es Zeit, dass das mal stable wird.
 
Code:
pkg upgrade
akualisiert alle Pakete auf einem FreeBSD-System. Wesentlich zuverlässiger als pkg_* und seine Wrapper, da es so Nebensächlichkeiten wie Dependency-Tracking in beide Richtungen und Option-Tracking hat. Stabil ist es nun seit einem guten Dreivierteljahr, läuft hier absolut einwandfrei und mit viel weniger Zicken als alle bisherigen Lösungen. Wird daher inzwischen auf einem Großteil des Serverpools eingesetzt.

Die Pakete baue ich mit poudriere selbst, die Maschine zieht ein Subset von etwa 12.000 Ports in knappen 24h durch. Es gibt im Netz inzwischen mehrere hochqualitative Package-Repos. Mindestens das PC-BSD Repo und das Exonetric-Repo sind sehr brauchbar. Die neuen Packagebuilder schmeißen auch schon seit Tagen Megabytes an Buildlogs, dass offizielle Repo ist also auch nah.
 
pkg.freebsd.org ist nur der Hub für das kommende CDN. Er arbeitet mit SRV-Records und verweist im Moment aus das leere pkgbeta.freebsd.org. Das wird sich wohl bald endlich ändern... Wobei ich noch nicht weiß, in wie weit ich das offizielle Repo in meine Infrastruktur integrieren werden. mal schauen.

Exonetric ist hier, sie bauen auch FreeBSD/i386: http://mirror.exonetric.net/pub/pkgng/ Einfach das jeweilige Unterverzeichnis (als ganze URL) als Packagesite setzen, dann ein "pkg update" und einmal zu synchronisieren und du kannst loslegen.
 
pkg.freebsd.org ist nur der Hub für das kommende CDN. Er arbeitet mit SRV-Records und verweist im Moment aus das leere pkgbeta.freebsd.org. Das wird sich wohl bald endlich ändern... Wobei ich noch nicht weiß, in wie weit ich das offizielle Repo in meine Infrastruktur integrieren werden. mal schauen.

Exonetric ist hier, sie bauen auch FreeBSD/i386: http://mirror.exonetric.net/pub/pkgng/ Einfach das jeweilige Unterverzeichnis (als ganze URL) als Packagesite setzen, dann ein "pkg update" und einmal zu synchronisieren und du kannst loslegen.

Gute Information! In der Readme-Datei steht, daß die Packages für 9.0 sind. Weißt Du zufällig, ob die mit der alten oder der neuen xorg-version gebaut sind? Wäre ganz wichtig für mich zu wissen, da auf meinem Notebook ein ATI-Chip verbaut ist und ich daher unbedingt das alte xorg, also ohne KMS brauche. Aus diesem Grund könnte ich die von PC-BSD nicht benutzen.
 
Ich weiß es nicht, aber höchstwahrscheinlich mit dem alten X.org. Sonst hätten sie eine make.conf setzen müssen.
 
pkg.freebsd.org ist nur der Hub für das kommende CDN. Er arbeitet mit SRV-Records und verweist im Moment aus das leere pkgbeta.freebsd.org. Das wird sich wohl bald endlich ändern... Wobei ich noch nicht weiß, in wie weit ich das offizielle Repo in meine Infrastruktur integrieren werden. mal schauen.

Exonetric ist hier, sie bauen auch FreeBSD/i386: http://mirror.exonetric.net/pub/pkgng/ Einfach das jeweilige Unterverzeichnis (als ganze URL) als Packagesite setzen, dann ein "pkg update" und einmal zu synchronisieren und du kannst loslegen.

Scheiße, und jetzt? Hat nur die pkg-version erneuert, jetzt scheint gar nichts mehr zu gehen:


Code:
elvis69# pkg update
Updating repository catalogue
repo.txz                            100%   15MB 728.1KB/s 650.2KB/s   00:21    
elvis69# pkg install gnome2
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
New version of pkg detected; it needs to be installed first.
After this upgrade it is recommendedthat you do a full upgrade using: 'pkg upgrade'

The following packages will be installed:

	Upgrading pkg: 1.0.r5_1 -> 1.1.4

The installation will free 10 MB

1 MB to be downloaded

Proceed with installing packages [y/N]: y
pkg-1.1.4.txz                       100% 1600KB 533.3KB/s 709.9KB/s   00:03    
Checking integrity... done
Upgrading pkg from 1.0.r5_1 to 1.1.4... done
elvis69# pkg install gnome2
[COLOR="Red"]/usr/local/sbin/pkg: Undefined symbol "_ThreadRuneLocale"elvis69# pkg upgrade
/usr/local/sbin/pkg: Undefined symbol "_ThreadRuneLocale"elvis69# pkg upgrade
/usr/local/sbin/pkg: Undefined symbol "_ThreadRuneLocale"elvis69# pkg delete pkg
/usr/local/sbin/pkg: Undefined symbol "_ThreadRuneLocale"elvis69#[/COLOR]
 
Das /usr/local/sbin/pkg Binary ist neuer als dein Kernel. Hast du ein Paket-Repo mit zu neuen Paketen gewählt?
 
Nun, ich habe "/pub/pkgng/freebsd:9:x86:32/latest/" gewählt, da ich i386/9.0 habe. Was anderes hätte ich nicht auswählen können. Also was jetzt?
 
Nachdem ich jetzt per freebsd-update erfolgreich auf 9.1 upgegraded habe, funktioniert pkg zwar, aber ich kann kein Upgrade der Pakete durchführen:

Code:
elvis69# pkg upgrade -f
Updating repository catalogue
pkg: Missing dependency matching 'x11-fonts/liberation-fonts-ttf'
pkg: Missing dependency matching 'audio/lame'
pkg: Missing dependency matching 'multimedia/mencoder'
pkg: Missing dependency matching 'x11-fonts/liberation-fonts-ttf'
pkg: Missing dependency matching 'audio/lame'
pkg: Missing dependency matching 'multimedia/win32-codecs'
pkg: Error while trying to install/upgrade packages, as there are unresolved dependencies:
german/libreoffice: x11-fonts/liberation-fonts-ttf, x11-fonts/gentium-basic, print/libmspub, graphics/libcdr, editors/libreoffice, devel/liborcus, devel/liblangtag
multimedia/kino: multimedia/mencoder, audio/lame
editors/libreoffice: x11-fonts/liberation-fonts-ttf, x11-fonts/gentium-basic, print/libmspub, graphics/libcdr, devel/liborcus, devel/liblangtag
multimedia/mencoder: audio/lame
multimedia/xine: multimedia/win32-codecs

Einige ports wie lame, win32-codecs sind ports. Wie komme ich jetzt weiter?
 
Zurück
Oben