Recuperação de OpenRC e SysVinit em Sabayon Linux

Publicado por Alberto Federman Neto. em 26/03/2014

[ Hits: 5.330 ]

Blog: https://ciencialivre.blog/

 


Recuperação de OpenRC e SysVinit em Sabayon Linux



Introdução

Desde o início do ano de 2013 (ainda na versão 12), o Sabayon Linux tem migrado, pouco a pouco, de OpenRC e SysVinit, para o systemd.

Ocorre que, após as atualizações Rolling Release da semana de 16~22 de Março de 2014, o Sabayon 14.01, perdeu todo o suporte ao SysVinit e OpenRC, e tornou-se systemd puro!

Isso pode ser visto com o comando:

eselect sysvinit list
 systemd

Vê-se que apenas o systemd está presente, em um Sabayon 14.01, totalmente atualizado.

Essa migração completa ao systemd, tem causado problemas em alguns sistemas de hardware.

Por exemplo, em meu AMD Phenon (da faculdade), perde-se o controle do teclado e o monitor só pisca:
E no meu AMD Atlhon X2 (de casa), há vários erros de hardware e de sistema de arquivos XFS (minha /home está em XFS).

Hora, systemd é aperfeiçoado e tem muitos recursos, mas não parece estar estabilizado em Sabayon!

Você, como eu, pode querer voltar a usar os velhos, bons e clássicos OpenRC e SysVinit, e nesta dica, veja como.

Procedimentos

1º Passo: cheque se seus pacotes do SysVinit e do OpenRC, não foram removidos:

equo s openrc sysvinit

Geralmente, não foram, mas se foram removidos, reinstale-os:

# equo i openrc sysvinit

2º Passo: você precisa ter uma instalação de Sabayon antiga, ainda não atualizada e que possua a pasta, diretório /sbin/init.d/sysvinit, removido nos Sabayons com systemd puro.

Eu tenho, porque meus computadores são múltiplo boot.

Para facilitar, para quem não tiver, eu copiei (do Sabayon antigo) minha pasta /sbin/init.d/sysvinit para 64 bits, compactada, na minha área de download público do Dropbox.

Baixe-a, deste endereço e salve-a numa pasta do seu /home:
Salve-a numa pasta do seu /home e expanda com o comando:

# tar -vzxf nomearquivo.tar.gz

3º Passo: agora, você precisa acessar o Sabayon com systemd puro (o que não dá boot) a partir do boot de outro GNU/Linux do HD ou de um Live CD, e fazendo chroot.

Se não souber como fazê-lo, veja as instruções aqui:
4º Passo: cuidadosamente, como root e sem alterar as permissões, copie a pasta sysvinit que obteve no 2º Passo, para o diretório /sbin/init.d/ do Sabayon com systemd puro (que no original, não deve mais tê-la!).

Não altere nada da pasta destino, nem remova a pasta systemd. Precisa ficar assim:
Linux: Recuperação de OpenRC e SysVinit em Sabayon Linux

5º Passo: ainda sob chroot, verifique se o suporte a SysVinit foi restaurado, com o comando abaixo, deve estar assim:

eselect sysvinit list
 Available init implementations:
  [1]  systemd *
  [2]  sysvinit


Configure seu Sabayon para voltar a usar o SysVinit e o OpenRC, com o comando:

# eselect sysvinit set 2

6º Passo: feche o terminal chrooted, a sessão, reinicie o computador. Deverá ter o boot normal, em SysVinit/OpenRC.

Se ainda assim não tiver boot, edite (como root) o arquivo do GRUB 2, /boot/grub/grub.cfg:
E troque uma linha de boot de kernel (cheat code) existente nele (de "init=" ou "real_init="):
real_init=/usr/lib/systemd/systemd ou real_init=/bin/systemd
Por:

real_init=/linuxrc

Ou, se ainda não funcionar, por:

real_init=/sbin/init.d/sysvinit/init

