Jak znaleźć pakiety, które zainstalowałem przez terminal?

10

Uczę się powłoki od kilku tygodni i zainstalowałem kilka pakietów. Wiem / pamiętam, jakie są niektóre z nich, takie jak oh-my-zsh i emacs 24 (co było koszmarem do uaktualnienia), ale nie jestem pewien, co jeszcze. Użyłem różnych metod, takich jak curl, wget i Macports.

Moje pytanie brzmi: czy i kiedy chcę wykonać czystą instalację systemu MacOS, w jaki sposób mogę wykonać kopię zapasową lub wykonać skrypt nowej instalacji tych pakietów? Innymi słowy, kiedy wykonam nową instalację MacOS, nie będę przywracał z Time Machine przy pomocy Migration Assistant: raczej zainstaluję system i ręcznie przywrócę pliki. Jak poznać ścieżki instalacji i zależności tego, co zainstalowałem w poprzedniej instalacji za pomocą wiersza polecenia? Czy jest gdzieś plik txt, który system utrzymuje, aby śledzić, co zostało zainstalowane?

(MacOS 10.8.2)

Elliott
źródło

Odpowiedzi:

12

Ponieważ OS X nie ma menedżera pakietów, wszystko, co instalujesz, byłoby ręczne, za pośrednictwem MacPorts lub instalatora.

Jeśli chcesz uzyskać listę plików binarnych, do których terminal ma dostęp, możesz uruchomić następujące polecenia, aby sprawdzić najczęstsze miejsca i wygenerować wynik w postaci pliku tekstowego:

touch ~/Binaries.txt
ls /usr/bin > ~/Binaries.txt
ls /usr/sbin >> ~/Binaries.txt
ls /usr/local/bin >> ~/Binaries.txt
ls /usr/local/sbin >> ~/Binaries.txt
ls /opt/local/bin >> ~/Binaries.txt
ls /opt/local/sbin >> ~/Binaries.txt

Alternatywnie, jeśli chcesz tylko zainstalować pakiety przez MacPorts, uruchom następujące polecenie ( prawdopodobnie ten, którego chcesz ):

touch ~/MacPorts.txt
port installed > ~/MacPorts.txt

A dla Homebrew :

touch ~/HomeBrew.txt
brew list > ~/HomeBrew.txt

I na koniec, dla wszystkich pakietów zainstalowanych przez Instalatora

touch ~/InstalledPackages.txt
pkgutil --packages > ~/InstalledPackages.txt

Aby przywrócić na przykład porty MacPorts z listy wygenerowanej powyżej, użyj następujących poleceń:

 port install $(cat ~/MacPorts.txt)
Yasyf
źródło
Nie ma problemu!
Oznacz
4
Czy nie lepiej jest uruchamiać port list requestedniż port installed, aby MacPorts instalował tylko te zależności, które są w użyciu i we właściwej kolejności?
Deditos