Debian: el número de versión del paquete instalado difiere de aquellos en el repositorio que causan problemas de dependencia

2

No puedo instalar libav-dbg debido a problemas de dependencia con los números de versión de los paquetes instalados, que no se corresponden con los del repositorio. ¿Cómo es esto posible y cómo puedo resolver el problema?

Descripción del problema:

Intentar instalar libav-dbg produce los siguientes problemas de dependencia:

Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libav-dbg : Depends: libavcodec55 (= 6:10.2-1) but 10:2.1.3-dmo2 is to be installed or
                      libavcodec-extra-55 (= 6:10.2-1) but it is not going to be installed
             Depends: libavformat55 (= 6:10.2-1) but 10:2.1.3-dmo2 is to be installed
             Depends: libswscale2 (= 6:10.2-1) but 10:2.1.3-dmo2 is to be installed

Running apt-cache policy libavcodec55muestra que hay instalada una versión diferente de la que está en el repositorio.

libavcodec55:
  Installed: 10:2.1.3-dmo2
  Candidate: 10:2.1.3-dmo2
  Version table:
 *** 10:2.1.3-dmo2 0
        100 /var/lib/dpkg/status
     6:10.2-2 0
          600 http://debian.ethz.ch/debian/ unstable/main amd64 Packages
     6:10.2-1 0
          650 http://debian.ethz.ch/debian/ testing/main amd64 Packages

En la documentación del paquete Debian en línea no encuentro ninguna referencia a una versión "10: 2.1.3-dmo2".

Información sobre mi sistema:

Estoy ejecutando pruebas de Debian con apt-pinning a inestable, pero solo usé inestable para un paquete no relacionado (python3-matplotlib). Me mantuve en el repositorio para instalar programas.

Las medidas intentaron resolver el problema:

apt-get -t testing install libavcodec55

Reading package lists...
Building dependency tree...
Reading state information...
libavcodec55 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded

apt-get --reinstall install libavcodec55

Reading package lists...
Building dependency tree...
Reading state information...
Reinstallation of libavcodec55 is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Intentar eliminar el paquete libavcodec55 para una reinstalación posterior también eliminaría muchos otros paquetes (¿se debe a dependencias?). Por lo tanto, esto no es factible a menos que haya una forma de suprimir la eliminación de todos los demás paquetes.

apt-get remove libavcodec55

Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  audacity-data automoc digikam-data dvdauthor dvgrab enblend enfuse freeglut3
  genisoimage htdig hugin hugin-data hugin-tools kde-base-artwork
  kde-wallpapers-default kde-workspace-data kde-workspace-kgreet-plugins
  kdenlive-data kipi-plugins-common liba52-0.7.4-dev libastro-dev libastro1
  libboost-filesystem1.54.0 libboost-filesystem1.55.0 libboost-system1.54.0
  libcln6 libdc1394-22-dev libdirac-dev libfaac-dev libfaad-dev libfftw3-3
  libfftw3-double3 libfftw3-long3 libflac++6 libglew1.10 libgsm1-dev libhdf5-7
  libkdcraw-data libkephal4abi1 libkipi-data libksane-data libksane0
  libkscreensaver5 libksignalplotter4 libmlt-data libmp3lame-dev
  libopencore-amrnb-dev libopencore-amrwb-dev libopencv-core-dev
  libopencv-flann-dev libopencv-gpu-dev libopencv-imgproc-dev libopencv-ml-dev
  libopencv-photo-dev libopencv-video-dev liborc-0.4-dev libpano13-3
  libpano13-bin libphonon-dev libportsmf0 libprocessui4a libpyside1.2
  libqalculate5 libqalculate5-data libqextserialport1 libqgpgme1
  libqtlocation1 libquazip0 libquicktime2 libraw1394-dev libsbsms10
  libschroedinger-dev libshiboken1.2 libshp2 libsoprano-dev libsoundtouch0
  libsox-fmt-alsa libsox-fmt-base libsox2 libsoxr0 libswscale-dev
  libtheora-dev libvamp-hostsdk3 libvigraimpex4 libwxbase3.0-0 libwxgtk3.0-0
  libx264-dev libxvidcore-dev libzthread-2.3-2 marble-data oxygencursors
  python-pyside.qtcore python-pyside.qtdeclarative python-pyside.qtgui
  python-pyside.qthelp python-pyside.qtnetwork python-pyside.qtopengl
  python-pyside.qtscript python-pyside.qtsql python-pyside.qtsvg
  python-pyside.qttest python-pyside.qtuitools python-pyside.qtwebkit
  python-pyside.qtxml recordmydesktop swh-plugins
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libavcodec-extra-55 phonon-backend-null
The following packages will be REMOVED:
  audacity digikam digikam-private-libs ffmpegthumbs freespacenotifier
  frei0r-plugins gimp gstreamer1.0-libav katepart kde-runtime kde-style-oxygen
  kde-window-manager kde-workspace kde-workspace-bin kdebase-workspace
  kdelibs-bin kdelibs5-dev kdelibs5-plugins kdenlive kdepim-runtime
  kdepimlibs-kio-plugins kdepimlibs5-dev kdoctools khelpcenter4 kipi-plugins
  klipper kscreen ksysguard libakonadi-calendar4 libakonadi-contact4
  libakonadi-kcal4 libakonadi-kde4 libakonadi-kmime4 libakonadi-socialutils4
  libakonadi-xml4 libav-tools libavcodec-dev libavcodec55 libavdevice54
  libavfilter4 libavformat-dev libavformat55 libchromaprint-tools libcv-dev
  libcvaux-dev libgegl-0.2-0 libhighgui-dev libkabc4 libkactivities-bin
  libkactivities-models1 libkalarmcal2 libkatepartinterfaces4 libkblog4
  libkcal4 libkcalutils4 libkdcraw-dev libkdcraw23 libkde3support4
  libkdewebkit5 libkemoticons4 libkexiv2-dev libkfile4 libkgapi2-2 libkhtml5
  libkimproxy4 libkio5 libkipi-dev libkipi11 libkmediaplayer4 libknewstuff2-4
  libknewstuff3-4 libknotifyconfig4 libkolab0 libkontactinterface4 libkparts4
  libkpimidentities4 libkpimtextedit4 libkpimutils4 libkprintutils4
  libkrossui4 libksane-dev libktexteditor4 libktnef4 libkutils4
  libkworkspace4abi2 libkxmlrpcclient4 libmailtransport4 libmarble-dev
  libmarblewidget18 libmicroblog4 libmlt++3 libmlt6 libokularcore4
  libopencv-calib3d-dev libopencv-calib3d2.4 libopencv-contrib-dev
  libopencv-contrib2.4 libopencv-dev libopencv-features2d-dev
  libopencv-features2d2.4 libopencv-gpu2.4 libopencv-highgui-dev
  libopencv-highgui2.4 libopencv-legacy-dev libopencv-legacy2.4
  libopencv-objdetect-dev libopencv-objdetect2.4 libopencv-ocl-dev
  libopencv-ocl2.4 libopencv-stitching-dev libopencv-stitching2.4
  libopencv-superres-dev libopencv-superres2.4 libopencv-ts-dev
  libopencv-ts2.4 libopencv-videostab-dev libopencv-videostab2.4
  libopencv2.4-java libopencv2.4-jni libplasma3 libplasmaclock4abi4
  libplasmagenericshell4 libstreamanalyzer0 libsyndication4
  libtaskmanager4abi4 libweather-ion6 marble-plugins melt minidlna mplayer2
  okular phonon phonon-backend-vlc plasma-dataengines-workspace plasma-desktop
  plasma-scriptengine-javascript plasma-widgets-workspace python-pyside
  python-pyside.phonon systemsettings vlc vlc-dbg vlc-nox vlc-plugin-notify
  vlc-plugin-pulse
