web-dev-qa-db-ja.com

「次のパッケージは保管されています」とはどういう意味ですか?

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.

これは正確にはどういう意味ですか?明らかに、パッケージは抑制され、インストールされていませんが、なぜですか?

次の質問は次のとおりです。これらの保持されたパッケージをどのようにアップグレードしますか?

77
Charles Roper

アップグレードで別のパッケージを削除する必要がある場合、または新しいパッケージをインストールする必要がある場合、パッケージは「保持」されます。 apt-get upgradeのmanページ の説明:

利用可能な新しいバージョンで現在インストールされているパッケージが取得およびアップグレードされます。現在インストールされているパッケージが削除されたり、まだインストールされていないパッケージが取得およびインストールされたりすることはありません。

これを乗り越えるには、あなたがすることができます

Sudo apt-get --with-new-pkgs upgrade

これにより、新しいパッケージをインストールできます。インストールされるパッケージを通知し、実際にインストールを行う前にプロンプ​​トを表示します。

68
Chad

基本的なレポートはapt-get upgradeは、パッケージマネージャーがパッケージを削除して再インストールするパッケージをアップグレードしません。これは多くの場合、パッチが適用された最終的な配布可能なコンパイルの実際のライブラリの前身であったため、セキュリティパッチで多く発生します。 「先に進み、削除する」機能はapt-get dist-upgradeですが、必ず実行してくださいapt-get update最初に、あなたが最後に試してから上流の人たちが何かを見つけた場合に備えて。時々彼らは物事を見逃して、すぐに直します。

19
rhoyerboat

_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_が使用されます。

3
Darin Luckie

するだけ

Sudo apt-get install linux-headers-server linux-image-server linux-server

保持されているパッケージをアップグレードします。

次にapt-get upgradeを実行すると、大丈夫です。

2
Robert

メッセージは潜在的に安全でない状態を示しています

あなたがこの変化を起こさせたいと確信しているなら、あなたはただできる

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または同様のメッセージ

0
Scott Stensland