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.

Cursos introdutórios oferecidos gratuitamente pela Red Hat

Redhat_logo

A Red Hat Inc. está oferecendo sete cursos introdutórios sobre temas como micro serviços, contêineres, virtualização, automação e linux, todos ligados a produtos por ela suportados, como o Red Hat Enterprise Linux, Red Hat OpenStack e Ansible.

Os treinamentos estão acessíveis através de uma página que concentra os links para a realização de inscrição nos cursos desejados e, em alguns casos, redirecionando inclusive para outras plataformas de educação, como a já conhecida edX, por exemplo. Os cursos disponibilizados são os seguintes:

  • RH024 – Red Hat Enterprise Technical Overview
  • RH018 – Virtualization and Infraestructure Migration Overview
  • RH066x – Fundamentals of Red Hat Entreprise Linux
  • CL010 – Red Hat OpenStack Tecnical Overview
  • DO007 – Ansible Essentials Simplicity in Automation Technical Overview
  • DO080 – Deploying Containerized Applications Technical Overview
  • DO092 – Deploying Cloud-Native Applications with Microservices Architectures

A maioria dos cursos tem curta duração, podendo ser vistos em apenas algumas horas e, por isso, após a inscrição o usuário tem até 30 dias para conclusão dos mesmos. A exceção fica por conta do curso RH066x, que tem o acesso permitido por 9 semanas junto a edX, além da opção de aquisição do certificado verificado, não obrigatório, pagando uma taxa de U$99 (noventa e nove dólares americanos).

Para terem uma noção de como estes são estruturados, o primeiro dos cursos oferecidos contém na grade 15 vídeo aulas, com uma duração total de 2 horas e 23 minutos. Há possibilidade de habilitação de legendas, porém nesse curso eu só pude ver a opção em inglês. Também não me foi oferecido um certificado de participação ao final deste, ficando a obtenção do conhecimento como vantagem. As aulas do curso RH024 – Red Hat Enterprise Technical Overview são as seguintes:

  1. Why Do IT Professionals Need Experience with Linux? (Porque profissionais de TI precisam de experiência com Linux?)
  2. Why Does the Open Source Development Model Matter? (Porque o modelo de desenvolvimento Open Source importa?)
  3. What is a Linux Distribution? (O que é uma distribuição Linux?)
  4. What is the Shell and How is it Used to Control Programs? (O que é o Shell e como ele é usado para controlar programas?)
  5. What is the Linux Kernel and What is User Space? (O que é o Kernel Linux e o que é o Espaço de Usuário?)
  6. Orientation to the Linux Graphic User Interface (Orientação para a interface gráfica Linux)
  7. Files in Linux (Arquivos em Linux)
  8. The File System Hierarchy (A hierarquia do sistema de arquivos)
  9. Editing Text Files in a Terminal (Editando arquivos texto em um terminal)
  10. Users and Groups (Usuários e grupos)
  11. File Permissions ( Permissões de arquivos)
  12. How Do I Manage Software in Red Hat Enterprise Linux? (Como eu gerencio aplicativos no Red Hat Enterprise Linus?)
  13. How Do I Configure Networking from the Command Line?(Como eu configuro a rede a partir da linha de comando?)
  14. How Do I Control System Startup Processes? (Como eu controlo o processo de inicialização do sistema?)
  15. How Do I Learn More About Linux? (Como eu aprendo mais a respeito do Linux?)

Confesso que achei o conteúdo bem interessante, mesmo para um curso introdutório, chegando a aprender coisas que não imaginava serem possíveis, mesmo sendo tão óbvias, portanto acredito que seja uma grande oportunidade de aprender mais sobre as tecnologias atualmente em uso pelas empresas, além de ampliar os conhecimentos e melhorar o entendimento a respeito de produtos comerciais baseados em tecnologias livres. Aproveitem!