7º Passo: proteja seu SysVinit e OpenRC, mascarando o pacote de systemd, para que não seja atualizado:

# equo mask sys-apps/systemd

Conclusão

Deste modo, podem seguir usando SysVinit e OpenRC, enquanto aguardam o aperfeiçoamento ou estabilização do systemd.

Espero ter ajudado os outros usuários de Sabayon, que perderam o boot de seus sistemas, após as atualizações.

Outras dicas deste autor

Protegendo e restaurando arquivos de configuração do Linux

GTK-Splitter - Dividindo arquivos grandes em partes menores com facilidade

Rescatux e SuperGRUB2 - Recuperação emergencial de boot e/ou de GRUB

Firefox - Melhorando o áudio e o vídeo

Diminuindo tamanho de imagens (truques simples)

Leitura recomendada

Instalando o CWP (CentOS Web Panel)

Instalando DHCP/Squid/Sarg no Ubuntu

Dual boot: Qualquer distribuição GNU/Linux + Windows 8

Som no Flash + Firefox + Slackware

Criando imagens com IA via terminal

  

Comentários
[1] Comentário enviado por albfneto em 26/03/2014 - 09:16h

COMPLEMENTOS DA DICA:

Atualizado até 27 de Junho de 2017.

Obsolência da Dica..... OBSOLETA. Nos Sabayons novos, 17 e posteriores, não é mais possível trabalhar sem Systemd, neles! Está muito dependente,

1) Procedimento 2015-2016:

Para os Sabayons mais novos, versão 15 e posteriores, o UDEV está dentro do pacote Systemd, portanto é necessário desmascarar o pacote e instalar sem as dependências. Veja as modificações do procedimento acima em:

http://www.vivaolinux.com.br/dica/Linux-avancado-Controle-de-inicializacao-em-Sabayon-Linux/

2)Voltando ao Systemd puro

Se você verificou que o Systemd estabilizou, ou quer testar o Systemd novamente, proceda da seguinte maneira.

Não apague o diretório Sysvinit.

Atualize o Sabayon e simplesmente, desmascare e re-instale o Systemd:

# equo unmask sys-apps/systemd
# equo i sys-apps/systemd

Regule o Sabayon para usar systemd:

# eselect sysvinit systemd OU
# eselect init systemd

feche a sessão e faça reboot.

De fato, no momento estou usando Systemd no Phenon e Sysvinit e OpenRC no Atlhon.

3) MUITO IMPORTANTE....ESSENCIAL Para quem usa OpenRC e Sysvinit, como na Dica

Necessário mascarar os pacotes do Sysvinit e do OpenRC:

# equo mask sysvinit openrc

Após a versão 13, o suporte a OpenRC e Sysvinit foi totalmente removido! Vejam:

.....................................
(eselect sysvinit list
!!! Error: Can't load module sysvinit
exiting
.....................................

Tambem mascare o pacote sabayon-versiom, pois é dependência reversa?

Substitua o passo 7o da Dica, por estes comandos:

# equo i sys-apps/sysvinit-2.88-r10
# equo mask openrc
# equo mask sysvinit
# equo mask systemd-sysv-utils
# equo mask systemd
# equo mask sabayon-version

Se NÂO MASCARAR "sabayon-version" (ultimo comando anterior) qualquer versão que entre, mesmo instalada com opção sem dependências, Ex.

NÂO FAÇA: # equo i -av --nodeps sabayon-version

Levará embora os pacotes tanto do Sysvinit, como do openrc, mesmo mascarados! A partir do momento em que o pacote "sabyon-version" não é essencial, é cosmético. Não o atualize!

Caso seja necessário re-instalar o pacote sysvinit (versão não 1000, não virtual), ele
não está mais nos repositórios.Baixe-o de meu dropbox:

https://www.dropbox.com/s/gjf7txbrq8ea9uh/sys-apps_sysvinit-2.88-r10.6d34e7cf3fc2c72add5af65386bb159...

e instale seguindo estes tutoriais:

http://www.vivaolinux.com.br/dica/Instalacao-de-pacotes-em-sistemas-Sabayon-sem-acesso-a-rede
http://www.vivaolinux.com.br/artigo/Como-criar-pacotes-para-o-Gentoo-ou-Sabayon-Linux

Se ao fazer depois, uma atualização normal, receber mensagens de que algum pacote de INIT estiver mascarado, proceda a atualização com opção sem dependências:

# equo u --pretend (e verifique),depois
# equo u --nodeps

4) Para usar Sabayon-Version:

