Как вы говорите apt использовать файлы в /etc/apt/sources.list.d?

16

Я добавил репо, положив файл в

 /etc/apt/sources.list.d 

а потом я сделал

 apt-get update.  

Однако это ничего не сделало с этим репо. Затем я заметил, что он не включает репозитории в этом каталоге. Похоже, apt-get замечает только то, что находится в /etc/apt/sources.list. Все файлы в каталоге заканчиваются на .list и содержат что-то вроде:

 virtualbox.list

      deb http://download.virtualbox.org/virtualbox/debian oneiric contrib

 pj-assis-ppa-oneiric.list

      deb http://ppa.launchpad.net/pj-assis/ppa/ubuntu oneiric main
      deb-src http://ppa.launchpad.net/pj-assis/ppa/ubuntu oneiric main

Нужно ли включать какой-либо оператор включения в /etc/apt/sources.list?

Я использую kubuntu 11.10.

Jistanidiot
источник
1
Вы можете сбросить текущую конфигурацию apt с помощью apt-config dump. Там должна быть строка, которая говорит Dir::Etc::sourceparts "sources.list.d";. Может быть, это поможет для дальнейшего расследования.
Phoibos
Вы сделали apt-get updateили sudo apt-get update? Как вы заметили или подтвердили, что этот репозиторий не включен?
Анвар
просто скопируйте строки в /etc/apt/sources.list.
зеленый
Таким образом, проблема заключалась в том, что у меня был установлен пакет из одного из обычных репозиториев apt, и я хотел обновить его до версии из одного из новых репозиториев. Видимо, это невозможно. Мне пришлось удалить пакеты, о которых идет речь, а затем установить все закомментированные обычные репозитории. Я все еще не уверен, почему, когда вы делаете обновление apt-get, ни у одного из этих новых репозиториев не отображаются свои URL.
Jistanidiot

Ответы:

11

Имена файлов в /etc/sources.list.dдолжны заканчиваться .list, если они должны быть включены в качестве источников программного обеспечения.

Как сказано в справочной странице sources.list :

ОПИСАНИЕ

   The package resource list is used to locate archives of the package
   distribution system in use on the system. At this time, this manual
   page documents only the packaging system used by the Debian GNU/Linux
   system. This control file is /etc/apt/sources.list.

   The source list is designed to support any number of active sources and
   a variety of source media. The file lists one source per line, with the
   most preferred source listed first. The format of each line is: type
   uri args The first item, type determines the format for args.  uri is a
   Universal Resource Identifier (URI), which is a superset of the more
   specific and well-known Universal Resource Locator, or URL. The rest of
   the line can be marked as a comment by using a #.

SOURCES.LIST.D

   The /etc/apt/sources.list.d directory provides a way to add
   sources.list entries in separate files. The format is the same as for
   the regular sources.list file. File names need to end with .list and
   may only contain letters (a-z and A-Z), digits (0-9), underscore (_),
   hyphen (-) and period (.) characters. Otherwise APT will print a notice
   that it has ignored a file if the file doesn't match a pattern in the
   Dir::Ignore-Files-Silently configuration list - in this case it will be
   silently ignored.

Взяв пример с этой страницы , предположим, что вы хотите установить chef (из opscode) , что вы должны сделать:

  • Создайте и откройте файл с именем opscode.list:
    sudo vim /etc/apt/sources.list.d/opscode.list
  • Добавьте необходимую строку и сохраните файл:
    deb http://apt.opscode.com/ oneiric main

Вышеупомянутые шаги могут быть объединены, чтобы сделать единственную команду:

sudo /bin/sh -c 'echo "deb http://apt.opscode.com/ onereic main" > /etc/apt/sources.list.d/opscode.list'

Примечание: команда содержит, onereicпотому что кодовое имя используемой вами Ubuntu - Onereic . Если бы вы использовали Precise (12.04), у вас был бы писатель precise.

зеленый
источник
5
Вы читали ОП? Он делает все эти шаги.
январь
Он не уточнил, какой файл он добавил.
зеленый
1
Он дал два имени (virtualbox.list и еще одно)
января
3

Таким образом, проблема заключалась в том, что у меня был установлен пакет из одного из обычных репозиториев apt, и я хотел обновить его до версии из одного из новых репозиториев. Видимо, это невозможно. Мне пришлось удалить пакеты, о которых идет речь, а затем установить все закомментированные обычные репозитории. Я все еще не уверен, почему, когда вы делаете обновление apt-get, ни у одного из этих новых репозиториев не отображаются свои URL.

Jistanidiot
источник
1
Вы не отвечаете на свой вопрос. То, что вы сделали здесь, не очень понятно, не относится к вашему вопросу и, вероятно, это должно было быть сделано путем точного закрепления .
Йоханнес
3
Я могу только сказать, что это решило проблему, возникшую у меня, когда я задал вопрос. Другой «ответ» явно не прочитал мой вопрос и был совершенно бесполезен. Это то, что сработало для меня. Я не знаю, будет ли это работать для кого-то еще. Я предполагаю, что это была какая-то ошибка в Ubuntu 11, из-за которой он не использовал обновленные пакеты из дополнительных репозиториев. Кажется, это не проблема в Ubuntu 12 или 13.
Jistanidiot