apt-get upgrade
「次のパッケージは保管されています」というメッセージが時々表示されます。例えば:
$ Sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
linux-headers-server linux-image-server linux-server
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
これは正確にはどういう意味ですか?明らかに、パッケージは抑制され、インストールされていませんが、なぜですか?
次の質問は次のとおりです。これらの保持されたパッケージをどのようにアップグレードしますか?
アップグレードで別のパッケージを削除する必要がある場合、または新しいパッケージをインストールする必要がある場合、パッケージは「保持」されます。 apt-get upgradeのmanページ の説明:
利用可能な新しいバージョンで現在インストールされているパッケージが取得およびアップグレードされます。現在インストールされているパッケージが削除されたり、まだインストールされていないパッケージが取得およびインストールされたりすることはありません。
これを乗り越えるには、あなたがすることができます
Sudo apt-get --with-new-pkgs upgrade
これにより、新しいパッケージをインストールできます。インストールされるパッケージを通知し、実際にインストールを行う前にプロンプトを表示します。
基本的なレポートはapt-get upgrade
は、パッケージマネージャーがパッケージを削除して再インストールするパッケージをアップグレードしません。これは多くの場合、パッチが適用された最終的な配布可能なコンパイルの実際のライブラリの前身であったため、セキュリティパッチで多く発生します。 「先に進み、削除する」機能はapt-get dist-upgrade
ですが、必ず実行してくださいapt-get update
最初に、あなたが最後に試してから上流の人たちが何かを見つけた場合に備えて。時々彼らは物事を見逃して、すぐに直します。
_apt-get dist-upgrade
_をお試しください。 manページから:
_
dist-upgrade
__
dist-upgrade
_は、upgrade
の機能を実行するだけでなく、パッケージの新しいバージョンでの依存関係の変更もインテリジェントに処理します。 _apt-get
_には「スマート」な競合解決システムがあり、必要に応じてそれほど重要ではないパッケージを犠牲にして、最も重要なパッケージをアップグレードしようとします。したがって、_dist-upgrade
_コマンドは一部のパッケージを削除する場合があります。 _/etc/apt/sources.list
_ファイルには、目的のパッケージファイルを取得する場所のリストが含まれています。個々のパッケージの一般設定を上書きするメカニズムについては、apt_preferences(5)
も参照してください。
このコマンドisはオペレーティングシステムの新しいメジャーバージョンにアップグレードするために使用されますが、notはデフォルトでこれを実行します。ファイル_/etc/apt/sources.list
_を新しいバージョンに変更する必要がありますthen _dist-upgrade
_が使用されます。
するだけ
Sudo apt-get install linux-headers-server linux-image-server linux-server
保持されているパッケージをアップグレードします。
次にapt-get upgrade
を実行すると、大丈夫です。
メッセージは潜在的に安全でない状態を示しています
あなたがこの変化を起こさせたいと確信しているなら、あなたはただできる
Sudo apt-get install xxxxx
ここで、xxxxは保持されているパッケージです。通常、これは、システムがこのインストールを実行して他のパッケージをアンインストールする必要があることを認識している場合に発生します...例
Sudo apt-get --with-new-pkgs upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
libc6 libc6-dbg
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
しかし、私は先に進んでそれらの保持されたパッケージの更新を行うので大丈夫ですので、私は実行します
Sudo apt-get install libc6 libc6-dbg
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libx11-xcb1:i386
Use 'Sudo apt autoremove' to remove it.
Suggested packages:
glibc-doc
The following packages will be REMOVED:
libatomic1:i386 libbsd0:i386 libc6:i386 libdrm-amdgpu1:i386 libdrm-intel1:i386 libdrm-nouveau2:i386 libdrm-radeon1:i386 libdrm2:i386 libedit2:i386 libelf1:i386
libexpat1:i386 libffi6:i386 libgcc1:i386 libgl1:i386 libgl1-mesa-dri:i386 libglapi-mesa:i386 libglvnd0:i386 libglx-mesa0:i386 libglx0:i386 libidn2-0:i386 libllvm9:i386
libnvidia-compute-430:i386 libnvidia-decode-430:i386 libnvidia-encode-430:i386 libnvidia-fbc1-430:i386 libnvidia-gl-430:i386 libnvidia-ifr1-430:i386 libpciaccess0:i386
libsensors5:i386 libstdc++6:i386 libtinfo6:i386 libunistring2:i386 libx11-6:i386 libxau6:i386 libxcb-dri2-0:i386 libxcb-dri3-0:i386 libxcb-glx0:i386 libxcb-present0:i386
libxcb-sync1:i386 libxcb1:i386 libxdamage1:i386 libxdmcp6:i386 libxext6:i386 libxfixes3:i386 libxshmfence1:i386 libxxf86vm1:i386 zlib1g:i386
The following packages will be upgraded:
libc6 libc6-dbg
2 upgraded, 0 newly installed, 47 to remove and 0 not upgraded.
Need to get 8,459 kB of archives.
After this operation, 525 MB disk space will be freed.
Do you want to continue? [Y/n]
いくつかの調査を行うことで、このアップグレードを実行しても大丈夫なので、上記のYと表示しますプロンプト...これで、これらの保持されたパッケージがインストールされ、コストは不要な補助32ビットパッケージの排除でした...もちろん、別のセットになりますこれを引き起こしているパッケージのThe following packages have been kept back
または同様のメッセージ