"Не удается найти пакет" при попытке установить пакеты с помощью APT

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

$ sudo apt-get install <package>Reading package lists... DoneBuilding dependency tree       Reading state information... DoneE: Unable to locate package <package>

Кто-нибудь может мне помочь в этом?

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

Во-первых, проверьте, существует ли пакет на самом деле:

  1. Идти к packages.ubuntu.com с помощью веб-браузера.
  2. Прокрутите вниз до раздела "Поиск каталогов пакетов".
  3. Введите пакет, который вы пытаетесь установить, в поле "Ключевое слово".

    Включить "Показывать только точные совпадения:"

    Измените "Дистрибутив" на ту версию Ubuntu, которую вы используете.

    enter image description here

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

Если результаты найдены, пакет существует, и вы можете продолжить выполнение этих шагов:

  1. Открыть Источники программного обеспечения (или Программное обеспечение и обновления в 13.04+), выполнив поиск в Тире.
  2. Откройте вкладку "Программное обеспечение Ubuntu".
  3. Убедитесь, что первые 4 флажка на этой вкладке включены:

    enter image description here

  4. Обновите списки пакетов, затем протестируйте с помощью этих команд:

    sudo apt-получить обновления sudo apt-получить установку <TEST_PACKAGE>

Есть много вопросы об этой теме. Здесь я даю основной / общий ответ.

Когда apt-get install не удается найти пакет, пакет, который вы хотите установить, не удалось найти в добавленных вами репозиториях (в /etc/apt/sources.list и под /etc/apt/sources.list.d/).

Следующая (общая) процедура помогает решить эту проблему:

  1. Убедитесь, что вы включили репозитории Ubuntu:

    Чтобы включить все репозитории (main, universe, restricted, multiverse), используйте следующие команды:

    sudo add-apt-repository mainsudo add-apt-repository universesudo add-apt-repository restrictedsudo add-apt-repository multiverse  

    Посещать Помогите для получения дополнительной информации.

  2. Для поиска PPA для большего количества пакетов:

    • Идти к Поиск пакетов Ubuntu. (Уже объяснено в этот ответ)
    • Если пакет, который вы не можете найти, получен из PPA, перейдите в PPA и проверьте, доступен ли он там для вашего выпуска.
    • Для Получения Информации О Внешних Репозиториях Посетите Обновления Ubuntu и поиск поscreen кнопка. или ПосетитьPPAs.
    • Или искать в Панель запуска ppa
    • Найдите подходящий ppa в соответствии с вашей версией выпуска Ubuntu.
  3. Добавить PPA (с помощью командной строки):

    Используйте эту команду:

    sudo add-apt-repository ppa:<repository-name>

    Посещать Помощь сообщества Ubuntu для получения дополнительной информации.

  4. Не забывайте обновлять (сообщите apt о ваших изменениях):

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

    sudo apt-get update

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

  5. Наконец установите пакет:

    sudo apt-get install <package>

    Ссылаться на Управление пакетами с помощью командной строки.

Дополнительные/Чаевые: вы можете найти правильное имя пакета (т.е. имя в репозитории), используя apt-cache search <package-name>.


  • Связанные с этим часто задаваемые вопросы и ответы:
  1. Как мне устранить неудовлетворенные зависимости после добавления PPA?
  2. Что означает "Пакет "пакет "не имеет кандидата на установку"?

Примечание: Если пакет каким-либо образом недоступен в репозитории, вам придется подождать, пока он станет доступен (в случае новых / обновленных версий), или использовать другие процессы установки, кроме apt-get например, компиляция из исходного кода, загрузка исполняемого двоичного файла и т.д.

xbmc доступен только в хранилище вселенной, только начиная с Ubuntu 12.04 (точный). Если у вас более старая версия Ubuntu, вам нужно будет обновить или получить xbmc из другого места.

Если у вас установлена Ubuntu 12.04, убедитесь, что у вас есть включил хранилище вселенной. Вы можете увидеть, какие репозитории вы включили в файле /etc/apt/sources.list (и в файлах в каталоге /etc/apt/sources.list.d). Убедитесь, что этот файл содержит строку типа

