「apt-get Upgrade sqlmap」は、sqlmapだけでなくすべてのパッケージをアップグレードします。これが予想される動作ですか?

「apt-get Upgrade sqlmap」は、sqlmapだけでなくすべてのパッケージをアップグレードします。これが予想される動作ですか?

デュアルアンパサンド(「&&」など)と組み合わせて、次のコマンドを実行しました。

apt-get update && apt-get upgrade sqlmap

明らかにインストールされたすべてのパッケージがアップグレードされています。これは私の意図ではありません。 「sqlmap」というパッケージをアップグレードしたい。なぜこのような問題が発生しますか?

答え1

これは正しい動作です。ドキュメントを読む(man apt-get):

       upgrade
           upgrade is used to install the newest versions of all packages
           currently installed on the system from the sources enumerated in
           /etc/apt/sources.list. Packages currently installed with new
           versions available are retrieved and upgraded; under no
           circumstances are currently installed packages removed, or packages
           not already installed retrieved and installed. New versions of
           currently installed packages that cannot be upgraded without
           changing the install status of another package will be left at
           their current version. An update must be performed first so that
           apt-get knows that new versions of packages are available.

答え2

次の行を使用して1つのパッケージのみを更新する必要があります。

apt-get install --only-upgrade <packagename>

存在する<packagename> sqlmap

答え3

パッケージのみをアップグレードするには、次のコマンドを次の&&ように変更します。

apt-get install sqlmap

を使用すると、apt-get upgradeアップグレードできるすべてのパッケージをアップグレードしようとします。

関連情報