Как пофиксить ошибку?
Всем привет, недавно зашёл в кали и сразу проблемы. пишу apt-get install ftp пишет ошибку
E: Unmet dependencies. Try ‘apt —fix-broken install’ with no packages (or specify a solution).
пытаюсь фиксить её, пишет
E: Sub-process /usr/bin/dpkg returned an error code (1)
пытаюсь фиксить эту ошибку и опять
E: Unmet dependencies. Try ‘apt —fix-broken install’ with no packages (or specify a solution).
Как исправить? вот полный лог
Building dependency tree
Reading state information. Done
You might want to run ‘apt —fix-broken install’ to correct these.
The following packages have unmet dependencies:
bsdmainutils : Depends: calendar but it is not going to be installed
Depends: ncal but it is not going to be installed
libc-bin : Depends: libc6 ( Цитата
Приветствую! Видно, что ошибки меняются, например, последняя ошибка из-за того, что обновление пакета не завершено.
Поэтому выполните один раз команду
А затем несколько раз команду
пока сообщения об ошибках не станут одинаковыми — или пока проблема не решится. Затем напишите, на какой ошибке застряли.
# sudo apt —fix-broken install
Reading package lists. Done
Building dependency tree
Reading state information. Done
Correcting dependencies. Done
The following additional packages will be installed:
calendar cpp cpp-10 gcc-10-base libc-bin libgcc-s1 libisl22 libmpc3 libmpfr6 libstdc++6 ncal
Suggested packages:
cpp-doc gcc-10-locales
Recommended packages:
manpages
The following NEW packages will be installed:
calendar cpp cpp-10 libisl22 libmpc3 libmpfr6 ncal
The following packages will be upgraded:
gcc-10-base libc-bin libgcc-s1 libstdc++6
4 upgraded, 7 newly installed, 0 to remove and 74 not upgraded.
3 not fully installed or removed.
Need to get 0 B/12.4 MB of archives.
After this operation, 35.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up libc6:amd64 (2.31-2) .
Checking for services that may need to be restarted.
Checking init scripts.
Nothing to restart.
sleep: cannot read realtime clock: Invalid argument
dpkg: error processing package libc6:amd64 (—configure):
installed libc6:amd64 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@MSI:
# sudo apt —fix-broken install
Reading package lists. Done
Building dependency tree
Reading state information. Done
Correcting dependencies. Done
The following additional packages will be installed:
calendar cpp cpp-10 gcc-10-base libc-bin libgcc-s1 libisl22 libmpc3 libmpfr6 libstdc++6 ncal
Suggested packages:
cpp-doc gcc-10-locales
Recommended packages:
manpages
The following NEW packages will be installed:
calendar cpp cpp-10 libisl22 libmpc3 libmpfr6 ncal
The following packages will be upgraded:
gcc-10-base libc-bin libgcc-s1 libstdc++6
4 upgraded, 7 newly installed, 0 to remove and 74 not upgraded.
3 not fully installed or removed.
Need to get 0 B/12.4 MB of archives.
After this operation, 35.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up libc6:amd64 (2.31-2) .
Checking for services that may need to be restarted.
Checking init scripts.
Nothing to restart.
sleep: cannot read realtime clock: Invalid argument
dpkg: error processing package libc6:amd64 (—configure):
installed libc6:amd64 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)
Эта «красота» происходит в WSL? Если да, то нужно обязательно это указывать.
Попробуйте для исправления ошибки выполнить:
Почему нужно указывать, что это WSL? Возможно вы не понимаете, что такое WSL, а ведь это вообще не Linux. Это я объясняю в самом начале статьи « Как установить Kali Linux с Win-KeX (графический интерфейс) в WSL2 (подсистему Windows для Linux) ».
Там же я говорю, что вы столкнётесь с самыми необычными ошибками. Самое правильное, что можно сделать, забыть про WSL и пользоваться полноценной виртуальной машиной, например, VirtualBox . Иначе так и будете решать бессмысленные проблемы. «Сам себе злобный Буратино».
Источник
Проблема с apt и зависимостями.
Всем привет! Есть проблема — пытаюсь установить mysql
Выполнял также: apt-get install -f, dpkg —configure -a
подскажите, куда копать?
apt-get update делал? Проверь, все ли репозитории вообще доступны по интернету? Обновились ли списки пакетов?
UPD. Или вообще сотри списки пакетов и снова обновление запусти.
UPD2 Удали все содержимое /var/lib/apt/lists, потом apt-get update. Пробуй снова ставить.
Благодарю за помощь.
Всё равно не ставится =(
Что говорит apt-cache policy mysql-server-5.5
каталог partial по этому пути тоже бы хорошо было бы удалить. А удаляются только файлы. Потом снова apt-get update.
Я не показал, но я его удалил ещё в прошлый раз.
ок, тогда еще удали все в /var/cache/apt/archives и в /var/lib/apt/lists/* . И опять перестройку сделай. Больше похоже, что у тебя где-то что-то битое. У меня все то же самое, но проблем нет. Разница только в том, что у меня пакеты основного jessie идут из http://ftp.fi.debian.org/debian/ (Финляндия).
Всё удалил, но без изменений.
Всё началось с установки owncloud и virtualbox
Выдержки из истории команд:
Не уверен пока (или не вижу чего-то), как это может повлиять. Немного отмотал назад, повглядывался. Вот это место меня смущает (подчеркнуто):
У меня этого нет. Эта строчка вообще похожа на то, будто mysql-server-5.5 уже установлен. Не пробовал делать purge ему? Что он на это скажет? А потом снова попробовать поставить mysql-server
purge пробовал, говорит не установлен. попробовал так apt-get purge *mysql-server* нашёл пакет, удалил, но всё равно не устанавливается, тоже самое.
А какая запись в apt-cache policy mysql-server-5.5 теперь?
Хорошо, тогда что будет, если ты попробуешь поставить не mysql-server, а напрямую mysql-server-5.5?
И что скажет dpkg-query -s mysql-server-5.5
apt-get install -f ?
Похоже на конфликт, странно что не предлагает решение. Или apt и не должен его давать это aptitude с перделками. Глянь не притащил-ли owncloud с собой virtual-mysql-server или еще какое конфликтующее с mysql-server.
apt-get install mysql-common mysql-client-5.5 mysql-server-5.5
и далее впиши пакеты, если будут конфликты.
aptitude скорее всего помог бы, но с ним надо осторожно.
Я не показал, но я его удалил ещё в прошлый раз.
ок, тогда еще удали все в /var/cache/apt/archives и в /var/lib/apt/lists/*
Ай, забыл еще, чтобы ты в /var/cache/apt удалил pkgcache.bin srcpkgcache.bin помимо всех файлов в archive.
Вот сделай еще раз удаление всех трех пунктов. Потом снова apt-get update. И снова пробуй.
Всё сделал, без изменений.
Полтергейст какой-то. Попробуй на всякий случай сделать reinstall пакету apt, чтобы быть уверенным, что он не поломался. А я пока еще подумаю.
apt-get install —reinstall mysql-client-5.5
Слушай, а у тебя такая фигня только с mysql-server или с другими пакетами тоже? Не можешь ли попробовать? Интересны такие случаи. Какой-нибудь пакет только из jessie и какой-то пакет из security поставить. Какую-нибудь утилитку. Потом снесешь.
У тебя слишком новый mysql-common, откуда-то взявшийся (5.8), который конфликтует с mysql-server-5.5. Удали его (apt-get purge mysql-common), а потому уже устанавливай mysql-server. Вот только надо посмотреть, что удаление mysql-common потянет за собой.
Хм, действительно. Выглядит так, будет он его ставил из stretch или sid. Видать, экспериментировал с unstable
apt-cache policy mysql-common
видимо да, откуда то прилетело.
скорее всего отсюда:
Тогда у него там может оказаться весьма много пакетов из 8.0 этой. Систему чистить надо теперь.
это да. хотя в той репе нет ничего про мускуль. но, возможно, в /var/log/dpkg.log будет информация, если уж копать
Как почистить, подскажите? по сути мне там нужна только самба и vsftpd
В том репозитории нет пакетов, относящихся к mysql. Там только owncloud, то есть масса пакетов со скриптами на PHP. Сам owncloud рекомендует mysql-server среди прочего, но без указания версии.
Попробуй сначала apt-get install mysql-client-5.5 . Что ему помешает установиться?
то, что в jessie не завезли 5.5.54
предлагаю apt-get purge mysql*
кек. в яндекс не завезли
Как почистить, подскажите? по сути мне там нужна только самба и vsftpd
Вообще, конечно, в жизни я пользуюсь aptitude. Утилиты apt вообще какие-то нелепые. Особенно для поиска всяких таких затык. У тебя есть aptitude? Он работает на тех же базах, что и apt, и использует libapt, поэтому проблем несовместимости не будет.
Какой-такой stretch? У тебя jessie же? Или я что-то неправильно понимаю? В stretch mysql больше нет. Там теперь mariadb.
Источник
Ошибка package has no installation candidate
В дистрибутиве Ubuntu и других, основанных на нем дистрибутивах, при установке новых пакетов пользователи могут столкнуться с ошибкой «package has no installation candidate» или по русски «Для пакета не найден кандидат на установку».
Эта ошибка может возникать при установке непопулярных программ или уже устаревших версий. Например, вы получите ее при попытке установить php5 или любой пакет, зависящий от этого в новой версии Ubuntu 16.04 или 16.10. В этой небольшой инструкции мы рассмотрим что означает ошибка «package has no installation candidate», а также как ее обойти и установить нужную программу.
Что означает package has no installation candidate?
Фактически, это означает то, что написано. Пакетный менеджер не нашел кандидата на установку для такого пакета. Ошибка будет выглядеть вот так в русской локализации:
Или в английской:
Пакетный менеджер просто не знает где искать такой пакет. Его нет в официальных репозиториях, и нет в репозиториях, подключенных к вашей системе. Все это нам говорит пакетный менеджер:
Пакет php5 недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list
Из этого выплывает несколько способов решения проблемы, которые мы рассмотрим ниже.
Как решить package has no installation candidate?
Для начала нужно обновить списки пакетов из репозиториев, возможно, у вас старая версия системы и для нее этот пакет еще недоступен. Это особенно актуально для бета-версий Ubuntu. Для обновления выполните:
sudo apt update
Затем пробуйте снова установить ваш пакет. Если пакетный менеджер по-прежнему не может его найти, но вы точно знаете что такой пакет должен быть в официальных репозиториях, то, возможно, он есть в репозиториях партнеров Canonical. Нужно их добавить. Для этого откройте Источники программного обеспечения и установите все галочки:
Дальше система автоматически обновит список пакетов:
После этого можно устанавливать ваш пакет. Если его до сих пор нет мы можем пойти дальше и выполнить поиск по PPA. На сайте launchpad.net есть форма поиска:
Например, будем искать наш php 5. Вводим запрос в форму поиска и в результатах в первой же строке видим PPA, в котором есть нужная версия php. Такое решение подходит для многих пакетов.
На странице PPA мы уже видим способ добавления его в систему:
Например, для добавления этого PPA выполните такие команды:
sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
После этого вы без труда установите нужный пакет.
Но если пакет не был найден в PPA, то остается только один способ — скачать deb установщик с сайта Ubuntu и установить его вручную. Вы можете скачать пакеты от старых версий ubuntu на сайте packages.ubuntu.com. Но вам нужно будет скачать все зависимости. Тут тоже есть отличная форма поиска:
Было найдено четыре версии, нам нужна последняя, для Trusty:
На странице кликните по архитектуре, в данном случае all, для загрузки:
Осталось только выбрать зеркало для загрузки и скачать файл:
Затем установить его с помощью dpkg:
sudo dpkg -i ./php5_5.5.9+dfsg-1ubuntu4.20_all.deb
Но не забудьте, что вам нужны все зависимости. Чтобы не делать это вручную, можно добавить репозиторий этого пакета в /apt/sources.list и заставить пакетный менеджер работать вместо вас. В нашем случае на сайте сказано, что нужно добавить строчку:
deb http://cz.archive.ubuntu.com/ubuntu trusty-updates main
Можно добавить только ее, но не всегда все зависимости будут находиться только в этом репозитории, так что будет лучше добавить сразу все репозитории нужной версии Ubuntu в этот файл. Например, для версии Trusty нужно добавить такие репозитории:
deb http://cz.archive.ubuntu.com/ubuntu trusty-updates main universe
deb http://security.ubuntu.com/ubuntu trusty-security main universe
deb http://cz.archive.ubuntu.com/ubuntu trusty main universe
Не забудьте обновить список пакетов:
sudo apt update
Далее можно установить нужную вам программу:
sudo apt install php5
После завершения, обязательно удалите все новые репозитории иначе при следующем обновлении, они сломают вам систему.
Выводы
В этой небольшой статье мы рассмотрели как исправить ошибку package php5 has no installation candidate, такой же процесс решения подойдет для любого подобного пакета. Если у вас остались вопросы, спрашивайте в комментариях!
Источник