Поиск по сайту:

Как обновить все с помощью утилиты Topgrade CLI в Linux

Как мы все уже знаем, поддержание актуальности нашей системы Linux предполагает вызов более чем одного менеджера пакетов. Скажем, например, в Ubuntu вы не можете обновить все с помощью команды «sudo apt update && sudo apt update». Эта команда обновит только те пакеты, которые установлены с помощью менеджера пакетов APT. Есть вероятность, что вы установили другие приложения, используя cargo, pip, npm, snap, . > Flatpak или Linuxbrew менеджеры пакетов. Вам необходимо использовать соответствующий менеджер пакетов, чтобы постоянно обновлять их. Уже нет! Встречайте topgrade — утилиту, позволяющую обновить все за один раз с помощью одной команды.

Вам не нужно запускать каждый менеджер пакетов отдельно для обновления пакетов. Инструмент topgrade решает эту проблему, обнаруживая установленные пакеты, инструменты, плагины и запуская соответствующий менеджер пакетов, чтобы обновить все в вашем компьютере Linux с помощью одной команды. Он бесплатный, с открытым исходным кодом и написан с использованием языка программирования Rust. Он поддерживает GNU/Linux, Mac OS X, FreeBSD и Microsoft Windows.

Установка Топгрейда

Верхняя версия доступна в AUR. Таким образом, вы можете установить его с помощью вспомогательной программы Yay в любых системах на базе Arch.

yay -S topgrade

В других дистрибутивах Linux можно установить менеджер пакетов topgrade Cargo. Чтобы установить менеджер грузовых пакетов, перейдите по следующей ссылке.

  • Установить язык программирования Rust в Linux

Затем выполните следующую команду для установки topgrade:

cargo install topgrade

Если метод Cargo по какой-либо причине не работает, загрузите последнюю версию двоичного файла topgrade со страницы релизов. На момент написания этого руководства последней версией была 2.2.0.

wget https://github.com/r-darwish/topgrade/releases/download/v2.2.0/topgrade-v2.2.0-x86_64-unknown-linux-gnu.tar.gz

Извлеките tar-файл:

tar xvf topgrade-v2.2.0-x86_64-unknown-linux-gnu.tar.gz

Скопируйте или переместите двоичный файл topgrade по своему пути, например /usr/local/bin/.

sudo mv topgrade /usr/local/bin/

Проверьте, правильно ли он установлен, как показано ниже.

$ which topgrade
/usr/local/bin/topgrade

Проверьте установленную версию:

$ topgrade -V
Topgrade 2.2.0

Обновите все с помощью Topgrade в Linux и Unix

После установки запустите утилиту topgrade, чтобы обновить все компоненты вашей системы Linux.

topgrade

После запуска topgrade он будет выполнять следующие задачи одну за другой в зависимости от используемой вами ОС. При необходимости вам будет предложено ввести пароль пользователя root/sudo.

В Linux:

1. Запустите менеджер пакетов вашей системы Linux и выполните следующие операции:

  • На основе Arch: запустите ура или вернитесь к pacman
  • На основе Redhat: запустите yum update (или dnf, если он есть).
  • На основе Debian: запустите apt update && apt dist-upgrade
  • Gentoo: запустите layman -s ALL && expire --sync -q && eix-update && expire -uDNa world
  • openSUSE: запустите zypperrefresh&& zypper dist-upgrade
  • Void: запустите xbps-install -Su

2. Запустите etc-update.

3. Запустите неофициальные и сторонние менеджеры пакетов:

  • Обновите пакеты Flatpak.
  • Обновите пакеты snap.
  • Запустите fwupdmgr, чтобы увидеть обновление прошивки. (Только просмотр. Фактически обновления выполняться не будут)
  • Запустите rpi-update, чтобы обновить прошивку Raspberry Pi.
  • Запустите программу обновления pihole.
  • Обновите Rustup, запустив rustup update. Также будет предпринята попытка запустить самообновление Rustup, когда Rustup установлен в домашнем каталоге.
  • Запустите Cargo установить-обновить
  • Обновите пакеты Emacs.
  • Обновите пакеты OCaml.
  • Обновите глобально установленные пакеты vcpkg.
  • Обновите управляемые репозитории исходного кода myrepos.
  • Обновите пакеты Python, установленные с помощью pipx.
  • Обновите глобально установленные пакеты R.
  • Обновите пакеты Vim/Neovim. Работает со следующими платформами плагинов:

    • Неопакет
    • Вундл
    • Подключите
    • Дейн
  • Узел

    • Запустите глобальное обновление Yarn, если Yarn установлен.
    • Запустите npm update -g, если NPM установлен и npm root -g — это путь внутри вашего домашнего каталога.
  • Запустите глобальное обновление Composer, если домашний каталог Composer находится внутри домашнего каталога пользователя. После этого запустите valet install.
  • Обновите пакеты Atom.
  • Запустите обновление драгоценного камня --user-install, если ~/.gem существует.

