2011-12-27 17 views
84

Desidero un elenco di repository in sources.list, oltre a quelli in sources.list.d /.Come ottenere un elenco di repository che apt-get sta controllando?

Posso ottenere questa lista in una forma adatta per la creazione di un altro host in modo che osserva gli stessi pronti contro termine?

Inoltre, come determinare quale repository è l'origine di un pacchetto, installato o disponibile?

+0

Vedere http://askubuntu.com/questions/148932/how-can-i-get-a-list-of-all-repositories-and-ppas-from-the-command-line – Mawg

risposta

12

Prova questo:

cat /etc/apt/sources.list 
+17

Che non includi i repos da /etc/apt/sources.list.d/, IE quelli risultanti da # apt-add-repository XXX – ktenney

+0

'grep -Erh^deb/etc/apt/sources.list *' dovrebbe fare il trucco. – David

+0

'grep -Erh '^ deb'/etc/apt/sources.list *' per escludere le linee 'deb-src'. – David

101

Sembra la più vicina è:

apt-cache policy 
+1

Qualcuno ha migliorato l'output (riepilogando gli URL, ecc.) E vuole condividere il suo comando qui? – lony

29

per quanto ne so non si può chiedere apt per quello che sono le loro fonti attuale, tuttavia si può fare ciò che si vuole utilizzare shell utensili.

Ottenere un elenco di repository:

grep -h ^deb /etc/apt/sources.list /etc/apt/sources.list.d/* >> current.repos.list 

Applicazione della lista:

apt-add-repository << current.repos.list 

Per quanto riguarda ottenere pronti contro termine da un pacchetto (installato o disponibile), questo farà il trucco

apt-cache policy package_name |grep -m1 http| awk '{ print $2 " " $3 }' 

Tuttavia, questo mostrerà il repository dell'ultima versione disponibile di quel pacchetto, si Hai più repository per lo stesso pacchetto con versioni precedenti. Rimuovi tutte le cose grep/awk se vuoi vedere l'elenco completo.

+0

molto bello! Gli strumenti adatti sono così ricchi, sono sorpreso che questo non sia più conveniente. Grazie, Kent – ktenney

+2

elenco completo semplice 'politica apt-cache | grep http | awk '{print $ 2 $ 3}' | sort -u' – shadowbq

1

E 'Non un formato adatto per la copia ciecamente ad un'altra macchina, ma gli utenti che desiderano capire se hanno ancora o no aggiunto un repository (come ho fatto io), si può solo fare:

sudo apt update 

Quando apt si aggiorna, emette un elenco di archivi che recupera. Sembra ovvio, ma ho appena capito cosa sono gli url GET che sputa.

Problemi correlati