deb http://al.archive.ubuntu.com/ubuntu/ precise universe

или

deb http://zw.archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse

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

deb http://mn.archive.ubuntu.com/ubuntu/ precise main restricted

и никакой линии с universe, добавить universe в конце этой строки или отдельной строки с precise universe, как показано выше.

Если вам нужно изменить /etc/apt/sources.list, беги sudo apt-get update после этого повторите попытку установки. Если пакет все еще не найден, опубликуйте полное содержимое /etc/apt/sources.list и выход из sudo apt-get update.

В случае, когда пытались установить файл:

sudo apt-get install libstdc++.so.6

вместо посылки. Вы получаете сообщение об ошибке:

E: Unable to locate package libstdc++.so.6E: Couldn't find any package by regex 'libstdc++.so.6'

потому что вы пытались установить файл libstdc++.so.6 который вы не можете установить, потому что он находится в пакете debian.

Вы можете использовать apt-file для поиска пакета, содержащего этот файл. Чтобы установить его, введите:

sudo apt-get install apt-file

Затем вы должны обновить индекс.

sudo apt-file update

После этого вы можете выполнить поиск пакета, содержащего файл libstdc++.so.6:

sudo apt-file find libstdc++.so.6

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

libstdc++6: /usr/lib/x86_64-linux-gnu/libstdc++.so.6

Затем вы можете установить необходимый пакет libstdc++6:

sudo apt-get install libstdc++6

Я новичок в Ubuntu, но я пишу это, поскольку обнаружил некоторые решения, позволяющие избежать ошибок "Не удается найти пакет". Есть три обстоятельства, при которых это может привести к шоку.

  1. После установки Ubuntu, если вы не обновите его с последующим обновлением, это может произойти.
  2. Если в будущем ожидается множество обновлений программного обеспечения, убедитесь, что все важные обновления безопасности / рекомендуемые обновления отключены, набрав "Менеджер обновлений" при нажатии Alt+F2.
  3. Первая и вторая проблемы могут возникнуть даже после обновления или удаления всех обновлений. Но вечное решение таково: попробуйте пункты 1 и 2, затем введите sudo apt-get killmanager, если не работает без проблем, перейдите к вводу sudo apt-get update, затем введите sudo apt-get upgrade.

Теперь вы должны иметь возможность устанавливать любое программное обеспечение через терминал.

Свежая установка Ubuntu?

Много раз простое обновление списков пакетов из всех репозиториев и PPA делает свое дело:

sudo apt-get update

Это должно быть первый что нужно сделать.

Если это не сработает, вам нужно найти репозиторий или PPA, который содержит нужный вам пакет, добавить его и запустить sudo apt-get update снова. Шаги для этого процесса хорошо объяснены в других ответах на этой странице.

В последнее время это часто встречается, потому что на сервере 18.04 по умолчанию отключены universe, multiverse и backports.

@Jackalope Тогда, возможно, имя пакета неверно или вам нужно запустить “sudo apt update”. Используйте “apt-cache search”, за которым следует поисковый запрос, для поиска правильного имени пакета.

Существует ли проблема с панелью запуска для улучшения полезной подсказки, предоставляемой при вводе не установленной команды? (Просто намек на то, что он находится в репозитории, который не включен, был бы очень полезен)

Это останавливает мой прогресс за последние пару дней, и это не из-за того, что universe, multiverse или backports отключены, как предполагает wjandrea.

Это то, с чем я часто сталкиваюсь, когда создаю контейнеры, обычно как с Docker, так и с Singularity. В контейнерах Singularity у вас есть различные варианты начальной загрузки, среди которых “debootstrap” и “docker”. По какой-то причине, если я использую debootstrap для запуска с базового образа Ubuntu (например, ubuntu), я сталкиваюсь с этой ошибкой, когда некоторые пакеты не могут быть найдены с помощью apt-get. Решение в конечном итоге заключается в переключении на “докер” Загрузчик, затем он снова функционирует.

Я делал такие вещи. Я трижды проверил имя пакета (libsdl2-2.0-0) и проверил доступность с помощью apt-cache search. В конце концов я смог установить этот пакет, установив документы, которые, похоже, установили пакет как зависимость.

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок