sudo apt-get -f установка не удалась
Я думаю, что у меня проблема со смешением различных пакетов репозитория, но я не могу удалить ни один из конфликтующих пакетов. Какие-либо предложения?
gunnar@gunnar-VirtualBox:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
libc6-dev-i386
The following NEW packages will be installed:
libc6-dev-i386
0 upgraded, 1 newly installed, 0 to remove and 107 not upgraded.
4 not fully installed or removed.
Need to get 0 B/1,151 kB of archives.
After this operation, 6,337 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 247223 files and directories currently installed.)
Preparing to unpack .../libc6-dev-i386_2.19-0ubuntu6.5_amd64.deb ...
Unpacking libc6-dev-i386 (2.19-0ubuntu6.5) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-i386_2.19-0ubuntu6.5_amd64.deb (--unpack):
trying to overwrite '/usr/include/gnu', which is also in package libc6-dev-amd64 2.19-0ubuntu6.5
Errors were encountered while processing:
/var/cache/apt/archives/libc6-dev-i386_2.19-0ubuntu6.5_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
3 ответа
Я считаю, что наблюдаемое поведение является проявлением следующей ошибки:
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1365375
Я предоставил обходной путь в приведенном выше сообщении об ошибке в комментарии № 4:
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1365375/comments/4
Для вашего удобства текст этого поста воспроизводится здесь:
To follow-up on my previous comment, I was able to work around this "broken state" in aptitude by purging the offending packages with "--force-depends":
dpkg --purge --force-depends "gcc-multilib"
dpkg --purge --force-depends "lib32z1-dev"
dpkg --purge --force-depends "libc6-dev-x32"
Now, I'm able to use "apt-get" as normal.
Hopefully, this workaround won't cause problems in the future.
К сожалению, долгосрочное решение состоит в том, чтобы ждать правильного решения от Canonical.
Как /usr/include/gnu
перезаписывается файлом из другого пакета, удаление этого пакета решит вашу проблему.
Запустите следующую команду, чтобы избавиться от этой ситуации.
sudo apt-get purge libc6-dev-i386
sudo apt-get autoremove
sudo apt-get clean
sudo apt-get install -f
Удалить файл /var/cache/apt/archives/libc6-dev-i386_2.19-0ubuntu6.5_amd64.deb
и беги sudo apt-get -f install
снова.
У вас есть 32-битная ОС, но есть libc6-dev-i386_2.19-0ubuntu6.5_amd64.deb
файл, который является 64-битным .deb
файл в вашем /var/cache/apt/archives/
, Таким образом, 32-разрядная версия Ubuntu не может распаковать ее и выдает ошибку. В двух словах:
sudo rm /var/cache/apt/archives/libc6-dev-i386_2.19-0ubuntu6.5_amd64.deb
sudo apt-get -f install