ПРОБЛЕМА:
У меня было два таких пакета, 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:
ЗаОтвет Пабло, вы можете запустить sudo apt-get --with-new-pkgs upgrade
, и он установит сохраненные пакеты.
Преимущество этого подхода в том, что отложенные пакеты не помечаются как «установленные вручную», что может потребовать дополнительного вмешательства пользователя в дальнейшем (см. комментарии).
Если решение Пабло вам подходит, пожалуйста, поставьте ему лайк. Если нет, пожалуйста, напишите в комментариях, что пошло не так.
Осторожное решение 2:
Осторожное решение — запустить sudo apt-get install <list of packages kept back>
. В большинстве случаев это даст отложенным пакетам то, что им нужно для успешного обновления.
Агрессивное решение:
Более агрессивным решением является запуск 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
решение1
Вы добавили репозитории Microsoft, которые содержат более новые версии пакетов odbcinst
, и они конфликтуют с KDE (они «ломают» libiodc2
то, что нужно KDEс помощью soprano-daemon
и libsoprano4
).
Поэтому вам нужно выбрать: либо вы сохраняете KDE, либо обновляетесь до новых odbcinst
пакетов; вы не можете иметь и то, и другое.
Чтобы избавиться от «предупреждения», можно закрепить репозитории Microsoft за приоритетом строго меньше 100, например так:
nano /etc/apt/preferences.d/proxmox
и вставьте:
Package: *
Pin: origin packages.microsoft.com
Pin-Priority: 70