Ubuntu ошибка при установке пакета

Во время установки программ с помощью пакетного менеджера 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 License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Содержание

Предисловие

Иногда, при работе с пакетными менеджерами, возникает проблема с неразрешенными зависимостями пакетов. В данной статье будут рассмотрены варианты решения этой проблемы.

Все операции выполняются в терминале.

Убедитесь что ни один пакетный менеджер не запущен. Это может быть: apt-get, aptitude, Synaptic, KPackageKit, Центр Приложений Ubuntu и тд.

Используя APT-GET

Обычно ошибка выглядит так:

E: Неудовлетворённые зависимости. Попытайтесь выполнить 'apt-get -f install', не указывая имени пакета, (или найдите другое решение).

Удалите кеш пакетов:

sudo apt-get clean

Удалите осиротевшие пакеты:

sudo apt-get autoremove

Обновите список пакетов:

sudo apt-get update

Исправьте зависимости:

sudo apt-get -f install

Обычно этого достаточно.

Если вы запутались с зависимостями, поможет интеллектуальное обновление системы:

sudo apt-get dist-upgrade

Если установка была прервана, то следует переустановить пакет

sudo apt-get install --reinstall имя_пакета

Если репозиторий недоступен, исправить:

  • /etc/apt/sources.list — главный список репозиториев

  • /etc/apt/sources.list.d — каталог для сторонних репозиториев

Если невозможно удалить/переустановить пакет, исправить:

  • /var/lib/dpkg/status — список установленных пакетов

  • /var/lib/dpkg/available — список доступных для скачивания пакетов

One of the many ways of installing software in Ubuntu is to use the apt-get or the apt command. You open a terminal and use the program name to install it like this:

sudo apt install package_name

Sometimes, you may encounter an error while trying to install application in this manner. The error reads:

sudo apt-get install package_name
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package package_name

The error is self explanatory. Your Linux system cannot find the package that you are trying to install. But why is it so? Why can it not find the package? Let’s see some of the actions you can take to fix this issue.

Let’s see how to troubleshoot this issue one step at a time.

1. Check the package name (no, seriously)

This should be the first thing to check. Did you make a typo in the package name? I mean, if you are trying to install vlc and you typed vcl, it will surely fail.

Typos are one of the reasons behind 'package not found error'

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Содержание

Предисловие

Иногда, при работе с пакетными менеджерами, возникает проблема с неразрешенными зависимостями пакетов. В данной статье будут рассмотрены варианты решения этой проблемы.

Все операции выполняются в терминале.

Убедитесь что ни один пакетный менеджер не запущен. Это может быть: apt-get, aptitude, Synaptic, KPackageKit, Центр Приложений Ubuntu и тд.

Используя APT-GET

Обычно ошибка выглядит так:

E: Неудовлетворённые зависимости. Попытайтесь выполнить 'apt-get -f install', не указывая имени пакета, (или найдите другое решение).

Удалите кеш пакетов:

sudo apt-get clean

Удалите осиротевшие пакеты:

sudo apt-get autoremove

Обновите список пакетов:

sudo apt-get update

Исправьте зависимости:

sudo apt-get -f install

Обычно этого достаточно.

Если вы запутались с зависимостями, поможет интеллектуальное обновление системы:

sudo apt-get dist-upgrade

Если установка была прервана, то следует переустановить пакет

sudo apt-get install --reinstall имя_пакета

Если репозиторий недоступен, исправить:

  • /etc/apt/sources.list — главный список репозиториев

  • /etc/apt/sources.list.d — каталог для сторонних репозиториев

Если невозможно удалить/переустановить пакет, исправить:

  • /var/lib/dpkg/status — список установленных пакетов

  • /var/lib/dpkg/available — список доступных для скачивания пакетов

One of the many ways of installing software in Ubuntu is to use the apt-get or the apt command. You open a terminal and use the program name to install it like this:

sudo apt install package_name

Sometimes, you may encounter an error while trying to install application in this manner. The error reads:

sudo apt-get install package_name
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package package_name

The error is self explanatory. Your Linux system cannot find the package that you are trying to install. But why is it so? Why can it not find the package? Let’s see some of the actions you can take to fix this issue.

Let’s see how to troubleshoot this issue one step at a time.

1. Check the package name (no, seriously)

This should be the first thing to check. Did you make a typo in the package name? I mean, if you are trying to install vlc and you typed vcl, it will surely fail.

Typos are one of the reasons behind 'package not found error'

Typos are one of the main reasons behind ‘package not found error’

Typos are common, so make sure you have not made any mistakes in typing the package’s name.

Also, the commands in Linux are case-sensitive. So make sure that you are typing the correct package name. For example, the command name should be vlc, not Vlc or VLC.

Remember that the installable package name could be different than the popular software name. In Ubuntu, Docker package is docker.io because docker was an existing package. With Snap, VS Code package is named code, not vscode.

A practical example is installing zlib package on Ubuntu. The installable package name is zlib1g. And that’s numeric 1, not the letter L in small cases.

