Comment dire à apt d'utiliser des fichiers dans /etc/apt/sources.list.d

16

J'ai ajouté un dépôt en mettant un fichier dans

 /etc/apt/sources.list.d 

puis j'ai fait un

 apt-get update.  

Cependant, il n'a rien fait avec ce dépôt. J'ai ensuite remarqué qu'il ne semblait pas inclure de référentiel dans ce répertoire. Seuls les éléments de /etc/apt/sources.list semblent être remarqués par apt-get. Tous les fichiers du répertoire se terminent par .list et contiennent quelque chose comme:

 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

Dois-je mettre une sorte d'instruction include dans /etc/apt/sources.list?

J'utilise kubuntu 11.10.

Jistanidiot
la source
1
Vous pouvez vider la configuration apt actuelle en utilisant apt-config dump. Il devrait y avoir une ligne qui dit Dir::Etc::sourceparts "sources.list.d";. Peut-être que cela aide à poursuivre l'enquête.
phoibos du
Vous l'avez fait apt-get updateou sudo apt-get update? Comment avez-vous remarqué ou confirmé que ce référentiel n'est pas activé?
Anwar
il suffit de copier les lignes /etc/apt/sources.list.
vert
Le problème semblait donc être que j'avais un paquet installé à partir d'un des repos apt normaux et je voulais qu'il se mette à jour avec une version de l'un des nouveaux repos. Apparemment, ce n'est pas possible. J'ai dû désinstaller les packages en question, puis installer avec tous les dépôts normaux commentés. Je ne sais toujours pas pourquoi, lorsque vous effectuez une mise à jour apt-get, qu'aucun de ces nouveaux dépôts n'a leurs URL affichées.
Jistanidiot

Réponses:

11

Les noms des fichiers /etc/sources.list.ddoivent se terminer par .list, s'ils doivent être inclus en tant que sources logicielles.

Comme le dit la page de manuel de sources.list :

LA DESCRIPTION

   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.

En prenant un exemple de cette page , supposons que vous vouliez installer chef (depuis opscode) , ce que vous feriez, c'est:

  • Créez et ouvrez un fichier nommé opscode.list:
    sudo vim /etc/apt/sources.list.d/opscode.list
  • Ajoutez la ligne requise et enregistrez le fichier:
    deb http://apt.opscode.com/ oneiric main

Les étapes ci-dessus peuvent être combinées pour créer une seule commande:

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

Remarque: La commande contient onereicparce que le nom de code de l'Ubuntu que vous utilisez est Onereic . Si vous aviez utilisé Precise (12.04), vous auriez écrit precise.

vert
la source
5
Avez-vous lu le PO? Il fait toutes ces étapes.
Janvier
Il n'a pas précisé quel fichier il a ajouté.
vert
1
Il ne donne deux noms (virtualbox.list et un autre)
Janvier
3

Donc, le problème semblait être que j'avais un paquet installé à partir d'un des repos apt normaux et je voulais qu'il se mette à jour avec une version de l'un des nouveaux repos. Apparemment, ce n'est pas possible. J'ai dû désinstaller les packages en question, puis installer avec tous les dépôts normaux commentés. Je ne sais toujours pas pourquoi, lorsque vous effectuez une mise à jour apt-get, qu'aucun de ces nouveaux dépôts n'a leurs URL affichées.

Jistanidiot
la source
1
Vous ne répondez pas à votre propre question. Ce que vous avez fait ici n'est pas très clair, ne correspond pas à votre question et aurait probablement dû être effectué par épinglage apt .
Johannes
3
Je peux seulement vous dire que cela a résolu le problème que j'avais lorsque j'ai posé la question. L'autre "réponse" n'a clairement pas lu ma question et était totalement inutile. C'est ce qui a fonctionné pour moi. Je ne sais pas si cela fonctionnera pour quelqu'un d'autre. Je suppose que c'est un bug dans Ubuntu 11 qui l'a empêché d'utiliser les packages mis à jour à partir de dépôts supplémentaires. Cela ne semble pas être un problème dans Ubuntu 12 ou 13.
Jistanidiot