Боремся с ошибкой «Unable to locate package» в Ubuntu

Иногда при установке пакета в Ubuntu с помощью менеджера пакетов APT вы можете столкнуться с ошибкой «E: Unable to locate package» (Неудалось найти пакет). Казалось бы, выход в интернет есть, репы на месте, но ошибка присутствует. Давайте разбираться, что может пойти не так.

1. Проверить орфографию в имени пакета.

Причиной этой ошибки может стать опечатка в названии пакета. Это первое, что вам следует проверить. Например, чтобы установить сервер Mariadb в Ubuntu, если вы наберете mariabd-server вместо mariadb-server, вы получите сообщение об ошибке.

$ sudo apt install mariabd-server
Reading package lists...
DoneBuilding dependency tree... 
DoneReading state information... 
Done
E: Unable to locate package mariabd-server

Кроме того, к этой ошибке также может привести ввод имени с несоблюдением регистра. Linux чувствителен к регистру, не только в наименовании файлов, но и в названии пакетов.

sudo apt install MariaDB-server
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
E: Unable to locate package MariaDB-server

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

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

Если в имени пакета нет опечатки, но ошибка по-прежнему возникает, возможно, вам необходимо обновление локального списка пакетов. Это особенно актуально, если вы используете новую установку Ubuntu, которая поставляется с пустым кэшем.

Обновить кэш, можно следующей командой:

$ sudo apt update

После обновления кэша, менеджер пакетов APT будет ссылаться на только что созданный локальный кеш, и, скорее всего, вам удастся установить соответствующий пакет из репозитория Ubuntu по умолчанию.

3. Проверить наличие пакета в репозитории.

Если, после проверки имени пакета, и обновления кэша списка пакетов, ошибка продолжает появляться, то надо проверить, а есть ли такой пакет в репозитории. Для этого можно воспользоваться сайтом Ubuntu Packages.

Он позволяет вам просматривать список пакетов, доступных для любой версии Ubuntu и содержащихся в любом из четырех основных репозиториев, предоставляемых Ubuntu [main, multiverse, restricted и universe].

Перед тем, как воспользоваться поиском, разумно прежде всего проверить, какую версию Ubuntu вы используете. Для этого можно воспользоваться следующими двумя командами

$ hostnamectl 
 Static hostname: reciprocal-velvetbreast
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: fb4ec7171ded4c9480088e39e120d0d5
         Boot ID: 1a8d013ad708470a9b1f33ff30484a3c
  Virtualization: kvm
Operating System: Ubuntu 23.04    <----------------------                 
          Kernel: Linux 6.2.0-32-generic
    Architecture: x86-64
 Hardware Vendor: QEMU
  Hardware Model: Standard PC _i440FX + PIIX, 1996_
Firmware Version: 0.0.0

Либо

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 23.04 <-------
Release:	23.04        <-------
Codename:	lunar        <-------

Из предоставленных результатов видно, что мы используем Ubuntu 23.04, lunar.

Теперь перейдеv на сайт поиска пакетов и в поле поиска «Ключевое слово» вводим имя пакета. Далее выбираем свой дистрибутив. Если вы не уверены, в каком репозитории содержится пакет, установите для параметра «Секция» значение «любой» и нажмите «Поиск».

Если есть пакеты, содержащие в своем названии ваше ключевое слово, то вы получите весь список совпадений. В моем случае, я получил точное совпадение с указанием выпуска ОС, простого описания программного пакета и репозитория, который его предоставляет (multiverse). А так же список пакетов, который содержит поисковую фразу, так же с кратким описанием и в каком репозитории он расположен.

Если поиск пакета не дал результатов, значит, пакет еще недоступен в репозиториях по умолчанию. И вы не можете его установить напрямую с помощью менеджера пакетов APT.

4. Добавление недостающих репозиториев.

Как и говорилось выше, в Ubuntu предоставляется четыре репозитория:

  • Main
  • Multiverse
  • Restricted
  • Universe

Каждый из них предоставляет набор пакетов для загрузки в вашу систему. Если вы используете систему, в которой отсутствует какой-либо из этих репозиториев, вы можете добавить их следующим образом.

$ sudo add-apt-repository main
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository restricted
$ sudo add-apt-repository universe

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

$ sudo apt update

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

5. Проверьте актуальность поддержки вашей версии.

Ubuntu предлагает два основных выпуска. LTS (долгосрочная поддержка) — это выпуск, который поддерживается или обслуживается в течение 5 лет. Поддержка включает исправления ошибок, исправления и обновления безопасности. Последняя версия LTS на данный момент — Ubuntu 22.04.

Другой выпуск является стандартным или промежуточным выпуском, который поддерживается в течение девяти месяцев. На данный момент последней стандартной версией является Ubuntu 23.04.

Когда срок службы выпуска истекает (EOL), он перестает поддерживаться Canonical и больше не получает исправлений, обновлений и нового программного обеспечения.

Чтобы проверить, актуальность вашей версии Ubuntu, выполните следующую команду:

$ hwe-support-status --verbose

Команда обеспечивает следующий вывод. В последнем предложении будет указано, поддерживается ли ваша система или нет. В нашем случае мы используем Ubuntu 23.04 и получили сообщение, что только LTS версии имеют сроки обеспечения.

$ hwe-support-status --verbose
Only LTS releases have Hardware Enablement stacks

А вот версия 22.04 нам сообщила, что она поддерживается еще до Апреля 2027 года. Так что все ок. Но если ваша версия не поддерживается, то вы можете столкнуться с проблемой установки пакетов в вашу ОС.

ubuntu@lithe-sapsucker:~$ hwe-support-status --verbose
You are not running a system with a Hardware Enablement Stack. Your system is supported until April 2027.

Заключение.

Это только некоторые из возможных решений для устранения ошибки «Unable to locate package» в Ubuntu. Если у вас по-прежнему возникают проблемы с установкой пакета, то попробуйте установить его из Snap или Flatpak.

Вы также можете установить пакеты из сторонних репозиториев, известных как PPA (Personal Package Archive). Это репозиторий, в котором хранятся пакеты программного обеспечения, поддерживаемые отдельными лицами или группами разработчиков. Эти пакеты недоступны в официальных репозиториях Ubuntu.

А если, вы сталкивались еще с какими-то вариантами решения данной проблемы, то обязательно оставляйте их в комментариях. Надеюсь, статья была полезна для вас и помогла разобраться с данной проблемой.

Was this helpful?

0 / 0

Добавить комментарий 0