openSuSE

Recuperar base de dados dos pacotes RPM

Hoje me deparei com um pequeno problema em um dos servidores CentOS que administro, fui consultar um pacote instalado e obtive a seguinte mensagem de erro:

erro: erro do db4 (22) do db->close: Argumento inválido
rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: 5d6a
erro: erro do db4 (22) do db->close: Argumento inválido
rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: 5d6b
erro: erro do db4 (22) do db->close: Argumento inválido
rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: 5d6c

E várias outras do tipo. Resumindo, minha base de dados dos pacotes RPM estava corrompida. Então era preciso recriá-la.

Vamos lá

Primeiro, vamos fazer um backup da base atual (mesmo defeituosa):

# tar cfz rpmdb.tar.gz /var/lib/rpm

Agora vamos fazer a recriação da base:

# rm -fr /var/lib/rpm/__db.00*
# rpm –rebuilddb

Protinho! Agora é só realizar a consulta dos pacotes:

# rpm -qa

Que Linux eu uso?

Com tantas versões do Linux, para usuários recém-chegados, fica difícil saber que Linux utilizar. Vou tentar ajuda-los a encontrar a distribuição Linux que atenda as suas necessidades ou exigências.

Um pouco de história…

Basicamente existiram três distribuições bases para outras distribuições Linux, são elas:

Slackware

Sempre vista com o Linux dos experts, o Slackware tem uma filosofia diferenciada das outras. A começar pelo modo de configuração, pois utiliza a detecção nativa de hardware do Kernel Linux para levantamento de drivers, na inicialização e só agora em suas últimas versões foi que incluiram o UDEV e o HAL (essa dupla existe para facilitar a detecção de hardware durante o uso do sistema). O Slackware não possuí muitas ferramentas de configuração, tendo o usuário ou administrador ter que fazer tudo “na mão grossa”, isso tem suas vantagens e desvantagens.

A grande vantagem é que o uso intensivo de Slackware tende a formar um administrador de sistemas experiente, que não terá problemas quando encontrar outras distribuições Linux, pois terá a experiência de configurar o sistema sem utilização de ferramentas “bonitinhas”, então saberá onde encontrar a solução para possíveis problemas. Outra grande vantagem é a estabilidade, uma vez montando um servidor com Slackware dificilmente ele dará problemas (tenho notícias de servidores montados a anos atrás que nunca deram problemas).

A desvantagem é que de inicio parecerá bem complexo, difícil ou chato ter que fazer tudo, porém com o tempo você aprende que certas coisas podem ser resolvida com mais facilidades do que cliques…

O Slackware também foi a primeira distribuição Linux a encaixotar e vender CDs.

Debian

Sem dúvida uma ótima opção para administradores de redes e usuários mais experientes (ou até para os menos). A começar, a grande vantagem do Debian é o sistema de gerenciamento de pacotes (“programas”), o Debian possuí um sistema próprio que utiliza uma biblioteca chamada “libapt”, esta é a grande maravilha. Através do APT você poderá instalar com muita facilidade os programas que necessita rodar em seu Linux, pois com alguns simples cliques ou comando o próprio vai na internet, baixa o software desejado, instala e configura deixando-o pronto para utilização.

Outra grande vantagem do Debian é a estabilidade. Os desenvolvedores do Debian prezam muito pela segurança do sistema e gostam de depurar o código até não ter mais falhas. Isso gera um problema: o Debian estável quase sempre está com versões antigas dos softwares, porém para servidores isso é ótimo, pois garante a segurança.

Mas o Debian tem “três sabores”: SID, Testing e Stable

No SID estão sempre as últimas versões dos softwares, porém estão lá consideradas como altamente instáveis pois estão para começar a serem depuradas.

No Testing localizam-se os pacotes que serão utilizados “na próxima versão do Debian”.

No Stable localizam-se os pacotes estáveis da versão oficialmente lançada (os pacotes os quais falei que podem ser versões antigas, mas estáveis).

Usar Debian também tende a formar um administrador de sistemas com conhecimentos avançados e sem medo de enfrentar outras distribuições Linux.

Redhat

Redhat foi a primeira distribuição Linux a focar a usabilidade. Sempre prezou bastante pelo desenvolvimento de ferramentas que facilitem a configuração e administração do sistema, o que na época era uma ótima opção para usuários Linux recém-chegados, pois não precisavam ralar muito para terem seu Desktop funcionando tranquilamente com Linux.

Suas ferramentas sempre facilitaram a vida na hora de configurar o hardware (que em épocas remotas era uma tarefa árdua e as vezes complexa).

Hoje em dia o Redhat só possuí versões “Enterprise” ou seja, pagas.

Bom, essas foram as três distribuições Linux base, que deram origem a várias outras, conforme listo abaixo:

Slackware – Slax, Vector Linux e outras.

Debian – Ubuntu, Kubuntu, Xubuntu (Sem dúvida o Ubuntu é o filho mais famoso do Debian), Progeny, Debian-BR-CDD e outras.

