В данной статье мы с
Вами рассмотрим варианты
решения проблемы с регулярной (постоянной) ошибкой установки пакетов в
Ubuntu 22.04:
E: Для пакета «xxxxxxxxxx» не найден кандидат на установку Данная ошибка в других, предыдущих релизах
Ubuntu также иногда проявляется, но успешно решается в процессе работы и на сей счёт в
Инете есть масса соответствующих статей.
В данном релизе
22.04 эта ошибка по факту на сей момент не разрешима и в недавно вышедшем, корректирующем релизе
22.04.1 эта ошибка разрабами
Canonical до сих пор, увы, также не разрешена.
Все способы актуальные для предыдущих релизов не работают в
22.04, а посему мы, пусть и не очень удобными способами, но всё же постараемся
решить эту проблему в данной статье...
Определённо, не могу сказать с уверенностью, что данная ошибка проявляется у всех пользователей.
У многих всё в порядке, но, судя по сообщениям на разных платформах, есть и те, у кого данная ошибка присутствует.
У меня она тоже есть...
С чем это связано сказать трудно...
Внятного ответа я не нашёл, но есть мнения например, что это может быть связано и с
Интернет-провайдерами, и санкциями, но всё же более правдоподобная версия - это то, что с
22.04 Canonical перешёл с пакетного менеджера
APT на полную интеграцию в системе по умолчанию на
систему установки и управления программным обеспечением и пакетами SNAP, в виду чего с
APT и появились эти проблемы с установкой пакетов традиционным способом.
Это можно легко обнаружить по тому, что традиционный
Ubuntu Store (
Магазин приложений) выпилен из системы (его можно установить вручную через тот же
SNAP) и заменён на
Snap Store.
Тот же браузер
Firefox в системе установлен по умолчанию именно
snap-пакетом...
А разрабы
Canonical просто уже не уделяют должного вниманию к
APT и, как говорится, забили болт на него.
Хотя, пока что, многие программы и утилиты из
APT работают намного быстрее, чем из
SNAP!
Как ни странно, но по моим наблюдениям данная ошибка проявляется не сразу после
установки, а через
15-20 мин после первого запуска или после обновления системы, или добавления официальных репозиториев
Canonical.
А до этого всё прекрасно работает.
Как правило,
Пользователи после установки системы первым делом начинают в массе своей адаптировать и настраивать интерфейс системы под себя, т.е. занимаются
тюнингом системы.
А когда наступает момент, когда
Пользователь начинает процесс насыщения системы нужными программами и утилитами, тут и обнаруживается, что при попытке установки того или иного пакета, система выдаёт такую вот ошибку:
E: Для пакета «xxxxxxxxxx» не найден кандидат на установку Тоже самое происходит и в графических программах установки пакетов (
Synaptic,
Gdebi).
И так происходит при каждой попытке установки того или иного пакета...
А если зайти на пакетное
хранилище Canonical и, воспользовавшись поиском, попытаться найти нужный пакет, мы с удивлением обнаружим, что он есть в репозиториях и доступен для скачивания:
Как решить эту проблему?
Первое и на мой взгляд самое простое решение - это сразу после установки системы не заниматься её тюнингом, а, уложившись в эти
15-20 мин, сразу же начать
установку всех нужных в дальнейшем для вашей работы в системе
пакетов и
программ, включая добавление сторонних репозиториев, например для
php или
Firefox.
Можно конечно по отдельности, но лучший вариант - это заранее подготовить
текстовой файлик с уже прописанной общей командой установки всего необходимого
одной командой (
однострочником), например на флешке.
После
Установки системы сразу же вставляете флешку в ваш
компьютер/
ноутбук, открываете на ней сей
файлик, копируете данную команду (выделяете её
Ctrl+A и копируете
Ctrl+C или традиционно, зажав
ЛКМ с любого конца команды, удерживая её выделяете всю команду и
ПКМ на неё и в выпавшем контекстном меню
ЛКМ на
Копировать), открываете
Терминал (
Ctrl+Alt+T) и вставляете её в нём (
ПКМ и в выпавшем контекстном меню нажав на
Вставить) после чего жмёте на клаве на
Enter, вводите свой пароль
Пользователя и снова на
Enter, на просьбу согласиться с установкой пакетов просто жмёте на
Enter и ждёте завершения
установки всего, что вы прописали в данной команде:
(список пакетов в команде ниже условный и вы его можете менять на своё усмотрение. В данном примере мой набор утилит и программ, вкл. пакеты зависимостей необходимые для дальнейшей безболезненной установки некоторых программ, например того же
Viber .deb-пакетом)
sudo add-apt-repository ppa:ondrej/php; sudo add-apt-repository ppa:mozillateam/ppa; sleep 10; sudo apt install preload bashtop curl v4l2loopback-dkms dconf-editor gnome-system-tools gnome-tweaks firefox firefox-locale-ru pavucontrol ubuntu-restricted-extras exfat-fuse geany geany-plugins synaptic gdebi gparted vlc audacious extlinux gimp sqlite3 brasero alacarte deluge qbittorrent bleachbit unzip p7zip p7zip-rar rar unrar unace arj cabextract net-tools git mc htop gir1.2-geogodeglib-1.0 libosmgpsmap-1.0-1 gir1.2-osmgpsmap-1.0 ffmpeg libzbar-dev libzbar0 libffi-dev shutter supervisor apache2 mariadb-server-10.6 php libapache2-mod-php php-mysql php-cgi php-gd php-zip php-xml php-xmlrpc php-curl php-json php-mbstring php-cli tor obfs4proxy privoxy qemu-kvm libvirt-daemon-system virt-manager ovmf bridge-utils screenfetch zenity python3-tzlocal python3-lxml python3-requests-oauthlib python3-mutagen python3-pycryptodome python3-pyxattr python3-websockets rtmpdump ffmpeg-doc libdvdcss2 libportaudio2 sndiod python-mutagen-doc python-pyxattr-doc libfribidi-bin bidiv -y
Таким образом, всё установится в систему без проблем.
Ещё раз напомню, если вы начнёте это делать по истечении времени или после обновления системы, то результат будет именно таким -
ошибка:
E: Для пакета «xxxxxxxxxx» не найден кандидат на установку А если пытаться устанавливать программу из скачанного
.deb-пакета, как в
Терминале (
Ctrl+Alt+T), так и в
Графическом режиме (
Synaptic,
GDebi), то ещё и уведомления о
неразрешимых зависимотсях для той или оной программы по этой же причине.
Другой способ, более сложный - это, как обычно, потюнинговать, а потом устанавливать пакеты, но уже вручную, т.к. уже будет выскакивать эта ошибка, выкачивая их
.deb-пакеты c
хранилища Canonical и устанавливать их в
Терминале (
Ctrl+Alt+T) или в
Графическом режиме (
Synaptic,
GDebi).
При этом, при сообщениях о
неудовлетворённых зависимостях, а такие, как правило будут, дополнительно выкачивать от-туда и их пакеты.
Выглядит это так на примере скачивания
.deb-пакета видео-редактора
pitivi и его установки...
Заходим в
хранилище Canonical, в поле
Поиск -
Поиск по каталогам пакетов вписываем
pitivi и жмём на
Поиск:
В результате
Поиска мы получим вывод, что такой пакет существует в репозиториях и доступен к скачиванию:
Точные совапдения Пакет pitivi jammy 22.04 LTS (это ссылка на страницу расшифровки деталей по этому пакету) - жмём на неё:
После перехода на страницу расшифровки деталей по этому пакету, листаем в её нижнуюю часть до раздела
Загрузка pitivi и в таблице, в левом столбце
Архитектура выбираем файл (это ссылка на него. Жмём на неё) нужной нам архитектуры (в данном случае
amd64):
После чего попадаем на
страницу загрузки данного пакета, где из списка серверов/зеркал хранилищь в разных странах, выбираем любой понравившийся или предпочтительный, нажав на его ссылку (здесь выбор пал на
шведский сервер):
В результате нажатия, начнётся
процесс загрузки и, чтобы посмотреть её статус, жмём в верхней панели нашего
браузера (здесь
Firefox) на стрелку вниз и в выпавшем меню видим предупреждение
Показать больше информации и правее
круглую кнопку, где просто жмём на неё:
И в открывшемся дополнительном информационном
меню жмём на
Разрешить загрузку:
После чего в этом же
меню мы видим, что пакет
загружен и если нажать на него, откроется по умолчанию
Ubuntu Software для его установки, что не очень удобно в плане информатийности отображения процесса установки и наличия ошибок при её выполнении, на мой взгляд.
Поэтому, чтобы воочию видеть весь процесс и возможные ошибки в
Графическом режиме, нам надо для открытия
.deb-пакетов по умолчанию утилитой
GDebi, изменить в настройках ассоциацию таких пакетов с ней и для этого мы справа, в этом же меню жмём на
значок папки:
В открывшемся
ФМ (Файловый менеджер
Файлы) с этим сразу же выделенным
.deb-пакетом жмём на него
ПКМ и в выпавшем контекстном меню
ЛКМ на
Свойства:
В выпавшем дополнительном окне
Свойств файла выбираем закладку
Открыть с помощью и в её параметрах выделяем
ЛКМ Программа установки пакетов GDebi и жмём
ЛКМ на
Установить по умолчанию и закрываем это окно нажав на
крестик в верхней панели:
Теперь можно нажать
ЛКМ на этот
.deb-пакет и в результате запустится установка данного пакета в утилите
GDebi, но с уведомлением об ошибке
Неразрешённой зависимости от другого пакета:
Что делать?
Также, качать этот пакет из
хранилища Canonical, как описано выше, название которого выделено также на скрине выше
красным цветом, в
красном квадрате и, если при его установке также выдаст ошибку, что и для него нужен тот или иной пакет неудовлетворённой зависимости, качать и его, и также устанавливать каждый по очереди, до достижения желаемого результата - финальной, успешной установки
искомомого пакета.
Если вы били внимательны, то все зависимости (пакеты и ссылки на них) были перечислены на
3-м скрине, в начале страницы (раздел
Другие пакеты, относящиеся к pitivi), но не факт, что все они необходимы для установки искомого пакета!
Поэтому, как выше описано, качаем только те пакеты, которые будут отмечены
красным в установщике пакетов
GDebi.
А можно сразу посмотреть, какие дополнительные пакеты зависимостей потребуются при установке искомого пакета в
Терминале (
Ctrl+Alt+T), выполнив после скачивания искомого пакета
pitivi команду:
sudo dpkg -i Загрузки/pitivi_2021.05-2_amd64.deb
В результате выполнения которой мы получим, вот такой вывод
Терминала (
Ctrl+Alt+T), показывающий нам список дополнительных
пакетов зависимостей (выделено в
красном квадрате):
Кстати, если после попытки установки применить команду лечения проблем с зависимостями:
sudo apt install -f
то мы получим такой вывод, говорящий нам, что проблемы с зависимостями решены
не будут с предложением
удалить искомый пакет:
Остаётся только выкачать каждый пакет из списка по очереди, воспользовавшись поиском в
хранилище Canonical (скопировать по очереди название каждого пакета из вывода
Терминала (
Ctrl+Alt+T) выше и вставить в
Поиск) и установить каждый, как описано выше...
Как и говорил выше, этот способ не очень удобен, но он рабочий и, если у вас появилась эта ошибка
E: Для пакета «xxxxxxxxxx» не найден кандидат на установку то у вас остаются только эти
два способа решения проблемы установки пакетов в
Ubuntu 22.04.
Другого на сей час
не дано, увы!
Всем приятного и безошибочного пользования! БОНУС!!! Включить отображение значка
Корзина на
Рабочем столе:
(отключение параметра - меняете значение
'true' на
'false')
gsettings set org.gnome.shell.extensions.ding show-trash 'true'
Включить отображение значка
Домашняя папка на
Рабочем столе:
gsettings set org.gnome.shell.extensions.ding show-home 'true'
Включить отображение
внешних дисков на
Рабочем столе:
gsettings set org.gnome.shell.extensions.ding show-volumes 'true'
Результат:
(иконки можно перетаскивать в любое место на
Рабочем столе)
P.S. Если у вас появились вопросы или мнения по данной статье, обсудить их можно на нашем форуме: