Eustáquio Rangel

Desenvolvedor, pai, metalhead, ciclista

Atualizando o seu Slackware com glibc nova

Publicado em GNU/Linux


Essa semana apareceram bastante atualizações do Slackware, as quais pude detectar com o meu aplicativo Slackcurrent. Antes que aparecesse alguém por aí dizendo "ei, eu usei essa @#$@#$@# de aplicativo e meu sistema nem me deixa fazer login mais" (como já apareceu um ou dois perdidos por aí), gostaria de explicar que o Slackcurrent somente gera uma lista dos arquivos que precisam ser atualizados ou que sejam novos. Se você faz o download dos arquivos e sai instalando a torto e direito, já não é problema do aplicativo.

Houston, we have a problem.

Depois de tirar o meu da reta dessa maneira, deixem confessar uma coisa: eu mesmo hoje baixei os pacotes que precisavam de atualização e apesar de notar que a glibc estava lá no meio, dei uma de tonto e mandei atualizar tudo de uma vez. Dã. Lá se foi a estabilidade da minha máquina, deixando bem claro, por culpa da anta aqui (nada contra as antas).

O que aconteceu foi o seguinte: tem uma duplinha de dois (argh) entre a glibc e o bash. Sabe Deus a razão, alguma coisa da glibc e/ou do bash não foi atualizada direito (novamente, eu marquei bobeira) e começaram a pipocar mensagens de erros no momento que eu rodava o upgradepkg, me alertando que o bash precisava de uma lib da GLIBC_2.4 mas não a estava encontrando. Como tudo começou a ficar meio estranho, decide reiniciar (coisa que faço muito raramente na máquina lá do serviço, que pecado) e ver o que acontecia. Simplesmente não conseguia fazer mais login, pois qualquer shell não conseguia ser carregado!

Nessas horas a gente xinga a pressa e a bobeira, mas é aquele ditado, não adianta chorar sobre o leite derramado ... então mãos à obra. Bootei com um live CD que tinha mais perto (no caso, o Edubuntu, que eu fiz uma cópia para levar na escolinha da minha filha para eles verem), montei a partição do disco com os arquivos do sistema e, erguendo as mãos para o céu pelo fato dos pacotes do Slackware serem apenas arquivos no formato tgz, comecei a descompactar os arquivos da glibc e do bash, verificando o script de atualização que vem junto com o pacote e manualmente movendo os arquivos para os lugares certos e criando os links simbólicos.

Tal trabalho Hercúleo mereceu as dádivas: a máquina me deixou fazer o login após o boot, onde executei upgradepkg --reinstall para os pacotes que ficaram meio suspeitos.

O jeito certo

Depois de contar toda essa ladainha para vocês ficarem apavorados com medo de fazer bobeira (ou rindo da minha cara, pode vai, depois dessa ...), aqui vai o modo correto de fazer atualizações com partes críticas no sistema e que acabei de fazer aqui na máquina de casa e está funcionando tudo às mil maravilhas, inclusive com o XFCE 4.4, eita trequinho leve e bonito.

O esquema é escutar quem manja da coisa. Para dar uma resumida (lembrando que quando digo para atualizar o pacote, é somente se tiver uma versão mais nova disponível):

  1. Vá para o modo monousuário usando telinit 1
  2. Atualize o pacote glibc-solibs
  3. Atualize o pacote pkgtools
  4. Atualize o pacote sed
  5. Atualize o pacote aaa_base
  6. Atualize o pacote fontconfig
  7. Atualize o resto dos pacotes
  8. Verifique se há algum arquivo *.new que mereça atenção em /etc/rc.d/, se houver, verifique o que deve ser feito (muita atenção com o udev
  9. Execute o LILO e veja se está tudo ok
  10. Retorne para o modo multiusuário com telinit 3 ou reinicie o computador para ver se está tudo ok no boot

Importante: o que escrevi acima são dicas e não garantia de que o seu sistema não possa sofrer alguma coisa maluca depois de atualizados pacotes sensíveis. se você está mexendo no current do Slackware, deve saber o que está fazendo ou pelo menos quais os riscos da coisa.

Para finalizar, para conseguir rodar o XFCE 4.4 eu tive que instalar alguns pacotes novos. Eles são:

Esses dois últimos foram para rodar o xwmconfig, que foi parar ali no x11-skel. Também tive que limpar o diretório ~/.cache.




Comentários

Comentários fechados.

Sem nenhum comentário.

Artigos anteriores