Dato che non è ancora stato realizzato uno script per rimuovere i repository launchpad installati tramite il comando add-apt-repository ho pensato di crearlo.
Per installarlo vi basta eseguire questi comandi tramite terminale:
$ wget http://www.sourceslist.eu/?download=remove-apt-repository && mv index.html\?download\=remove-apt-repository remove-apt-repository
$ sudo mv remove-apt-repository /usr/bin/
$ sudo chmod 555 /usr/bin/remove-apt-repository
Ora vediamo un esempio di rimozione di un repository ppa.
Supponiamo che abbiate aggiunto fra le vostre fonti software il repository: loic-martin3/xvid
$ sudo add-apt-repository ppa:loic-martin3/xvid
per rimuoverlo dovete eseguire semplicemente:
$ sudo remove-apt-repository loic-martin3/xvid
Per essere precisi bisognerebbe anche revocare anche la chiave gpg di autentificazione relativa al repository che avevate precedentemente aggiunto.
!Novità! 30/11/2009 – Ho modificato lo script in modo tale da rimuovere non solo il repository (file .list associato), ma anche la chiave gpg ad esso associata. Ho inserito anche un help per avere un aiuto per quanto riguarda la sintassi.
Per richiamare l’help dovete eseguire:
sudo remove-apt-repository --help
oppure
sudo remove-apt-repository -h
Come avete visto ho pacchettizzato lo script anche in debian cosicchè possiate installarlo direttamente tramite i miei repository.
Per farlo dovete aggiungere alla vostra sources.list la riga:
deb http://www.sourceslist.eu/repo/ubuntu karmic main non-free
eseguendo da terminale la seguente riga di codice:
echo "deb http://www.sourceslist.eu/repo/ubuntu karmic main non-free" | sudo tee -a /etc/apt/sources.list
Autentificate il repository eseguendo:
sudo gpg --keyserver hkp://pgp.mit.edu --recv-keys FA088BA5 && sudo gpg --armor --export FA088BA5 | sudo apt-key add -
Poi eseguite:
$ sudo apt-get update && sudo apt-get install remove-apt-repository
Oppure scaricate il pacchetto debian e lo installate eseguendo:
$ sudo dpkg -i remove-apt-repository*
!Novità! 02/12/2009 – Ho apportato le seguenti modifiche allo script:
- Aggiunta delle opzioni “-list” e “-l” per poter visualizzare l’elenco dei repository launchpad aggiunti tramite il comando “sudo add-apt-repository”
Per ottenere la lista dovete eseguire:
sudo remove-apt-repository --list
oppure
sudo remove-apt-repository -l
- Inserimento del controllo sul file /etc/apt/sources.list e relativa notifica nel caso in cui siano stati inseriti repository PPA Launchpad non tramite il comando “sudo add-apt-repository”.
- Inserimento della barra di avanzamento.
- Ottimizzazione parziale del codice dello script.
!Novità! 03/12/2009 – Apportata la seguente modifica allo script:
Aggiunto controllo e notifica sull’utente che esegue lo script affinché venga eseguito solo come root.
Script remove-apt-repository …
Ingalex ha creato un utilissimo script chiamato remove-apt-repository che serve per rimuovere i repository installati tramite il comando ufficiale add-apt-repository, introdotto a partire da Ubuntu Ka……
Grazie mille per l’ottimo strumento. Quelli di Ubuntu hanno inserito add-apt-repository e non hanno pensato che uno, come ha aggiunti un repository lo volesse anche togliere e ripristinare i pachetti di default.
Ci hai pensato tu!!! Ciao
Ciao sempre io 🙂
ti segnalo forse un piccolo bug.
questo repo: http://ppa.launchpad.net/chromium-daily/ppa/ubuntu non lo rimuove.
unsuccessful removing – ppa launchpad repository not present or wrong syntax
Mentre ppa-purge si. Non ricordo come l’ho inserito nel mio sources.list. Forse con Ubuntu Tweak.
Non è un bug. Semplicemente ho creato remove-apt-repository per rimuovere i repository aggiunti con il comando add-apt-repository.
add-apt-repository aggiunge i repository non al file /etc/apt/sources.list , ma ad un’altro file di lista nella directory /etc/apt/sources.list.d/ .
Pertanto se hai aggiunto un repository al file /etc/apt/sources.list manualmente o tramite altri programmi questo non verrà rimosso.
Però in questi giorni modificherò lo script in modo da eliminare anche eventuali repository aggiunti proprio nella souces.list.
Il comando ppa-purge invece non elimina il repository, ma ripristina le versioni presenti nei repository Ufficiali dei pacchetti installati tramite i repository ppa launchpad.
Questo è quanto riporta l’help di ppa-purge:
ppa-purge will reset all packages from a PPA to the standard versions released for your distribution.
Spero di essere stato chiaro.
Ciao Alex
Hello …,
great tutorial … !!!
Best regards
Christian
Thanks! I just try to find solutions useful to most users and I try to do it in the best way. 🙂
You can replace:
wget http://www.sourceslist.eu/?download=remove-apt-repository && mv index.html\?download\=remove-apt-repository remove-apt-repository
With:
wget -O remove-apt-repository http://www.sourceslist.eu/?download=remove-apt-repository
[…] the guys from sourceslist.eu (it) wrote a script fixing this […]