The following NEW packages will be installed:
  libavcodec-extra-55 phonon-backend-null
0 upgraded, 2 newly installed, 145 to remove and 0 not upgraded.
Need to get 2'855 kB of archives.
After this operation, 310 MB disk space will be freed.
Do you want to continue? [Y/n] Abort.
imsodin
fuente

Respuestas:

1

*** 10: 2.1.3-dmo2 0

100 / var / lib / dpkg / status

Parece que instaló libavcodec55 con dpkg -i libavcodec55*.deby no desde un repositorio apto.

Desde el "-dmo2" en el número de versión, diría que fue un paquete de http://www.deb-multimedia.org .

Puede intentar desinstalar libavcodec55, libavcodec-extra-55, libavformat55 y libswscale2:

apt-get remove libavcodec55 libavcodec-extra-55 libavformat55 libswscale2

Y luego instálelos desde el repositorio:

apt-get install libavcodec55 libavcodec-extra-55 libavformat55 libswscale2

Si no desea eliminar paquetes que dependen de ellos, puede usar:

dpkg -r --force-depends libavcodec55 libavcodec-extra-55 libavformat55 libswscale2

Su sistema estará en un estado inconsistente, pero puede arreglarlo con apt-get -f install, que instala las dependencias que faltan, es decir, los paquetes que acaba de eliminar, pero del repositorio.

(Por cierto, los paquetes libav * en deb-multimedia son de ffmpeg propiamente dicho, mientras que esos paquetes en Debian son de la bifurcación libav .

Es posible que tenga una buena razón para querer los paquetes en deb-multimedia en lugar de los de Debian, pero en ese caso debe usar el repositorio de deb-multimedia en lugar de instalar manualmente los DEB).

Clément Schreiner
fuente
Esto es realmente posible, puede que haya hecho esto cuando instalé Debian por primera vez ... Acabo de editar mi publicación simultáneamente a su respuesta sobre el problema, que al eliminar libavcodec55 también se eliminan muchos otros programas.
imsodin
Puede probar esto: dpkg -r --force-depend libavcodec55.
Clément Schreiner
El problema eran los paquetes de deb-multimedia.org. Como se sugirió, tuve que eliminar todos los paquetes con una versión que tiene un "-dmo *" con dpkg -r --force-dependen y luego ejecutar apt-get -f install para reinstalar las dependencias que faltan. Agregue esto a su respuesta para que pueda configurar su respuesta como aceptada. ¡Gracias por tu ayuda!
imsodin