Segunda-feira, 5 de Maio de 2008

OpenBSD e VirtualBox: "uid 0 on /: file system full"

Ao tentar instalar o OpenBSD em uma máquina virtual do VirtualBox obtive várias mensagens de erros do tipo: "uid 0 on /: file system full". Testei várias configurações e tamanhos de disco, mas o problema persistia. Ao final de uma pesquisa descobri que se trata de um bug no VirtualBox e existem dois tickets a respeito dele, um para a versão 1.3.6 e outro para a versão 1.5.2 (a versão que usei para os teste foi a 1.6.0 e o problema ainda não foi resolvido). Os links para os tickets citados:

http://www.virtualbox.org/ticket/192
http://www.virtualbox.org/ticket/639

O problema acontece com as versões mais recentes do OpenBSD, eu não obtive sucesso na instalação com o OpenBSD 4.0, 4.1, 4.2 e a 4.3. Como o bug ainda não foi corrigido, ainda não existe uma solução de qualidade, mas uma gambiarra pode lhe salvar, seguindo uma dica do UdontKnow (encontrado em #slackware-br na irc.freenode.net) e de alguns comentários postados nos tickets, habilitei a opção de virtualização por hardware do programa. Nas configurações da máquina virtual marque o seguinte: "Geral > Avançado > Recursos Extendidos > Habilitar VT-x/AMD-V". Mesmo que sua CPU não suporte este recurso o problema é resolvido e você conseguirá instalar o OpenBSD sem problemas.

Sexta-feira, 2 de Maio de 2008

FreeBSD e placa de rede nVidia (nForce2): sem conexão

Lembram do meu problema com minha placa de rede baseada no chipset nForce2 da nVidia? Consegui resolver o problema em meu Slackware e no Ubuntu com o método que apresentei. Mas quando atualizei o meu FreeBSD para a versão 7.0 também tive problemas (tinha esquecido do beastie, ele nunca me dá problemas, até estranhei :). Pelo menos não tinha nenhum udev para ficar mudando o nome da interface de rede para me enlouquecer e neste caso foi bem fácil de resolver, pois se precisamos atribuir um endereço MAC válido para a placa de rede. Como root faça o seguinte:

$ ifconfig ether 00:00:6c:c9:94:1c

E depois verifique para ver se o MAC realmente foi alterado. Feito... mas se você mesmo assim não conseguir se conectar, verifique a conexão física, as rotas do seu sistema (netstat -nr) e o enderço IP de sua interface. Você pode recorer ao sysinstall para configurar o básico de sua rede. Para automatizar o processo de mudança de MAC você pode definir uma nova regra na área de network do sisinstall (onde ele pede configurações adicionais para o ifconfig) ou mandar algum script local ser executado em tempo de inicialização.

Não testei o procedimento no OpenBSD e no NetBSD (nem no Solaris, pois meu HD estava sem espaço e ele teve que voar), mas o procedimento deve ser nesta direção. Qualquer dúvida consulte o oráculo e as man pages (ou deixe um comentário :).

E lembre de comprar uma placa de rede decente ;).

Sexta-feira, 25 de Abril de 2008

Invalid Mac address detected: placa de rede mudando de endereço MAC e de nome

Quem tem uma placa de rede baseada no chipset nForce2 (o drive no Linux é o forcedeth) ou uma VIA Rhine II (alguém sabe qual o drive?) pode passar por alguns problemas como os que eu tenho enfrentado. Eu me enquadro no primeiro caso, minha placa mão usa o chipset nForce2 da nVidia e minha placa de rede de um dia para o outro resolveu se revoltar. Vamos ao problema.

Na inicialização do Linux já começa a odisseia. Uma mensagem de erro é apresentada da seguinte forma:

forcedeth 0000:00:04.0: Invalid Mac address detected: ef:bf:bd:8b:1f:7f
forcedeth 0000:00:04.0: Please complain to your hardware vendor. Switching to a random MAC.


O sistema identifica um endereço MAC inválido em nossa placa de rede e avisa que vai gerar um MAC aleatório. Tudo bem se não fosse o caso de que toda a vez que entramos no sistema nossa interface muda de nome, ela vai de eth0 para eth1, depois para eth2, eth3, eth4 e assim por diante. Cheguei ao eth72 e fiquei de saco cheio. Fora que o servidor dhcp sempre me entrega um ip diferente por conta do MAC e isso as vezes é bem chato, pois tenho que ficar verificando de vez em quando qual o ip da minha máquina.

Para resolver o problema me foi recomendado que atualiza-se a versão do módulo/kernel, mas não adiantou. Para resolver o problema tive que recorrer ao udev e suas regras. No udev nós podemos setar configurações para a interface de rede, como o nome da interface e o endereço MAC. Pimba! Problema resolvido (pelo menos até eu comprar uma placa de rede decente, uma 3com quem sabe :).

Vamos as linhas: no arquivo (que pode não ter exatamente o mesmo nome e número inicial, mas se ele realmente não existir, crie) /etc/udev/rules.d/70-persistent-net.rules você deve comentar qualquer linha referente a interface problematica e inserir o seguinte:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="forcedeth", ATTR{address}:="00:00:6c:c9:94:1c", NAME="eth0"

