Debian

Debian:以下軟體包已被保留…. odbcinst AND odbcinst1debian2

  • June 8, 2019

問題:

我有這兩個包裹held back for weeks now,我無法擺脫它們,

The following packages have been kept back:
 odbcinst odbcinst1debian2

看這裡:

[10:53:34][kristjan] ~ ~↓↓$↓↓ sudo apt upgrade --with-new-pkgs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
 odbcinst odbcinst1debian2
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
[10:53:44][kristjan] ~ ~↓↓$↓↓ sudo apt-get upgrade --with-new-pkgs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
 odbcinst odbcinst1debian2
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
[10:53:53][kristjan] ~ ~↓↓$↓↓ sudo apt dist-upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
 odbcinst odbcinst1debian2
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
[10:55:08][kristjan] ~ ~↓↓$↓↓ sudo apt install odbcinst odbcinst1debian2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
 amarok-common amarok-utils apper apper-data avogadro-data cdparanoia cdrdao clamz debconf-kde-data debconf-kde-helper dvd+rw-tools espeak-ng-data festival festival-freebsoft-utils festlex-cmu festlex-poslex festvox-kallpc16k
 gnome-orca gnugo growisofs icoutils k3b-data kalzium-data kate-data kde-baseapps-data kde-runtime-data kdegames-card-data kdegames-mahjongg-data ktorrent-data ktouch-data kwrite libakonadiprotocolinternals1 libatk-adaptor
 libavogadro1 libdebconf-kde1 libdiscid0 libdmtx0a libdotconf0 libespeak-ng1 libestools2.4 libgadu3 libgpgme++2v5 libgpod-common libgpod4 libgpod4-nogtk libjs-mootools libkactivities6 libkcalcore4 libkcmutils4 libkcompactdisc4
 libkdeclarative5 libkdesu5 libkdnssd4 libkexiv2-11 libkexiv2-data libkidletime4 libkimap4 libkjsapi4 libkjsembed4 libkldap4 libkmime4 libkntlm4 libkonq5-templates libkpty4 libkresources4 libkrosscore4 libksane0 libkunitconversion4
 liblastfm1 liblimba0 libloudmouth1-0 libmariadbd18 libmeanwhile1 libmediastreamer-base3 libmusicbrainz5cc2v5 libmygpo-qt1 libntrack-qt4-1 libntrack0 libopenbabel4v5 libortp9 libotr5 libpcaudio0 libperl4-corelibs-perl libphonon4
 libpolkit-qt-1-1 libpoppler-qt4-4 libprison0 libqaccessibilityclient0 libqca2 libqca2-plugin-ossl libqca2-plugins libqimageblitz4 libqjson0 libqmobipocket1 libqrencode3 libqtassistantclient4 libqtscript4-core libqtscript4-gui
 libqtscript4-network libqtscript4-sql libqtscript4-uitools libqtscript4-xml libqtwebkit4 libsgutils2-2 libsolid4 libsonic0 libspeechd2 libtag-extras1 libthreadweaver4 ntrack-module-libnl-0 oxygen-icon-theme palapeli-data phonon
 phonon-backend-gstreamer phonon-backend-gstreamer-common polkit-kde-1 python-attr python-avogadro python-click python-colorama python-constantly python-incremental python-openssl python-pam python-pyasn1-modules python-qt4
 python-qt4-sql python-serial python-service-identity python-sip python-twisted-bin python-twisted-core python-zope.interface python3-brlapi python3-louis python3-pyatspi python3-speechd qhull-bin qtdeclarative4-kqtquickcharts-1
 sound-icons sound-theme-freedesktop speech-dispatcher speech-dispatcher-audio-plugins speech-dispatcher-espeak-ng speech-dispatcher-festival vcdimager xbrlapi
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
 amarok dolphin4 jovie juk k3b k3b-i18n kaccessible kajongg kalzium katepart kcachegrind kchmviewer kde-baseapps kde-baseapps-bin kde-config-cddb kde-full kde-games-core-declarative kde-plasma-desktop kde-runtime kde-standard
 kdeaccessibility kdeadmin kdeedu kdegames kdegraphics kdegraphics-mobipocket kdelibs-bin kdelibs5-plugins kdemultimedia kdenetwork kdepasswd kdepimlibs-kio-plugins kdesdk kdesdk-kio-plugins kdesdk-misc kdesudo kdeutils kdewebdev
 kdoctools kfilereplace kfind kget kgoldrunner kgpg kigo kimagemapeditor kio-audiocd kio-mtp klinkstatus kmag kmousetool kmouth kmtrace kolf kommander konq-plugins konqueror konqueror-nsplugins konquest kopete kpart-webkit kpartloader
 kppp kremotecontrol kreversi ksaneplugin kscd ksirk ksnakeduel kspaceduel ksudoku ktorrent ktouch kubrick kuiviewer kuser libakonadi-contact4 libakonadi-kde4 libakonadi-kmime4 libiodbc2 libk3b6 libk3b6-extracodecs libkabc4
 libkatepartinterfaces4 libkcddb4 libkde3support4 libkdegames6abi1 libkdegamesprivate1abi1 libkdewebkit5 libkemoticons4 libkfile4 libkhtml5 libkio5 libkmediaplayer4 libknewstuff2-4 libknewstuff3-4 libknotifyconfig4 libkonq-common
 libkonq5abi1 libkonqsidebarplugin4a libkopete4 libkparts4 libkpimidentities4 libkpimtextedit4 libkpimutils4 libkprintutils4 libkrossui4 libktexteditor4 libktorrent-l10n libktorrent5 libkxmlrpcclient4 libmailtransport4 libnepomuk4
 libnepomukquery4a libnepomukutils4 libokularcore7 libplasma3 libreoffice-kde libsoprano4 libsyndication4 lskat okular palapeli plasma-scriptengine-javascript python-kde4 soprano-daemon svgpart sweeper task-kde-desktop
