MacOS

Brew install SOFT

Как установить Homebrew?

Command Line Tools

Как два байта переслать.

Вначале необходимо установить инструменты командной строки для разработчиков (Command Line Tools). Для этого ставим Xcode из Mac App Store или скачиваем с сайта developer.apple.com

Либо ничего не скачиваем, а просто в terminal выполняем

$ xcode-select --install

Смотрим версию

$ xcode-select -vxcode-select version 2384.

Установка homebrew

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Для удаления

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Памятка для себя по основным командам

Команда Описание 
brew update Обновить brew 
brew list Список установленного ПО через brew 
brew uninstall htop Удалить программу 
brew outdated Проверить обновление для программ установленных через brew 
brew upgrade Обновить все программы 
brew pin htop Если нужно обновить всё кроме определенной программы 
brew upgrade htop Обновить только программу htop 
brew remove –force $(brew list) 
brew remove –force $(brew list) –ignore-dependencies 
Удалить все установленные пакеты 
brew cleanup После при желании можно удалить скаченные архивы 

Ошибки, баги, глюки, howto

Отключить сбор информации

Кто следит и что собирают

Отключить

export HOMEBREW_NO_ANALYTICS=1$ brew analytics off

Управление сервисами в homebrew

 http://paul.elms.pro/blog/2015/09/28/brew-services/

$ brew tap homebrew/services
$ brew update

# справка по использованию
brew services

# запускаем сервис (будет загружаться после логина пользователя)
brew service start redis

# останавливаем сервис
brew service stop redis

# запускаем сервис через sudo (будет запускаться без логина пользователя и с правами root)
sudo brew service start openvpn

Как собрать программу из исходников

Установить nmap из исходных кодов

$ brew install --build-from-source nmap

Переустановить/собрать все программы установленные через brew

$ brew list | xargs brew reinstall --build-from-source

Error: /usr/local must be writable!

При запуске brew doctor появляется сообщение Error: /usr/local must be writable!

Чиним

$ sudo chown -R $(whoami) /usr/local

%command% not found

mac:~ dx$ mtr
-bash: mtr: command not found
mac:~ dx$ sudo mtr
sudo: mtr: command not found

При этом если указывать полный путь к бинарнику, то успешно запускается

$ sudo /usr/local/sbin/mtr

поэтому делаем

$ echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.bash_profile

и чтобы не перелогиниваться применяем сразу изменения

$ source $HOME/.bash_profile

Бонус. Избавляемся от ошибки mtr: unable to get raw sockets.

$ chmod 4755 /usr/local/sbin/mtr

$ sudo chown root /usr/local/sbin/mtr

UPD Не работает в Sierra.

после обновления до Sierra не работает brew

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Что делать

$ xcode-select --install

Программы из brew

Must have программы по отзывам маководов

Мой brew список

  • archey
  • cowsay
  • ffmpeg
  • htop
  • iperf
  • mtr
  • ncdu
  • tcping
  • wget
  • youtube-dl

youtube-dl

Установка

$ brew install youtube-dl

Примеры использования

Скачать видео без опций

$ youtube-dl https://www.youtube.com/watch?v=7tJYbYevyvw

Смотрим доступные форматы и качество

Чтобы скачать видео 1280x720 hd720 под номером 22 используем ключ -f

$ youtube-dl -f 22 https://www.youtube.com/watch?v=7tJYbYevyvw

Чтобы скачать плейлист достаточно просто указать ссылку

$ youtube-dl https://www.youtube.com/playlist?list=PLKP0pmm7wiTcmo5MPbFSZRnZYGGgj60M7

Скачиваем плейлист с дополнительными опциями

$ youtube-dl -Acfit 22 https://www.youtube.com/playlist?list=PLKP0pmm7wiTcmo5MPbFSZRnZYGGgj60M7

где

  • A, –auto-number. deprecated. Use -o "%(autonumber)s-%(title)s.%(ext)s" instead.
  • c, –continue - продолжить загрузку в случае обрыва связи 
  • f, –format - код формата видео
  • i, –ignore-errors - игнорировать ошибки и продолжить загрузку
  • t, –title - заголовок в имени файла. deprecated. теперь по-умолчанию

Deprecated! Make sure you are not using -o with any of these options -t, –title, –id, -A or –auto-number set in command line or in a configuration file. Remove the latter if any.

Если появится ошибка

WARNING: You have requested multiple formats but ffmpeg or avconv are not installed. The formats won't be merged.WARNING: Requested formats are incompatible for merge and will be merged into mkv.

То ставим пакет ffmpeg

$ brew install ffmpeg

upd dec 2019 | Если появится ошибка

zsh: no matches found: {video URL}

добавить скобки

$ youtube-dl 'URL'