Redhat – SuSE (que foi comprada pela Novell que fechou para tornar “enterprise” e criou uma versão comunitária chamada openSuSE, Conectiva e Mandrake (Que mais tarde virou Mandriva), Fedora Core (que é a versão “comunitária” do Redhat) e CentOS (a versão “enterprise aberta” do Redhat, não contendo as ferramentas proprietárias da Redhat) entre outras.

Em fim, que Linux utilizar?

Essa é uma tarefa que só você poderá responder na medida que for utilizando. Eu já utilizei quase todas as distribuições Linux (Slackware, Debian, Redhat, Ubuntu (e seus derivados), Conectiva, Mandrake, SuSE, Fedora, CentOS, Mandriva, openSuSE…) e vou dar minhas opniões pessoais sobre:

Slackware: É sem dúvida minha distribuição Linux favorita, pois é onde sinto mais liberdade para ir e vir… Gosto de utiliza-la em meu notebook, gosto de utiliza-la em servidores de redes que não precisarão ser modificados futuramente (Servidores de Arquivos, Servidores de Internet, Servidores Proxy etc).

Debian: É uma das minhas favoritas, gosto de utiliza-la em servidores e firewalls pela sua tradição em segurança. Geralmente faço a opção por Debian em caso de redes que possuem mais de um administrador.

Redhat e CentOS: Primeiro vou falar do Redhat: Gosto de utilizar no caso de Hardwares proprietários que irão rodar bancos de dados proprietários como Oracle e IBM DB2. Mas geralmente as empresas não querem comprar a licença do Redhat, então opto pelo CentOS, que é o Redhat sem suas ferramentas pagas. Ambos são bastante estáveis e bons de utilizar com hardwares mais sofisticados como servidores de grande porte.

Ubuntu: Ubuntu é sem dúvida a melhor opção na minha humilde opnião, para os usuários iniciantes. O Ubuntu foca sempre a usabilidade e facilidade de uso. Recomendo a todos que estão querendo começar no Linux. É fácil, simples, descomplicado e possuí uma grande comunidade no Brasil, o que faz com que você tenha suporte rápido e documentação farta em português.

Fedora: Bom utilizei fedora por uns 8 meses logo que comprei meu notebook (tinha acabado de ser lanaçado o Fedora 5), então não perdi tempo, instalei para testar. Foi satisfatório, atendeu bem minhas exigências, só encontrei algumas dificuldades devido a falta de alguns pacotes (softwares) que utilizo, porém nada que não pudesse ser contornado. Não tem a comunidade que o Ubuntu tem, mas tem uma comunidade fiel e ativa. Também recomendo para usuários inicantes embora tenha algumas coisas que complicam a vida de inicio (como não tocar mp3 por padrão).

SuSE e openSuSE: Bom, sem dúvida a SuSE (antes de ser vendida), foi a distribuição Linux que mais contribuiu com o desenvolvimento de drivers para o kernel do Linux. Focou sempre o usuário final e a detecção de hardware. Um bom exemplo é que antigamente o kernel do Linux tinha como padrão para audio os módulos “OSD” a SuSE por sua vez não satisfeita com o desepenho e qualidade dos módulos, criou o projeto ALSA – Advanced Linux Sound Architecture. Quando vendida criaram o openSuSE para manter uma versão comunitária, este por sua vez também é bastante atrativo para os usuários finais (mantendo a tradição do SuSE), porém está ficando pesado de usar, requerendo hardwares menos modestos. Mas é uma ótima opção para quem tem bom hardware.

Mandriva: Fácil de usar, fácil de manter porém não satisfez minhas exigências (acho que foi um problema pessoa eheheheh). Existe uma modesta comunidade no Brasil que o mantem e com certeza tem boa documentação em português e tem muito usuário satisfeito. Então se quiser testar, sinta-se a vontade, pois não irá ter problemas.

Vector Linux: Vector tem um atrativo muito bom: Uma versão para cada perfil de Hardware, tem versão até para modestos Pentium 200MMX com 32Mb de RAM! Já utilizei ele em um Laptop com esta configuração e garanto uma coisa: Foi bastante satisfatório, embora tenha suas restrições claro. Recomendo para usuários de hardwares antigos.

Gentoo: Também tido como Linux dos experts, é bastante interessante porque ela pode ser optimizada para o seu computador. Tem ferramentas fáceis de utilizar e sempre tem em seu repositório as últimas versões dos softwares mais utilizados. Ainda não utilizei Gentoo, mas pretendo testa-lo em breve.

Atualmente utilizo o Slackware 12.1 com KDE 4.1.1, comecei em 1999 com Redhat Linux, depois migrei para Conectiva Linux, conheci então o Slackware (amor a primeira vista), mas não me restringi a utilização dele, resolvi conhecer o Debian, usei pouco mais de 1 ano e resolvi voltar para o Slackware, mais adiante conheci o Ubuntu e Fedora os quais utilizei e fiquei bastante satisfeito, porém senti falta da velha praticidade de fazer as coisas na “mão grossa” e voltei para o Slackware.

Um abraço a todos e espero ter contribuído para sua decisão de utilização do Linux.