Atenção a sintaxe, em "ATTR{address}:="00:00:6c:c9:94:1c"" é muito importante que o sinal entre a "variável" o seu valor seja ":=", pois isso garante que o MAC seja setado definitivamente para esta interface e que nenhuma outra regra possa mudar o mesmo.

Para quem usa Windows, resolver o problema é mais fácil, pois precisa apenas ir no gerenciador de dispositivos e setar o endereço MAC válido, o problema é que o Windows não lhe diz nada do que está acontecendo, ele simplesmente não conecta. Mensagens de aviso, erro, advertência?! Nada, nem uma simples tela azul. "- Logs?!" Você pergunta. Não, nada. Se por acaso seu Windows simplestemente para de conectar, não encontrar o servidor dhcp ou outras coisas estranhas e você for um feliz proprietário de uma placa de rede dessas, já sabe o que procurar.

Para maiores informações leia a man page do udev.

Quinta-feira, 17 de Abril de 2008

Indicação de livros

Depois de tanto tempo sem postar nada eu ainda tenho a cara de pau de aparecer por aqui. Mas até que posso dar uma explicação bem fuleira: estava com muito trabalho para resolver, pois minhas férias estavam para começar e além do mais estou em processo de migração de conta de e-mail (ô coisinha chata).

Mas vamos ao que interessa: estou aqui unicamente para indicar um, ou dois, ótimos livros para quem quer se aventurar em shell script e expressões regulares. Os dois são do mesmo autor: o Aurélio Marinho Jargas, o Verde. Comprei os dois e posso afirmar que vale e muito a pena. Para quem faz seus scripts em shell e quer se aprofundar no assunto ou até saber por onde começar a trilhar esta longa caminhada de profissionalização (neologismo?) em shell script pode procurar pelo Shell Script Profissional e quem quer incrementar seus conhecimentos em regex (Expressões Regulares) se aventure pelo Expressões Regulares, Uma abordagem divertida.

Os dois são escritos em uma linguagem clara e objetiva, mas sem deixar de lado a diversão. São textos divertidos e fáceis de compreender, pois não usam de jargões técnicos e procuram exemplificar cada passo com demonstrações didáticas do conteúdo. Mas não pense que eles são superficiais ao tratar do assunto, nem que são feitos para crianças lerem, você vai precisar prestar muita atenção e praticar bastante como o próprio autor recomenda.

Os livros podem ser encontrados na maioria das livrarias e lojas on-line, procure o seu antes que esgotem.

Sexta-feira, 4 de Janeiro de 2008

LinuxFX Xtreme Edition Level 1 Core 9

Atenção: este review vem em decorrência de um pedido do Augusto Campos, que em seu blog, BR-Linux, publicou algumas notícias a respeito da distribuição citada e gostaria de saber se a mesma existe através de uma análise independente. Para saber mais sobre este assunto, recomendo que leia as notícias e os comentários no próprio BR-Linux.

Atualização: estou inserindo informações que foram deixadas de lado na primeira postagem por questão de tempo e também publicando mais algumas opiniões. Desculpem e obrigado pela paciência.

Baixei a ISO e estou utilizando o sistema deles através do QEMU. Logo no boot são disponibilizadas algumas informações a respeito da empresa, como endereço e número de telefone. A versão que estou utilizando é a LinuxFX Extreme Level 1 Core 9, que vem com KDE 3.5.8 e kernel 2.6.22. Estou usando uma máquina HP DC5750, com 1024MB de RAM, processador Athlon64 X2 4200+ e Slackware 12.0 com o QEMU+KQEMU instalados.

No sistema existem informações a respeito da empresa e do "programador master" (como ele mesmo se denomina) Rafael Wagner. Vocês podem conferir as screenshots logo abaixo. Não encontrei nada de empolgante na distribuição ou algum diferencial importante com relação a outras opções disponíveis. Pelo que entendi lendo a documentação disponivel no CD, esta distro é desenvolvida pela empresa para uso especifico dos seus clientes, como LAN Houses, mas agora está disponível para quem quiser baixar e testar.

Ao ler os textos exibidos nas imagens vocês também podem notar que o português não está entre as prioridades dos responsáveis pela distribuição citada. Eles tem o mesmo conteúdo gramatical/semântico das notícias e comentários que foram enviados por terceiros para publicação no BR-Linux e que são de autoria dos supostos responsáveis pelo LinuxFX. Um outro detalhe que não pude deixar de lado são as várias partes do sistema que ainda se encontram em inglês, não que isso seja realmente ruim, mas a mistura de opções/mensagens/botões nos dois idiomas acaba deixando uma sensação que só faz reforçar a veia "amadora" com a qual o sistema foi construído.

O LinuxFX vem com uma versão do Cedega e do CrossOver, mas infelizmente não pude testar estas aplicações, pois todas as vezes que tentei inicia-las o KDE travou.

Não pude usar o sistema extensivamente, mas pelo menos a existência do mesmo está comprovada. Quem quiser fazer outros testes e discutir outros pontos com relação ao LinuxFX pode entrar em contato.

Site do projeto: http://www.linuxfx.org/
Download da ISO: http://www.linuxfx.org/downloads/