Salada mista de Linux
Derrubando os tabus entre distribuições Linux, fazendo uma salada e usando pacotes de todas as distros que você quiser, é isso o que faço, dá mais dor de cabeça, mas é um belo exercício para aumentar seu conhecimento em Linux.
Introdução
Muitas vezes eu tinha um CD de instalação do Conectiva Linux 9
e percebia que o CD 2 estava corrompido por eu ter deixado
arranhar oi coisa assim, ou mesmo via que a minha distro já
estava desatualizada para aquele ano.
Infelizmente em informática tudo é assim: está bom hoje, amanhã não vale mais nada. O que fazer? Atualizar tudo com o apt? Não! Afinal é lento, toma muita banda e ainda de quebra por um erro na conexão ou TCP/IP, o download de horas pode ir por água abaixo e deixar o sistema danificado de uma maneira especial que só o apt sabe fazer...
Bom, o que eu fiz então numa situação dessa? Me preparei com minhas armas: rpm -ihv --nodeps --root /lugarzinho, CD de boot do RedHat 9, disquete de boot do Slackware (ótimos pra manutenção), pkgtool (Slack), conexão com a internet, esperteza e força de vontade.
Pode parecer loucura juntar tudo isso pra atualizar algumas coisas, mas com certeza lhe dará bastante experiência! Primeira coisa a fazer, ir no ftp do Slackware (ftp.slackware-brasil.com.br) "roubar" o pacote pkgtool mais atual ou quase do mesmo, jogá-lo no raíz e depois dar um "tar zxvf /pkgtool.tgz", em seguida execute o install/doinstall dele ou algo parecido que ele deixa lá no /. Pronto, agora você pode instalar pacotes tgz do Slack no seu conectiva com alguns cuidados.
Por que eu instalei o pkgtool? Simples, após algumas atualizações severas o seu RPM "burro" (não estático) vai falhar e gerar coisas absurdas, então pra não ficar na mão, é melhor e preventivo ter um outro gerenciador de pacotes instalado na máquina.
Eu por exemplo tive que instalar o RPM do Slack 10 no meu Conectiva Linux pra ele voltar a funcionar depois de algumas atualizações dessas. Um bom começo aventureiro e temerário é atualizar a libc do sistema (se seu sistema for muito antigo, não faça isso). Bom, fui no maravilhoso site buscador de pacotes RPMS, o www.rpmfind.net e procurei glibc, achei um monte de várias distros, escolhi a glibc-2.3.4-8mdk do Mandrake, apenas tomei o cuidado de ser compatível com meu processador e me certifiquei de que o pacote tinha de 2 a 5 MB de tamanho, acima desse tamanho pode ser outras coisas que não nos interessa, não tem problema que ele não seja para Conectiva, só não recomendo instalar pacotes do Fedora Core.
Pronto, após ter baixado a glibc, a deixei no raíz e dei um reboot na máquina, em seguida entrei com o meu CD de instalação do RedHat 9 na máquina e deixei ele rodar no modo texto. Pulei a fase onde ele pergunta se quer testar as mídias, depois na segunda tela fui para o tty2 (alt+F2), ali tem uma shell aberta, fiz um diretório qualquer e montei meu HD nele, encontrei dentro do hd o pacote que eu havia baixado e executei um bem esdrúxulo "rpm -ihv --nodeps --force pacote.rpm --root /mnt/diretório" (use --noscripts também se não der certo). Enfim, mandei o rpm negar uma porção de fatores para conseguir instalar o pacote onde --root determinou, deu uns erros, mas tudo ocorreu bem. Saí da pasta do hd, desmontei-o com umount (super importante isso) e rebootei, deu tudo certo.
Depois disso o RPM do Conectiva ficou dando falhas, lá fui eu no ftp do Slack de novo baixar o RPM do Slack 10 e aproveitei para pegar furtivamente todo o KDE, pois o KDE do Conectiva não era tão moderno. Instalei o rpm.tgz do Slack, mas ficaram faltando dependências. Procurei pelas dependências que faltavam uma a uma no rpmfind.net e via o nome dos pacotes que ela fazia parte. Imediatamente procurava os mesmos pacotes ou com nomes parecidos no Slack 10. Fiz isso e o RPM do Conectiva passou a funcionar, depois disso fui apagar o KDE do Conectiva (rm -rf /usr/lib/kde3* /usr/lib/Qt* ).
Depois fui para a pasta onde eu tinha deixado todos pacotes do KDE do Slack e usei apenas installpkg *.tgz , a instalação ocorreu bem, apenas faltava algumas libs, fiz o mesmo esquema acima, mas dessa vez procurava pacotes de libs apenas para CL 9 ou 10, se não tivesse iria qualquer distro Linux, mesmo com uma versão lançada em anos iguais, deu certo, o KDE funcionou! Não recomendo esses passos para o Gnome, pois o mesmo é mais instável e "cricri".
Minha próxima saga seria atualizar o kernel de 2.4 pra 2.6, nisso eu quebrei muito a cabeça, fazia tudo que mandavam e o kernel 2.6 não subia nem com reza braba, dava erro de pivotroot (initrd) ou mount error 19 sempre. Descobri que não era porque eu não usava partição de boot, mas sim por eu ter feito o initrd com o modutils (pacote velho) ao invés de ter usado o module_init_tools (pacote novo).
Instalei então o module_init_tools, mas pra minha decepção descobri que o mesmo pacote não sobrescrevia o pacote antigo e sim gerava binários com o sufixo -25: insmod-25, modprobe-25, etc. Movi os pacotes -25 para os seus nomes corretos, sobrescrevendo assim os antigos e tomando cuidado para excluir os atalhos do modutils antes.
Baixei o mkinitrd do CL 10 e instalei também. Depois de tudo isso fiz o novo initrd pro meu novo kernel, rebootei e não deu certo, o problema era o tal de pivotroot, me lembrei que havia apagado a pasta /initrd , criei a tal pasta e também fiz a pasta /sys e o kernel funcionou.
Abandonei o RedHat 9, pois o mesmo não aceitava essas saladas que eu faço em meu Linux de forma tão eficiente como é feito no Conectiva Linux 9.
Hoje posso dizer que meu Conectiva Linux é versão 10. Gostaria de dizer que o disquete do Slackware é bem eficaz naquelas horas em que o kernel cisma de não dar partida, para usá-lo, bastar colocá-lo no drive e digitar no prompt de espera de boot:
mount root=/dev/hda1
Considerando que seu raíz esteja em hda1. Daí será possível entrar no sistema para fazer uma manutenção ou se preferir deixe os dois disquetes de boot do Slack carregarem sem mudar nenhum parâmetro e entre no seu raíz para vasculhar o que aconteceu, lembrando que sempre que acabar de fazer isso deve-se desmontar o raíz.
Bom, assim é que eu mexo com meu Linux, ele é livre e permite tudo isso, pois suas características flexíveis herdadas do Unix dão uma variedade de tipos de configurações e alternativas.
Sempre procuro um pacote que seja de uma distro mais parecida com a minha ou com uma versão de mesmo lançamento, o apt eu definitivamente não uso, pois se usá-lo da forma como meu sistema está, ele quebraria todo meu sistema tentando deixar resolver as dependências automaticamente.
Se alguém aqui também faz isso (salada mista), gostaria de saber.
Você pode achar pacotes de várias distros pra fazer sua salada em:
Infelizmente em informática tudo é assim: está bom hoje, amanhã não vale mais nada. O que fazer? Atualizar tudo com o apt? Não! Afinal é lento, toma muita banda e ainda de quebra por um erro na conexão ou TCP/IP, o download de horas pode ir por água abaixo e deixar o sistema danificado de uma maneira especial que só o apt sabe fazer...
Bom, o que eu fiz então numa situação dessa? Me preparei com minhas armas: rpm -ihv --nodeps --root /lugarzinho, CD de boot do RedHat 9, disquete de boot do Slackware (ótimos pra manutenção), pkgtool (Slack), conexão com a internet, esperteza e força de vontade.
Pode parecer loucura juntar tudo isso pra atualizar algumas coisas, mas com certeza lhe dará bastante experiência! Primeira coisa a fazer, ir no ftp do Slackware (ftp.slackware-brasil.com.br) "roubar" o pacote pkgtool mais atual ou quase do mesmo, jogá-lo no raíz e depois dar um "tar zxvf /pkgtool.tgz", em seguida execute o install/doinstall dele ou algo parecido que ele deixa lá no /. Pronto, agora você pode instalar pacotes tgz do Slack no seu conectiva com alguns cuidados.
Por que eu instalei o pkgtool? Simples, após algumas atualizações severas o seu RPM "burro" (não estático) vai falhar e gerar coisas absurdas, então pra não ficar na mão, é melhor e preventivo ter um outro gerenciador de pacotes instalado na máquina.
Eu por exemplo tive que instalar o RPM do Slack 10 no meu Conectiva Linux pra ele voltar a funcionar depois de algumas atualizações dessas. Um bom começo aventureiro e temerário é atualizar a libc do sistema (se seu sistema for muito antigo, não faça isso). Bom, fui no maravilhoso site buscador de pacotes RPMS, o www.rpmfind.net e procurei glibc, achei um monte de várias distros, escolhi a glibc-2.3.4-8mdk do Mandrake, apenas tomei o cuidado de ser compatível com meu processador e me certifiquei de que o pacote tinha de 2 a 5 MB de tamanho, acima desse tamanho pode ser outras coisas que não nos interessa, não tem problema que ele não seja para Conectiva, só não recomendo instalar pacotes do Fedora Core.
Pronto, após ter baixado a glibc, a deixei no raíz e dei um reboot na máquina, em seguida entrei com o meu CD de instalação do RedHat 9 na máquina e deixei ele rodar no modo texto. Pulei a fase onde ele pergunta se quer testar as mídias, depois na segunda tela fui para o tty2 (alt+F2), ali tem uma shell aberta, fiz um diretório qualquer e montei meu HD nele, encontrei dentro do hd o pacote que eu havia baixado e executei um bem esdrúxulo "rpm -ihv --nodeps --force pacote.rpm --root /mnt/diretório" (use --noscripts também se não der certo). Enfim, mandei o rpm negar uma porção de fatores para conseguir instalar o pacote onde --root determinou, deu uns erros, mas tudo ocorreu bem. Saí da pasta do hd, desmontei-o com umount (super importante isso) e rebootei, deu tudo certo.
Depois disso o RPM do Conectiva ficou dando falhas, lá fui eu no ftp do Slack de novo baixar o RPM do Slack 10 e aproveitei para pegar furtivamente todo o KDE, pois o KDE do Conectiva não era tão moderno. Instalei o rpm.tgz do Slack, mas ficaram faltando dependências. Procurei pelas dependências que faltavam uma a uma no rpmfind.net e via o nome dos pacotes que ela fazia parte. Imediatamente procurava os mesmos pacotes ou com nomes parecidos no Slack 10. Fiz isso e o RPM do Conectiva passou a funcionar, depois disso fui apagar o KDE do Conectiva (rm -rf /usr/lib/kde3* /usr/lib/Qt* ).
Depois fui para a pasta onde eu tinha deixado todos pacotes do KDE do Slack e usei apenas installpkg *.tgz , a instalação ocorreu bem, apenas faltava algumas libs, fiz o mesmo esquema acima, mas dessa vez procurava pacotes de libs apenas para CL 9 ou 10, se não tivesse iria qualquer distro Linux, mesmo com uma versão lançada em anos iguais, deu certo, o KDE funcionou! Não recomendo esses passos para o Gnome, pois o mesmo é mais instável e "cricri".
Minha próxima saga seria atualizar o kernel de 2.4 pra 2.6, nisso eu quebrei muito a cabeça, fazia tudo que mandavam e o kernel 2.6 não subia nem com reza braba, dava erro de pivotroot (initrd) ou mount error 19 sempre. Descobri que não era porque eu não usava partição de boot, mas sim por eu ter feito o initrd com o modutils (pacote velho) ao invés de ter usado o module_init_tools (pacote novo).
Instalei então o module_init_tools, mas pra minha decepção descobri que o mesmo pacote não sobrescrevia o pacote antigo e sim gerava binários com o sufixo -25: insmod-25, modprobe-25, etc. Movi os pacotes -25 para os seus nomes corretos, sobrescrevendo assim os antigos e tomando cuidado para excluir os atalhos do modutils antes.
Baixei o mkinitrd do CL 10 e instalei também. Depois de tudo isso fiz o novo initrd pro meu novo kernel, rebootei e não deu certo, o problema era o tal de pivotroot, me lembrei que havia apagado a pasta /initrd , criei a tal pasta e também fiz a pasta /sys e o kernel funcionou.
Abandonei o RedHat 9, pois o mesmo não aceitava essas saladas que eu faço em meu Linux de forma tão eficiente como é feito no Conectiva Linux 9.
Hoje posso dizer que meu Conectiva Linux é versão 10. Gostaria de dizer que o disquete do Slackware é bem eficaz naquelas horas em que o kernel cisma de não dar partida, para usá-lo, bastar colocá-lo no drive e digitar no prompt de espera de boot:
mount root=/dev/hda1
Considerando que seu raíz esteja em hda1. Daí será possível entrar no sistema para fazer uma manutenção ou se preferir deixe os dois disquetes de boot do Slack carregarem sem mudar nenhum parâmetro e entre no seu raíz para vasculhar o que aconteceu, lembrando que sempre que acabar de fazer isso deve-se desmontar o raíz.
Bom, assim é que eu mexo com meu Linux, ele é livre e permite tudo isso, pois suas características flexíveis herdadas do Unix dão uma variedade de tipos de configurações e alternativas.
Sempre procuro um pacote que seja de uma distro mais parecida com a minha ou com uma versão de mesmo lançamento, o apt eu definitivamente não uso, pois se usá-lo da forma como meu sistema está, ele quebraria todo meu sistema tentando deixar resolver as dependências automaticamente.
Se alguém aqui também faz isso (salada mista), gostaria de saber.
Você pode achar pacotes de várias distros pra fazer sua salada em:
Já fiz salada mas só com distribuições de pacotes RPM, não me aventurei tacar o slack neste contexto...
Mais aí... parabéns... mais um ponto positivo para a liberdade do linux!!!
[]´s
Jefferson