¿Cómo arreglo la dependencia de libxml2-dev roto en Debian usando apt?

Cuando ejecuto sudo apt-get upgrade en mi installation de Debian Squeeze, aparece el siguiente error:

 You might want to run 'apt-get -f install' to correct these. The following packages have unmet dependencies: libxml2-dev : Depends: libxml2 (= 2.7.8.dfsg-2+squeeze3) but 2.7.8.dfsg-2+squeeze5 is installed E: Unmet dependencies. Try using -f. 

No estoy seguro de qué significa "squeeze3" versus "squeeze5", pero es lo único que difiere en el package libxml2.

Cuando bash "sudo apt-get install -f", obtengo:

 The following extra packages will be installed: libxml2-dev The following packages will be upgraded: libxml2-dev 1 upgraded, 0 newly installed, 0 to remove and 8 not upgraded. 108 not fully installed or removed. Need to get 0 B/830 kB of archives. After this operation, 69.6 kB disk space will be freed. Do you want to continue [Y/n]? Y (Reading database ... 96842 files and directories currently installed.) Preparing to replace libxml2-dev 2.7.8.dfsg-2+squeeze3 (using .../libxml2-dev_2.7.8.dfsg-2+squeeze5_amd64.deb) ... Unpacking replacement libxml2-dev ... dpkg: error processing /var/cache/apt/archives/libxml2-dev_2.7.8.dfsg-2+squeeze5_amd64.deb (--unpack): unable to install new version of `./usr/include/libxml2': No such file or directory configunetworking to not write apport reports dpkg-deb: subprocess paste killed by signal (Broken pipe) Errors were encountenetworking while processing: /var/cache/apt/archives/libxml2-dev_2.7.8.dfsg-2+squeeze5_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

Se produce un error similar con sudo apt-get upgrade -f .

Mi /etc/apt/sources.list es actualmente:

 deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free deb http://ftp.debian.org/debian/ squeeze-updates main contrib non-free deb http://security.debian.org/ squeeze/updates main contrib non-free 

¿Cómo hago para arreglar esto? ¡Gracias!

squeeze3 es el tercer lanzamiento de parche para squeeze, squeeze5 es el quinto. Son parte del número de versión. Las versiones para la biblioteca y los files de desarrollo deben coincidir exactamente, por lo que es normal que APT desee que ejecute apt-get install -f cuando su sistema tenga versiones inconsistentes.

Lo que no es normal es que la actualización de libxml2-dev esté fallando. El post sobre no poder leer /usr/include/libxml2 es inusual. Parece indicar que la installation se ha dañado de alguna manera. Verifique si el directory aún existe. Si lo movió o lo quitó en algún momento … no lo haga, y recree o mueva hacia atrás el directory para recuperarlo. Si el directory existe pero ves algo como

 $ ls -ld /usr/include/libxml2 ?????????? ??? ???????? ???????? 4096 ??? ?? ???? /usr/include/libxml2 

entonces su sistema de files está dañado, o tal vez su RAM. Primero, verifique su RAM : esta es la causa más común de corrupción del sistema de files. Escriba lo less posible hasta que esté seguro acerca de la RAM, ya que puede empeorar el daño. Cómo tomarlo desde allí depende de la naturaleza y el scope del daño.

Intenta depurarlo y luego reinstalarlo.

 sudo apt-get purge -f libxml2-dev sudo apt-get clean sudo apt-get update sudo apt-get install libxml2 libxml2-dev 

El package A -dev solo -dev los componentes necesarios para comstackr progtwigs vinculados a esa biblioteca, no es necesario para el time de ejecución, por lo que es seguro realizar una purga completa.