GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでTopgradeCLIユーティリティを使用してすべてをアップグレードする方法

すでにご存知のとおり、Linuxシステムを最新の状態に保つには、複数のパッケージマネージャーを呼び出す必要があります。たとえば、Ubuntuでは、「sudo apt update &&sudoaptupgrade」コマンドを使用してすべてをアップグレードすることはできません。このコマンドは、APTパッケージマネージャーを使用してインストールされたパッケージのみをアップグレードします。 cargoを使用して他のアプリケーションをインストールした可能性があります 、ピップ npm スナップフラットパック またはLinuxbrew パッケージマネージャー。それらをすべて最新の状態に保つには、それぞれのパッケージマネージャーを使用する必要があります。もう違います! 「トップグレード」に挨拶する 、一度に1つのコマンドを使用してすべてをアップグレードするユーティリティ。

パッケージを更新するために、すべてのパッケージマネージャーを個別に実行する必要はありません。トップグレードツールは、インストールされているパッケージ、ツール、プラグインを検出し、適切なパッケージマネージャーを実行して、1つのコマンドでLinuxボックス内のすべてを更新することでこの問題を解決します。これは無料のオープンソースであり、Rustプログラミング言語を使用して記述されています。 。 GNU / Linux、Mac OS X、FreeBSD、MicrosoftWindowsをサポートしています。

Topgradeのインストール

トップグレードはAURで入手できます 。したがって、 Yayを使用してインストールできます Archベースのシステムのヘルパープログラム。

$ yay -S topgrade

他のLinuxディストリビューションでは、topgradeを Cargoにインストールできます。 パッケージマネージャー。カーゴパッケージマネージャーをインストールするには、次のリンクを参照してください。

  • LinuxにRustプログラミング言語をインストールする

次に、次のコマンドを実行してtopgradeをインストールします。

$ cargo install 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

トップグレードのバイナリファイルをパスにコピーまたは移動します(例: / usr / local / bin / )。 。

$ sudo mv topgrade /usr/local/bin/

以下に示すように、正しくインストールされているかどうかを確認してください。

$ which topgrade
/usr/local/bin/topgrade

インストールされているバージョンを確認してください:

$ topgrade -V
Topgrade 2.2.0

LinuxおよびUnixでTopgradeを使用してすべてをアップグレードする

インストールしたら、topgradeユーティリティを実行して、Linuxシステムのすべてのものをアップグレードします。

$ topgrade

topgradeが呼び出されると、使用するOSに応じて、次のタスクが1つずつ実行されます。必要に応じて、root/sudoユーザーのパスワードを入力するように求められます。

Linuxの場合:

1. Linuxシステムのパッケージマネージャーを実行し、次の操作を実行します。

  • アーチベースイェーイを実行します またはpacmanにフォールバックします
  • Redhatベースyum upgradeを実行します (またはdnf 存在する場合)
  • Debianベースapt update && apt dist-upgradeを実行します
  • ゲントゥーlayman -s ALL && emerge --sync -q && eix-update && emerge -uDNa worldを実行します
  • openSUSE zypper refresh && zypper dist-upgradeを実行します
  • 無効xbps-install -Suを実行します

2. etc-updateを実行します 。

3.非公式およびサードパーティのパッケージマネージャーを実行します:

  • Flatpakを更新します パッケージ
  • スナップを更新します パッケージ
  • fwupdmgrを実行します ファームウェアのアップグレードを表示します。 (表示のみ。実際にはアップグレードは実行されません)
  • rpi-update RaspberryPiファームウェアを更新するには
  • piholeを実行します アップデータ
  • rustup update 。これにより、rustup self update Rustupがホームディレクトリ内にインストールされている場合。
  • Cargo install-updateを実行します
  • Emacsをアップグレードする パッケージ
  • アップグレードOCaml パッケージ
  • アップグレードvcpkg グローバルにインストールされたパッケージ
  • myreposをアップグレードする 管理されたソースコードリポジトリ
  • pipxを使用してインストールされたPythonパッケージをアップグレードします
  • アップグレードR グローバルにインストールされたパッケージ
  • アップグレードVim/ Neovim パッケージ。次のプラグインフレームワークで動作します:
    • NeoBundle
    • バンドル
    • プラグ
    • 定義
  • ノード
    • yarn global update 糸が取り付けられている場合。
    • npm update -g NPMがインストールされていて、npm root -g ホームディレクトリ内のパスです。
  • composer global update Composerのホームディレクトリがユーザーのホームディレクトリ内にある場合。 valet install 後。
  • アップグレードアトム パッケージ
  • gem upgrade --user-install ~/.gemの場合 存在する

