Como os PPAs podem ser removidos?

1220

Eu adicionei muitos PPAs usando o add-apt-repositorycomando Existe uma maneira simples de remover esses PPAs? Eu verifiquei /etc/apt/sources.listas linhas de deb apropriadas, mas elas não estão lá.

Como ele está em um sistema de servidor, uma solução de linha de comando seria ótima!

David Ashford
fonte
11
Há um erro no Launchpad ( bugs.launchpad.net/software-properties/+bug/446216 ) solicitando um argumento --remove para o comando add-apt-repository. Enviei uma solicitação de mesclagem ( code.launchpad.net/~mac9416/software-properties/… ) para implementar o recurso, mas ele ainda não foi aceito. Espero que você tenha esse recurso em breve.
Michael Crenshaw
Essas são ótimas notícias. Me incomodou um pouco que não havia comando para desfazer a adição; um pouco como o aptitude que só instala! O ppa-purge é bom, mas isso nem nos repositórios oficiais.
David Ashford
1
Relacionado. (Em particular, veja esta resposta da mina para começar ppa-purgea trabalhar com multarch.)
Elias Kagan
1
i pode aconselhar tentar procurar em seguida, del (rm-rf) desnecessário um por um deles: grep -i WhatYouWantTosearch /etc/apt/sources.list{,.d/*}
Vladimir Ch
2
Com uma GUI: sudo synaptic> Configuração> Repositórios> PPAs> (selecione um PPA)> Excluir (ou talvez "Remover", sem ter certeza da tradução correta, só posso verificar as opções do programa em outro idioma).
Fran

Respostas:

1535

Use a --removebandeira, semelhante à forma como o PPA foi adicionado:

sudo add-apt-repository --remove ppa:whatever/ppa

Como alternativa mais segura, você pode instalar o ppa-purge:

sudo apt-get install ppa-purge

E remova o PPA, fazendo o downgrade dos pacotes normalmente fornecidos para os pacotes fornecidos pelos repositórios oficiais:

sudo ppa-purge ppa:whatever/ppa

Observe que isso desinstalará os pacotes fornecidos pelo PPA, mas não os fornecidos pelos repositórios oficiais. Se você deseja removê-los, você deve dizer ao apt:

sudo apt-get purge package_name

Você também pode remover PPAs excluindo os .listarquivos do /etc/apt/sources.list.ddiretório.

Por último, mas não menos importante, você também pode desativar ou remover PPAs da seção "Fontes de software" nas Configurações do Ubuntu com apenas alguns cliques do mouse (sem necessidade de terminal).

Giorgi Jvaridze
fonte
27
Isso removerá o PPA da lista de repositórios, mas se o pacote for uma versão mais recente de um nos repositórios padrão, você deverá fazer o downgrade manual do pacote posteriormente. O ppa-purge (veja outra resposta) faz isso por você.
Marcel Stimberg
30
Eu recebo add-apt-repository: error: no such option: --remove: - /
Rafa
7
deve sersudo apt-add-repository --remove ppa:repo_name/subdirectory
MountainX
7
Da mesma forma, eu recebo add-apt-repository: error: no such option: --removeeadd-apt-repository: error: no such option: -r
virtualxtc
66
Isso é quase tão lógico quanto clicar no botão "Iniciar" para desligar.
Gauthier
264

Basta executar o apt-add-repository novamente com a --removeopção de remover um PPA adicionado via linha de comando, por exemplo:

sudo apt-add-repository --remove ppa:kernel-ppa/ppa

Atualize com:

sudo apt-get update
ish
fonte
isso removerá esse PPA permanentemente?
Chirag
1
Sim permanentemente. Para usá-lo novamente, você deve adicionar manualmente como se estivesse fazendo isso pela primeira vez.
Ish
5
Para o registro, o sinalizador --remove / -r foi adicionado na 10.10. Fonte: askubuntu.com/a/18202/41756
Niels Bom
6
Como indicado acima; Estou executando a 13.10 e receboadd-apt-repository: error: no such option: --remove
virtualxtc
1
@ClainDsilva É porque você estaria preso em uma versão instalada localmente de qualquer pacote que possa ter instalado a partir do PPA. Você sempre deve usar ppa-purge.
9788 John St Scott
172

Como alternativa, conforme ppasestão armazenados, /etc/apt/sources.list.dvocê pode encontrar o que deseja remover digitando:

ls /etc/apt/sources.list.d

Então, quando você tiver anotado o nome do ppa ofensor (por exemplo myppa.list), poderá digitar:

sudo rm -i /etc/apt/sources.list.d/myppa.list

Tome cuidado com a rm (por isso, usei o comutador interativo para que você possa confirmar suas ações. Depois execute-o sudo apt-get update.

Este método apenas remove o .listarquivo ppa ; ele não remove nenhum outro arquivo nem resolve nenhum outro problema causado pelo ppa; para que você possa usar ppa-purgedepois de recuperar sua capacidade de atualização (eu sei que você mencionou isso na sua pergunta, mas estou adicionando este ponto para futuros leitores): veja aqui para obter mais informações sobre ppa-purge.

Também tenha em consideração que, se você adicionou anteriormente a chave do repositório como confiável, deve removê-la :

# list the trusted keys
sudo apt-key list
# remove the key
sudo apt-key del KEY_ID
Comunidade
fonte
7
Isso funcionou para mim, enquanto a resposta aceita não.
philshem
Eu excluir conteúdo completo da pasta /etc/apt/sources.list.d/ e ainda tem 4 entradas ruins: / por isso começou a falhar que agora ...
erm3nda
Observe que, ao listar chaves, elas terão linhas como pub 2048R/5044912E 2010-02-11. Nesse caso, para excluir esta chave, o KEY_IDé 5044912E. Veja askubuntu.com/a/107189/108037 . Menciono isso porque apt-key delfalhou silenciosamente OKquando passou 2048R/5044912Ecomo o ID da chave.
9788 jamesc
125

Você pode usar o

sudo ppa-purge ppa:repository-name/subdirectory

comando em um terminal.

Você primeiro precisará instalar ppa-purgepara usar este comando. Para fazer isso, use sudo apt-get install ppa-purgeou clique neste botão:

Instale através do centro de software

Saiba mais aqui .

kone4040
fonte
5
Isso não funcionará para repositórios excluídos, caso em que falha com "Aviso: não foi possível encontrar a lista de pacotes para o subdiretório PPA: nome do repositório".
Lekensteyn
Não está disponível para o Ubuntu 11.10, ou estou errado?
math
9
Isso não funcionou para mim, mas eu amo tanto a sintaxe que estou votando de qualquer maneira.
precisa saber é o seguinte
@DaveJarvis não está instalado por padrão em nenhum sistema = /. Editei a resposta para incluir informações sobre como instalá-lo.
Alaa Ali
Isso não funcionou para mim, aparentemente não desativou o ppa e, na verdade, não fez o downgrade dos pacotes. No entanto, ele imprime uma lista de pacotes, como nome do pacote / distribuição. Se você desativar manualmente o ppa e executar o apt-get install <lista-completa-de-pacotes-de-pacotes>, o apt-get fará o downgrade automático para você, com base na saída, acho que é o mesmo que está fazendo internamente.
Berdir
44

As respostas a esta pergunta o ajudarão.

Você pode gerenciar PPAs System > Administration > Software Sourcesou removendo arquivos /etc/apt/sources.list.d/.

Você também pode usar um pacote chamado ppa-purge .

E, como eu comentei a pergunta que eu vinculei acima,

Há um erro no Launchpad solicitando um argumento --remove para o comando add-apt-repository. Enviei uma solicitação de mesclagem para implementar o recurso, mas ele ainda não foi aceito. Espero que você tenha esse recurso em breve.

Michael Crenshaw
fonte
2
Eu encontrei Ubuntu Software Center > Edit > Software Sources.
Josh M.
O link "ppa-purge" não funciona. Dá um erro 404.
Cristiana Nicolae
3
FYI no Ubuntu 16.04 o caminho para encontrar a lista PPA éSystem Settings -> System -> Software & Updates -> Other Software
knocte
33

Algumas pessoas podem preferir adicionar e remover repositórios por meio de uma GUI. A partir do Ubuntu 10.10, isso requer um pouco de trabalho extra. Uma explicação está disponível no wiki . Para tentar ter todas as respostas para esta pergunta disponíveis em um só lugar, tentarei resumir os detalhes importantes aqui. Certifique-se de verificar o wiki (especialmente quando uma nova versão do Ubuntu for lançada) para garantir que esse processo ainda seja válido.

Primeiro, você deseja reativar 'Fontes de software' no menu Sistema-> Administração. Clique com o botão direito do mouse no menu Aplicativos / Locais / Sistema e clique em 'Editar menus'.

Clique em 'Editar menus'

Isso abrirá uma janela, role para baixo e clique em 'Administração'. Marque a caixa ao lado de 'Fontes de software' e clique no botão 'Fechar'.

Marque a caixa ao lado de 'Fontes de software'

Vá para Sistema-> Administração e você verá 'Fontes de Software' no menu.

'Fontes de software' agora no menu

Na janela que se abre, clique na guia 'Outro software' na parte superior.

Guia "Outro software"

Você deve ver todos os repositórios que você adicionou (incluindo os PPAs adicionados via add-apt-repository). Você pode desativar temporariamente um repositório desmarcando a caixa ao lado dele. Para remover um repositório permanentemente, destaque-o e clique no botão 'Remover'. Quando terminar, clique no botão 'Fechar'.

Como Marcel Stimberg observou anteriormente:

Isso removerá o PPA da lista de repositórios, mas se o pacote for uma versão mais recente de um nos repositórios padrão, você deverá fazer o downgrade manual do pacote posteriormente. O ppa-purge (veja outra resposta) faz isso por você.

Espero que isso ajude.

nhandler
fonte
Você não precisa editar o menu, há uma entrada para Fontes de software no menu Centro de software.
Jorge Castro
Obrigado. Parece que um problema com o gksu do meu lado fez com que eu não fosse apresentado às Fontes de Software quando tentei isso inicialmente. Vou resolver esse problema localmente e atualizar a resposta.
Nhandler
Mais fácil e confiável
Matheus Abreu
25

ppa-purgeé seu amigo. Desinstala automaticamente o que você instalou via ppa e remove o ppa.

Instale o ppa-purge via:

sudo apt-get install ppa-purge

e use-o assim:

sudo ppa-purge ppa-url

Viola.

HDave
fonte
2
O OP já tentou o ppa-purge.
jokerdino
20

Como o Ubuntu Maverick (10.10) add-apt-repositoryaceita um parâmetro -rou --removeque remove o PPA da mesma maneira que você o instalou. :)

Assim:

Instalar: sudo apt-add-repository ppa:user/repository

Desinstalar: sudo apt-add-repository -r ppa:user/repository

Paulo Freitas
fonte
2
Obrigado! Eu usei o sudo apt-add-repository -r ppa: user / repository para desinstalar um ppa teimoso do New Linux Counter Project. Eu tentei várias linhas de comando e sugestões, mas nenhuma delas ajudou em nada, apenas a sua funcionou! Obrigado! Uma informação: ele funciona em 12.04 LTS também, não apenas no Maverick.
Cristiana Nicolae
De nada, @CristianaNicolae! Atualizei minha resposta com base em seus conselhos, obrigado! :)
Paulo Freitas
Estou executando a 13.10 e recebo add-apt-repository: error: nenhuma opção: -r
virtualxtc
1
@virtualxtc Atualmente estou rodando Ubuntu 14.04 e ainda tem opções -re --removeno apt-add-repositorycomando. Portanto, acho que você está usando uma versão modificada ou desatualizada do apt-add-repository. Este utilitário é fornecido pelo python-software-propertiespacote, talvez você esteja usando uma versão bloqueada. Você pode verificar o código fonte aqui: bazaar.launchpad.net/~ubuntu-branches/ubuntu/trusty/… Essas opções de remoção foram introduzidas na revisão 47, no final de 2010. Portanto, elas existem desde a 10.10 e nunca são alteradas, como você pode veja na fonte.
Paulo Freitas
Existem alguns outros usuários que relatam o mesmo problema, portanto, esse bloqueio deve ser algo bastante comum. Mais estranho ainda é que as opções de sinalizador -r --rove estão listadas nos arquivos man / help, mas ainda produzem o erro declarado. Vou dar uma olhada nas minhas propriedades de software python na próxima vez que estiver no Ubuntu.
Virtualxtc
18

Execute o Ubuntu Software Center e, no menu, escolha "Software Sources" - lá você pode adicionar / editar / remover repositórios.

mrówa
fonte
13

Execute estes comandos:

sudo add-apt-repository --remove ppa:kernel-ppa/ppa 
sudo apt-get update
krizna
fonte
Como indicado acima; Estou executando a 13.10 e receboadd-apt-repository: error: no such option: --remove
virtualxtc
10

Dependendo se o add-apt-repository foi chamado com uma linha sources.list completa ou um ppa, ele anexa a linha a /etc/apt/sources.list ou a um novo arquivo no diretório /etc/apt/sources.list.d/ . Se for um ppa, ele importará a chave GPP ppa para o chaveiro do apt

Para reverter as ações realizadas pelo add-apt-repository, você pode remover manualmente a linha apt ou usar uma ferramenta como "Fontes de software" para fazer isso e remover a chave GPG usando o apt-key da seguinte maneira:

"sudo apt-key list" para descobrir o ID do repositório que você deseja remover e, em seguida,
"sudo apt-key del id", onde se parece com 7FAC5991. A identificação é a parte após o caractere "/".

Li Lo
fonte
9

Se você estiver falando sobre os aplicativos reais instalados por meio de um PPA, eles serão listados como qualquer outro aplicativo e você poderá desinstalá-lo da mesma maneira. Os próprios PPAs (repositórios) serão listados na guia 'Outro Software' do menu Configurações-> Repositórios. Eles podem ser removidos como qualquer outra fonte.

Captura de tela da tela Synaptic Repository / PPA

Código Amigável
fonte
9

Usando add-apt-repository

Nota: Esta solução não remove / faz o downgrade dos pacotes associados ao repositório.

O add-apt-repositorycomando tem uma opção para remover um repositório especificado com -r. Você só precisa conhecer o PPA que deseja enviar a caminho. Use o comando abaixo:

sudo add-apt-repository -r ppa:REPOSITORY/HERE

... alterando "PPA / HERE" para o PPA que você está removendo.

Fonte: COMO USAR UM PPA DO LAUNCHPAD (ADICIONAR, REMOVER, PURGAR, DESATIVAR) EM UBUNTU


Usando ppa-purge

Nota: Esta solução removerá o PPA e fará o downgrade de todos os pacotes.

Para instalar, use:

sudo apt install ppa-purge

Para usar, ppa-purgevocê faria:

sudo ppa-purge ppa:REPOSITORY/HERE

... alterando "REPOSITORY / HERE" para o repositório que você está removendo.

Fonte: REMOVER OU PURGAR REPOSITÓRIOS DE PPA ATRAVÉS DA LINHA DE COMANDO [DICA UBUNTU RÁPIDA]


Usando software e atualizações

Nota: Esta solução não remove / faz o downgrade dos pacotes associados ao repositório.

Pesquise "Software e atualizações" e inicie-o e escolha a guia -> "Outro software". Para remover um repositório, desmarque-o e clique em "Fechar" e, por último, em "Atualizar".

insira a descrição da imagem aqui

David seu amigo
fonte
7

Você pode usar o y-ppa-manager

Instalação:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

Usar :

Abra o Y PPA Manager e selecione Manage PPAs

insira a descrição da imagem aqui

Selecione o PPA que você deseja remover e clique no Removebotão

insira a descrição da imagem aqui

mxdsp
fonte
Uma ferramenta útil, de fato.
Elder Geek
5

Você pode gerenciar seus repositórios em System > Administration > Software Sources

Você também pode removê-los /etc/apt/sources.list.d/onde encontrar um <repo>-ppa-<distro>.listarquivo. Você pode remover esse arquivo ou simplesmente comentar a linha de deb.

Marco Ceppi
fonte
5

Há um comando add-apt-repository -r.

Mas excluir o arquivo e executar novamente sudo apt-get updatetambém é bom.

Marius Gedminas
fonte
1
Não sei como isso deve se comportar, mas após o comando retornar e o apt-get update, os arquivos correspondentes ainda estavam em /etc/apt/list.sources.d. Eu os removi manualmente e execute novamente a atualização, não sei se era necessário.
Ivan
1
Estou executando a 13.10 e receboadd-apt-repository: error: no such option: -r
virtualxtc
1
Isso é interessante; a página de manual add-apt-repository da 13.10 afirma que esta opção existe. De fato, apareceu em 12.04.
Marius Gedminas
5

Além da solução já mencionada: Se você ainda possui o software instalado nesse repositório, é melhor revertê-los para a versão original fornecida com o ubuntu: a do ppa não receberá mais atualizações (de segurança e outras). Existe uma ferramenta que fará exatamente isso: ppa-purge http://packages.ubuntu.com/maverick/ppa-purge

johanvdw
fonte
1
ppa-purge é uma coisa boa, mas também é uma coisa poderosa.
Ryan Thompson
1
O link abre uma página de erro.
Cristiana Nicolae
5

Depende. Se você instalou um novo aplicativo a partir de um ppa, poderá desinstalá-lo normalmente. No entanto, se você ativou um ppa para obter uma versão mais recente de um programa que você já instalou (Firefox 4, drivers Xorg mais recentes etc.), será necessário usar um programa chamado ppa-purge.

O Ppa-purge está disponível nos repositórios para Maverick e mais recentes. Um backport está disponível para usuários do Lucid. Basta instalá-lo e depois executar

sudo ppa-purge ppa:repository-name/directory

O comando acima desabilitará o ppa de suas fontes de software e, em seguida, reinstalará a versão oficial do aplicativo atualizado no repositório Ubuntu.

papukaija
fonte
5

No Linux Mint não existe --removeou -rmudar on add-apt-repository. Se você deseja remover um repositório, precisará fazê-lo manualmente. Não é díficil:

  1. Listar todos os repositórios instalados.

    ls /etc/apt/sources.list.d
    

    Isso lista, por exemplo:

    getdeb.list  natecarlson-maven3-trusty.list  official-package-repositories.list
    
  2. Encontre o nome do repositório que você deseja remover.
    No meu caso, quero remover natecarlson-maven3-trusty.list.

  3. Remova o repositório.

    sudo rm -i /etc/apt/sources.list.d/natecarlson-maven3-trusty.list
    
  4. Listar todas as chaves GPG.

    apt-key list
    

    Isso lista, por exemplo:

    /etc/apt/trusted.gpg
    --------------------
    pub   1024D/437D05B5 2004-09-12
    uid                  Ubuntu Archive Automatic Signing Key <[email protected]>
    sub   2048g/79164387 2004-09-12
    
    pub   1024D/FBB75451 2004-12-30
    uid                  Ubuntu CD Image Automatic Signing Key <[email protected]>
    
    pub   4096R/46D7E7CF 2009-05-15
    uid                  GetDeb Archive Automatic Signing Key <[email protected]>
    
    pub   1024R/3DD9F856 2011-04-15
    uid                  Launchpad PPA for Nate Carlson
    
  5. Encontre o ID da chave que você deseja remover. O ID da chave é a parte após o /.
    No meu caso, quero remover a chave Nate Carlson, então o ID é 3DD9F856.

  6. Retire a chave.

    sudo apt-key del 3DD9F856
    
  7. Atualize as listas de pacotes.

    sudo apt-get update
    

Feito!

Daniel AA Pelsmaeker
fonte
Os usuários do Mint também podem usar a ferramenta interna Fontes de software , que foi a solução mais conveniente no meu caso.
user2428118
5

A maneira mais simples de excluir todos os seus PPA'a é esta:

cd /etc/apt/sources.list.d && sudo rm -i *list*

Ele primeiro levá-lo para o diretório que contém sources.list.de depois rm (remova), basicamente, todos os arquivos com a palavra lista em seu nome.

Igor V.
fonte
4

OMG! Ubuntu! mencionou que esse recurso foi adicionado ao PPA ' Tweak '.

Presumivelmente, uma vez que esteja no universo, você poderá usá-lo para se remover :)

Matt
fonte
4

Você pode usar o Ubuntu-Tweak , o que facilita a edição do ppa. Você pode excluir os ppa manualmente ou quando o Ubuntu-Tweak souber, basta clicar em um botão.

Geelu
fonte
4

Você pode tentar os comandos abaixo e ele funciona muito bem para remover o kernel 3.5 do Linux (ppa: xorg-edgers / ppa).

sudo apt-get install ppa-purge
sudo ppa-purge ppa:<XXX>/<YYY>
Enze Chi
fonte
3

O add-apt-repository agora aceita um argumento --remove.

https://bugs.edge.launchpad.net/ubuntu/+bug/446216

Também propus adicionar um comando rm-apt-repository:

https://code.edge.launchpad.net/~bryceharrington/software-properties/rm-apt-repository/+merge/25988
Bryce
fonte
1
e no ubuntu 13.10 eles parecem ter removido esse recurso.
virtualxtc
1

Crie esta função (adicione-a onde quer que você armazene suas funções) e depois execute com o nome de ppa apropriado:

rmppa()
{
    sudo -- sh -c 'rm /etc/apt/sources.list.d/"$1".list ; apt-get update'
}

rmppa snagglepuss

Adicione verificação de erro (parâmetro inexistente, por exemplo) se desejar ...

RonJohn
fonte
0

Todas essas respostas são boas, mas para mim a maneira mais fácil ainda é removê-las diretamente usando rm -rf.

Imagine que o apt update fornece o seguinte erro:

W: Failed to fetch http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu/dists/trusty/main/binary-amd64/Packages  403  Forbidden

Em seguida, você pode corrigi-lo fazendo algo como:

sudo rm -rf /etc/apt/sources.list.d/andrej*
Guillaume Le Mière
fonte
Quase idêntico à resposta de RonJohn, mas notei que você não sente que correr sudo apt updatedepois é necessário?
WinEunuuchs2Unix 13/04/19
É sim Meu exemplo não disse diretamente, mas se a sua atualização do apt falhar mostrando o erro acima, a remoção dos arquivos de origem fará com que funcione novamente. Portanto, não parecia necessário especificá-lo neste contexto;) Eu recebo a confusão. Vou editar, obrigado pelo seu comentário!
Guillaume Le Mière 13/04/19