Ошибка «Невозможно найти пакет» в Linux

Linux — отличный выбор операционной системы, пока вы не наткнетесь на ошибку. Это не ты; это то, как пользователи работают с Linux, что требует постоянного обучения и устранения неполадок.

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

А при использовании APT вы можете столкнуться с сообщением «Невозможно найти ошибку пакета», особенно в Ubuntu.

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

Давайте начнем.

Что такое ошибка «E: невозможно найти пакет»?

Ошибка очевидна, и вы можете понять ее сами. Итак, вы попытались установить пакет или приложение, но получили ошибку «E: невозможно найти имя_пакета».

Это просто означает, что Linux не может найти пакет, который вы пытаетесь установить.

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

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

Также читайте: Как работают менеджеры пакетов Linux: полное руководство

Причины получения ошибки «E: невозможно найти пакет»

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

При установке пакета в Ubuntu вы будете использовать менеджер пакетов APT по умолчанию. Вы можете использовать apt-get или apt для установки пакета. Команда для этого следующая.

$ sudo apt-get install package-name

Если все работает нормально, вы не увидите никаких ошибок. Пакет будет установлен как положено. Однако иногда вы получаете сообщение «E: невозможно найти пакет имя_пакета». Результат выглядит так, как показано ниже.

#output

Reading package lists... Done 

Building dependency tree       

Reading state information... Done 

E: Unable to locate package package_name

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

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

  • Вы неправильно написали имя пакета — чаще всего.
  • Список ресурсов вызывает проблему
  • Кэш репозитория Ubuntu не поддерживает новые пакеты.
  • Срок поддержки версии Ubuntu истек
  • Версия пакета недоступна для используемой вами версии Linux.
  • Основной респиратор недоступен для установки нужного пакета
  Как установить Mac-тему La Capitaine Icon в Linux

Способы решения ошибки «Невозможно найти пакет»

В этом разделе мы рассмотрим различные способы устранения ошибки.

№1. Имя пакета — правильно ли вы его ввели?

Одна из частых ошибок, которые допускают пользователи Linux, — это «неправильный» ввод имени пакета. Итак, если вы сделаете простую опечатку, Ubuntu выдаст ошибку.

Давайте проверим пример установки Gimp — инструмента обработки изображений.

$ sudo apt-get install gump
#output

$ sudo apt-get install gump

Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

E: Unable to locate package gump

Как и ожидалось, вы получите сообщение «E: невозможно найти пакет». В конце концов, никакого «гампа» пакета не существует.

Опечатка может случиться чаще, чем вы думаете. Это связано с тем, что Linux чувствителен к регистру, и даже если вы правильно введете имя пакета, оно может не работать из-за использования заглавных букв. Итак, если вы попытаетесь установить GIMP, назвав его Gimp, это все равно не удастся.

$ sudo apt-get install gump
Reading package lists... Done

Building dependency tree... Done

Reading state information... Done

E: Unable to locate package gump

Таким образом, единственный способ установить Gimp — правильно ввести имя пакета.

$ sudo apt-get install gimp

Но что, если вам нужно правильно знать имя пакета? В этом случае вы можете использовать команду apt search для его поиска. Например, если вы ищете пакет, содержащий «monkey», но не уверены в его полном имени, выполните следующую команду, чтобы найти доступное имя пакета.

$ apt search monkey

p   graphmonkey                     - a GTK#-based graphing calculator          

p   libex-monkeypatched-perl        - experimental API for safe monkey-patching 

p   libmonkey-patch-action-perl     - module to monkey-patching subs from other 

p   libmonkey-patch-perl            - scoped monkey-patching Perl module        

p   libtwelvemonkeys-java           - collection of plugins and extensions for J

p   libtwelvemonkeys-java-doc       - Documentation for libtwelvemonkeys-java   

p   monkeysphere                    - leverage the OpenPGP web of trust for SSH 

v   monkeysphere-validation-agent   -                                           

v   node-fs-monkey                  -                                           

p   searchmonkey                    - search files using regular expressions aim

№2. Обновить список пакетов/кеш репозитория

Ubuntu по-другому взаимодействует с репозиториями. Вместо того, чтобы загружать всю информацию, он создает локальный кеш. Локальный кеш содержит список доступных пакетов.

  Как установить приложение Trojita Mail в Linux

Когда вы запускаете обновление sudo apt, Ubuntu создает локальный кеш.

$ sudo apt update

После запуска команды установки apt-get менеджер пакетов APT выполнит поиск пакета в кеше. Он получит информацию, например версию, прежде чем приступить к загрузке пакета из онлайн-репозиториев через Интернет.

Итак, если пакет не указан в кеше, Ubuntu выдаст ошибку, сообщив вам об этом.

