Ubuntuのすべてを更新する1つのコマンドですか?


15

システム全体を更新してからアップグレードする3つのコマンドがあることを知っています。これらは次のとおりです。

  • sudo apt-get update#利用可能なアップデートのリストを取得します
  • sudo apt-get upgrade#現在のパッケージを厳密にアップグレードします
  • sudo apt-get dist-upgrade#アップデート(新しいアップデート)をインストールします

これらすべてのコマンドを1つに結合するスーパーアップグレードコマンドはありますか?


1
いいえ、最大でできることsudo apt-get update && sudo apt-get dist-upgrade
-heemayl

まだ1つのコマンドラインです。 ;-)
ファビー

いつかこの質問に出くわす人のために、ここに関連するものを実行updateupgrade、ワンライナーとしてaskubuntu.com/a/1086022/295286
Sergiy Kolodyazhnyy

回答:


23

3つの適切な選択肢があります。

  1. 次のようなスクリプトを作成できます。

    #!/bin/bash
    set -e
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get dist-upgrade

    次のように呼び出してupdate.sh配置し/usr/local/bin、次を実行してスクリプトを実行可能にします。

    sudo chmod +x /usr/local/bin/update.sh
  2. もう1つの方法は、bashエイリアス(~/.bashrc)を作成するか、エイリアスを通常保存する場所です:

    alias update='sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade'
  3. 最後の方法は、コマンドラインで3つのコマンドを単純につなげることです。

    sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

いくつかの選択肢...

参照:


6
使用する場合dist-upgradeupgrade事前に行うことは意味がありません
。– heemayl

3
@heemayl:理論的にははい。実際には直接は、コーナーケースがあるdist-upgrade失敗かもしれませんがupgrade続いdist-upgradeていないでしょうが。これは主に、パッケージの依存関係の定義のバグ、または異なるリリース/ディストリビューション/ PPAのパッケージが混在しているためです。Canonicalの公式リポジトリのパッケージを1つのリリース(デフォルト)のみで使用する場合、このようなエラーは非常にまれであり、すぐに修正されるはずです。
デビッドフォースター

2
ありますIMPRESS-友人#3の変種は:for x in update {,dist-}upgrade; do sudo apt $x; done
イーライBarzilay

1
ステップ1では、「set -e」は何をしますか?
karjedavpalaa

7

入力が多すぎることに悩まされている場合は、「エイリアス」を自分で定義できます。これは、たとえば次の$HOME/.profileように行を末尾に追加することで実行できます。

alias sau='sudo aptitude update && sudo aptitude upgrade'

(もちろん、「sau」を別のものに置き換えることができます。私にとっては、これはSudo Apt-get Updateの頭字語です)。ファイルを保存した後、新しいシェルを開きます(または.profileを再度「ソース」し. $HOME/.profileます。これで、いつでも「sau」と入力して完全なジョブを実行できます。複数のマシンでうまく動作します。


ふむ 私は誰かにそれをエイリアスするように私に言うように頼んでいたと思います:P
polandeer

ええ、しかし、それが「単一コマンド」でそれを行う唯一の方法です。そして、あなたの質問はこれを除外しませんでした;)
イジー

トリッキー。とにかく、私が尋ねた唯一の理由は、私が書くsudo aptitude update && sudo aptitude upgradeのが面倒だからではなく、適切に理解したかったからですsudo pacman -Syu --noconfirm
ポーランド人

これを頻繁に複数のマシンで実行する必要がある場合は、少なくともエイリアスを持つことができてうれしいです。ただし、利用可能な更新を表示するマニュアルページによると、apt-get updateパラメータ-uがあります。その後、それらを適用するかどうかを尋ねるかどうかは試しませんでした(すぐに確認できるUbuntu / Debianがありません)。
イジー

7

ワンライナーコマンドを使用できます(スクリプトは不要で、コピーアンドペーストのみ)

sudo apt update -y && sudo apt full-upgrade -y && sudo apt autoremove -y && sudo apt clean -y && sudo apt autoclean -y
  • update -パッケージのリストを更新しますが、インストールはしません
  • upgrade -新しいバージョンが利用可能な場合、パッケージの新しいバージョンをインストールします
  • full-upgrade -アップグレードの機能を実行しますが、システム全体をアップグレードするために必要な場合、現在インストールされているパッケージを削除します(悪い依存関係を修正します)
  • autoremoveautocleanおよびclean-不要になった古いパッケージを削除します
  • オプション-yはすべてのステップで許可を要求しません


2
sudo apt install unattended-upgrades

これはまだ最高のラインです。他のすべてのソリューションでは、毎日1行を何度も入力する必要があります。これはまさにワンコマンドソリューションです。ubuntuの公式aptドキュメントをご覧ください

.confこのパッケージのファイルを編集することにより/etc、の頻度を設定できますupdate, install, clean, autoremoveます...

または、パッケージ名のリストで更新が利用可能であるという通知を含むメール

変更ごとに素敵な小さなログファイルが生成されます。デスクトップ通知にもポップアップするためのGUI拡張として小さなスクリプトを書くことができると思います(トピックは笑)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.