コマンドライン経由でアップデートをインストールする方法は?


692

SSH経由でWebサーバーにログインすると、次の情報が表示されます。

88 packages can be updated.
80 updates are security updates

それから試してみapt-get updateましたapt-get upgradeが、ログインするたびに更新に関するメッセージが表示されます。どうすればインストールできますか?


1
最初にこれを試しましたか?sudo apt-get cleanこれはキャッシュを消去するはずです。
user2635584

回答:


868

これを使って:

sudo apt update        # Fetches the list of available updates
sudo apt upgrade       # Installs some updates; does not remove packages
sudo apt full-upgrade  # Installs updates; may also remove some packages, if needed
sudo apt autoremove    # Removes any old packages that are no longer needed

aptオプションに関するドキュメントは、aptのマンページにあります。これらはman apt、ターミナルで実行することでも利用できます。

通常、両方upgradefull-upgrade一緒に使用する必要はありませんが、場合によっては役立つことがあります。Debian9からのアップグレードに関するDebianドキュメントを参照してください。


29
sudo rebootそれ以降は常に再起動する必要がありますか?
ヘルボーイ

1
動作させるには-yを追加する必要がありました。Ubuntu 17.10
T04435

124

sudo1回入力して、すべてのコマンドを実行します。

sudo -- sh -c 'apt-get update; apt-get upgrade -y; apt-get dist-upgrade -y; apt-get autoremove -y; apt-get autoclean -y'

または

sudo -s -- <<EOF
apt-get update
apt-get upgrade -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
EOF

またはforループでさらに短い(@dessertに感謝)

sudo bash -c 'for i in update {,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done'

3
あなたは組み合わせることができますdist-upgradeおよびautoremoveによってapt-get dist-upgrade --auto-remove
ジャーノ

3
upgradeとの両方を実行する必要はありませんdist-upgrade
ジャーノ

3
@jarno dist-upgradeはパッケージを削除できます。upgrade新しいパッケージバージョンが古いバージョンよりも簡単に依存関係を満たしている場合など、最初に使用するとこれを回避できます。Ubuntuの安定版リリース内でパッケージをアップグレードする際にこれがどれほど頻繁に役立つかはわかりませんが、他のコンテキストでは推奨されています。個人的には、私はめったにdist-upgradeUbuntuで使用しません-y。しかし、実行dist-upgradeして渡す場合は-yupgrade最初にアクションを実行するのが妥当だと思います。
エリアカガン

1
@jarno --autoremoveは、選択したアップグレードコマンドと一緒にチェーンできますが、パッケージの1つが失敗すると、クリーンでない状態になる可能性があるため、お勧めできません。より良いautoremove方法は、更新プロセスが完了した後、別の行で単独で使用することです。古い設定ファイルもきれいにしたい場合は、これをで連鎖できます--purge
Videonauth

@Videonauthああ、それaptは実装方法に依存します。システムが汚れた状態にならないように実装する必要があると思います。
ジャーノ

91

これは正常な動作です。

ログイン時に表示されるメッセージは、サーバーのステータス「Message-Of-The-Day」に追加されます。これは、暦日ごと(またはサーバーの起動/起動時)にのみ更新されます。を使用して内容を見てください

cat /etc/motd

実行後も利用可能な同じ更新プログラムが表示される

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

期待されることです。その後、このコマンドを再実行すると、さらに(新しい)更新がリリースされた場合にのみ、更なる更新のプロンプトが表示されます。


私は、システム全体のファイルの変更が次の暦日まで表示されないことに気づいています。「更新」のような変更をすぐに開始する方法はありますか?
aljuaid86

Message-Of-The-Dayのコンテンツの更新、または実行後に必要なものが得られないということですsudo apt-get update && sudo apt-get upgradeか?
david6

3
これは16.04には当てはまりません。「apt-get dist-upgrade」と再起動後、「0個のパッケージをアップグレードできます」と表示されます。
ボグダンカルマック

1
上記の'..またはon server reboot ..'ステートメントはそれをカバーします。
david6

3
cat:/ etc / motd:そのようなファイルまたはディレクトリはありません
-xApple

11

サーバーにログインしたら、以下のコマンドを実行します。

sudo apt-get upgrade

トリックを行う必要があります。たぶん、あなたはサーバーを再起動する必要があるだけです。


3
ご回答ありがとうございますが、sudo apt-get upgradeを試しました。サーバーを再起動するのは、サイトがありますので、問題外です。
マーリン

3
カーネルに直接影響する更新プログラム、ドライバーの更新プログラム、または重要なセキュリティ更新プログラムをインストールした場合は、サーバーを再起動する必要があります。
エヴァンドロシルバ

たぶん、エラー503を1分間考慮する必要があります。これがどのような更新かを知っていますか?
NorTicUs

1
サーバーがオフラインの場合、503を渡すにはどうすればよいですか?
mcont

8

私の場合、/ etc / apt / sources.listに誤ったURLまたはアクセスできないURLがありました このURLを削除した後、すべてのパッケージを正常に更新できました。

コマンド:

sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade

7

私の(本当に遅い、ネクロマンサーバッジが好き:-))解決策:

  1. wajigのインストール(1回):

    sudo apt-get install wajig 
    
  2. システムを完全に更新/アップグレードする場合

    wajig dailyupgrade
    

    (必要に応じてパスワードを要求し、すべての更新、アップグレード、dist-upgrade、および自動削除の手順を実行します)。



1

このスクリプトは、不要なパッケージの削除や、OSが必要とする場合にのみ再起動を実行するなど、更新を自動化するのに便利です。

remote_user=usernamehere
remote_host=example.com

ssh -A -n -o StrictHostKeyChecking=no ${remote_user}@${remote_host} && \
sudo apt-get update && \
sudo apt-get -f install -y && \
sudo apt-get -o Dpkg::Options::="--force-confnew" -yy dist-upgrade -y && \
sudo apt-get autoremove -y && \
[ -f /var/run/reboot-required ] && \
echo "sudo reboot now" && \
sudo reboot now 

ローカルボックスで実行するには、sshを実行する最初の行をそのままにしてください

ここに〜/ .bashrcに保存するエイリアスがあります

alias doit='echo; kill $( ps -eafww|grep update-manager|grep -v grep | grep update-manager | tr -s " " |cut -d" "  -f2 ) > /dev/null 2>&1;  echo "sudo apt-get update && sudo apt-get dist-upgrade &&  [ -f /var/run/reboot-required ] && echo && echo reboot required && echo";echo;sudo apt-get update && sudo apt-get dist-upgrade &&  [ -f /var/run/reboot-required ] && echo && echo reboot required && echo '

その後、端末で発行するだけです doit


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