Wie können Sie apt anweisen, Dateien in /etc/apt/sources.list.d zu verwenden?

16

Ich habe ein Repo hinzugefügt, indem ich eine Datei eingefügt habe

 /etc/apt/sources.list.d 

und dann habe ich eine

 apt-get update.  

Allerdings hat es mit diesem Repo nichts gemacht. Ich bemerkte dann, dass es anscheinend keine der Repos in diesem Verzeichnis enthielt. Nur Sachen in /etc/apt/sources.list scheinen von apt-get bemerkt zu werden. Alle Dateien im Verzeichnis enden mit .list und enthalten etwa Folgendes:

 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

Muss ich eine Include-Anweisung in /etc/apt/sources.list einfügen?

Ich benutze Kubuntu 11.10.

Jistanidiot
quelle
1
Sie können die aktuelle Apt-Konfiguration mit sichern apt-config dump. Es sollte eine Zeile geben, in der steht Dir::Etc::sourceparts "sources.list.d";. Vielleicht hilft das für weitere Untersuchungen.
Phoibos
Du hast apt-get updateoder sudo apt-get update? Wie haben Sie festgestellt oder bestätigt, dass dieses Repository nicht aktiviert ist?
Anwar
Kopieren Sie einfach die Zeilen in /etc/apt/sources.list.
Grün
Das Problem schien zu sein, dass ich ein Paket von einem der normalen Apt-Repos installiert hatte und wollte, dass es mit einer Version von einem der neuen Repos aktualisiert wurde. Anscheinend ist das nicht möglich. Ich musste die fraglichen Pakete deinstallieren und dann mit allen auskommentierten normalen Repos installieren. Ich bin mir immer noch nicht sicher, warum, wenn Sie ein passendes Update durchführen, keiner dieser neuen Repos seine URLs anzeigt.
Jistanidiot,

Antworten:

11

Die Namen der Dateien in /etc/sources.list.dmüssen auf enden .list, wenn sie als Softwarequellen aufgenommen werden sollen.

Wie die Manpage von sources.list sagt:

BESCHREIBUNG

   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.

Nehmen wir ein Beispiel von dieser Seite an , Sie wollten Chef (von Opscode) installieren. Was Sie tun würden, ist:

  • Erstellen und öffnen Sie eine Datei mit dem Namen opscode.list:
    sudo vim /etc/apt/sources.list.d/opscode.list
  • Fügen Sie die gewünschte Zeile hinzu und speichern Sie die Datei:
    deb http://apt.opscode.com/ oneiric main

Die obigen Schritte können kombiniert werden, um einen einzelnen Befehl zu erstellen:

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

Hinweis: Der Befehl enthält, onereicweil der Codename des von Ihnen verwendeten Ubuntu Onereic ist . Wenn Sie Precise (12.04) verwendet hätten, hätten Sie einen Writter precise.

Grün
quelle
5
Hast du das OP gelesen? Er macht all diese Schritte.
Januar
Er gab nicht an, welche Datei er hinzufügte.
Grün
1
Er hat zwei Namen geben (virtualbox.list und ein anderes)
Januar
3

Das Problem schien zu sein, dass ich ein Paket von einem der normalen Apt-Repos installiert hatte und wollte, dass es mit einer Version von einem der neuen Repos aktualisiert wurde. Anscheinend ist das nicht möglich. Ich musste die fraglichen Pakete deinstallieren und dann mit allen auskommentierten normalen Repos installieren. Ich bin mir immer noch nicht sicher, warum, wenn Sie ein passendes Update durchführen, keiner dieser neuen Repos seine URLs anzeigt.

Jistanidiot
quelle
1
Sie beantworten Ihre eigene Frage nicht. Was Sie hier getan haben, ist nicht sehr klar, hat nichts mit Ihrer Frage zu tun und sollte wahrscheinlich durch passendes Feststecken geschehen sein .
Johannes
3
Ich kann Ihnen nur sagen, dass dies das Problem behoben hat, das ich hatte, als ich die Frage stellte. Die andere "Antwort" hat meine Frage offensichtlich nicht gelesen und war völlig nutzlos. Das hat bei mir funktioniert. Ich weiß nicht, ob es für andere funktionieren wird. Ich nehme an, es war ein Fehler in Ubuntu 11, der dazu führte, dass keine aktualisierten Pakete von zusätzlichen Repos verwendet wurden. Es scheint kein Problem in Ubuntu 12 oder 13 zu sein.
Jistanidiot