Como reduzir o tamanho da lista de atualização do apt-get em um Release de Desenvolvimento, uma vez que tenha sido liberado como Estável?

5

Eu tenho usado a versão de desenvolvimento do 13.04 desde o início de março. Na versão de desenvolvimento, o comportamento geral da execução do comando sudo apt-get update é fazer o download completo dos arquivos da lista, caso eles tenham sido alterados. Considerando que, se alguém usa a versão estável do Ubuntu, o comando apenas faz o download do diff dos arquivos da lista se eles foram alterados (estilo rsync).

Basicamente, nas versões de desenvolvimento, sudo apt-get update faz download de 17 a 18 MB de dados; enquanto em versões estáveis, apenas 1 MB de dados é baixado (exceto para a execução inicial).

Agora que 13.04 foi lançado como Estável, gostaria de alterar o comportamento de sudo apt-get update para imitar seu comportamento normal em uma versão Estável. Como faço isso acontecer?

Uma pergunta semelhante, mas para o Stable Release, foi perguntada anteriormente no Ask Ubuntu:

No entanto, foi um bug em 12.04 que foi corrigido mais tarde. Mas as respostas dadas lá não são viáveis no meu caso. Para o Ubuntu + 1 não é um bug, é um comportamento geral das versões de desenvolvimento. De qualquer forma, eu iria através das respostas fornecidas lá:

  • A resposta de John S Gruber pergunta para touch os arquivos relevantes antes de eu executar o comando ( sudo apt-get update ) sempre . Definitivamente não é viável no meu caso. Essa resposta foi boa para essa questão, já que foi um bug em 12.04 e forneceu uma correção temporária nessa situação.

  • A resposta de Chan-Ho Suh pede para mudar os espelhos de atualização. Isso não resolveria o problema em uma versão de desenvolvimento.

  • A resposta da Anwar também foi uma solução temporária para essa situação. Ele supõe que eu executaria o comando sudo apt-get update somente após adicionar um PPA e, assim, pedir para desabilitar os outros repositórios. Isso não é viável no meu caso, pois obviamente quero atualizar todos os repositórios. Eu não necessariamente executo este comando somente após adicionar um PPA. Eu corro este comando diariamente para instalar quaisquer atualizações lançadas pela Canonical. Eu uso sudo apt-get update como um substituto para o Centro de Software.

Então aqui está. Como faço para restaurar o comportamento normal do comando sudo apt-get update para baixar apenas o diff dos arquivos alterados? Espera-se que a mesma solução também funcione para o Centro de Software, já que o Centro de Software também consome uma quantidade de largura de banda semelhante se eu atualizar usando-o.

Eu definitivamente não quero reinstalar o 13.04 apenas para restaurar esse comportamento.

Saída de sudo apt-get update caso seja importante:

