Slackware Linux – Notícias sobre o desenvolvimento. Março, 2019.

Slackware logo

Mais novidades adicionadas à arvore -current da Slackware Linux e, como sempre, uma das mais chamativas se refere às sucessivas atualizações e testes de versões do kernel Linux, disponibilizado agora em sua variante 4.19.27, sendo a mais recente versão longterm disponível no momento em que escrevo este post.

Outras atualizações importantes incluem o interpretador de comandos bash, disponibilizado em sua versão 5.0.002, um novo conjunto de certificados digitais das autoridades certificadoras, permitindo a validação de conexões SSL, disponível junto ao pacote ca-certificates-20190308, uma nova versão do servidor de e-mails postfix, agora 3.4.1, novo pacote também do cliente de e-mails Thunderbird, disponibilizado em sua versão 60.5.3, entre outras novidades.

Para acompanhar as mais recentes atualizações oficiais para a Slackware Linux, acessem a página de changelog da distribuição. Caso possam contribuir financeiramente para a manutenção da mesma, podem utilizar o link para a conta do Patrick, criador e principal mantenedor da distro, junto ao PayPal.

Anúncios

Slackware Linux 14.2 – Reinstalando o VirtualBox 6.0.4 após upgrade do kernel

Slackware logo

Olá pessoal! Passando para compartilhar uma solução de contorno, que visa reparar a instalação do VirtualBox junto a Slackware Linux, após a recente atualização de segurança disponibilizada para o kernel Linux, junto a versão 14.2 da distribuição.

Após a instalação dos pacotes atualizados e tentativa de reinstalação do VirtualBox, a partir do binário disponibilizado pela Oracle junto ao site da aplicação, o mesmo afirma que a instalação foi realizada, porém apresentando erros que devem ser consultados através do arquivo de log.

Ao verificar o conteúdo do arquivo /var/log/vbox-setup.log, encontrei os seguintes erros:

$ tail -n 50 /var/log/vbox-setup.log

scripts/Makefile.build:277: recipe for target ‘/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o’ failed
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs….
if [ “-pg” = “-pg” ]; then if [ /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o != “scripts/mod/empty.o” ]; then ./scripts/recordmcount “/tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.o”; fi; fi;
if [ “-pg” = “-pg” ]; then if [ /tmp/vbox.0/r0drv/linux/assert-r0drv-linux.o != “scripts/mod/empty.o” ]; then ./scripts/recordmcount “/tmp/vbox.0/r0drv/linux/assert-r0drv-linux.o”; fi; fi;
if [ “-pg” = “-pg” ]; then if [ /tmp/vbox.0/r0drv/linux/alloc-r0drv-linux.o != “scripts/mod/empty.o” ]; then ./scripts/recordmcount “/tmp/vbox.0/r0drv/linux/alloc-r0drv-linux.o”; fi; fi;
if [ “-pg” = “-pg” ]; then if [ /tmp/vbox.0/linux/SUPDrv-linux.o != “scripts/mod/empty.o” ]; then ./scripts/recordmcount “/tmp/vbox.0/linux/SUPDrv-linux.o”; fi; fi;
if [ “-pg” = “-pg” ]; then if [ /tmp/vbox.0/r0drv/linux/mp-r0drv-linux.o != “scripts/mod/empty.o” ]; then ./scripts/recordmcount “/tmp/vbox.0/r0drv/linux/mp-r0drv-linux.o”; fi; fi;
Makefile:1436: recipe for target ‘_module_/tmp/vbox.0’ failed
make[1]: *** [_module_/tmp/vbox.0] Error 2
/tmp/vbox.0/Makefile.include.footer:106: recipe for target ‘vboxdrv’ failed
make: *** [vboxdrv] Error 2

As linhas que nos interessam são justamente as que aparecem mais acima, no log:

scripts/Makefile.build:277: recipe for target ‘/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o’ failed
make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs….

Com base nesse erro, busquei por informações na Internet, e encontrei uma postagem em um blog, cujo autor já havia enfrentado o mesmo problema, postando a solução de contorno para o mesmo.

Para corrigir o erro, precisamos editar o arquivo referenciado, alterando a versão do kernel disponível no script:

$ vi /usr/src/vboxhost-6.0.4/vboxdrv/r0drv/linux/memobj-r0drv-linux.c

Substitua a versão destacada em vermelho, em três locais diferentes no arquivo:

if GET_USER_PAGES_API >= KERNEL_VERSION(4, 9, 0)

fWrite ? FOLL_WRITE | /* Write to memory. */

FOLL_FORCE /* force write access. */

: 0, /* Write to memory. */

Deixando com esta versão:

if GET_USER_PAGES_API >= KERNEL_VERSION(4, 4, 168)

fWrite ? FOLL_WRITE | /* Write to memory. *

/ FOLL_FORCE /* force write access. */

: 0, /* Write to memory. */

Agora basta executar o comando para configurar o VirtualBox novamente, e este compilará sem erros:

# /sbin/vboxconfig

Para acessar o artigo original, siga o link para o SlackBlogs – Unofficial Blog for Slackware Linux.

Slackware Linux 14.2 – Atualização de segurança. Janeiro, 2019.

Slackware logo

Encerrando as atualizações de segurança para o mês de janeiro, a Slackware Linux disponibilizou novos pacotes do kernel Linux, especificamente para a versão 14.2 da distribuição.

Esse upgrade visa mitigar vulnerabilidades menores, aplicando as correções disponibilizadas nas revisões 4.4.159, 4.4.160, 4.4.163, 4.4.164, 4.4.167, 4.4.168, 4.4.169, 4.4.170, 4.4.171 e 4.4.172 do kernel Linux, cobrindo um total de 31 falhas de segurança corrigidas.

É sempre uma boa prática a atualização dos sistemas e aplicações em uso nos ambientes computacionais, principalmente quando se tratam de upgrades relacionados a segurança, mitigando os riscos de exploração das vulnerabilidades corrigidas.

Pacotes para sistemas de 32 ou 64 bits da distribuição, já podem ser baixados e instalados a partir dos repositórios oficiais.

Vale lembrar que é necessária a execução do lilo em sistemas que utilizem a BIOS para a inicialização, bem como o elilo para sistemas que utilizem UEFI, atualizando as imagens do kernel para os locais corretos.

A reinicialização também é recomendada, portanto escolha a janela de atualização apropriada, para os casos de utilização em ambientes de produção.

Mais detalhes referentes à atualização podem ser vistos através deste link, na página oficial da Slackware Linux.