2. Update the repository cache

If this is the first time you are using your system after installing, you should run the update command:

sudo apt update

This command won’t update Ubuntu straightaway. I recommend to get through the concept of Ubuntu repositories. Basically, the ‘apt update’ command builds a local cache of available packages.

When you use the install command, apt package manager searches the cache to get the package and version information and then downloads it from its repositories over the network. If the package is not in this cache, your system won’t be able to install it.

When you have a freshly installed Ubuntu system, the cache is empty. This is why you should run the apt update command right after installing Ubuntu or any other distributions based on Ubuntu (like Linux Mint).

Even if it’s not a fresh install, your apt cache might be outdated. It’s always a good idea to update it.

3. Check if the package is available for your Ubuntu version

Alright! You checked the name of the package and it is correct. You run the update command to rebuild the cache and yet you see the «unable to locate package» error.

The package may be really not available. But you are following the instructions mentioned on some website and everyone else seems to be able to install it like that. What could be the issue?

I can see two things here. Either the package is available in the Universe repository and your system hasn’t enabled it or the package is not available on your Ubuntu version altogether. Don’t get confused. I’ll explain it for you.

First step, check the Ubuntu version you are running. Open a terminal and use the following command:

lsb_release -a

You’ll get the Ubuntu version number and the codename in the output. The codename is what is important here:

[email protected]:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04
Codename:	bionic

Ubuntu Version Check

Ubuntu Version Check

As you can see here, I am using Ubuntu 18.04, whose codename is bionic. You may have something else but you get the gist of what you need to note here.

Once you have the version number and the codename, head over to the Ubuntu packages website:

Scroll down a bit on this page and go to the Search part. You’ll see a keyword field. Enter the package name (which your system cannot find) and then set the correct distribution codename. The section should be ‘any’. When you have set these three details, hit the search button.

Ubuntu Package Search

Ubuntu Package Search

This will show if the package is available for your Ubuntu version and if yes, which repository it belongs to. In my case, I searched for Shutter screenshot tool and this is what it showed me for Ubuntu 18.04 Bionic version:

Package Search Result

Package Search Result

In my case, the package name is an exact match. This means the package shutter is available for Ubuntu 18.04 Bionic but in the ‘Universe repository’. If you are wondering what the heck is Universe repository, please refer to the Ubuntu repository article I had mentioned earlier.

If the intended package is available for your Ubuntu version but in a repository like the universe or multiverse, you should enable these additional repositories:

sudo add-apt-repository universe multiverse

You must also update the cache so that your system is aware of the new packages available through these repositories:

sudo apt update

Now if you try to install the package, things should be fine.

4. Check if you are using an active Ubuntu release

Ubuntu has two major kinds of releases. The regular release is supported for nine months, while the long-term support releases are supported for five years.

In either case, if you are using an Ubuntu release that has reached its end of life, you won’t be able to install any new packages and see this «unable to locate package» error.

How do you know if your Ubuntu version is supported or not? Use this simple command to find it out:

hwe-support-status --verbose

For my supported version, it shows this output:

You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2025.

You may forget about Hardware Enablement Stack for the moment. The important information is whether the system is actively supported. In the above example, my system is supported till April 2025.

Nothing works; what now?

If the Ubuntu Packages website also shows that the package is unavailable for your specific version, you’ll have to find other ways to install the package.

Take Shutter, for example. It’s an excellent screenshot tool for Linux but it hasn’t been updated in years and thus Ubuntu has dropped it from Ubuntu 18.10 and newer versions. How to install it now? Thankfully, some third-party developer created a personal repository (PPA) and you can install it using that. [Please read this detailed guide to understand PPA in Ubuntu.] You can search for packages and their PPA on Ubuntu’s Launchpad website.

Remember that you shouldn’t add random (unofficial) PPAs to your repositories list. I advise sticking with what your distribution provides.

If there are no PPAs, check the project’s official website and see if they provide some alternative ways of installing the application. Some projects provide DEB files or AppImage files. Some projects have switched to Snap packages.

In other words, check the project’s official website and check if they have changed their installation method.

If nothing works, perhaps the project itself is discontinued and if that’s the case, you should look for an alternative application.

In the end…

If you are new to Ubuntu or Linux, things could be overwhelming. This is why I am covering some basic topics like this so that you better understand how things work in your system.

I hope this tutorial helps you handle the package error in Ubuntu. If you have questions or suggestions, please feel free to ask in the comment section.

Donate Itsfoss

Если вы активный пользователь Linux, то наверняка встречались с тем, что некоторые пакеты так сказать ломаются. Это может быть вызвано по разным причинам, некорректно установленный пакет, какие-то ошибки во время установки и многое другое. Что в свою очередь может сказаться и на самом менеджере пакетов “apt-get”, и как итог, возможно что дойдет даже то того, что вы не сможете обновляться или устанавливать программное обеспечения. Данная статья поможет вам решить вопрос со сломанными пакетами в Debian / Ubuntu, а так же их производными. Так как сломанные пакеты могут возникать по разным причинам, существует несколько способов для решения этой задачи, но, не все они могут сработать, тут все зависит от конкретного случая.

