Está usando o Software Updater a mesma coisa que executar o apt-get update e o apt-get upgrade?

22

Parece que isso deveria ser verdade, mas eu queria ter certeza. Obrigado!

    
por zandm7 21.10.2013 / 08:03

3 respostas

20

Resposta curta

Não, eles não são iguais. apt-get upgrade não suporta mudanças de dependências entre versões, portanto, se um pacote tiver alterado dependências, ele não será atualizado (ele será "retido"). Veja a resposta longa para mais detalhes.

Usar o Software Updater e usar sudo apt-get update ; sudo apt-get dist-upgrade (note o dist- ) seria quase equivalente, exceto que obviamente é um GUI e o outro é um aplicativo de console e também alguns muito informativos menores diferenças.

Long asnwer

Em man apt-get ,

  • apt-get upgrade :

    upgrade
               upgrade is used to install the newest versions of all packages
               currently installed on the system from the sources enumerated in
               /etc/apt/sources.list. Packages currently installed with new
               versions available are retrieved and upgraded; under no
               circumstances are currently installed packages removed, or packages
               not already installed retrieved and installed. New versions of
               currently installed packages that cannot be upgraded without
               changing the install status of another package will be left at
               their current version. An update must be performed first so that
               apt-get knows that new versions of packages are available.

    (ênfase de mim)

    Isso significa que uma versão mais nova de um pacote que tenha uma nova dependência não necessária na versão antiga não será atualizada com esse método (a menos que a nova dependência já tenha sido instalada). Estes serão mostrados como "Retaguarda".

  • apt-get dist-upgrade :

    dist-upgrade
           dist-upgrade in addition to performing the function of upgrade,
           also intelligently handles changing dependencies with new versions
           of packages; apt-get has a "smart" conflict resolution system, and
           it will attempt to upgrade the most important packages at the
           expense of less important ones if necessary. The dist-upgrade
           command may therefore remove some packages. The
           /etc/apt/sources.list file contains a list of locations from which
           to retrieve desired package files. See also apt_preferences(5) for
           a mechanism for overriding the general settings for individual
           packages.

    (ênfase de mim)

    Isso significa que com este comando, em vez de upgrade , os pacotes com dependências novas (ou removidas) podem ser atualizados.

Exemplo

Um bom exemplo da diferença entre os dois é quando um novo kernel Linux é lançado. Isso é empacotado no pacote linux-image-generic , que sempre depende do pacote mais recente do kernel do Linux. Como as dependências de linux-image-generic mudam com cada atualização do kernel, upgrade não atualizará.

    
por kiri 21.10.2013 / 08:33
3

É quase o mesmo, mas não exatamente. Por exemplo, quando as atualizações do kernel são oferecidas, sudo apt-get update && sudo apt-get dist-upgrade é necessário para obter essas atualizações.

sudo apt-get update && sudo apt-get upgrade dirá que alguns pacotes foram retidos.

Usar o Software Updater torna tudo perfeito e você não vê nada retido.

    
por user25656 21.10.2013 / 08:19
0

Com apt disponível, atualizações em fases ( mencionado por pabouk ) são a diferença mais saliente entre atualizando com o Atualizador de Software e a linha de comando.

Hoje em dia, o utilitário apt - que não existia quando esta questão foi publicada mas provavelmente teria sido incluído na pergunta se tivesse - é uma alternativa cada vez mais popular para apt-get para atualizar pacotes. Eles são semelhantes: o mesmo pacote (também chamado apt ) fornece ambos , e tudo o que o apt pode fazer, os utilitários apt- tradicionais também podem, embora em alguns casos você tenha que passar opções de configuração especiais. Mas apt está mais próximo que apt-get do Atualizador de Software. Como o Atualizador de Software, sudo apt upgrade é capaz de instalar novos pacotes quando a nova versão de um pacote existente os declara como dependências.

Portanto, atualmente, os usuários preocupados com essa distinção podem executar sudo apt upgrade em vez de sudo apt-get upgrade se quiserem que novas dependências sejam instaladas automaticamente. Conseqüentemente, o recurso do Atualizador de Software de atrasar um pouco as atualizações, para determinar se estão estáveis e limitar os danos se não estiverem, é provavelmente a diferença principal entre usar o Atualizador de Software e atualizar na linha de comando .

Este comportamento do Atualizador de Software é devido à política de atualizações em fases . Essa política - implementada no Atualizador de Software mas não em apt-get (ou apt ) - tem sido uma das principais diferença entre os dois métodos desde a política foi introduzida , e pabouk comentou sobre isso há alguns anos :

  

Há outra diferença: apt-get não usa PhasedUpdates para que, às vezes, o Atualizador de Software mostre menos atualizações do que apt-get . Consulte Por que o Atualizador de Software Diz Não há atualizações disponíveis, mas o apt-get upgrade Mostra as atualizações disponíveis? .

- pabouk 25 de fevereiro de 2015 às 7:34

Essa sempre pode ter sido a diferença mais significativa, pois sempre é possível executar sudo apt-get dist-upgrade quando se deparar com a falta de vontade da ação upgrade de instalar novos pacotes ou desinstalar os já existentes. No entanto, ao atualizar a partir da linha de comando, a importância relativa das atualizações em fases aumenta com apt :

  • Como apt-get , o comando apt baixará e instalará as atualizações, mesmo que elas sejam atrasadas devido à política de atualizações em fases, se o Atualizador de Software tiver sido usado.
  • Mas ao contrário apt-get , a apt action do upgrade do comando instalará novos pacotes que não foram instalados anteriormente, mas são necessários como dependências para novas versões do pacote .

Além de (a) preferir uma interface gráfica e (b) sua integração de desktop fornecendo notificações quando as atualizações estão disponíveis, a principal razão atual pode-se usar o Atualizador de Software que é a maneira mais fácil de participar de atualizações por fases.

    
por Eliah Kagan 31.08.2017 / 00:17