Во-первых: я из stackoverflow - я программист, а не системный администратор. Пожалуйста, поймите мою неспособность к этим вопросам; Я постараюсь быть максимально точным (может быть уместно изменение тегов и переименований).
У меня есть ситуация зависимости, которую я просто не могу понять в системе Debian Etch.
Меня вызвали для работы по обслуживанию приложения php; так как я нуждался в locales
package, я попробовал самый простой способ: apt-get install locales
, что не удалось из-за неудовлетворенных зависимостей с виртуальным пакетом glibc. Насколько я понимаю, это было вызвано смешанными источниками (все пакеты уже были обновлены)
я попросил aptitude install locales
если бы он мог что-то исправить, и он это сделал (некоторые пакеты были переведены на более раннюю версию), но само aptitude было удалено.
Здесь нечего обсуждать: это было глупо с моей стороны. Но сервер по-прежнему успешно работает (спасибо Debian!), Так что ситуация не критическая.
Вопрос в том, что ситуация с пакетами не выглядит решенной. Если я попытаюсь переустановить aptitude, то получу:
lsrl:~# apt-get install aptitude
Reading package lists... Done
Building dependency tree
Reading state information... Done
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:
aptitude: Depends: libapt-pkg-libc6.3-6-3.11
E: Broken packages
Если я попытаюсь установить libapt:
lsrl:~# apt-get install libapt-pkg-libc6.3-6-3.11
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libapt-pkg-libc6.3-6-3.11 is a virtual package provided by:
You should explicitly select one to install.
E: Package libapt-pkg-libc6.3-6-3.11 has no installation candidate
Если я попытаюсь переустановить apt:
lsrl:~# apt-get --reinstall install apt
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reinstallation of apt is not possible, it cannot be downloaded.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Мои источники:
lsrl:~# cat /etc/apt/sources.list
#
# deb cdrom:[Debian GNU/Linux 4.0 r4a-etchnhalf _Etch-and-a-half_ - Official i386 NETINST 20080804-22:00]/ etch main
#deb cdrom:[Debian GNU/Linux 4.0 r4a-etchnhalf _Etch-and-a-half_ - Official i386 NETINST 20080804-22:00]/ etch main
deb http://ftp.it.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.it.debian.org/debian/ etch main contrib non-free
# deb http://ftp.it.debian.org/debian/ testing main contrib non-free
# deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile etch/volatile main
deb-src http://volatile.debian.org/debian-volatile etch/volatile main
Это настолько похоже на то, что происходило раньше с glibc, что у меня есть основания полагать, что есть еще несколько смешанных источников / пакетов ... есть?
Есть ли способ заставить все это работать должным образом?
В etch предполагается, что пакет apt предоставляет libapt-pkg-libc6.3-6-3.11, но в вашем случае, похоже, это не так. Не могли бы вы проверить, что ваша квартира это предоставляет?
apt-cache show apt | grep "Provides:"
Затем он говорит, что apt не может быть загружен. Вы уверены, что сбежали apt-get update
перед тем как попробовать свои команды установки? Если ваш sources.list ранее был испорчен, а затем исправлен, изменения будут приняты во внимание только после обновления вашего apt-кеша.
Вы пробовали "apt-get -f install" без параметров?
Со страницы руководства apt-get:
-f, --fix-broken Исправить; попытаться исправить систему с нарушенными зависимостями на месте