Come si dice ad apt di usare i file in /etc/apt/sources.list.d


16

Ho aggiunto un repository inserendo un file

 /etc/apt/sources.list.d 

e poi ho fatto un

 apt-get update.  

Tuttavia non ha fatto nulla con quel repository. Ho quindi notato che non sembrava includere alcun repository in quella directory. Solo apt in /etc/apt/sources.list sembra essere notato da apt-get. Tutti i file nella directory finiscono in .list e contengono qualcosa come:

 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

Devo inserire una sorta di istruzione include in /etc/apt/sources.list?

Sto usando Kubuntu 11.10.


1
Puoi scaricare l'attuale configurazione apt usando apt-config dump. Dovrebbe esserci una linea che dice Dir::Etc::sourceparts "sources.list.d";. Forse questo aiuta per ulteriori indagini.
phoibos,

Hai fatto apt-get updateo sudo apt-get update? Come hai notato o confermato che quel repository non è abilitato?
Anwar,

basta copiare le righe /etc/apt/sources.list.
verde,

Quindi il problema sembrava essere che avevo installato un pacchetto da uno dei normali repository apt e volevo che si aggiornasse con una versione da uno dei nuovi repository. Apparentemente questo non è possibile. Ho dovuto disinstallare i pacchetti in questione e quindi installarli con tutti i normali repository commentati. Non sono ancora sicuro del motivo per cui quando esegui un aggiornamento apt-get, che nessuno di questi nuovi repository ha i loro URL visualizzati.
Jistanidiot,

Risposte:


11

I nomi dei file in /etc/sources.list.ddevono terminare .list, se devono essere inclusi come origini software.

Come dice la pagina man di sources.list :

DESCRIZIONE

   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.

Prendendo un esempio da questa pagina , supponi di voler installare chef (da opscode) , quello che faresti è:

  • Crea e apri un file chiamato opscode.list:
    sudo vim /etc/apt/sources.list.d/opscode.list
  • Aggiungi la riga richiesta e salva il file:
    deb http://apt.opscode.com/ oneiric main

I passaggi precedenti possono essere combinati per eseguire un singolo comando:

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

Nota: il comando contiene onereicperché il nome in codice di Ubuntu che stai usando è Onereic . Se avessi usato Precise (12.04), avresti avuto Writer precise.


5
Hai letto l'OP? Fa tutti questi passaggi.
Gennaio

Non ha specificato quale file ha aggiunto.
verde,

1
Egli ha dato due nomi (virtualbox.list e un altro)
Gennaio

3

Quindi il problema sembrava essere che avevo installato un pacchetto da uno dei normali repository apt e volevo che si aggiornasse con una versione da uno dei nuovi repository. Apparentemente questo non è possibile. Ho dovuto disinstallare i pacchetti in questione e quindi installarli con tutti i normali repository commentati. Non sono ancora sicuro del perché quando esegui un aggiornamento apt-get, che nessuno di questi nuovi repository abbia i loro URL visualizzati.


1
Non rispondi alla tua domanda. Quello che hai fatto qui non è molto chiaro, non si riferisce alla tua domanda e probabilmente avrebbe dovuto essere fatto con il pin apt .
Johannes,

3
Posso solo dirti che questo ha risolto il problema che avevo quando ho posto la domanda. L'altra "risposta" chiaramente non ha letto la mia domanda ed era totalmente inutile. Questo è ciò che ha funzionato per me. Non so se funzionerà per nessun altro. Suppongo che sia stato un bug in Ubuntu 11 a causare l'uso di pacchetti aggiornati da repository aggiuntivi. Sembra non essere un problema in Ubuntu 12 o 13.
Jistanidiot,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.