Различия
Показаны различия между двумя версиями страницы.
| apple:osx:homebrew [2021/02/27 02:31] – внешнее изменение 127.0.0.1 | apple:osx:homebrew [2022/01/24 17:50] (текущий) – dx | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ====== Homebrew ====== | ||
| + | {{ : | ||
| + | |||
| + | TL;DR: homebrew это пакетный менеджер для Mac OS X аналогичный yum (CentOS) или apt-get/ | ||
| + | |||
| + | Если в Linux мы ставим ПО следующим образом: | ||
| + | |||
| + | < | ||
| + | CentOS - yum install htop | ||
| + | Debian - apt-get install htop | ||
| + | </ | ||
| + | |||
| + | То с brew будет возможность ставить ПО через терминал: | ||
| + | |||
| + | < | ||
| + | |||
| + | Почему именно homebrew, а не [[https:// | ||
| + | |||
| + | Brew vs Fink vs Macports | ||
| + | |||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | * http:// | ||
| + | |||
| + | P.S. brew это самогон. | ||
| + | |||
| + | Бонус - http:// | ||
| + | |||
| + | ===== Обновить все пакеты ===== | ||
| + | |||
| + | Как обновить сразу всё | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | <code bash> | ||
| + | function update-all { | ||
| + | # update cli homebrew | ||
| + | brew update | ||
| + | brew upgrade | ||
| + | brew prune | ||
| + | brew cleanup | ||
| + | |||
| + | # Homebrew cask | ||
| + | brew cu -a -y --cleanup | ||
| + | brew cleanup --force -s && rm -rf $(brew --cache) | ||
| + | |||
| + | # Node | ||
| + | npm update -g | ||
| + | |||
| + | # Apple App store | ||
| + | mas upgrade | ||
| + | softwareupdate --install --all | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Помимо самого brew необходимы | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ===== Как установить Homebrew? ===== | ||
| + | |||
| + | ==== Command Line Tools ==== | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | Как два байта переслать. | ||
| + | |||
| + | Вначале необходимо установить т.н. инструменты командной строки для разработчиков (Command Line Tools). | ||
| + | |||
| + | Для этого ставим [[https:// | ||
| + | |||
| + | 4,4 GiB Xcode vs 160 MiB Command Line Tools, выбор очевиден. | ||
| + | |||
| + | Либо ничего не скачиваем, | ||
| + | |||
| + | <code bash>$ xcode-select --install</ | ||
| + | |||
| + | Смотрим версию | ||
| + | |||
| + | <code bash> | ||
| + | $ xcode-select -v | ||
| + | xcode-select version 2343. | ||
| + | </ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ==== Установка homebrew ==== | ||
| + | |||
| + | <code bash>/ | ||
| + | |||
| + | Теперь можно расслабиться и откинуться на спинку кресла.\\ | ||
| + | FIXED Нельзя, | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Для удаления | ||
| + | |||
| + | <code bash> | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | <code bash>/ | ||
| + | |||
| + | ==== Рекламный блок ==== | ||
| + | |||
| + | Съешь еще этих сочных берез, да выпей самогона! *brew разные нужны, *brew разные важны. | ||
| + | |||
| + | * Perl - http:// | ||
| + | * PHP - https:// | ||
| + | |||
| + | ==== Памятка для себя по основным командам ==== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ^ Команда ^ Описание ^ | ||
| + | | 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 --formula) \\ UPD brew list | xargs brew uninstall --force \\ brew list --cask | xargs brew uninstall --force | ||
| + | \\ < | ||
| + | | brew cleanup | После при желании можно удалить скаченные архивы | | ||
| + | |||
| + | ==== Tap и Cask ==== | ||
| + | |||
| + | {{: | ||
| + | |||
| + | У Homebrew довольно интересная пивоваренная терминология. FIXME раздел будет обновлен | ||
| + | |||
| + | * Formula / Формула | ||
| + | * Taps / Кран | ||
| + | * Casks / Бочки | ||
| + | * Keg / Кеги или бочонки | ||
| + | * Cellar / Погреб | ||
| + | |||
| + | ===== Ошибки, | ||
| + | |||
| + | ==== Отключить сбор информации ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Отключить | ||
| + | |||
| + | <code bash> | ||
| + | export HOMEBREW_NO_ANALYTICS=1 | ||
| + | brew analytics off | ||
| + | </ | ||
| + | |||
| + | ==== Управление сервисами в homebrew ==== | ||
| + | |||
| + | via http:// | ||
| + | |||
| + | < | ||
| + | brew tap homebrew/ | ||
| + | brew update | ||
| + | |||
| + | # справка по использованию | ||
| + | brew services | ||
| + | # запускаем сервис (будет загружаться после логина пользователя) | ||
| + | brew service start redis | ||
| + | # останавливаем сервис | ||
| + | brew service stop redis | ||
| + | # запускаем сервис через sudo (будет запускаться без логина пользователя и с правами root) | ||
| + | sudo brew service start openvpn | ||
| + | </ | ||
| + | |||
| + | ==== Как собрать программу из исходников ==== | ||
| + | |||
| + | Установить nmap из исходных кодов | ||
| + | |||
| + | < | ||
| + | |||
| + | Переустановить/ | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Error: /usr/local must be writable! ==== | ||
| + | |||
| + | При запуске **brew doctor** появляется сообщение **Error: /usr/local must be writable!** | ||
| + | |||
| + | Чиним | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== %command% not found ==== | ||
| + | |||
| + | < | ||
| + | dx-mac:~ dx$ mtr | ||
| + | -bash: mtr: command not found | ||
| + | dx-mac:~ dx$ sudo mtr | ||
| + | sudo: mtr: command not found | ||
| + | </ | ||
| + | |||
| + | При этом если указывать полный путь к бинарнику, | ||
| + | |||
| + | < | ||
| + | |||
| + | поэтому делаем | ||
| + | |||
| + | < | ||
| + | |||
| + | и чтобы не перелогиниваться применяем сразу изменения | ||
| + | |||
| + | < | ||
| + | |||
| + | **Бонус**. Избавляемся от ошибки '' | ||
| + | |||
| + | < | ||
| + | chmod 4755 / | ||
| + | sudo chown root / | ||
| + | </ | ||
| + | |||
| + | UPD Не работает в Sierra. | ||
| + | |||
| + | * https:// | ||
| + | * http:// | ||
| + | |||
| + | ==== после обновления до Sierra не работает brew ==== | ||
| + | |||
| + | < | ||
| + | xcrun: error: invalid active developer path (/ | ||
| + | </ | ||
| + | |||
| + | Что делать | ||
| + | |||
| + | < | ||
| + | |||
| + | ===== Программы из brew ===== | ||
| + | |||
| + | Must have программы по отзывам маководов | ||
| + | |||
| + | FIXME добавить список | ||
| + | |||
| + | Мой brew список | ||
| + | * archey | ||
| + | * cowsay | ||
| + | * ffmpeg | ||
| + | * htop | ||
| + | * iperf | ||
| + | * mtr | ||
| + | * ncdu | ||
| + | * tcping | ||
| + | * wget | ||
| + | * youtube-dl | ||
| + | |||
| + | ==== youtube-dl ==== | ||
| + | |||
| + | * http:// | ||
| + | * https:// | ||
| + | |||
| + | **Примеры использования** | ||
| + | |||
| + | Скачать видео без опций | ||
| + | |||
| + | < | ||
| + | |||
| + | Смотрим доступные форматы и качество | ||
| + | |||
| + | < | ||
| + | $ youtube-dl -F https:// | ||
| + | [youtube] JAB3OJMLb4I: | ||
| + | [youtube] JAB3OJMLb4I: | ||
| + | [youtube] JAB3OJMLb4I: | ||
| + | [youtube] JAB3OJMLb4I: | ||
| + | [info] Available formats for JAB3OJMLb4I: | ||
| + | format code extension | ||
| + | 140 m4a audio only DASH audio 128k , m4a_dash container, mp4a.40.2@128k (44100Hz), 8.74MiB | ||
| + | 171 webm audio only DASH audio 143k , vorbis@128k (44100Hz), 9.18MiB | ||
| + | 278 webm | ||
| + | 160 mp4 256x144 | ||
| + | 133 mp4 426x240 | ||
| + | 242 webm | ||
| + | 243 webm | ||
| + | 134 mp4 640x360 | ||
| + | 244 webm | ||
| + | 135 mp4 854x480 | ||
| + | 247 webm | ||
| + | 136 mp4 1280x720 | ||
| + | 248 webm | ||
| + | 137 mp4 1920x1080 | ||
| + | 17 | ||
| + | 36 | ||
| + | 43 | ||
| + | 18 | ||
| + | 22 | ||
| + | </ | ||
| + | |||
| + | Чтобы скачать видео 1280x720 hd720 под номером 22 используем ключ '' | ||
| + | |||
| + | < | ||
| + | |||
| + | Чтобы скачать плейлист достаточно просто указать ссылку | ||
| + | |||
| + | < | ||
| + | |||
| + | Скачиваем плейлист с дополнительными опциями | ||
| + | |||
| + | < | ||
| + | |||
| + | где | ||
| + | |||
| + | * A, --auto-number. deprecated. //Use -o " | ||
| + | * 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: | ||
| + | |||
| + | То ставим пакет ffmpeg | ||
| + | |||
| + | < | ||
| + | |||
| + | upd dec 2019 | Если появится ошибка | ||
| + | |||
| + | < | ||
| + | |||
| + | добавить скобки | ||
| + | |||
| + | < | ||
| + | |||
| + | актуально для macOS 10.15.2/zsh 5.7.1 | ||
| + | |||
| + | {{tag> | ||