web-dev-qa-db-ja.com

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

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

88 packages can be updated.
80 updates are security updates

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

685
Marlin

これを使用してください:

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, it needed
Sudo apt autoremove    # Removes any old packages that are no longer needed

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

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

857
SirCharlo

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

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'
123
Benny

これは通常の動作です。

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

cat /etc/motd

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

Sudo apt-get update && Sudo apt-get upgrade

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

92
david6

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

Sudo apt-get upgrade

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

12
NorTicUs

私の場合、間違っていたかアクセスできない URL in/ etc/apt/sources.list。AfterこのURLを削除すると、すべてのパッケージを正常に更新できました。

コマンド:

Sudo vi /etc/apt/sources.list
Sudo apt-get update && Sudo apt-get upgrade
9
burtsevyg

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

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

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

    wajig dailyupgrade
    

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

7
Rmano

これも必要になる場合があります-

Sudo touch /etc/motd.tail

から- buntuは、アップグレードしていないときにアップグレードするパッケージがあると教えてくれます

14.04で動作しました

4
John Behan

このスクリプトは、不要なパッケージの削除や、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を発行します

1
Scott Stensland

apt-get updateの終了後にapt-get upgradeを再度実行すると、sshログイン時のこれらのメッセージは消えます。

0
Francisco Luz