¿Cómo le dice a apt que use archivos en /etc/apt/sources.list.d

16

Agregué un repositorio poniendo un archivo en

 /etc/apt/sources.list.d 

y luego hice un

 apt-get update.  

Sin embargo, no hizo nada con ese repositorio. Luego noté que no parecía incluir ninguno de los repositorios en ese directorio. Apt-get parece notar solo las cosas en /etc/apt/sources.list. Todos los archivos en el directorio terminan en .list y contienen algo como:

 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

¿Necesito poner algún tipo de declaración de inclusión en /etc/apt/sources.list?

Estoy usando kubuntu 11.10.

Jistanidiot
fuente
1
Puede volcar la configuración actual de apt utilizando apt-config dump. Debería haber una línea que diga Dir::Etc::sourceparts "sources.list.d";. Tal vez esto ayude para una mayor investigación.
phoibos
¿Lo hiciste apt-get updateo sudo apt-get update? ¿Cómo notó o confirmó que ese repositorio no está habilitado?
Anwar
solo copia las líneas /etc/apt/sources.list.
verde
Entonces, el problema parecía ser que tenía un paquete instalado desde uno de los repositorios normales de apt y quería que se actualizara con una versión de uno de los nuevos repositorios. Aparentemente esto no es posible. Tuve que desinstalar los paquetes en cuestión y luego instalarlos con todos los repositorios normales comentados. Todavía no estoy seguro de por qué cuando haces una actualización de apt-get, que ninguno de estos nuevos repositorios muestra sus URL.
Jistanidiot

Respuestas:

11

Los nombres de los archivos /etc/sources.list.ddeben terminar en .list, si se van a incluir como fuentes de software.

Como dice la página de manual de sources.list :

DESCRIPCIÓN

   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 #.

FUENTES.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.

Tomando un ejemplo de esta página , supongamos que desea instalar chef (desde opscode) , lo que haría es:

  • Crea y abre un archivo llamado opscode.list:
    sudo vim /etc/apt/sources.list.d/opscode.list
  • Agregue la línea requerida y guarde el archivo:
    deb http://apt.opscode.com/ oneiric main

Los pasos anteriores se pueden combinar para hacer un solo comando:

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

Nota: El comando contiene onereicporque el nombre en clave del Ubuntu que estás usando es Onereic . Si hubiera estado usando Precise (12.04), tendría un escritor precise.

verde
fuente
55
¿Has leído el OP? Él hace todos estos pasos.
Enero
No especificó qué archivo agregó.
verde
1
Dio dos nombres (virtualbox.list y otro)
enero
3

Entonces, el problema parecía ser que tenía un paquete instalado desde uno de los repositorios normales de apt y quería que se actualizara con una versión de uno de los nuevos repositorios. Aparentemente esto no es posible. Tuve que desinstalar los paquetes en cuestión y luego instalarlos con todos los repositorios normales comentados. Todavía no estoy seguro de por qué cuando haces una actualización de apt-get, que ninguno de estos nuevos repositorios muestra sus URL.

Jistanidiot
fuente
1
No respondes tu propia pregunta. Lo que hiciste aquí no está muy claro, no se relaciona con tu pregunta y probablemente debería haber sido hecho por apt pinning .
Johannes
3
Solo puedo decirte que esto solucionó el problema que tenía cuando hice la pregunta. La otra "respuesta" claramente no leyó mi pregunta y fue totalmente inútil. Esto es lo que funcionó para mí. No sé si funcionará para alguien más. Supongo que fue un error en ubuntu 11 lo que hizo que no usara paquetes actualizados de repositorios adicionales. Parece que no es un problema en Ubuntu 12 o 13.
Jistanidiot