$ sudo apt-get update
Hit http://dl.google.com stable Release.gpg                                    
Hit http://dl.google.com stable Release                                        
Hit http://ppa.launchpad.net raring Release.gpg                                
Hit http://dl.google.com stable/main i386 Packages                             
Hit http://linux.dropbox.com precise Release.gpg                               
Hit http://ppa.launchpad.net raring Release.gpg                      
Get:1 http://mirror.picosecond.org raring Release.gpg [933 B]        
Hit http://ppa.launchpad.net raring Release                                    
Hit http://linux.dropbox.com precise Release                                   
Get:2 http://mirror.picosecond.org raring-updates Release.gpg [933 B]          
Hit http://ppa.launchpad.net raring Release                                    
Hit http://linux.dropbox.com precise/main i386 Packages                        
Hit http://ppa.launchpad.net raring/main i386 Packages                         
Get:3 http://mirror.picosecond.org raring-backports Release.gpg [933 B]
Ign http://dl.google.com stable/main Translation-en_IN                         
Ign http://dl.google.com stable/main Translation-en                            
Hit http://mirror.picosecond.org raring-security Release.gpg          
Get:4 http://mirror.picosecond.org raring Release [40.8 kB]           
Hit http://ppa.launchpad.net raring/main i386 Packages                       
Get:5 http://mirror.picosecond.org raring-updates Release [40.8 kB]            
Get:6 http://mirror.picosecond.org raring-backports Release [40.8 kB]          
Ign http://linux.dropbox.com precise/main Translation-en_IN                    
Ign http://linux.dropbox.com precise/main Translation-en                       
Hit http://mirror.picosecond.org raring-security Release                       
Get:7 http://mirror.picosecond.org raring/main Sources [963 kB]                
Ign http://ppa.launchpad.net raring/main Translation-en_IN                     
Ign http://ppa.launchpad.net raring/main Translation-en                        
Ign http://ppa.launchpad.net raring/main Translation-en_IN                     
Ign http://ppa.launchpad.net raring/main Translation-en                        
Get:8 http://mirror.picosecond.org raring/restricted Sources [5,987 B]         
Get:9 http://mirror.picosecond.org raring/universe Sources [5,838 kB]          
Get:10 http://mirror.picosecond.org raring/multiverse Sources [171 kB]         
Get:11 http://mirror.picosecond.org raring/main i386 Packages [1,168 kB]       
Get:12 http://mirror.picosecond.org raring/restricted i386 Packages [9,623 B]  
Get:13 http://mirror.picosecond.org raring/universe i386 Packages [5,405 kB]   
Get:14 http://mirror.picosecond.org raring/multiverse i386 Packages [131 kB]   
Hit http://mirror.picosecond.org raring/main Translation-en                    
Hit http://mirror.picosecond.org raring/multiverse Translation-en              
Hit http://mirror.picosecond.org raring/restricted Translation-en              
Get:15 http://mirror.picosecond.org raring/universe Translation-en [3,736 kB]  
Get:16 http://mirror.picosecond.org raring-updates/main Sources [1,616 B]      
Get:17 http://mirror.picosecond.org raring-updates/restricted Sources [14 B]   
Get:18 http://mirror.picosecond.org raring-updates/universe Sources [14 B]     
Get:19 http://mirror.picosecond.org raring-updates/multiverse Sources [14 B]   
Get:20 http://mirror.picosecond.org raring-updates/main i386 Packages [3,331 B]
Get:21 http://mirror.picosecond.org raring-updates/restricted i386 Packages [14 B]
Get:22 http://mirror.picosecond.org raring-updates/universe i386 Packages [1,078 B]
Get:23 http://mirror.picosecond.org raring-updates/multiverse i386 Packages [14 B]
Hit http://mirror.picosecond.org raring-updates/main Translation-en            
Hit http://mirror.picosecond.org raring-updates/multiverse Translation-en      
Hit http://mirror.picosecond.org raring-updates/restricted Translation-en      
Hit http://mirror.picosecond.org raring-updates/universe Translation-en        
Get:24 http://mirror.picosecond.org raring-backports/main Sources [14 B]       
Get:25 http://mirror.picosecond.org raring-backports/restricted Sources [14 B] 
Get:26 http://mirror.picosecond.org raring-backports/universe Sources [738 B]  
Get:27 http://mirror.picosecond.org raring-backports/multiverse Sources [14 B] 
Get:28 http://mirror.picosecond.org raring-backports/main i386 Packages [14 B] 
Get:29 http://mirror.picosecond.org raring-backports/restricted i386 Packages [14 B]
Get:30 http://mirror.picosecond.org raring-backports/universe i386 Packages [508 B]
Get:31 http://mirror.picosecond.org raring-backports/multiverse i386 Packages [14 B]
Hit http://mirror.picosecond.org raring-backports/main Translation-en          
Hit http://mirror.picosecond.org raring-backports/multiverse Translation-en    
Hit http://mirror.picosecond.org raring-backports/restricted Translation-en    
Hit http://mirror.picosecond.org raring-backports/universe Translation-en      
Hit http://mirror.picosecond.org raring-security/main Sources                  
Hit http://mirror.picosecond.org raring-security/restricted Sources            
Hit http://mirror.picosecond.org raring-security/universe Sources              
Hit http://mirror.picosecond.org raring-security/multiverse Sources            
Hit http://mirror.picosecond.org raring-security/main i386 Packages            
Hit http://mirror.picosecond.org raring-security/restricted i386 Packages      
Hit http://mirror.picosecond.org raring-security/universe i386 Packages        
Hit http://mirror.picosecond.org raring-security/multiverse i386 Packages      
Hit http://mirror.picosecond.org raring-security/main Translation-en           
Hit http://mirror.picosecond.org raring-security/multiverse Translation-en     
Hit http://mirror.picosecond.org raring-security/restricted Translation-en
Hit http://mirror.picosecond.org raring-security/universe Translation-en
Ign http://mirror.picosecond.org raring/main Translation-en_IN
Ign http://mirror.picosecond.org raring/multiverse Translation-en_IN
Ign http://mirror.picosecond.org raring/restricted Translation-en_IN
Ign http://mirror.picosecond.org raring/universe Translation-en_IN
Ign http://mirror.picosecond.org raring-updates/main Translation-en_IN
Ign http://mirror.picosecond.org raring-updates/multiverse Translation-en_IN
Ign http://mirror.picosecond.org raring-updates/restricted Translation-en_IN
Ign http://mirror.picosecond.org raring-updates/universe Translation-en_IN
Ign http://mirror.picosecond.org raring-backports/main Translation-en_IN
Ign http://mirror.picosecond.org raring-backports/multiverse Translation-en_IN
Ign http://mirror.picosecond.org raring-backports/restricted Translation-en_IN
Ign http://mirror.picosecond.org raring-backports/universe Translation-en_IN
Ign http://mirror.picosecond.org raring-security/main Translation-en_IN
Ign http://mirror.picosecond.org raring-security/multiverse Translation-en_IN
Ign http://mirror.picosecond.org raring-security/restricted Translation-en_IN
Ign http://mirror.picosecond.org raring-security/universe Translation-en_IN
Fetched 17.6 MB in 3min 46s (77.7 kB/s)
Reading package lists... Done

