В этом руководстве мы рассмотрим интересный инструмент, который нацелен на то, чтобы обновить все, что было установлено в вашей системе, как только запустите одну команду.
Это программное обеспечение является топ-классом, оно обнаруживает инструменты, которые вы используете в вашей системе, и запускает соответствующий диспетчер пакетов для обновления пакетов.
В дистрибутивах семейства Linux RHEL, таких как CentOS, topgrade выполнит обновление yum updateecommand, это обновление dnf для Fedora.
В семействе Debian эквивалентная команда, выполняемая topgrade, чтобы обеспечить все актуальность, – это apt update && apt dist-upgrade.
В Arch Linux он будет использовать run yay или вернуться к pacman, если yay не установлен.
Если у вас нет помощника yay AUR, установленного на Arch Linux, установите его, клонировав PKGBUILD и создав с помощью makepkg.
git clone https://aur.archlinux.org/yay.git cd yay makepkg -si
Просто запустив одну команду topgrade, она также выполнит следующее:
- Обновление пакетов Atom
- Обновление пакетов Flatpak в Linux
- Обновление оснастки для Linux
- Запустит fwupdmgr, чтобы показать обновление прошивки.
- Обновление пакетов Emacs
- Запустить сборку обновления
- Обновление Run.brew && brew upgrade. Это должно обрабатывать как Homebrew, так и Linuxbrew в Unix.
- Запустить обновление zplug в Unix
- Unix: запустить обновление для рыбаков
- Обновление плагинов tmux с помощью TPM
- Обновите пакеты Vim / Neovim.
Установка topgrade на Linux
Установка topgrade на Linux может быть выполнена путем вытаскивания предварительно скомпилированного двоичного файла или с помощью загрузки.
Если вы используете Arch Linux в качестве основной операционной системы, вы можете установить topgrade из AUR:
$ yaourt -S topgrade
Для всех других операционных систем перейдите на страницу обновлений и загрузите последнюю версию.
На момент написания этой статьи последняя версия – v0.9.0
$ export ver="v0.9.0" $ wget https://github.com/r-darwish/topgrade/releases/download/${ver}/topgrade-${ver}-x86_64-unknown-linux-gnu.tar.gz
Для пользователей macOS загрузите пакет с именем apple-darwin.tar.gz
Раскройте пакет, чтобы получить двоичный файл:
$ tar xvf topgrade-${ver}x86_64-unknown-linux-gnu.tar.gz
Переместите извлеченные двоичные файлы в /usr/local/bin
$ sudo mv topgrade /usr/local/bin/
Подтвердить местоположение бинарников:
$ which topgrade /usr/local/bin/topgrade
Использование topgrade для обновления системных пакетов
Как только пакет будет установлен, вы можете легко использовать его, вызывая имя в терминале:
$ topgrade --help Topgrade 0.9.0 Upgrade all the things USAGE: topgrade [FLAGS] FLAGS: -h, --help Prints help information -t, --tmux Invoke inside tmux -V, --version Prints version information
Просто введите topgrade на своем, и он начнет обновление установленных пакетов.
$ topgrade
Если необходимы привилегии sudo, вам будет предложено ввести пароль sudo.
Поскольку у меня есть oh-my-zsh, он также был обновлен.
Запуск topgrade в сеансе tmux
Рекомендуется избегать случайного прерывания работы или таймаута в сети, особенно при работе в удаленной системе.
Для этого используйте:
$ topgrade -t
Если у вас нет tmux, вы можете получить его с помощью диспетчера пакетов ОС:
На Ubuntu:
$ sudo apt-get install tmux
На CentOS / Fedora:
$ sudo yum install tmux $ sudo dnf install tmux
В Arch Linux используйте:
$ sudo pacman -S tmux
Настройка topgrade
Вы можете поместить файл конфигурации в файл ~ / .config /topgrade.toml. Вот пример:
git_repos = [ "~/dev/topgrade", ] [pre_commands] "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak" [commands] "Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
В этом примере:
- git_repos – список настраиваемых репозиториев Git
- pre_commands – Команды, которые необходимо выполнить перед началом любого действия
- commands – пользовательские шаги обновления.
Topgrade кажется обязательным инструментом для управления обновлениями в кластере серверов, которым вы управляете ежедневно. Тот факт, что вы можете запустить его в сеансе tmux, просто используя флаг -t, сохраняет обновления более безопасными, гарантируя, что они закончат грациозно.