web-dev-qa-db-ja.com

apt-get upgradeは危険なコマンドですか?

Apt-get updateおよびapt-get upgradeを使用する場合、以下のような最新バージョンでインストールする必要があるパッケージがあります。

The following packages will be upgraded:
  accountsservice apparmor apport apt apt-transport-https apt-utils binutils
  cloud-init cpp-4.8 dpkg Fuse g++-4.8 gcc-4.8 gcc-4.8-base gdisk gnupg gpgv
  grub-common grub-legacy-ec2 grub-pc grub-pc-bin grub2-common initscripts
  isc-dhcp-client isc-dhcp-common libaccountsservice0 libapparmor-Perl
  libapparmor1 libapt-inst1.5 libapt-pkg4.12 libasan0 libatomic1 libbsd0
  libcurl3-gnutls libdrm2 libedit2 libfuse2 libgcc-4.8-dev libgd3 libgomp1
  libitm1 libjson-c2 libjson0 libnuma1 libpam-systemd libpolkit-agent-1-0
  libpolkit-backend-1-0 libpolkit-gobject-1-0 libquadmath0 libstdc++-4.8-dev
  libstdc++6 libsystemd-daemon0 libsystemd-login0 libtsan0 libudev1 libxext6
  linux-libc-dev ntpdate openssl overlayroot patch policykit-1 ppp
  python-urllib3 python3-apport python3-problem-report python3-update-manager
  rsyslog systemd-services sysv-rc sysvinit-utils tcpdump tzdata udev
  update-manager-core
75 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

そこにあるパッケージのすべてが最新バージョンで更新された場合にどうなるかを知らなかった場合、このコマンドを実行しないでください(apt-get upgrade)。

例えば:

このPHPバージョンはアップグレードする前です

yzxu@ubuntu:/tmp/git-2.1.2$ php --version
PHP 5.6.6-1+deb.sury.org~precise+1 (cli) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

アップグレード後:

yzxu@ubuntu:/tmp/git-2.1.2$ php --version
PHP 5.6.10-1+deb.sury.org~precise+1 (cli) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

PHPバージョンが変更されました。2つのバージョンで何が変更されていなかった場合、アップグレードする必要がありますか?影響製品

7
大易归真
apt-get update

リポジトリを更新し、オンラインで利用可能なパッケージに関する情報を取得します。

apt-get upgrade

すべてのインストール済みパッケージの更新をダウンロードしてインストールします-依存関係を気にしない限り(新しいパッケージのインストール、古いパッケージの削除、またはレポジトリソースのクロス(レポジトリ間でのパッケージの切り替え))。

apt-get dist-upgrade

「アップグレード」と同じですが、依存関係またはソースが変更されたときにもパッケージをアップグレードします(さらにテストすることなくサーバー上で回避したいもの)。

結論として、アップデートは物事を壊す可能性がありますが、それは必要です!したがって、デスクトップを使用している場合は、通常、次のことを行う必要があります。

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

何かを破壊することなく。

サーバーでは、ほとんどの場合:

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

十分であり、セキュリティ更新プログラムが自動的にインストールされる必要があります(サーバーおよびデスクトップ上)

16.04への更新

一方、「apt」ラッパーはUbuntuの標準的な方法であるため、コマンドは次のとおりです。

Sudo apt update        #to update the repo-information

Sudo apt upgrade       #to install all security fixes and changes that doesn't harm the system or change the behaviour

Sudo apt full-upgrade  #the new "dist-upgrade" that installs newer versions that can break backwards-compatibility

TL; DR!

はい、この例ではPHPを更新する必要があります。これはセキュリティ修正であるためです(これはPHPのバージョン管理スキームで確認できます。Ubuntuの「アップグレード」チャネルにもプッシュされません。 )

7
Mr.Gosh

多分。ただし、システムを定期的に更新する必要があります。更新にはリスクがあります、はい。このリスクは、追加したPPAや追加していないPPAなどの、私が知らないものにも依存します。ただし、ここでも一般的には、システムを最新の状態に保つことをお勧めします。更新すると、安定性の修正とセキュリティの更新が行われます。したがって、システムを更新(アップグレード)しないことはさらに危険です。

1
gnaservicesinc

apt-get upgradeitを実行すると、システムにインストールされているすべてのパッケージが更新されます。すべてのパッケージはリポジトリから(信頼できるパッケージのみをインストールする必要があります)、アップロード前に(おそらく)十分にテストされているため、完全に安全です(終了する前に切断しない限り)。

唯一の小さなリスクは、そこにあるパッケージ内のバグのリスクです。しかし、バグはソフトウェアに共通であり、バージョンに基づいて行き来するため、アップグレードされたOSで発生する可能性があります。

アップグレードする必要がありますか? upgradeapplication-updaterアプリを使用するのが気に入らない場合は同じように出力しますが、心配する必要はありません。

詳細はaptのドキュメントをご覧ください

1
Mark Kirby