В Юниксе:

  • Запустите brew update && Brew update. Это должно обрабатывать как Homebrew, так и Linuxbrew.
  • Запустите nix update-nix && nix --upgrade.
  • Запустите обновление Pearl.
  • Запустите обновление zplug.
  • Обновите плагины tmux с помощью TPM.

Во FreeBSD:

  • Пакеты обновления и аудита.

Разное (Эти действия будут выполняться на всех ОС)

Он проверит, отслеживаются ли следующие пути с помощью Git. Если да, потяните их:

  • ~/.emacs.d
  • ~/.zshrc
  • ~/.о-мой-зш
  • ~/.tmux
  • ~/.config/рыба
  • ~/.config/nvim
  • ~/.vim
  • ~/.config/openbox
  • ~/.config/bspwm
  • ~/.config/i3
  • Профиль Powershell
  • Пользовательские пути

Заключительные шаги

Как только все пакеты будут обновлены, Topgrade выполнит еще один последний шаг.

В Linux:

Утилита Topgrade запустит needrestart для перезапуска всех служб.

Во FreeBSD:

Topgrade запустит freebsd-upgrade

В Mac OS X будут обновляться приложения App Store.

Пример вывода из моего тестового окна Ubuntu 18.04 LTS:

Обновите все с помощью Topgrade в Linux и Unix.

Хорошо, что если одна задача не удалась, она автоматически запустит следующую задачу и выполнит все остальные последующие задачи. Наконец, он отобразит сводную информацию с подробностями, например, сколько задач было выполнено, сколько выполнено успешно, а сколько не выполнено и т. д.

Рекомендуем прочитать:

  • Как обновить Ubuntu с помощью одной команды
  • 3 различных способа обновления Ubuntu до последней версии
  • Автоматическая установка обновлений и исправлений безопасности в Ubuntu

Варианты высшего класса

Tograde поставляется с несколькими опциями для выполнения различных дополнительных задач.

Запуск Topgrade внутри сеансов Tmux

Это удобно, когда вы используете Topgrade в удаленных системах.

Чтобы запустить Topgrade внутри сеанса Tmux, используйте флаг -t.

topgrade -t

Запустите Topgrade внутри сеанса Tmux

Удалите старые и ненужные файлы

Чтобы указать менеджерам пакетов очистить старые и неиспользуемые файлы, используйте флаг -c с topgrade:

topgrade -c

Отключить определенные этапы обновления

Иногда вы не хотите обновлять конкретный пакет. Если да, вы можете использовать опцию --disable.

Например, пропустите обновление системы с помощью команды:

topgrade --disable system

Эта команда пропустит только этап обновления системы и обновит все остальное как обычно.

―― 11:39:48 - Self update ――――――――――――――――――――――――――――――――――――――――――――――――――――――
Topgrade is up-to-date

―― 11:39:50 - rustup ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
info: checking for self-updates
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: checking for self-updates

stable-x86_64-unknown-linux-gnu unchanged - rustc 1.35.0 (3c235d560 2019-05-20)


―― 11:39:52 - Node Package Manager ―――――――――――――――――――――――――――――――――――――――――――――

―― 11:40:08 - Summary ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Git repositories: OK
rustup: OK
NPM: OK

Пропустить обновление Emacs:

topgrade --disable emacs

Эта команда пропустит обновление пакетов Emacs и его файлов конфигурации.

Пропустить обновление Vim:

topgrade --disable vim

Пропустить обновление драгоценного камня:

topgrade --disable gem

Для получения более подробной информации проверьте раздел справки, выполнив следующую команду:

$ topgrade --help
Topgrade 2.2.0
Roey Darwish Dror <roey.ghost@gmail.com>
Command line arguments

USAGE:
topgrade [FLAGS] [OPTIONS]

FLAGS:
-c, --cleanup Cleanup temporary or old files
-n, --dry-run Print what would be done
-h, --help Prints help information
--no-retry Do not ask to retry failed steps
-t, --tmux Run inside tmux
-V, --version Prints version information
-v, --verbose Output logs

OPTIONS:
--disable <disable>... Do not perform upgrades for the given steps [possible values: gem, git-repos, vim,
emacs, system]

Лично мне понравилась идея создать такую утилиту, как topgrade и обновить все установленное с помощью различных менеджеров пакетов одной командой. Надеюсь, вы тоже найдете это полезным.

Ресурс:

  • Лучший репозиторий GitHub

Статьи по данной тематике