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
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):
- Vá para o modo monousuário usando telinit 1
- Atualize o pacote glibc-solibs
- Atualize o pacote pkgtools
- Atualize o pacote sed
- Atualize o pacote aaa_base
- Atualize o pacote fontconfig
- Atualize o resto dos pacotes
- 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
- Execute o LILO e veja se está tudo ok
- 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:
- which
- libxcb
- dbus
- iceauth
- gamin
- x11-skel
- dialog
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
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300