Когда я запускаю sudo apt-get upgrade
установку Debian Squeeze, я получаю следующую ошибку:
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.
Я не уверен, что означает «squeeze3» против «squeeze5», но это единственное, что отличается в пакете libxml2.
Когда я пытаюсь "sudo apt-get install -f", я получаю:
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
configured to not write apport reports
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered 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)
Похожая ошибка происходит с sudo apt-get upgrade -f
.
Мой /etc/apt/sources.list в настоящее время:
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
Как мне исправить это? Спасибо!
squeeze3
третий релиз патча для squeeze,squeeze5
пятый. Они являются частью номера версии. Версии для библиотеки и файлов разработки должны точно совпадать. Это нормально, что APT хочет, чтобы ты бежалapt-get install -f
. Что не является нормальным, так это то, что обновлениеlibxml2-dev
не удается. Каталог/usr/include/libxml2
существует? Являются ли разрешения разумными? Достаточно ли места на диске?ls -l
говорит, что он не может получить доступlibxml2
(даже с правами root) и ставит?
отметки вместо всей информации о разрешениях. Продвигать, чтобы ответить? Не знаю, как исправить, но я могу посмотреть / поговорить с моим хозяином.Ответы:
squeeze3
третий релиз патча для squeeze,squeeze5
пятый. Они являются частью номера версии. Версии для библиотеки и файлов разработки должны точно совпадать, поэтому обычно APT хочет, чтобы вы запускались,apt-get install -f
когда в вашей системе несовместимые версии.Что не является нормальным, так это то, что обновление
libxml2-dev
не удается. Сообщение о невозможности прочитать/usr/include/libxml2
необычно. Кажется, это указывает на то, что установка была каким-то образом повреждена. Проверьте, существует ли каталог по-прежнему. Если вы переместили или удалили его в какой-то момент ... не делайте этого, и заново создайте или переместите каталог для восстановления. Если каталог существует, но вы видите что-то вродетогда ваша файловая система повреждена или, возможно, ваша RAM. Во-первых, проверьте свою оперативную память : это самая распространенная причина повреждения файловой системы. Пишите как можно меньше, пока не будете уверены в оперативной памяти, так как это может усугубить ущерб. Как его взять, зависит от характера и степени ущерба.
источник
Попробуйте очистить его, а затем переустановите.
-dev
Пакет только компоненты , необходимые для компиляции программ , связанных с этой библиотекой, она не нужна на время работы , так что это безопасно , чтобы полностью продувка.источник
apt-get clean
что будет очищать кеш пакета и принудительно повторно загружать из репозитория нужный вам пакет./usr/include/libxml2
был поврежден. Дажеrm -f /usr/include/libxml2
потерпел бы неудачу, говоря что-то вроде этого не может найти файл. Мой webhost занял 17 часов, чтобы это исправить.