Во время установки программ с помощью пакетного менеджера apt в любом из дистрибутивов, использующих этот пакетный менеджер, вы можете столкнуться с ошибкой, что у вас зафиксированы сломанные пакеты. Это пакеты, которые не установились полностью потому что им не хватает зависимостей или процесс установки был по какой-либо причине прерван.
В этой статье мы рассмотрим что делать с такой ошибкой, как её исправить, а также я дам ссылки на другие материалы на сайте, которые помогут справится с проблемой.
Как исправить у вас зафиксированы сломанные пакеты?
1. Обновите списки пакетов
Возможно вам не удалось установить нужные пакеты потому что списки репозиториев устарели, и там ещё не было нужных пакетов. Для обновления списка пакетов выполните:
sudo apt update --fix-missing
2. Установите битые пакеты
После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:
sudo apt install -f
3. Очистите лишние пакеты
Установке могут мешать лишние пакеты, которые больше не нужны в системе. Для их удаления выполните:
sudo apt clean
Затем:
sudo apt autoremove
Утилита отобразит список всех битых пакетов, которые не установлены, вы можете попытаться их удалить с помощью команды:
sudo dpkg --remove -force --force-remove-reinstreq имя_пакета
4. Используйте dpkg
Вместо apt вы можете использовать команду dpkg чтобы посмотреть какие пакеты вызывают проблему. Просто выполните:
sudo dpkg --configure -a
Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:
sudo dpkg --remove -force --force-remove-reinstreq имя_пакета
5. Разрешите зависимости
Битые пакеты чаще всего появляются из-за того, что пакетный менеджер не может найти для них нужные зависимости. Если вам всё же очень нужно установить такой пакет, просто разрешите эти зависимости. Для этого можно скачать и установить их вручную или если вы уверенны, что зависимости в пакете указаны неверно, можно скачать его распаковать и удалить мешающие зависимости. Подробнее об этом читайте в этой статье.
Выводы
В этой небольшой статье мы рассмотрели что делать если в вашей системе появились битые пакеты и как их исправить. Здесь решение проблемы очень сильно зависит от вашей ситуации, но здесь приведены основные варианты решения, которые должны помочь вернуть пакетный менеджер к работе. Иногда рекомендуют удалить пакет вручную из базы данных dpkg /var/lib/dpkg/status, однако лучше этого не делать и найти путь решить проблему по другому, ручное редактирование подобных файлов может создать ещё больше проблем.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
In the case where tried to install a file:
sudo apt-get install libstdc++.so.6
instead of a package. You get the error message:
E: Unable to locate package libstdc++.so.6 E: Couldn't find any package by regex 'libstdc++.so.6'
because you tried to install a file libstdc++.so.6
that you can’t install, because it is located in a debian package.
You can use apt-file
to search for the package that contains that file. To install it, type:
sudo apt-get install apt-file
Then you have to update the index.
sudo apt-file update
After that, you can search for the package which contains the file libstdc++.so.6
:
sudo apt-file find libstdc++.so.6
Then you find a lot packages that contains the searched file. For this example I paste only one search result:
libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6
Then you can install the needed package libstdc++6
:
sudo apt-get install libstdc++6
- Печать
Страницы: [1] Вниз
Тема: Ошибка при загрузке пакетов (apt-get install) (Прочитано 3967 раз)
0 Пользователей и 1 Гость просматривают эту тему.
АндрейПоздняков
Всем привет, после установки Ubuntu у меня появилась проблема с устанрвкой необходимых мне пакетов. Сейчас пытаюсь учтвновить pppoeconf для создания dsl подключения, но при этом столкнулся с следующими ошибками:
https://cdn3.ЗАПРЕЩЁННЫЙ РЕСУРС/uploads/2018/2/5/1fbd8eeb05e1ac89044be5634cfa4398-full.jpg
Как я понял ошибки частично связаны с грабом, но не до конца понятно как. Пытался их пофиксить их, но с отсутствием интернета получается это сделать с трудом. Раздаю сейчас с мобильного. Ещё забыл упомянуть, что использую дуал бут.
Вообщем оебят помогите кто чем может, заранее благодарен!
Правила форума
1.5. Для добавления графических изображений в сообщения требуется использовать внешние сервисы. Включение в сообщения полноразмерных изображений, превышающих разрешённые размеры, допускается исключительно в виде превью. Подробную инструкцию, а также список рекомендованных и запрещенных сервисов можно посмотреть в «Руководстве по добавлению изображений на форум».
Отредактировал
-mahinist
« Последнее редактирование: 05 Февраля 2018, 18:01:28 от mahinist »
Dzhoser
ppoeconf у Вас уже установлен,в системе повреждены или не доконца установлены пакеты. Исправить можно командой
sudo apt-get install -f
АндрейПоздняков
Спасибо, после ввода команды присутствует всё та же ошибка:
https://cdn3.ЗАПРЕЩЁННЫЙ РЕСУРС/uploads/2018/2/6/a5fb87c9d4c604821033a951fb188085-full.jpg
Также перепробовал все советы с этого гайда, но увы не помогло:
https://help.ubuntu.ru/wiki/решение_проблем_с_зависимостями
Dzhoser
Я так понимаю вы загружаетесь в режиме legasy.
Выложите под спойлер вывод
sudo fdisk -l
АндрейПоздняков
Вот вывод:
Также прикрепляю скриншот для лучшего визуального восприятия:
https://cdn3.ЗАПРЕЩЁННЫЙ РЕСУРС/uploads/2018/2/6/4aae7426970faa214192f3263202ab86-full.png
« Последнее редактирование: 06 Февраля 2018, 12:22:54 от АндрейПоздняков »
Dzhoser
Еfi раздела не вижу. Поробуйте удалить пакеты
sudo apt-get remove grub-efi-amd64-signed -y&& sudo apt-get remove shim-signed -y
Установите пакеты.
sudo apt-get install grub-pc-bin -y && sudo apt-get install grub-common -y && sudo apt-get install grub-pc && sudo apt-get install grub2-common && sudo apt-get install os-prober -y
Если все пройдет гладко выполняем
sudo update-grub
перезагружаемся
sudo reboot
. Если поломаете прейдется востанавливать загрузчик с live-cd. УДАЧИ.
АндрейПоздняков
Спасибо за совет, удалил пакеты и эта ошибка пропала. После этого выполнил установку других пакетов, которые описаны во второй комманде, некоторые из них не установились. Обновил граб и ребутнулся. После ребута граб остался жив и система нормально запустилась, после чего мне удалось настроить pppoeconf.
Но после этого при попытке установить новые пакеты появляется следующая ошибка:
https://cdn3.ЗАПРЕЩЁННЫЙ РЕСУРС/uploads/2018/2/6/c35d19f7a39118b5f3e9a88d1ac427a9-full.png
Dzhoser
Битые пакеты исправляются
sudo apt-get install -f
, но у Вас пакет curl не устанавливается так как запрашивает старую библиотеку и пишет что более новая версия уже стоит. Это бывает когда подключены разные репозитории разных версий системы, погуглите как отключить стороние репозиторий. После отключения выполните
sudo apt-get clean
очистка кэша
sudo apt-get autocline
очистка не нужных пакетов
sudo apt-get autoremove
автоматическое удаление не нужных пакетов
sudo apt-get update
sudo apt-get upgrade
- Печать
Страницы: [1] Вверх
Operating System (OS/VERSION):
ubuntu 16.04 clean install (server)
VestaCP Version:
latest?
Installed Software (what you got with the installer):
none, clean installation
Steps to Reproduce:
curl -O http://vestacp.com/pub/vst-install.sh
bash vst-install.sh --nginx yes --phpfpm yes --apache no --named yes --remi yes --vsftpd no --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous yes --mysql yes --postgresql no
Result:
Installation backup directory: /root/vst_install_backups/1533850309
Installation will take about 15 minutes ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
--2018-08-09 21:31:54-- http://nginx.org/keys/nginx_signing.key
Resolving nginx.org (nginx.org)... 95.211.80.227, 62.210.92.35, 2001:1af8:4060:a004:21::e3, ...
Connecting to nginx.org (nginx.org)|95.211.80.227|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1561 (1.5K) [text/plain]
Saving to: ‘/tmp/nginx_signing.key’
/tmp/nginx_signing.key 100%[======================================================================>] 1.52K --.-KB/s in 0s
2018-08-09 21:31:54 (97.4 MB/s) - ‘/tmp/nginx_signing.key’ saved [1561/1561]
OK
--2018-08-09 21:31:54-- http://c.vestacp.com/deb_signing.key
Resolving c.vestacp.com (c.vestacp.com)... 104.236.66.100
Connecting to c.vestacp.com (c.vestacp.com)|104.236.66.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1719 (1.7K) [text/plain]
Saving to: ‘deb_signing.key’
deb_signing.key 100%[======================================================================>] 1.68K --.-KB/s in 0s
2018-08-09 21:31:55 (93.0 MB/s) - ‘deb_signing.key’ saved [1719/1719]
OK
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 http://archive.ubuntu.com/ubuntu bionic-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease
Get:4 http://nginx.org/packages/mainline/ubuntu bionic InRelease [2,112 B]
Get:5 http://nginx.org/packages/mainline/ubuntu bionic/nginx amd64 Packages [10.0 kB]
Get:6 http://apt.vestacp.com/bionic bionic InRelease [2,187 B]
Get:7 http://apt.vestacp.com/bionic bionic/vesta amd64 Packages [1,004 B]
Fetched 15.3 kB in 11s (1,441 B/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package mc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package rssh is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Unable to locate package expect
E: Unable to locate package fail2ban
E: Unable to locate package idn
E: Package 'mc' has no installation candidate
E: Unable to locate package ntpdate
E: Unable to locate package php-fpm
E: Unable to locate package phpmyadmin
E: Unable to locate package roundcube-core
E: Unable to locate package roundcube-mysql
E: Unable to locate package roundcube-plugins
E: Package 'rssh' has no installation candidate
E: Unable to locate package webalizer
Error: apt-get install failed
Windows 10 Ubuntu bash failing to install packages. Whenever I try install new package with below command, getting same error.
root@VASI-HOME-PC:/mnt/c/Users/vadap# apt-get install atom
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package atom
This is not just with atom pacakge but i tried installing other packages like pip as well and received same error.
asked Sep 19, 2018 at 17:50
Devoloper250Devoloper250
1,3212 gold badges10 silver badges11 bronze badges
3
System: Windows 10 Enterprise, Ubuntu Windows Subsystem for Linux.
I ran this command:
sudo apt-get install dos2unix
I had this error:
E: Unable to locate package dos2unix
I then ran:
sudo apt-get update
and then:
sudo apt-get install dos2unix
and it installed properly.
answered Feb 27, 2019 at 22:31
This fixed it perfectly for me:
https://sundarnarasiman.net/2021/05/15/wsl2-apt-update-not-working/
Reposting incase the link ever dies:
Step #1.
On the Ubuntu distro, create a file at this location /etc/wsl.conf.
The file should have the following configuration.
[network]
generateResolvConf = false
If we don’t set this file, WSL will automatically load a default /etc/resolv.conf with default namesever configuration.
Shut down and restart the distro.
Step #2
Delete the default /etc/resolv.conf file.
sudo rm /etc/resolv.conf
Create a new /etc/resolv.conf with the following entry.
nameserver 8.8.8.8
Now, restart the WSL2 and open the distro again. The apt update on WSL2 should work like a charm.
answered Dec 7, 2021 at 12:56
Same error, solved after:
sudo vi /etc/apt/sources.list # add source
sudo apt update # update source cache
My sources.list file:
deb http://mirrors.163.com/ubuntu/ bionic main restricted
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted
deb http://mirrors.163.com/ubuntu/ bionic universe
deb http://mirrors.163.com/ubuntu/ bionic-updates universe
deb http://mirrors.163.com/ubuntu/ bionic multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ bionic-security main restricted
deb http://security.ubuntu.com/ubuntu/ bionic-security universe
deb http://security.ubuntu.com/ubuntu/ bionic-security multiverse
Edit this list according to your location, as some sources may not apply globally.
answered Jun 18, 2019 at 2:00
QinsiQinsi
1114 bronze badges
2
What was working for me:
wsl --set-version Ubuntu-18.04 2
or
wsl --set-version Ubuntu-20.04 2
ZygD
2,44911 gold badges26 silver badges43 bronze badges
answered Oct 29, 2021 at 21:44
Easiest solution for Non GUI packages installation in a fresh WSL
Just run the below commands in the terminal:
sudo apt-get update
sudo apt-get install your-package-name
The error is generally observed when you have a fresh WSL configuration on windows. Thus, you need to update your apt-get
package manager. However, as mentioned above, for packages that involve a GUI (Atom), it isnt supported by WSL out of the box.
answered Sep 30, 2020 at 11:18
Usually only updates packages is needed before:
sudo apt update
answered Jul 22, 2021 at 10:32
1