Como você diz ao apt para usar arquivos em /etc/apt/sources.list.d

16

Adicionei um repositório colocando um arquivo

 /etc/apt/sources.list.d 

e então eu fiz um

 apt-get update.  

No entanto, não fez nada com esse repositório. Percebi então que não parecia incluir nenhum dos repositórios nesse diretório. Somente coisas no /etc/apt/sources.list parecem ser notadas pelo apt-get. Todos os arquivos no diretório terminam em .list e contêm 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

Preciso colocar algum tipo de instrução include em /etc/apt/sources.list?

Estou usando o kubuntu 11.10.

Jistanidiot
fonte
11
Você pode despejar a configuração atual do apt usando apt-config dump. Deve haver uma linha que diz Dir::Etc::sourceparts "sources.list.d";. Talvez isso ajude a uma investigação mais aprofundada.
Phoibos
Você fez apt-get updateou sudo apt-get update? Como você notou ou confirmou isso, esse repositório não está ativado?
Anwar
basta copiar as linhas /etc/apt/sources.list.
verde
Portanto, o problema parecia ser que eu tinha um pacote instalado de um dos repositórios normais do apt e queria que ele fosse atualizado com uma versão de um dos novos repositórios. Aparentemente, isso não é possível. Eu tive que desinstalar os pacotes em questão e depois instalar com todos os repositórios normais comentados. Ainda não sei por que, quando você faz uma atualização do apt-get, nenhum desses novos repositórios tem seus URLs exibidos.
precisa saber é o seguinte

Respostas:

11

Os nomes dos arquivos em /etc/sources.list.ddevem terminar .listse quiserem ser incluídos como fontes de software.

Como a página de manual do sources.list diz:

DESCRIÇÃO

   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.

Tomando um exemplo desta página , suponha que você queira instalar o chef (do opscode) , o que você faria é:

  • Crie e abra um arquivo chamado opscode.list:
    sudo vim /etc/apt/sources.list.d/opscode.list
  • Adicione a linha necessária e salve o arquivo:
    deb http://apt.opscode.com/ oneiric main

As etapas acima podem ser combinadas para criar um único comando:

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

Nota: O comando contém onereicporque o codinome do Ubuntu que você está usando é Onereic . Se você estivesse usando o Precise (12.04), teria um gravador precise.

verde
fonte
5
Você leu o OP? Ele faz todos esses passos.
janeiro
Ele não especificou qual arquivo ele adicionou.
verde
11
Ele deu dois nomes (virtualbox.list e outro)
jan
3

Portanto, o problema parecia ser que eu tinha um pacote instalado a partir de um dos repositórios normais do apt e queria que ele fosse atualizado com uma versão de um dos novos repositórios. Aparentemente, isso não é possível. Eu tive que desinstalar os pacotes em questão e depois instalar com todos os repositórios normais comentados. Ainda não sei por que, quando você faz uma atualização do apt-get, nenhum desses novos repositórios tem seus URLs exibidos.

Jistanidiot
fonte
11
Você não responde sua própria pergunta. O que você fez aqui não é muito claro, não se relaciona com a sua pergunta e provavelmente deveria ter sido feita com a fixação adequada .
Johannes
3
Só posso lhe dizer que isso corrigiu o problema que eu estava tendo quando fiz a pergunta. A outra "resposta" claramente não leu minha pergunta e foi totalmente inútil. Isto é o que funcionou para mim. Não sei se funcionará para mais ninguém. Suponho que tenha sido algum bug no ubuntu 11 que o fez não usar pacotes atualizados de repositórios adicionais. Parece não ser um problema no Ubuntu 12 ou 13.
Jistanidiot