Я не могу сказать, какие шаги привели меня к этому:
→ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
dpkg: error processing libtiff4 (--configure):
libtiff4:i386 3.9.5-1ubuntu1.1 cannot be configured because libtiff4:k386 is in a different version (3.9.5-1ubuntu1)
Errors were encountered while processing:
libtiff4
E: Sub-process /usr/bin/dpkg returned an error code (1)
Следующие команды все заканчиваются одной и той же ошибкой:
sudo apt-get install -f
sudo dpkg --configure -a
sudo apt-get --fix-broken install
sudo apt-get --fix-missing install
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get autoremove
Как решить этот вид проблемы? И что я сделал не так?
ОБНОВЛЕНИЕ Мне удалось снова заработать, вернувшись к предыдущей версии (3.9.5-1ubuntu1). Однако следующее обновление привело к той же проблеме. Но теперь есть больше информации:
(Reading database ...
dpkg: warning: files list file for package `libtiff4:k386' missing, assuming package has no files currently installed.
(Reading database ... 281166 files and directories currently installed.)
Preparing to replace libtiff4 3.9.5-1ubuntu1 (using .../libtiff4_3.9.5-1ubuntu1.1_i386.deb) ...
Unpacking replacement libtiff4 ...
dpkg: error processing libtiff4 (--configure):
libtiff4:i386 3.9.5-1ubuntu1.1 cannot be configured because libtiff4:k386 is in a different version (3.9.5-1ubuntu1)
No apport report written because MaxReports is reached already
Errors were encountered while processing:
libtiff4
Таким образом, реальная проблема, кажется, в отсутствующем пакете libtiff4:k386
. И k386
кажется где-то глупой опечаткой.
Я отследил файл, который вводит опечатку:
**/var/lib/dpkg/status**
Package: libtiff4
Status: install ok half-configured
Multi-Arch: same
Priority: optional
Section: libs
Installed-Size: 528
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: k386
Source: tiff
Version: 3.9.5-1ubuntu1
Config-Version: 3.9.5-1ubuntu1
Depends: libc6 (>= 2.11), libjpeg62 (>= 6b1), zlib1g (>= 1:1.1.4)
Pre-Depends: multiarch-support
Description: Tag Image File Format (TIFF) library
libtiff is a library providing support for the Tag Image File Format
(TIFF), a widely used format for storing image data. This package
includes the shared library.
Homepage: http://libtiff.maptools.org
Original-Maintainer: Jay Berkenbilt <qjb@debian.org>
Исправление опечатки решает проблему.
Обычно я сначала удаляю поврежденный пакет, а потом пытаюсь переустановить пакеты. Скорее всего, у вас включены другие репозитории, которые предоставляют те же пакеты и приводят к конфликту.
Если это не работает, и вы УВЕРЕНЫ, что это исходит из базовых репозиториев, вы можете форсировать это (--force-yes). Однако это следует делать только в том случае, если вы уверены, что пакет, который вам нужен, не нарушит целостность вашей системы.
sudo dpkg -r --force-all <package-name>
sudo apt-get install <package-name>
Я думаю, что вы правы в том, что в той версии пакета есть опечатка: k386 для i386. Это исправлено в текущей версии.
У меня была несколько иная проблема с установкой libtiff4: i386. Пришлось переустановить libtiff4, потом все заработало. (во время обновления с 10.04 до 12.04).