Вопрос «Не удалось найти пакет» при попытке установить пакеты с помощью APT


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

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

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


147
2017-11-17 20:50


происхождения


Это происходит очень недавно, потому что сервер 18.04 Server по умолчанию отключил юниверс, мультиверсию и резервные копии. - wjandrea
Есть ли проблема с пусковой панелью для улучшения полезного подсказки при вводе команды, которая не установлена? (Просто намекая, что он не включен в хранилище, будет очень полезно) - Thorbjørn Ravn Andersen


ответы:


Сначала проверьте, действительно ли пакет существует:

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

    Включить «Показывать только точные соответствия:»

    Измените «Распространение» на версию Ubuntu, которую вы используете.

    enter image description here

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

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

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

    enter image description here

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

    Обновление sudo apt-get
    sudo apt-get install <TEST_PACKAGE>
    

112
2017-11-17 21:01



Я обнаружил, что простой sudo apt-get update было достаточно, чтобы исправить это для меня. Ваш пробег может отличаться. - Edward Falk


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

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

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

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

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

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

    Посещение Помогите Чтобы получить больше информации.

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

  3. Добавить PPA (по командной строке):

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

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

    Посещение Справка сообщества Ubuntu Чтобы получить больше информации.

  4. Не забудьте обновить (узнайте о своих изменениях):

    Необходимо выполнить эту команду после изменения каких-либо репозиториев:

    sudo apt-get update
    

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

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

    sudo apt-get install <package>
    

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

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



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


51
2018-06-10 13:58



Также может быть, что пользователь ищет libname, когда это libname2 в Debian / Ubuntu. - saiarcot895
Во-первых, зависит от пакета, и вы делаете ряд предположений. Во-первых, вы предполагаете, что OP определил правильное имя пакета, как указано saiarcot895. Во-вторых, вы предполагаете, что пакеты доступны. В общем, лучше всего сначала определить проблему. Тогда, если вообще возможно установить из репозиториев. Если нет конкретной потребности, ppa является вторым выбором. Если пакет не находится в репозиториях или ppa, он может быть скомпилирован из источника. У вас действительно недостаточно информации. - Panther
@ saiarcot895 @ bodhi.zazen: пересмотренный ответ с предоставлением apt-cache search найти правильное имя пакета из репозиториев. - Pandya
Удивительный человек ответа, который должен стать победителем - sdream


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,


7
2017-07-02 20:10



@ EliahKagan Я не думал, что мой ответ может быть истолкован таким образом, я попытался уточнить. Почему нет al а также zw? (Я пытаюсь выбрать подходящее зеркало для OP, когда они дают ключ, но здесь я понятия не имею.) - Gilles


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

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

вместо пакета. Появляется сообщение об ошибке:

E: Unable to locate package libstdc++.so.6
E: 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

4
2018-01-23 22:02





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

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

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


3
2017-12-25 13:31



Если вы по-прежнему получаете ошибку в строке «sudo apt-get update», попробуйте использовать «sudo apt-get upgrade». Это сработает. Ребята! Поскольку Linux очень чувствителен к регистру, убедитесь, что вы используете все команды меньшими буквами, например, «sudo» вместо «Sudo», - Shaan Sundar