Come faccio ad aggiungere un repository apt-get senza modificare /etc/apt/sources.list?


19

Voglio aggiungere un repository ad apt-get (senza potenzialmente rovinare /etc/apt/sources.list) tramite l'utente di uno script. Questo script può essere eseguito più volte, quindi non posso semplicemente aggiungere la voce ogni volta. Esiste un modo per aggiungere un singolo file in una directory con voci?

So che puoi farlo per yum, ma non sono sicuro che sia possibile per apt-get. Per favore fatemi sapere se devo aggiungere ulteriori informazioni.


Se si fa doppio clic su /etc/apt/sources.list, si apre un'interfaccia GUI con una procedura guidata per l'aggiunta di repository. È presente una casella di controllo in cui è possibile abilitare e disabilitare le voci (ad esempio, per consentire l'uso di una nuova voce solo quando si aggiorna un software di repository "estraneo") e le voci possono essere eliminate. Crea anche un backup chiamato sources.list.save nella stessa directory. Se si desidera una protezione aggiuntiva, è sempre possibile creare una copia del file originale prima di modificarlo. Quindi non c'è molto rischio di incasinare il file se stai seguendo il percorso dello script solo per quel motivo.
fixer1234

Risposte:


21

È possibile inserire file in /etc/apt/sources.list.d. Questo è descritto nella pagina man di sources.list(tipo man sources.list). La pagina man dice:

ELENCO SORGENTI precedenti

La directory /etc/apt/sources.list.d fornisce un modo per aggiungere voci di sources.list in file separati. Il formato è lo stesso del normale file sources.list. I nomi dei file devono terminare con .list e possono contenere solo lettere (az e AZ), cifre (0-9), trattino basso (_), trattino (-) e punto (.). Altrimenti verranno silenziosamente ignorati.

AGGIORNARE:

ELENCO FONTI DEL 2016

La directory /etc/apt/sources.list.d fornisce un modo per aggiungere voci di sources.list in file separati. Sono consentiti due diversi formati di file, come descritto nelle prossime due sezioni. I nomi dei file devono avere l'estensione .list o .sources in base al formato contenuto. I nomi dei file possono contenere solo lettere (az e AZ), cifre (0-9), trattino basso (_), trattino (-) e punto (.). Altrimenti APT stamperà un avviso che ha ignorato un file, a meno che quel file non corrisponda a un modello nell'elenco di configurazione Dir :: Ignore-Files-Silently - nel qual caso verrà silenziosamente ignorato.


8

Puoi provare:

add-apt-repository <REPOSITORY LINE>

La riga del repository sarebbe esattamente ciò che aggiungerei a sources.list o a un repository PPA. Dai un'occhiata alla manpage qui o esegui:

man add-apt-repository

1
Da una rapida occhiata al file man per il repository add-apt sembra che aggiunge semplicemente la linea al file sources.list, non menziona se controlla, quindi è uguale a "echo line >> sources.list "che ho già avuto. Grazie per aver risposto, però.
Daisetsu,

2
@Daisetsu Lo so, pensavo che ti sentissi a disagio a modificare manualmente il file! Devo aver frainteso! Fantastico, hai una risposta che ha funzionato per te!
BloodPhilia,

1

Io (pensavo di aver bisogno) di aggiungere un repository ppa a un crunchbang, installazione (debian):
( NB "raring" è la versione di Ubuntu che corrispondeva alla versione di debian che stavo usando) quindi ho fatto:

sudo su -

# you can call the file anything that you want, but it has to end with .list to be a valid for apt-get
echo 'deb http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/ raring main'>> /etc/apt/sources.list.d/boot-repair.list

# get the keys for that repo so that apt can verify the signed .deb files
wget http://ppa.launchpad.net/yannubuntu/boot-repair/ubuntu/dists/raring/Release.gpg
apt-key add Release.gpg
#gpg --search-keys 60D8DA0B

apt-get update

La maggior parte di questo è spiegato sul boot-riparazione pagina (anche se alla fine TestDisk e poi Gparted erano quello che ho effettivamente bisogno di ripristinare una partizione perduta e un MBR corrotto). Questo probabilmente non è il modo in cui Debian (TM), ma ha funzionato per me.

Alcuni repository debian sono il "vecchio stile" e quindi hai solo bisogno di una linea come:

deb http://repo.alexx.net/apt/ /
# the trailing slash needs to be there

add-apt-repository è buono se ce l'hai, ma sembra essere più ubuntu.


0

add-apt-repository ha una terza forma (oltre agli URL PPA e alle linee apt complete), che abilita i componenti di distribuzione:

sudo add-apt-repository universe
sudo add-apt-repository contrib

Questo è stato introdotto in 12.10 (Quantale).


mostra che Error: 'contrib' invalid utilizza Ubuntu 16.04
Jaffer Wilson il
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.