Questão Como adicionar um PPA em um servidor?


A versão do servidor do Ubuntu não tem o add-apt-repository comando. Como posso adicionar um Arquivo Pessoal de Pacotes (PPA) para o servidor sem este comando?


156
2018-04-29 14:57


origem


na última versão do synaptic você pode adicionar ppa diretamente nas fontes de software em vez de uma linha deb - Dirk Hartzer Waldeck
- @ Doug resposta está correta para Ubuntu  16,04 - @ resposta da fossfreedom está correta para Ubuntu  14.04 Em Ubuntu  16,04 o pacote certo é de fato software-properties-common, como mostrado por: $ type add-apt-repositorio add-apt-repository é hashed (/ usr / bin / add-apt-repositorio) $ apt-file search / usr / bin / add-apt-repositorio software-properties- comum: / usr / bin / add-apt-repository em versões anteriores, pode ser encontrado python-software-properties --- ATUALIZAÇÃO: Eu comento aqui, porque não consegui adicionar como comentário! - azbarcea
O apt-add-repository funciona de imediato. - Atifm


Respostas:


Você pode simplesmente adicionar o add-apt-repository comando. No 13.10 e posterior, você também precisa executar este comando:

sudo apt-get install software-properties-common

Nota: em 11.04 eles adicionaram um link simbólico para add-apt-repository por isso pode ser executado como apt-add-repository o que faz mais sentido para mim. Tudo mais apt começa com "apt".

NOTA: é parte do python-software-properties pacote (antes de 13.10):

sudo apt-get install python-software-properties

192
2018-04-29 15:18



Vendo que é realmente uma função do apt, é realmente lógico para mim. "adicionar repositório com apt"> "apt-add-repository" - MrChrisDruif
e se "python-software-properties" já estiver instalado e você ainda receber "command not found" ao tentar usar o "apt-add-repository"? - monkut
Você também tentou "add-apt-respository"? Em versões anteriores a 11.04 você deve colocar o "add" antes do "apt". - Mark Russell
o que você deve fazer quando o 'apt-get install python-software-properties' falhar porque depende do python-curl, que é 'não instalável'? No meu sistema 12.04, ele reclama que é "incapaz de corrigir problemas - você realizou pacotes quebrados" - Hoobajoob
É software-properties-common um conjunto de ferramentas definidas ou coleção de utilitários? - Alex


Deixe-me ensiná-lo a pescar. apt-file permite que você descubra qual pacote fornece um determinado arquivo. dpkg -S faz a mesma coisa, mas apenas para pacotes instalados. apt-file funciona independentemente de o pacote ter sido instalado ou não.

Então, primeiro você instala o apt-file: sudo apt-get install apt-file. Você então precisa atualizar suas informações, assim como você precisa no apt-get: sudo apt-file update. Agora está pronto para uso:

$ apt-file search add-apt-repository
python-software-properties: /usr/bin/add-apt-repository
python-software-properties: /usr/share/man/man1/add-apt-repository.1.gz

Então, neste caso, a próxima coisa a fazer seria instalar python-software-properties.


74
2017-08-02 11:43



excelente dica - talvez não deva ser enterrado nesta questão - uma questão separada seria uma boa idéia para destacar isso. - fossfreedom♦
@fossfreedom É disso que você está falando? - askubuntu.com/questions/13792/… - jrg♦
Devido a esta dica eu descobri que no servidor 12.10 o apt-add-repository está localizado no software-properties-common (não mais em python-software-properties) - Kat Amsterdam
Por que eu continuo esquecendo que este comando incrivelmente útil existe! Ótima resposta. - lleaff


Não é necessariamente a melhor resposta, mas isso funcionará:

A maneira antiga (pré Ubuntu 9.10, eles chamam isso) de edição /etc/apt/sources.list ainda funciona. Você também precisará obter a chave GPG no sistema manualmente.

Em sistemas Ubuntu mais antigos (pré 9.10):

Etapa 1: Visite a página de visão geral do PPA no Launchpad. Procure o título que lê Adicionar este PPA ao seu sistema e clique nos detalhes técnicos sobre este link PPA.

Etapa 2: Use a caixa suspensa Exibir o arquivo sources.list para selecionar a versão do Ubuntu que você está usando.

Etapa 3: você verá que a caixa de texto abaixo mostra algo parecido com isto:

deb http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu jaunty main

Copie essas linhas.

Etapa 4: abra um terminal e digite:

sudo gedit /etc/apt/sources.list

Isto irá abrir um editor de texto contendo a lista de arquivos que o seu sistema está usando atualmente. Role até o final do arquivo e cole as linhas que você copiou na etapa acima.

Salve o arquivo e saia do editor de texto.

Passo 5: De volta à página de visão geral do PPA, procure pelo cabeçalho da chave de assinatura. Você verá algo como:

1024R / 72D340A3 (o que é isso?)

Copie a parte após a barra, mas não incluindo o link de ajuda; por exemplo. apenas 72D340A3.

Passo 6: Agora você precisa adicionar essa chave ao seu sistema para que o Ubuntu possa verificar os pacotes do PPA. No seu terminal, digite:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72D340A3

(Substitua 72D340A3 pelo que você copiou no passo 5.)

Agora, isso irá puxar a chave do PPA e adicioná-la ao seu sistema.

Passo 7: Agora, como um único, você deve dizer ao seu sistema para puxar para baixo a última lista de software de cada arquivo que ele conhece, incluindo o PPA que você acabou de adicionar:

sudo apt-get update

Agora você está pronto para começar a instalar o software do PPA!


53
2017-08-02 10:37



Se nenhuma outra resposta mais rápida e amigável for dada, então colocarei essa como a correta. Resolve o problema de maneira "especial";) - Luis Alvarado♦
Enquanto add-apt-repository é mais fácil, em uma instalação de servidor eu gosto de manter as coisas enxutas, então eu não me importo de fazer isso manualmente. Essa foi a resposta que eu estava procurando. - D. Strout
O pacote software-properties-common é ENORME, parece demais para apenas acrescentar algum texto a um arquivo e executar alguns comandos. Um desperdício de espaço ao usar no Docker. Esta resposta é muito útil! - rsmoorthy
Isso foi muito útil quando eu estava tendo problemas de proxy - Alex Chamberlain
Esta deve ser a resposta aceita, já que o OP perguntou como se locomover não usando add-apt-repository ... Muito obrigado por este! - djBo


add-apt-repository é fornecido pelo pacote python-software-properties.

Assim, se você deve instalar via

sudo apt-get install python-software-properties

14
2017-12-30 18:39



Obrigado! Devo dizer que encontro um nome bastante ilógico. Além disso, você tem alguma idéia porque eu não é padrão instalado? - Peter Smit
concordou ilógico - por que, você pode especular que os servidores são geralmente "fixos" em termos de execução de software. Assim, você não precisa do 'luxo' de adicionar e remover repositórios com freqüência ... fim da especulação! - fossfreedom♦
Por que é ilógico? É um conjunto de ferramentas python para lidar com propriedades de software. add-apt-repository é uma dessas ferramentas. - Jo-Erlend Schinstad
eu já tenho python-software-properties instalado, mas continuo recebendo este erro. eu tentei apt-add e add-apt notações e nenhum trabalho ... o que fazer? - Mohamad
@ Mohamad, porque está errado, pelo menos para o Ubuntu 14.04. Tudo que você precisa instalar é software-properties-common. - Theodore R. Smith


Execute este comando:

sudo apt-get install software-properties-common

E então você pode adicionar seu repositório em execução:

sudo add-apt-repository [REPOSITORY]

Renovar para substituir [REPOSITORY] com o nome do repositório que você deseja adicionar.


14
2017-08-19 00:40



Isso funcionou perfeitamente. - Aaron


Eu tive um debate com um colega sobre isso há algumas semanas. Dar

apt-add-repository

uma tentativa. Não precisa de nenhum outro pacote. Note que o apt aparece antes de adicionar. A ordem é importante porque o add-apt-repository precisa ser instalado.

Para aqueles opositores lá fora. Experimente este arquivo do Vagrant. Note, estou começando de uma nova imagem confiável e adicionando o ppa diretamente da caixa.

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|

  config.vm.box = "ubuntu/trusty64"
  config.ssh.username = "vagrant"

  config.vm.provision "shell", inline: <<-SHELL
    sudo apt-add-repository ppa:george-edison55/cmake-3.x -y
    sudo apt update
    sudo apt upgrade
    sudo apt install -y virtualbox-guest-dkms
    sudo apt-get install -y curl g++ libpng12-dev  \
      libtiff5-dev libssl-dev libxml2-dev libxslt1-dev libpq-dev postgresql-client \
      postgresql pgadmin3 liblcms2-dev libcrypto++9 libcrypto++-dev \
      graphviz-dev libboost1.55-dev libboost-filesystem1.55-dev libboost-system1.55-dev \
      libexpat1-dev python-software-properties qtbase5-dev qttools5-dev  \
      libqt5svg5-dev qtscript5-dev qtdeclarative5-dev qtmultimedia5-dev \
      libsqlite3-dev qt5-default cmake

  SHELL
end

Atualização: Só para esclarecer, parece que as imagens da nuvem para o Ubuntu precisam e têm o pacote correto já instalado. Portanto, quer estejamos falando de scripts cloud-init ou de um arquivo vagrant, o apt-add-repository está presente. Já que add-apt-repository está no mesmo pacote que deve funcionar também.


0



Ordem não importa. Vejo askubuntu.com/questions/83489/…. - edwinksl
Explique por que esse arquivo vagante funciona. Note que não estou argumentando que eles fazem algo diferente. Eles fazem exatamente a mesma coisa. Você só precisa de um pacote para o add-apt, enquanto o outro trabalha do zero. - Atifm
@atifm: ver esta resposta: $ apt-file search adicionar-apt-repository software-propriedades-comum: / usr / bin / add-apt-repositório software-propriedades-comum: /usr/share/man/man1/add-apt-repository.1. gz $ apt-file search apt-add-repository software-propriedades-comum: / usr / bin / apt-add-repository software-propriedades-comum: /usr/share/man/man1/apt-add-repository.1. gz - tricasse
@tricasse: Obrigado pelo link para o apt-file, que será útil em outro lugar. Então, você está certo, eles estão no mesmo pacote verificado pelo apt-file. Dito isto, parece que as imagens da nuvem ubuntu (por vagrant) para o preciso e confiável tem o pacote já instalado. Não tenho certeza se isso foi sempre o caso, mas parece ser o caso no momento - Atifm