Ошибка unable to locate package git

I’m using an image nginx which is based on dockerfile/ubuntu. On attaching to the docker container’s shell

docker exec -it <container_id> /bin/bash

I want to do a git pull so I tried installing git but apt is unable to find the package:

root@a71e45d5cd40:/# apt-get install git
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package git

How can we install git from that image and why is it missing?


cat /etc/apt/sources.list

deb http://httpredir.debian.org/debian wheezy main
deb http://httpredir.debian.org/debian wheezy-updates main
deb http://security.debian.org wheezy/updates main
deb http://nginx.org/packages/mainline/debian/ wheezy nginx

cat /etc/apt/sources.list.d/*

cat: /etc/apt/sources.list.d/*: No such file or directory

apt-cache madison git

N: Unable to locate package git

I am trying to install git, I used sudo apt-get install git command and it results:

E: Unable to locate package git

This question have been asked by many people but not a single answer has fixed my problem, I have tried:

sudo apt-get update
sudo apt-get upgrade

P.s: I am using ubuntu 14.04

asked Dec 6, 2014 at 11:23

mshahbazm's user avatar

mshahbazmmshahbazm

3711 gold badge3 silver badges6 bronze badges

7

You can add manually repository

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E1DD270288B4E6030699E45FA1715D88E1DF1F24
sudo su -c "echo 'deb http://ppa.launchpad.net/git-core/ppa/ubuntu trusty main' > /etc/apt/sources.list.d/git.list"

sudo apt-get update 
sudo apt-get install git

answered Jul 23, 2015 at 17:44

pl_rock's user avatar

pl_rockpl_rock

11k7 gold badges40 silver badges41 bronze badges

2

I got this error after spinning up a Debian instance on DigitalOcean. The fix was to

sudo apt update

answered Mar 22, 2020 at 12:37

Boris Verkhovskiy's user avatar

when you install Ubuntu package off-line usually in first of installation its cache doesn’t get update so this error will occur and you have in your Ubuntu broken packages . for solution type in Terminal:

sudo apt-get install -f

it will repair broken packages and after it you can continue.

muru's user avatar

muru

192k52 gold badges468 silver badges719 bronze badges

answered Feb 17, 2015 at 16:51

persianboy's user avatar

I am trying to install git, I used sudo apt-get install git command and it results:

E: Unable to locate package git

This question have been asked by many people but not a single answer has fixed my problem, I have tried:

sudo apt-get update
sudo apt-get upgrade

P.s: I am using ubuntu 14.04

asked Dec 6, 2014 at 11:23

mshahbazm's user avatar

mshahbazmmshahbazm

3611 gold badge3 silver badges6 bronze badges

7

You can add manually repository

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E1DD270288B4E6030699E45FA1715D88E1DF1F24
sudo su -c "echo 'deb http://ppa.launchpad.net/git-core/ppa/ubuntu trusty main' > /etc/apt/sources.list.d/git.list"

sudo apt-get update 
sudo apt-get install git

answered Jul 23, 2015 at 17:44

pl_rock's user avatar

pl_rockpl_rock

10.8k7 gold badges40 silver badges41 bronze badges

2

I got this error after spinning up a Debian instance on DigitalOcean. The fix was to

sudo apt update

answered Mar 22, 2020 at 12:37

Boris Verkhovskiy's user avatar

when you install Ubuntu package off-line usually in first of installation its cache doesn’t get update so this error will occur and you have in your Ubuntu broken packages . for solution type in Terminal:

sudo apt-get install -f

it will repair broken packages and after it you can continue.

muru's user avatar

muru

188k50 gold badges459 silver badges709 bronze badges

answered Feb 17, 2015 at 16:51

persianboy's user avatar

@mues-lee Sorry, I’ve just seen your message. I’ve tried something else after reporting this issue. I replaced all apt commands with apt-get, and it worked, installation was completed successfully. It is strange because, as I know, theoretically there is no difference between apt and apt-get. I’ve just run sudo apt-get update and sudo apt-cache policy git with working openhab, and

the output of sudo apt-get update:

Hit:1 https://deb.nodesource.com/node_7.x stretch InRelease
Ign:2 https://dl.bintray.com/openhab/apt-repo2 stable InRelease
Hit:3 https://dl.bintray.com/openhab/apt-repo2 stable Release
Hit:5 http://raspbian.raspberrypi.org/raspbian stretch InRelease                                                         
Hit:6 http://archive.raspberrypi.org/debian stretch InRelease                                                            
Ign:7 http://repos.azulsystems.com/debian stable InRelease                      
Hit:8 http://repos.azulsystems.com/debian stable Release

the output of sudo apt-cache policy git:

git:
  Installed: 1:2.11.0-3+deb9u2
  Candidate: 1:2.11.0-3+deb9u2
  Version table:
 *** 1:2.11.0-3+deb9u2 500
        500 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages
        100 /var/lib/dpkg/status
  • Home
  • Forum
  • The Ubuntu Forum Community
  • Ubuntu Official Flavours Support
  • New to Ubuntu
  • [SOLVED] Unable to locate package git

  1. apt-get install git
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package git

    From the forum noticed it is solved by doing an update but update is failing as well…..not sure what is wrong with my /etc/apt/source-list

    Last edited by oldos2er; July 29th, 2014 at 11:48 PM.

    Reason: Please use code tags to contain large terminal output.


  2. Re: Unable to locate package git

    Found answer to my problem , my /etc/apt/apt.conf file was having an entry for proxy and the proxy url had a typo.


  3. Re: Unable to locate package git

    Good, please mark the thread ‘solved’.

    Bringing old hardware back to life. About problems due to upgrading.
    Please visit Quick Links -> Unanswered Posts.
    Don’t use this space for a list of your hardware. It only creates false hits in the search engines.


Tags for this Thread

Bookmarks

Bookmarks


Posting Permissions

Туториал для новичков: как избавиться от ошибки «E: Unable to locate package» на Linux Ubuntu.

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

sudo apt install package_name

Иногда в процессе установки происходит сбой. Уведомление выглядит следующим образом:

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

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

Устранение ошибки «Unable to locate package» на Ubuntu

Шаг за шагом рассмотрим, что могло пойти не так.

1. Имя пакета

Это нужно проверить в первую очередь. Возможно, в название закралась опечатка. Если нужно установить «vlc», а в команде прописано «vcl», то, вполне естественно, процесс прервётся.

2. Обновление кэша репозитория

Во время первого старта системы необходимо запустить обновление при помощи следующей команды:

Эта команда не будет сразу же обновлять Ubuntu. Она предназначена для обновления информации о пакетах, содержащихся в репозиториях.

Когда запускается команда установки, apt-менеджер находит в кэше информацию о пакете и его версии, после чего загружает файлы через репозиторий. Соответственно, если пакета нет в кэше, появится уведомление об ошибке.

Сразу после установки новой системы, её кэш еще пуст. Именно поэтому в таких случаях необходимо прописать команду обновления как для Ubuntu, так и для любого другого дистрибутива на её основе (например, Linux Mint) во время первого запуска.

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

3. Доступен ли пакет для используемой версии Ubuntu

Итак, название написано правильно, кэш обновлён, но ошибка всё равно появляется.

Вероятно, пакет доступен через репозиторий Universe, а ваша система или не поддерживает его, или версия Ubuntu не поддерживается данной программой.

Шаг первый – проверить актуальную версию Ubuntu через терминал.

lsb_release -a

На выходе отображается номер версии и кодовое имя.

abhishek@itsfoss:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04
Codename:	bionic

Например, версия Ubuntu 18.04 c кодовым именем “bionic”.

Шаг второй – расширенный поиск на сайте пакетов Ubuntu.

На сайте доступна опция поиска по ключевому слову. Вводим название пакета и выставляем кодовое имя дистрибутива. В графе ”секция” нужно выставить значение ”any”. Запускаем поиск.

Так можно узнать, доступен ли пакет для конкретной версии Ubuntu и, если доступен, то к какому репозиторию он относится. Разберём на примере Shutter, программы для создания скриншотов, которую не обновляли в течение последних лет. Для версии Ubuntu18.04 Bionic будут выведены следующие данные.

В этом случае есть точное совпадение с названием пакета. Он доступен для версии Ubuntu 18.04 Bionic и относится к репозиторию Universe.

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

sudo add-apt-repository universe multiverse

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

sudo apt update

Ничего не помогло, что делать?

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

Если этот способ не сработал, можно посетить официальный сайт проекта и уточнить, есть ли альтернативные способы установки их программ. На некоторых ресурсах доступны .DEB или AppImage файлы. Какие-то проекты могли перейти на пакеты Snap.

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

Один из многих способов установки программного обеспечения в Ubuntu – команда apt-get или apt. Установка пакетов с помощью пакетного менеджера намного удобнее и безопаснее, чем поиск и загрузка программ в интернете. Открыв терминал, вы должны вызвать утилиту apt с параметром install написать название программы, чтобы установить ее.

При использовании этой команды иногда возникает ошибка E: Unable to locate package. Ошибка не нуждается в пояснении. Linux-система не может найти пакет, который вы пытаетесь установить. Но почему так? Почему она не видит пакет? Рассмотрим несколько способов решения данной проблемы. В этой статье мы рассмотрим как исправить ошибку Unable to locate package error в Ubuntu.

Дальше пошагово рассмотрим процесс устранения ошибки.

1. Проверьте имя пакета

Это первое, что вы должны сделать. Может, в названии пакета опечатка? Если вы пытаетесь установить vlc и написали vcl, то непременно ничего не получится. Опечатки – распространенная проблема, так что убедитесь в том, что вы не допустили ошибок во время ввода имени пакета.

2. Обновите кэш репозиториев

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

sudo apt update

Данная команда не обновит Ubuntu полностью. На деле, команда apt update составляет локальный список доступных для установки пакетов.

При использовании команды install, менеджер пакетов apt просматривает кэш, чтобы получить информацию о пакете и его версии, а затем скачать его из репозиториев в сети. Если пакета в кэше нет, система не сможет его установить.

Кэш в только что установленной системе изначально пуст. Именно поэтому вам стоит запустить команду apt update сразу после установки Ubuntu или других дистрибутивов, основанных на Ubuntu (например, Linux Mint).

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

3. Убедитесь, что пакет доступен в вашей версии Ubuntu

Отлично! Вы проверили название пакета, и оно верно. Вы запустили команду update, чтобы обновить состояние кэша, но все ошибка unable to locate package все еще присутствует. Вполне возможно, что пакет попросту недоступен. Но вы следуете инструкции с какого-то сайта, и у всех получается установить его указанным образом. В чем может заключаться проблема?

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

Первый шаг – проверьте, какая версия Ubuntu у вас запущена. Откройте терминал и введите следующую команду:

lsb_release -a

В результате вы увидите версию Ubuntu и ее кодовое название. Именно кодовое название нам важно больше всего. Как видите, мы используем Ubuntu 18.04 с кодовым именем bionic. У вас может быть иначе, но суть должна быть понятна. Как только вы получили сведения о версии и названии, откройте сайт Ubuntu Packages.

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

Вам будет показано, доступен ли пакет для вашей версии Ubuntu, и если это так, то вместе с этим отобразится репозиторий, в котором он находится. Мы искали средство создания скриншотов Shutter и вот, что вышло для Ubuntu 18.04 Bionic:

В нашем случае, название пакета точно совпало. Это значит, что пакет shutter существует для Ubuntu 18.04 Bionic, но в репозитории Universe.

Если необходимый пакет доступен для вашей версии Ubuntu, но в Universe или Multiverse, эти репозитории необходимо включить:

sudo add-apt-repository universe multiverse

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

sudo apt update

Теперь установка пакета должна пройти гладко.

Ничего не работает, что делать?

Если сайте Ubuntu Packages показывает, что пакета для вашей версии системы нет, то придется найти обходные пути его установки.

Возьмем в качестве примера Shutter. Это отличное средство создания скриншотов для Linux, но его несколько лет не обновляли, поэтому в Ubuntu 18.10 и более новых версиях оно не поддерживается. Как же его установить? К счастью, один сторонний разработчик создал собственный репозиторий (PPA) и установить программу можно с помощью него. Искать пакеты и PPA, в которых они находятся, можно на сайте Launchpad для Ubuntu.

Учтите, что не стоит подключать неофициальные PPA к списку репозиториев. Лучше пользоваться теми, которые есть в вашем дистрибутиве.

Если нет даже PPA, зайдите на официальный сайт программы и проверьте, нет ли там описания альтернативных способов установки. У некоторых проектов есть .deb или AppImage файлы. Другие перешли на Snap пакеты.

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

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

В заключение…

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

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

Мне кажется, что может быть проблема с зеркалами Ubuntu EC2. После свежего обновления apt-get я вижу это:

$ apt-get install -yq git
E: Unable to locate package git

Еще через несколько apt-get, это часто удается.

2 ответы

Обновить apt-get пакеты, выполните следующую команду:

$ apt-get update 

Создан 20 фев.

Зеркала все еще кажутся разбитыми, но мне удалось обойти проблему с помощью тупого цикла:

# stupid loop to get around ubuntu package mirror problems
for attempt in 1 2 3; do
  if [ ! -z "`which git`" ]; then
    break
  fi
  echo "Trying to install git, attempt $attempt"
  sudo apt-get update -yq --fix-missing
  sudo apt-get install -yq git
done

Обычно достаточно 3-х попыток, чтобы найти рабочее зеркало.

Создан 24 сен.

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

git
ubuntu
amazon-ec2
packaging
apt

or задайте свой вопрос.

@mues-lee Sorry, I’ve just seen your message. I’ve tried something else after reporting this issue. I replaced all apt commands with apt-get, and it worked, installation was completed successfully. It is strange because, as I know, theoretically there is no difference between apt and apt-get. I’ve just run sudo apt-get update and sudo apt-cache policy git with working openhab, and

the output of sudo apt-get update:

Hit:1 https://deb.nodesource.com/node_7.x stretch InRelease
Ign:2 https://dl.bintray.com/openhab/apt-repo2 stable InRelease
Hit:3 https://dl.bintray.com/openhab/apt-repo2 stable Release
Hit:5 http://raspbian.raspberrypi.org/raspbian stretch InRelease                                                         
Hit:6 http://archive.raspberrypi.org/debian stretch InRelease                                                            
Ign:7 http://repos.azulsystems.com/debian stable InRelease                      
Hit:8 http://repos.azulsystems.com/debian stable Release

the output of sudo apt-cache policy git:

git:
  Installed: 1:2.11.0-3+deb9u2
  Candidate: 1:2.11.0-3+deb9u2
  Version table:
 *** 1:2.11.0-3+deb9u2 500
        500 http://raspbian.raspberrypi.org/raspbian stretch/main armhf Packages
        100 /var/lib/dpkg/status

Issue

I’m using an image nginx which is based on dockerfile/ubuntu. On attaching to the docker container’s shell

docker exec -it <container_id> /bin/bash

I want to do a git pull so I tried installing git but apt is unable to find the package:

[email protected]:/# apt-get install git
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package git

How can we install git from that image and why is it missing?


cat /etc/apt/sources.list

deb http://httpredir.debian.org/debian wheezy main
deb http://httpredir.debian.org/debian wheezy-updates main
deb http://security.debian.org wheezy/updates main
deb http://nginx.org/packages/mainline/debian/ wheezy nginx

cat /etc/apt/sources.list.d/*

cat: /etc/apt/sources.list.d/*: No such file or directory

apt-cache madison git

N: Unable to locate package git

Solution

This is happening because the apt repository is not yet updated, it is common practice to clean your apt repositories and tmp files after creating an image, which your base image is probably doing.

To fix this, you are going to want to run apt-get update prior to installing git, it is good practice to combine the update and install command at the same time to bust cache on the update if the install line changes:

RUN apt-get update && apt-get install -y git

Using -y is convenient to automatically answer yes to all the questions.

Answered By — Michael

  • Ошибка unable to connect to the remote server
  • Ошибка unable to complete secure transaction
  • Ошибка unable to apply precomputed effects
  • Ошибка unable to access jarfile bin dpu как исправить
  • Ошибка unable to access hasp srm runtime environment h0033