Как мне узнать, какие пакеты я установил через терминал?

12

Я изучал оболочку в течение нескольких недель и установил несколько пакетов. Я знаю / помню некоторые из них, такие как oh-my-zsh и emacs 24 (что было кошмаром для обновления), но не уверен, что еще. Я использовал разные методы, такие как curl, wget и Macports.

Мой вопрос: если и когда я захочу выполнить чистую установку MacOS, как мне сделать резервную копию или записать новую установку этих пакетов? Другими словами, когда я делаю новую установку MacOS, я не буду восстанавливать с Time Machine с помощью Migration Assistant: скорее я установлю систему и восстановлю файлы вручную. Как узнать пути установки и зависимости того, что я установил в предыдущей установке с помощью командной строки? Есть ли где-нибудь текстовый файл, который система поддерживает, чтобы отслеживать, что было установлено?

(MacOS 10.8.2)

Elliott
источник

Ответы:

12

Поскольку в OS X нет менеджера пакетов, все, что вы устанавливаете, было бы ручным, через MacPorts или через Installer.

Если вам нужен список двоичных файлов, к которым ваш терминал имеет доступ, вы можете выполнить следующие команды, чтобы проверить наиболее распространенные точки и вывести результат в виде текстового файла:

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

В качестве альтернативы, если вы просто хотите установить пакеты, установленные MacPorts, запустите следующее ( возможно, это тот, который вам нужен ):

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

И для доморощенного :

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

И, наконец, для всех пакетов, установленных установщиком

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

Например, чтобы восстановить порты MacPorts из списка, созданного выше, используйте следующее:

 port install $(cat ~/MacPorts.txt)
Yasyf
источник
Нет проблем! Пожалуйста, отметьте его как принятый, если он решит вашу проблему :)
Yasyf
5
Разве не лучше запустить port list requested, чем port installed, так что MacPorts устанавливает только используемые зависимости и в правильном порядке?
Дедитос
0

Список портов, которые вы установили:

port echo requested > ports.txt

Позже установить последние версии этих портов в новой системе

sudo port install $(cut -f1 -d\  ports.txt | uniq)

Смотрите также

port help echo
Даниил
источник