P.S. Желательно точно знать какой пакет у вас сломан, так как это поможет вам выбрать один из способом решения задачи.

Чиним сломанные пакеты с apt-get

Первый вариант, который может помочь починить сломанные пакеты имеется в самом менеджере пакетов apt, и для починки сломанных пакетов достаточно ввести две команды:

sudo apt-get update --fix-missing
sudo apt-get install -f

сломанные пакеты в Debian Ubuntu 1

Этот способ поможет для решения уже установленных в вашей системе пакетов, который по каким то причинам сломались. После выполнения первой команды необходимо убедиться, что она исправила ошибки, а затем переходить к введению второй команды. Возможно, что для исправления сломанных пакетов понадобиться несколько минут:

Чиним сломанные пакеты с apt-get и dpkg

Но, что делать если пакет сломался во время установки? Можно попробовать выполнить команды из первого примера, если они не сработают, переходим к использованию apt-get и dpkg, для этого первым делом используем dpkg для настройки пакетов. А затем выполняем очистку apt-get:

sudo dpkg --configure -a
sudo apt-get clean
sudo apt-get update

сломанные пакеты в Debian Ubuntu 2

В некоторых ситуациях может понадобиться удалить файл блокировки, после удаления файла блокировки, снова выполните предыдущие команды:

sudo rm /var/lib/apt/lists/lock

Принудительное удаление пакета с помощью apt-get и dpkg

В редких ситуациях может случиться и такое, что ни один из выше указанных методов не сработает и вам понадобиться вручную удалить сломанный пакет. Для этого разумеется вы должны точно знать что это за пакет, и первый вариант удаление пакета с помощью apt-get, для этого вводим команду:

sudo apt-get remove и название пакета

Если же вам не удалось удалить пакет, переходим к кардинальным мерам, для принудительного пакеты введите команду:

sudo dpkg --remove --force-remove-reinstreq и название пакеты

Затем выполните очистку и обновление пакетов:

sudo apt-get clean && sudo apt-get update

Заключение

Если вы не знаете про менеджеры пакетов apt-get и dpkg, на WIKI имеется статьи, первая про apt, вторая статья про dpkg. В редких ситуациях, выше приведенных мер может быть недостаточно для исправления сломанных пакетов. В этом случае, может понадобиться ручная сборка и удаление сломанных пакетов, правда, имеется риск повредить работоспособность всей системы, что в свою очередь может вывести ее из строя. В этом случае, если вы делали резервные копии вашей системы можно откатиться работоспособной версии системы. Сделать резервную копию вашей системы можно при помощи Timeshift или Deja Dup, последняя имеется в дистрибутиве Ubuntu. Но, чаще всего удается отделаться малой кровью когда появляются сломанные пакеты, и выше приведенных мер достаточно для исправления сломанных пактов.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

Многие новички могут по тем или иным причинам столкнуться с ошибками пакетного менеджера dpkg. Они могут возникнуть в случае прерывания установки (к примеру, завис компьютер), или при любой другой нештатной ситуации.

Пакетный менеджер dpkg позволяет устанавливать, удалять и получать информацию по пакетам. Он представляет собой основу системы управления пакетами в Ubuntu и других основанных на Debian дистрибутивах.

Базовый синтаксис dpkg следующий:

dpkg [опции] действие

Примеры использования dpkg

Установка пакета:

dpkg -i package-name.deb

Само собой, команда должна выполняться через sudo или от имени root.

Просмотр всех установленных пакетов в системе:

dpkg -l

Узнать детали по конкретному пакету:

dpkg -c packagename.deb

Удалить установленный ранее пакет:

dpkg -r package-name

Как исправить ошибку dpkg?

При появлении ошибок, связанных с менеджером пакетов, следует в первую очередь выполнить команду:

dpkg --configure -a

Команда производит настройку всех распакованных, но ненастроенных пакетов.

Однако бывает, что возникает ошибка «Не удалось получить доступ к файлу блокировки» («Unable to acquire the dpkg frontend lock»). В общем случае такое происходит, когда происходит установка пакетов в разных приложениях одновременно. Однако чаще такое случается при аварийной остановке установки приложения. В таком случае стоит удалить lock-файлы при помощи команд:

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock

В случае, если ошибки менеджера пакетов все равно возникают, можно попробовать воспользоваться следующими командами:

cd /var/lib/dpkg/updates
sudo rm *
sudo apt-get update

Понравилась статья? Поделить с друзьями:
  • Ubuntu ошибка при создании раздела
  • Ultraiso ошибка 121 при создании загрузочной флешки
  • Ufo aftershock ошибка при запуске
  • Ufo afterlight ошибка при запуске
  • Ultraiso загрузочная флешка windows 10 ошибка