No Item 2 acima,vimos que o pacote "Sabayon-Version" precisa ser mascarado,porque depende do systemd e removeria o sysvinit.

Ele é Cosmético, lista a versão de Sabayon etc..., não é essencial, mas supondo que queira muito usar, proceda como abaixo.

Mascare no Portage, o Sysvinit, para que não seja mais mexido.

para isso, edite o arquivo /etc/portage/package.mask e coloque esta linha:

sys-apps/sysvinit

para garantir, o mascare também no Entropy:

# sudo equo mask sysvinit

feito isso, desmascare o sabayon-version:

# equo unmask sabayon-version

Agora instale Sabayon version, sem dependências de systemd:

# LINGUAS="pt_BR" USE="-systemd -systemd-sysv-utils" emerge -av --nodeps sabayon-version


Compilado e instalado, verifique, deve ficar assim:

$ emerge -s sysvinit sabayon-version

Searching...
[ Results for search key : sysvinit ]
[ Applications found : 1 ]

* sys-apps/sysvinit [ Masked ]
Latest version available: 1000
Latest version installed: 2.88-r10
Size of files: 0 kB
Homepage: http://www.sabayon.org
Description: Virtual package for allowing smooth systemd transition
License: GPL-2

Searching...
[ Results for search key : sabayon-version ]
[ Applications found : 1 ]

* app-misc/sabayon-version
Latest version available: 14.05-r1
Latest version installed: 14.05-r1
Size of files: 0 kB
Homepage: http://www.sabayon.org
Description: Sabayon system release virtual package
License: GPL-2

Finalmente, remascare os pacotes no Entropy:

# equo mask sysvinit sabayon-version

3) Por causa dessas máscaras, precisa lembrar sempre de atualizar sem as dependências,ou não conseguirá atualizar:

# equo u --nodeps

Se remover as máscaras, seu Sabayon irá para Systemd novamente, automáticamente.

Desejando instalar um dos pacotes mascarados, momentânenamente, tire a máscara e tente instalar sem as dependências:

# equo unmask sabayon-version
# equo i sabayon-version --nodeps --pretend
# equo i sabayon-version --nodeps
# sudo equo mask sabayon-version

Se ao verificar, mesmo assim ele vai instalar com as dependências, então opte por não instalar ou instale com Portage, como acima, em 2, regulando as USE Flags adequadas.

5) Como sabem pela Dica,precisei manter OpenRC e sysvinit em um dos meus Sabayons.

O sistema perdeu o "symlink" e começou a vincular o KDE, dkm, etc... a um "systemd" novo e inexistente (mesmo que mascarado, como visto acima).

Como se soluciona? É relativamente Simples...

em ambiente Chrooted:

http://casadopinduvoz.wordpress.com/2014/04/08/fazer-chroot-no-ubuntu/

momentâneamente, se desmascara o pacote do systemd, se instala a versão nova e a seguir, deve-se remascarar o systemd.

O todo pode ser feito com os comando:

# equo up
# equo unmask systemd
# equo rm --nodeps systemd
# equo i -p --nodeps systemd
# equo i -av --nodeps systemd
# equo mask systemd

6) Aqui um extenso tutorial de como usar OpenRC nas distros que tem Systemd.

O Tutorial é para Gentoo e Manjaro, mas pode ser usado em Sabayon, Arch e até outras Distros.

https://wiki.manjaro.org/index.php?title=OpenRC,_an_alternative_to_systemd





Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts