Portsnap

Aus UUGRN
Version vom 4. Juni 2006, 16:18 Uhr von Mile (Diskussion | Beiträge) (Erkläre portsnap mit ein paar Beispielen.)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Portsnap ist ein nützliches Werkzeug für die FreeBSD Softwarepflege. Es dient der speicherplatz- und zeiteffizienten Synchronisation des Portsbaums mit dem offiziellen Portsbaum. Auf speziellen Servern werden sogenannte Deltas bereitgestellt und vom portsnap-Client heruntergeladen. Diese Deltas werden danach zur Aktualisierung des lokalen Portsbaums verwendet. Ein weiterer Vorteil ist, dass die Index-Dateien (/usr/ports/INDEX*) ebenfalls mitaktualisiert werden und nicht selbst erzeugt oder heruntergeladen werden müssen.

Im Gegensatz zu CVS und davon abgeleiteten Methoden kann nicht ein bestimmter Zustand ausgewählt werden, man erhält stets einen Snapshot des aktuellen Portsbaums.

Portsnap ist seit FreeBSD Version 6.1 Bestandteil des Basissystems, für ältere Releases kann es aus dem Port sysutils/portsnap(cvs) nachistalliert werden. Danach sollte noch ein Blick auf (/usr/local)/etc/portsnap.conf geworfen werden, darin kann man beispielsweise bestimmte Teile des Portsbaums ausklammern, die garantiert nicht benötigt werden, wie beispielsweise die Sprach-Teilbäume für nicht benötigte Sprachen.

Erstmalige Verwendung

Zunächst müssen sämtliche Deltas verfügbaren Deltas heruntergeladen werden. Danach muss ein evtl. vorhandener anderweitig beschaffter Portsbaum weggeräumt werden. Anschließend kann man mit portsnap den neuen Portsbaum extrahieren.

portsnap fetch
mv -f /usr/ports /usr/ports.old
portsnap extract

Anschließend kann /usr/ports.old gelöscht werden. Um diese Kommandos ausführen zu können braucht man Schreibrechte auf den Portsbaum und das Spool-Verzeichnis für die heruntergeladenen Deltas.

Spätere Aktualisierung

portsnap fetch
portsnap update

Siehe auch