Atualizações de software do Ubuntu com o apt-get

1

Eu tinha uma pergunta básica sobre o comportamento do "apt-get update / dist-upgrade" do Ubuntu. Eu não tinha certeza de quais pacotes de software foram atualizados quando o "apt-get update / dist-upgrade" foi executado. Eu li em outros fóruns do SO e no site do Ubuntu que todos os pacotes listados em /etc/apt/sources.list são atualizados quando o comando é executado, o que faz sentido. Mas, eu também li que qualquer pacote que eu instalei com o "apt-get install" também seria atualizado.

No entanto, quando eu olho para o sources.list, há apenas alguns repositórios do Ubuntu listados e nenhum dos muitos pacotes de software de terceiros que eu instalei estão incluídos (como okular, git ou qualquer outro pacote instalado manualmente) neste arquivo .

Então o "apt-get update" atualiza todos esses pacotes? Em caso afirmativo, como ele sabe atualizar todos esses outros pacotes, considerando que eles não estão enumerados em /etc/apt/sources.list?

Por fim, se eu quisesse verificar apenas um desses programas, digamos, git, para atualizações manuais e instalá-los se houvesse, como eu faria isso?

    
por rf22 04.12.2016 / 23:18

3 respostas

0

 echo $PATH | perl -pe 's/:/\n/g' | xargs ls -1 | sort

Listará todos os comandos instalados (1.103 para mim) no seu caminho. Observe que um único aplicativo pode ter muitos comandos e alguns comandos não estão no seu caminho por padrão.

apt list --installed

lista os pacotes instalados (556 para mim). Observe que um único pacote pode ter muitos aplicativos ou apenas bibliotecas e aplicativos.

apt list

Listará todos os pacotes instaláveis (52.254 para mim) dos repositórios padrão.

cat /etc/apt/sources.list && cat /etc/apt/sources.list.d/*.list

Listará todos os repositórios instalados (16 para mim).

curl 'https://launchpad.net/ubuntu/+ppas?name_filter=&start=0' | grep -A 1 "<td><a"

Listará (paginou) todos os arquivos pessoais (repositórios) (24.538), a maioria dos quais provavelmente não funcionarão na arquitetura c2. Note que o software também pode ser obtido em outro lugar, mas se você instalar um pacote de uma fonte externa que não forneça um repositório, o apt não poderá atualizar o pacote.

    
por 04.12.2016 / 23:34
0

/etc/apt/sources.list lista fontes de pacotes , ou seja, sites dos quais os pacotes são baixados. Não lista pacotes individuais.

O Ubuntu distribui muito software. Contanto que seja de código aberto, não seja horrivelmente problemático e seja mantido ativamente, é elegível por estar no Ubuntu (pelo menos no repositório “universe” , que redistribui a maioria dos pacotes Debian ). (Essas não são condições necessárias, mas são o caso mais comum.) Pode ou não estar no Ubuntu: outro critério é que deve haver um voluntário para trabalhar nesse pacote (a menos que seja parte do pequeno núcleo que A Canonical pagará alguém para trabalhar). Pacotes como okular e git são parte do Ubuntu (universo e main respectivamente). Então a linha correspondente em sources.list é uma das que tem archive.ubuntu.com .

Você pode obter informações sobre os pacotes do Ubuntu on-line no link ou na sua máquina usando o APT . Execute apt-cache show PACKAGE para obter informações sobre PACKAGE (esteja instalado ou não). Execute apt-cache policy PACKAGE para ver um resumo das versões instaladas e disponíveis do pacote. Execute apt-cache search FOO para procurar pacotes cuja descrição contenha FOO .

A execução de apt-get update atualiza a cópia local da lista de pacotes disponíveis que apt-cache consulta. O Ubuntu configura um trabalho diário para fazer isso, portanto, se sua máquina tiver uma conexão com a Internet, sua máquina terá uma versão quase atualizada (mas ainda é uma boa idéia executá-la manualmente antes de instalar ou atualizar pacotes) . apt-get update não faz nenhuma modificação no software instalado em sua máquina. A execução de apt-get upgrade (ou uma das variantes XXX-upgrade ) atualiza os pacotes instalados para a última versão elegível, de acordo com a cópia local das listas de pacotes.

A versão fornecida pelo Ubuntu pode não ser a última versão disponível do desenvolvedor original. O Ubuntu compila todos os programas a partir do código-fonte (com exceção de alguns não-de código-aberto), testa-os se estiverem no main (não se eles estiverem no universo), e faz um release a cada 6 meses, então você geralmente acaba com software de 3 a 9 meses. Isso geralmente não é um problema, pois é muito raro precisar da última versão não testada de um programa. Erros críticos, como problemas de segurança, obtêm atualizações rápidas fora do ciclo de lançamento (eles são portados para trás, ou seja, a correção é aplicada à versão lançada, em vez de enviar a versão mais recente imediatamente). Se você quisesse a versão mais recente, poderia procurar um PPA (uma fonte de pacotes extras que não é mantida pelo Ubuntu , a qualidade varia), ou tente a versão mais recente do instável do Debian , ou recompile o código fonte do upstream - mas mais uma vez a maioria as pessoas não precisam disso.

    
por 05.12.2016 / 01:27
0

Além do arquivo clássico /etc/apt/sources.list , ele também lerá todos os arquivos instalados em

/etc/apt/sources.list.d/*

eles funcionam da mesma forma, mas ao ter vários arquivos, o gerenciamento fica mais fácil (não é necessária a edição automática do arquivo de configuração).

    
por 05.12.2016 / 01:51