2014-03-06 21 views

Antwort

3

Speichern Sie Ihre aktuell installierten Ports

sudo port list installed | sed 's/ .*//' | sort | uniq > ports.lst 

Dann ist alles deinstallieren, die Struktur an Ort und Stelle zu verlassen

sudo port clean installed 
sudo port -f uninstall installed 

Dann ist alles neu zu installieren, mit den neuen Abhängigkeiten:

for package in $(<ports.lst); do sudo port install $package; done 
+2

Das gibt mir * alle * installierten Ports. Gibt es eine Möglichkeit, nur die Blätter des Abhängigkeitsgraphen aufzulisten? Zum Beispiel müsste ich nicht wissen, welche Ports als Abhängigkeit von einem anderen Port installiert werden. – Jens

+1

Wollte auch darauf hinweisen, dass dieser Ansatz die installierten Varianten nicht beibehält. Mit 'port -v installed' oder somesuch anstelle der' port list installed' wäre IMO besser. – Jens

+0

Was macht diese Antwort besser als die von Marc? – jvriesem

11

Von der MacPorts Wiki (Migration):

https://trac.macports.org/wiki/Migration

Nach einer Liste der installierten Ports gespeichert haben mit:

das restore_ports Skript
sudo port -f uninstall installed 

herunterladen und ausführen:

port -qv installed > myports.txt 

und ihnen entfernt zu haben. (Wenn Sie MacPorts von der Quelle installiert und verwendet, um ein benutzerdefiniertes Präfix, dann müssen Sie die -p Option verwenden, wenn Sie restore_ports.tcl laufen, vgl. ./restore_ports.tcl -h)

curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl 
chmod +x restore_ports.tcl 
sudo ./restore_ports.tcl myports.txt 
+1

@KirkRoybal: Dieser Link ist die definitive Antwort auf diese Frage, direkt von den MacPorts Menschen. Dies sollte die akzeptierte Antwort sein. – jvriesem

Verwandte Themen