O 'apt-get' está obsoleto? [duplicado]

47

Ultimamente, tenho visto muitas pessoas usarem

sudo apt

em vez de

sudo apt-get

Além disso, o Ubuntu continua me dizendo para instalar coisas por sudo apt

The program 'foo' is currently not installed. You can install it by typing:
sudo apt install foo

(lembre-se, foo é um espaço reservado, não um aplicativo)

Portanto, depois dessa popularidade na comunidade sobre o uso de apt em vez de apt-get , estou começando a pensar que o apt-get está obsoleto e não pode mais ser usado em meus programas bash.

Nos meus programas de bash,

  • eu preciso substituir todos os comandos apt-get por apt ?
  • é apt-get perigoso?
  • meus programas ainda funcionarão?
por Skybbles 26.09.2016 / 15:15

4 respostas

33

apt-get é de nível inferior e compatível com versões anteriores. apt é melhor para usuários finais e não requer ou contém alguns recursos extras que estão presentes em apt-get .

Ambos estão perfeitamente bem. apt-get não está obsoleto, mas sua instalação do 15.10 é:)

Editar: da página man do apt (8)

  

O comando apt destina-se a ser agradável para os usuários finais e não precisa          para ser compatível com versões anteriores, como o apt-get (8).

Edit2: apt foi desenvolvido para corrigir algumas das falhas fundamentais de dependência em apt-get . Como é um wrapper, apt é, portanto, de nível superior e também perde alguns recursos de compatibilidade com versões anteriores e scripts.

    
por negusp 26.09.2016 / 15:18
45

Não, apt-get não está obsoleto. A página de manual de apt tem isto a dizer sobre apt vs. apt-get (e apt-cache ):

  

USO DE SCRIPT E DIFERENÇAS DE OUTRAS FERRAMENTAS APT

     

A linha de comando do apt (8) é projetada como uma ferramenta do usuário final e pode mudar o comportamento entre as versões. Enquanto ele tenta não quebrar          compatibilidade com versões anteriores isso não é garantido se uma mudança parecer benéfica para uso interativo.

     

Todos os recursos do apt (8) estão disponíveis em ferramentas APT dedicadas como apt-get (8) e apt-cache (8) também. apt (8) apenas muda o   padrão          valor de algumas opções (veja apt.conf (5) e especificamente o escopo Binário). Então você deve preferir usar esses comandos (potencialmente   com          algumas opções adicionais ativadas) em seus scripts, pois eles mantêm a compatibilidade com versões anteriores o máximo possível.

apt também fornece um aviso que diz

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

se detectar um tubo. Por exemplo:

$ apt show python | grep Package

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Package: python
APT-Sources: http://us.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Quanto às suas perguntas,

  

eu tenho que substituir todos os comandos do apt-get por apt ?

Não, você não precisa substituir apt-get por apt . Em vez disso, se você o estivesse usando em scripts, você deve manter o apt-get porque ele tem uma API de CLI estável e garantia de compatibilidade com versões anteriores.

  

é apt-get perigoso?

apt é tão perigoso quanto apt-get : você deve instalar apenas softwares de fontes confiáveis.

  

posso usar apt no Ubuntu 15.10?

Sim, você pode. O problema aqui é que você ainda está usando o Ubuntu 15.10, que agora não é suportado! Por favor, atualize para 16.04, que é uma versão LTS.

  

meus programas ainda funcionarão?

Por programas, eu suponho que você quer dizer scripts. Sim, eles ainda funcionarão, pois apt-get não está obsoleto. De fato, você deve preferir usar apt-get em scripts para compatibilidade com versões anteriores, como sugerido pela man page de apt .

    
por edwinksl 26.09.2016 / 15:24
7

apt e apt-get são basicamente o mesmo gerenciador de pacotes, o que eles fazem é o mesmo.

A diferença é que apt também contém recursos de, e. apt-cache e tem uma saída mais agradável.

No entanto, apt ainda não deve ser usado em scripts, pelo menos se você quiser analisar sua saída, porque ela ainda está em desenvolvimento e seu formato de saída ainda pode mudar. O autocompletar tabulação do Bash também ainda não está funcionando com muitos comandos apt .

Você pode usar os dois, o que preferir.

    
por Byte Commander 26.09.2016 / 15:24
0

Como você pode ver nas outras respostas, você pode usar apt ou apt-get . O que eu gostaria de acrescentar é que, quando tentei apt alguns anos atrás, percebi que isso resolveu os conflitos de uma maneira diferente de apt-get . Quando a situação estava complicada (alguma coisa tinha que ser removida, algum pacote foi fixado em uma versão específica, eu fiz downgrade de um pacote ou usei uma mistura de pacotes de versões diferentes), apt geralmente queria remover toneladas de pacotes ou não t resolver o conflito.

Como apt-get foi muito melhor nessas situações e não teve desvantagens, desisti de apt e continuei usando apt-get . Isso foi há vários anos, então isso pode ter mudado, mas se você se deparar com uma situação semelhante, você pode tentar ambos e ver qual deles pode resolver melhor o conflito.

    
por Zoltan 26.09.2016 / 21:02