Unixの場合:

  • brew update && brew upgrade 。これは、自作の両方を処理する必要があります およびLinuxbrew
  • nix upgrade-nix && nix --upgrade
  • パールpearl update
  • zplugを実行します 更新
  • tmuxをアップグレードする TPMを備えたプラグイン

FreeBSDの場合:

  • パッケージのアップグレードと監査。

その他(これらの手順はすべてのOSで実行されます)

次のパスがGitによって追跡されているかどうかを確認します 。もしそうなら、それらを引っ張る:

  • 〜/ .emacs.d
  • 〜/ .zshrc
  • 〜/ .oh-my-zsh
  • 〜/ .tmux
  • 〜/ .config / fish
  • 〜/ .config / nvim
  • 〜/ .vim
  • 〜/ .config / openbox
  • 〜/ .config / bspwm
  • 〜/ .config / i3
  • PowerShellプロファイル
  • カスタム定義のパス

最終ステップ

すべてのパッケージがアップグレードされると、Topgradeはもう1つの最終ステップを実行します。

Linuxの場合:

Topgradeユーティリティはneedrestartを実行します すべてのサービスを再起動します。

FreeBSDの場合:

Topgradeはfreebsd-upgrade

Mac OS X 、AppStoreアプリケーションをアップグレードします。

Ubuntu 18.04 LTSテストボックスからの出力例:

LinuxおよびUnixでTopgradeを使用してすべてをアップグレードする

良いことは、1つのタスクが失敗した場合、次のタスクを自動的に実行し、他のすべての後続のタスクを完了することです。最後に、実行したタスクの数、成功したタスクの数、失敗したタスクの数などの詳細を含む要約が表示されます。

推奨される読み物:

  • 単一のコマンドでUbuntuをアップグレードする方法
  • Ubuntuを最新バージョンにアップグレードするための3つの異なる方法
  • Ubuntuにアップデートとセキュリティパッチを自動的にインストールする

トップグレードオプション

Togradeには、さまざまな追加タスクを実行するためのいくつかのオプションがあります。

Tmuxセッション内でTopgradeを実行する

これは、リモートシステムでTopgradeを使用する場合に便利です。

Tmuxセッション内でTopgradeを開始するには、 -tを使用します フラグ。

$ topgrade -t

Tmuxセッション内でTopgradeを実行する

古くて不要なファイルを削除する

古いファイルと未使用のファイルをクリーンアップするようにパッケージマネージャーに指示するには、 -cを使用します トップグレードのフラグ:

$ 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 <[email protected]>
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]

個人的には、トップグレードのようなユーティリティを作成し、さまざまなパッケージマネージャーでインストールされているすべてのものを1つのコマンドでアップグレードするというアイデアが気に入りました。お役に立てば幸いです。


Linux
  1. Linuxデスクトップでカーネルをアップグレードする方法

  2. Linux – Linuxからブートローダーを実行する方法は?

  3. Linux ubuntu で PHP CLI を設定して www-data として実行するにはどうすればよいですか?

  1. LinuxでRをアップグレードするには?

  2. PS3でLinuxを実行するには?

  3. Android - Linux を使用して Samsung S6 をルート化する方法は?

  1. KaliLinuxをアップデートする方法

  2. LinuxMint20.3にアップグレードする方法

  3. Linux Mint 20にアップグレードする方法(Ulyana)