Это происходит, когда вы впервые устанавливаете дистрибутив Linux на базе Ubuntu или Debian (например, Linux Mint). Поскольку кеш не содержит самой последней информации, установка даже стандартных пакетов может привести к ошибке. Если у вас установлена ​​новая версия Ubuntu, запустите обновление sudo apt хотя бы один раз, чтобы создать локальный кеш.

В некоторых случаях кэш может потребоваться обновить. Затем вам придется обновить его с помощью команды apt update.

Вам также следует очистить кеш перед его обновлением. Для этого выполните следующую команду.

$ sudo apt clean && sudo apt update

№3. Проверка наличия пакета

Даже если вы введете правильное имя пакета и обновите кеш репозитория, вы все равно можете получить ошибку «невозможно найти пакет» в Ubuntu. Это происходит из-за недоступности пакета — и сколько бы вы ни старались, вы не сможете установить пакет.

Итак, какие у вас варианты?

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

Чтобы проверить, не устарела ли ваша Ubuntu, сначала необходимо проверить ее версию. Вы можете сделать это, выполнив следующую команду.

nitt@logan99:~$ lsb_release -a
#output
No LSB modules are available.

Distributor ID: Ubuntu

Description: Ubuntu 22.04.3 LTS

Release: 22.04

Codename: jammy

Я использую последнюю стабильную версию 22.04 LTS с кодовым именем Jammy. Отличный; запишите их, а затем отправляйтесь в Пакеты Ubuntu Веб-сайт.

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

Итак, теперь все, что вам нужно сделать, это ввести имя пакета и нажать кнопку «Поиск».

Поскольку gimp — известный пакет, мы получаем точное попадание.

И, если вы внимательно обратите внимание, вы увидите, что он доступен в репозитории Universe. Чтобы загрузить и установить пакет, вам необходимо получить доступ к репозиторию Universe для версии Jammy 22.04 LTS.

  Как читать Hacker News на рабочем столе Linux

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

$ sudo apt-add-repository universe multiverse

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

Как только это будет сделано, обязательно перестройте кеш еще раз.

$ sudo apt update

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

$ sudo apt-get-repository main

$ sudo apt-get-repository restricted

Но что, если пакет недоступен для вашей версии Ubuntu? В этом случае вам придется использовать сторонние репозитории, такие как PPA. Подробнее об этом можно прочитать здесь: Что такое Ubuntu PPA и как его установить?

№4. Убедитесь, что вы используете активную версию Ubuntu

Ubuntu предлагает версию LTS с долгосрочной поддержкой на 3 или 5 лет. Это может привести к тому, что многие пользователи не обновятся до поддерживаемой версии, что сделает операционную систему недоступной для получения новых обновлений. Как только ваша версия Ubuntu закончится, вы не сможете устанавливать новые пакеты и получите сообщение об ошибке «невозможно найти пакет».

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

$ hwe-support-status --verbose 
#output

nitt@logan99:~$ hwe-support-status --verbose

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

nitt@logan99:~$

Как видите, моя версия Ubuntu поддерживается до апреля 2027 года. Вы можете игнорировать стек аппаратного обеспечения, поскольку он не имеет отношения к теме.

Если ваша версия Ubuntu не поддерживается, вам нужно всего лишь выполнить обновление до последней версии LTS.

№5. Исправить репозиторий

Если ничто не устраняет ошибку «невозможно найти пакет», то пришло время проверить исходный файл Ubuntu вручную.list.

Файл содержит все данные, относящиеся к репозиторию. Вам понадобится доступ к файлу /etc/apt/sources.list.

Как правило, вы должны проверить, активны ли ссылки на репозиторий и соответствуют ли они официальному списку. Чтобы проверить, посетите официальный сайт дистрибутива и найдите информацию.

Вывод: что, если ничего не работает?

После часа устранения неполадок вы по-прежнему сталкиваетесь с той же ошибкой «E: невозможно найти пакет».

Это бесит, и вы собираетесь отказаться от пакета и искать альтернативный пакет или попытаться переустановить Ubuntu еще раз.

Прежде чем это сделать, лучше всего испробовать все свои возможности. Например, вы можете начать поиск более старой версии пакета, поддерживающей вашу версию Ubuntu. Вы можете найти их через сторонний персональный репозиторий (PPA).

Если вы не можете найти PPA, содержащий пакет, посетите официальный сайт нужного программного обеспечения. Как правило, они предлагают прямой способ загрузки файлов пакета.

Если ничего не помогает, то лучше поискать альтернативные приложения.

Это подводит нас к концу нашего руководства, где мы узнали о различных способах устранения ошибки «невозможно найти пакеты». К настоящему моменту вы должны четко понимать, как Ubuntu взаимодействует с репозиториями через кеш для получения, загрузки и установки пакетов.

Далее ознакомьтесь с лучшими примерами команды find в Linux.