The following packages will be upgraded:
 odbcinst odbcinst1debian2
2 upgraded, 0 newly installed, 129 to remove and 0 not upgraded.
Need to get 147 kB of archives.
After this operation, 231 MB disk space will be freed.
Do you want to continue? [Y/n]n

我試過的:

根據debian-administration.org上的一篇文章,

If the dependencies have changed on one of the packages you have installed so that a new package must be installed to perform the upgrade then that will be listed as "kept-back".

謹慎的解決方案1:

根據Pablo 的回答,您可以執行sudo apt-get --with-new-pkgs upgrade,它會安裝保留的軟體包。

這樣做的好處是不會將保留的軟體包標記為“手動安裝”,這可能會迫使更多的使用者干預(見評論)。

如果 Pablo 的解決方案適合您,請點贊。如果沒有,請評論出了什麼問題。

謹慎的解決方案2:

謹慎的解決方案是執行sudo apt-get install <list of packages kept back>。在大多數情況下,這將為保留的軟體包提供成功升級所需的內容。

激進的解決方案:

更激進的解決方案是 run sudo apt-get dist-upgrade,這將強制安裝這些新的依賴項。

dist-upgrade可能非常危險。與升級不同,它可能會刪除軟體包以解決複雜的依賴情況。與您不同,APT 並不總是足夠聰明,無法知道這些添加和刪除是否會造成嚴重破壞。

因此,如果您發現自己處於“謹慎解決方案”不起作用的地方,dist-upgrade可能會起作用……但是您最好了解更多有關 APT 的知識並通過安裝和刪除“手動”解決依賴問題根據具體情況打包。

把它想像成修理汽車……如果你有時間並且可以用扳手方便,通過閱讀和自己修理你會得到一些安心。如果你覺得幸運的話,你可以把你的車交給你的表妹dist-upgrade,希望她知道她的事情。

我也試過:

[11:06:55][kristjan] ~ ~↓↓$↓↓ sudo aptitude safe-upgrade
Resolving dependencies...                
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.

問題:

如何解決這個問題並擺脫這個惱人的警告?

apt policy odbcinst odbcinst1debian2節目

odbcinst:
 Installed: 2.3.4-1
 Candidate: 2.3.7
 Version table:
    2.3.7 500
       500 https://packages.microsoft.com/debian/9/prod stretch/main amd64 Packages
*** 2.3.4-1 500
       500 http://deb.debian.org/debian stable/main amd64 Packages
       100 /var/lib/dpkg/status
odbcinst1debian2:
 Installed: 2.3.4-1
 Candidate: 2.3.7
 Version table:
    2.3.7 500
       500 https://packages.microsoft.com/debian/9/prod stretch/main amd64 Packages
*** 2.3.4-1 500
       500 http://deb.debian.org/debian stable/main amd64 Packages
       100 /var/lib/dpkg/status

您已經添加了 Microsoft 儲存庫,其中包含更新版本的odbcinst軟體包,以及與 KDE 衝突的那些(它們“破壞” libiodc2,KDE 需要通過 soprano-daemonlibsoprano4)。

所以你需要選擇:要麼保留 KDE,要麼升級到新的odbcinst軟體包;你不能兩者兼得。

要擺脫“警告”,您可以將 Microsoft 儲存庫固定到嚴格低於 100 的優先級,如下所示:

nano /etc/apt/preferences.d/proxmox

並插入:

Package: *
Pin: origin packages.microsoft.com
Pin-Priority: 70

引用自:https://unix.stackexchange.com/questions/523520