Conteúdo de /etc/apt/sources.list caso seja importante:

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to

# newer versions of the distribution.
deb http://mirror.picosecond.org/ubuntu/ raring main restricted
deb-src http://mirror.picosecond.org/ubuntu/ raring main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://mirror.picosecond.org/ubuntu/ raring-updates main restricted
deb-src http://mirror.picosecond.org/ubuntu/ raring-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://mirror.picosecond.org/ubuntu/ raring universe
deb-src http://mirror.picosecond.org/ubuntu/ raring universe
deb http://mirror.picosecond.org/ubuntu/ raring-updates universe
deb-src http://mirror.picosecond.org/ubuntu/ raring-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://mirror.picosecond.org/ubuntu/ raring multiverse
deb-src http://mirror.picosecond.org/ubuntu/ raring multiverse
deb http://mirror.picosecond.org/ubuntu/ raring-updates multiverse
deb-src http://mirror.picosecond.org/ubuntu/ raring-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://mirror.picosecond.org/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://mirror.picosecond.org/ubuntu/ raring-backports main restricted universe multiverse

deb http://mirror.picosecond.org/ubuntu/ raring-security main restricted
deb-src http://mirror.picosecond.org/ubuntu/ raring-security main restricted
deb http://mirror.picosecond.org/ubuntu/ raring-security universe
deb-src http://mirror.picosecond.org/ubuntu/ raring-security universe
deb http://mirror.picosecond.org/ubuntu/ raring-security multiverse
deb-src http://mirror.picosecond.org/ubuntu/ raring-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu raring partner
# deb-src http://archive.canonical.com/ubuntu raring partner

## Uncomment the following two lines to add software from Ubuntu's
## 'extras' repository.
## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
# deb http://extras.ubuntu.com/ubuntu raring main
# deb-src http://extras.ubuntu.com/ubuntu raring main
    
por Aditya 25.04.2013 / 19:43

2 respostas

3

O apt na verdade não faz nada diferente entre uma versão de desenvolvimento e uma versão estável.

No entanto, o lançamento em si pára de mudar, e assim o tamanho da lista de pacotes que o apt precisa baixar fica muito menor.

Vamos considerar o Raring como um exemplo.

Durante o desenvolvimento, os compartimentos raring-updates e raring-security permaneceram vazios, mas o pacote raring foi atualizado regularmente (meia hora).

Após o lançamento, o raring pocket parou de mudar. As atualizações agora são enviadas como novos pacotes que entram nos bolsos raring-updates e raring-security .

Do ponto de vista do apt, a lista de pacotes raring foi baixada na íntegra toda vez que apt-get update foi executado durante o desenvolvimento (a menos que tenha sido chamado duas vezes ou mais na janela de meia hora entre atualizações upstream). Esta é uma lista grande, por isso demorou algum tempo.

Agora que o lançamento é liberado, a lista de pacotes raring não é mais alterada. As listas de pacotes raring-updates e raring-security mudam, mas são muito menores, pois contêm apenas pacotes que foram "alterados" no Raring desde o lançamento de Raring.

Eu posso ver esse comportamento em sua saída apt na sua pergunta. Parece como esperado: o raring pocket está apenas recebendo Hit sem download; o Obter contra raring-updates e raring-security corresponde aos downloads reais. Edit: procurando novamente, parece que alguns arquivos estão sendo desnecessariamente baixados novamente; veja minha outra resposta.

Se isso for muito lento para você, considere usar um espelho mais rápido ou descartar a lista bastante grande de PPAs que você tem lá. Você também pode descartar as deb-src linhas de sources.list se não precisar da fonte disponível para apt-get .

Eu não acredito que você veria um comportamento diferente se você tivesse instalado esta versão diretamente.

    
por Robie Basak 10.05.2013 / 20:56
1

Outra possibilidade é que você está usando um espelho que não preserva registros de data e hora, ou um cache de apt local corrompido, fazendo com que o apt baixe arquivos novamente toda vez que não foram realmente alterados no espelho. Tente esta resposta para limpar seu cache local e mude para um espelho que preserva os timestamps.

    
por Robie Basak 10.05.2013 / 21:00