quarta-feira, 11 de junho de 2008

Review: OpenSolaris 2008.05



Introdução

Durante muitos anos o nome Solaris esteve associado a grandes mainframes de uso empresarial. No final dos anos 90, a Sun, proprietária do sistema, o migrou para plataforma intel x86. Esse sem dúvida foi um primeiro grande passo para a disseminação do sistema. O segundo passo foi dado alguns anos atrás com a abertura do código sob a licença CDDL.

Poucos anos se passaram e algumas distribuições baseadas no sistema começaram a surgir, embora a maioria voltada para o mercado original do Solaris, o empresarial dos grandes servidores. Há pouco tempo, com Ian Murdock, fundador da distribuição Debian, na vice-presidência de desenvolvimento da Sun, as expectativas de openSolaris no mercado doméstico tão usável quanto um Debian começaram a crescer.

Sem dúvidas o desenvolvimento do projeto openSolaris anda em ritmo acelerado, principalmente devido ao apoio da sua mantenedora, a Sun. O último release foi lançado em maio deste ano e é em cima dele que estarei fazendo esta resenha.

Os Testes

A instalação do openSolaris 2008.05 ocupa um único cd de 700MB, que pode ser pedido ou mesmo baixado do site do projeto. Pessoalmente optei por fazer o download e o gravei em uma mídia. Bootei por este e logo notei uma diferença na tela do do GNU Grub, que diferente do release anterior, apresenta um wallpaper personalizado com opções de boot em modo gráfico e texto. Há também uma opção para se bootar pelo HD, muito útil para o caso de se ligar o computador com o cd acidentalmente dentro do drive.

Após a escolha pelo modo de inicialização desejado, uma tela de loading, com um 'barra de progresso' é mostrada ao usuário. Para os acostumados a ler item por item do desenrolar do processo de inicialização, essa tela pode ser um tanto agonizante. Após alguns instantes, um assistente em modo texto é mostrado na tela para seleção do layout de teclado foi apresentado. Para a minha surpresa, a opção pt-BR estava disponível e funcional.

Escolhido o teclado, os dizeres 'opensolaris console login' apareceram na tela. Em um primeiro momento fiquei sem entender, pois a escolha fora por um boot gráfico, onde se suponha haja um login gráfico. Além isso não havia qualquer menção a um usuário ou senha inicial para o sistema. Enfim, após algum tempo digitando inutilmente, visto que nenhum caracter era mostrado na tela, o próprio sistema continuou a carregar sozinho e a iniciar o X.

Em uma experiência posterior eu pude verificar que essa se trata de uma mensagem padrão e que, diferente da minha impressão inicial, o sistema não aguarda qualquer entrada do usuário. Seu tempo nessa tela depende unicamente do tempo de acesso ao cd. Caso a opção tenha sido pelo boot em modo texto, ai sim o sistema ficará aguardando a entrada de um nome de usuário e de uma senha. Procurei no Getting Started With OpenSolaris 2008.05 e não encontrei qualquer referência ao qual usuário e senha utilizar nesse ponto.

Conforme o X vai sendo carregado, nós vamos percebendo a grande quantidade de softwares abertos de 'mercado' - ou seja, aqueles que podem ser encontrados em outrascplataformas- disponíveis no openSolaris. A começar com o próprio Xorg rodando em conjunto com Gnome e sua suite de aplicativos, incluindo alguns outros programas como o popular firefox. Mesmo programas básicos do sistemas, como tail, cat, cp, são GNU, com exceção de alguns poucos, como o fdisk, que são nativos da própria Sun.

Esse ambiente disponível via livecd por si só é um grande avanço dessa versão 2008.05, visto que na versão 2008.1, o modo gráfico servia unicamente para rodar o instalador do Solaris, que aqui aparece acessível como um ícone no desktop.

Outro software bem interessante que se encontra disponível é o 'Device Driver Utility', que faz um scan completo do harware onde o livecd esteja sendo executado e identifica dentre todos os itens quais o solaris possui um driver padrão para instalação os que não possuem. Ele aparenta com o “gerenciador de drivers restritos” do Ubuntu, com a diferença de mostrar todos os itens de hardware disponíveis.

Cheguei a testar o Solaris em duas máquinas bem distintas. A primeira foi um notebook HP modelo pavillion zv6000 e a segunda um servidor Dell modelo PowerEdge 2950. Ambas as máquinas aparecem no HCL, Hardware Compatibility List – site mantido pela sun para divulgação de compatibilidade do openSolaris com máquinas disponíveis no mercado, como tendo a compatibilidade atestada por usuários. Isso significa que nenhum fabricante se responsabiliza pelo funcionamento ou não do openSolaris nessas máquinas, mas que certos usuários já instalaram e usam tal sistema nelas.

Verificando o Device Driver em ambas as máquinas, notei que a diferença de itens não reconhecidos de uma para outra foi gritante: 4 itens no pavillion (ACPI controller, Broadcom Wireless bcm4138 e outros dois que não me recordo) contra apenas 1 do servidor PowerEdge (PERC 5/i).

No caso dos drivers não reconhecidos do notebook, nenhum dos mesmos era crítico para a minha instalação de teste. Talvez a placa de rede sem fio. Procurando na internet achei que é possível compilar o ndiswrapper para Solaris e utilizar o driver nativo do Windows nele. Baixei o código fonte, porém o Solaris não trás em seu cd de instalação qualquer compilador de C. Como não possuía outro modo de acesso a internet e como não havia encontrado pacotes pré-compilados na internet, nem do compilador nem do ndiswrapper, acabei desistindo da placa e continuei a instalação assim mesmo.

No caso do PowerEdge, o não reconhecimento da PERC 5/I era crítico, pois significava o não reconhecimento dos discos. Procurei na internet e no próprio HCL encontrei o link para o site da LSI onde se encontrava o driver. Baixei o mesmo e levei até o servidor. Executei o script, porém a instalação não se completava. Tentei fazer a instalação através do Device Driver, porém este somente aceita fazer a instalação de drivers pela internet. Mais uma vez cai no problema de não possui outro método de acesso a internet sem ser o wireless e esse servidor não possui placa de rede sem fio.

Um detalhe é que o Solaris não possui o comando sudo. O live cd por padrão loga como usuário Jack (Lost? Sparrow?), que é limitado. A opção do comando su root existe, porém no manual não é fornecida nenhuma senha nem para o usuário nem para outro. A solução é usar o comando pfexec sh, que possui uma função semelhante ao sudo –s do Linux.

Partindo para instalação, no notebook, ao clicar no ícone é aberto um software no estilo assistente, com uma primeira tela de boas vindas e uma segunda com um software de particionamento. Logo de cara o meu HD já foi mostrado com três partições existentes e um grande espaço vazio, ou seja, da maneira como ele estava. Estranhei o fato das mesmas estranhei o fato de estarem fora de ordem, mas prossegui.

Tentei então criar uma partição Solaris para a instalação. Acho que se trata de algum bug dessa versão, pois ao clicar no botão para aceitar e avançar que o programa retornava o tamanho da partição para 0,1GB ao mesmo tempo em que mostrava uma mensagem de erro sobre tamanho insuficiente na partição.

Foram várias tentativas em busca de onde pderia estar o erro e todas sem sucesso, por fim acabei optando por utilizar uma das o partições ext3 que eu já possuía, e sabia estar vazia, para instalar o sistema. Claro, mesmo essa partição eu tive de mudar o seu formato para Solaris e mandar formatar a mesma. A questão é que , bastou selecionar a partição para que o programa de instalação continuasse.

Além desse problema que já comentei, outro detalhe que eu não gostei em nada desse particionador foi o fato de que o mesmo somente mostre 4 partições do HD ou 3 partições e o espaço vazio. Provavelmente isso decorra do fato do Solaris somente aceitar ser instalado em uma partição primária, porém eu acredito que qualquer administrador de sistemas fique mais tranqüilo visualizando todas as suas partições, mesmo aquelas que ele não vá utilizar.

As telas seguintes foram simples escolhas de timezone, idioma e senha. Feitos esses passos, o sistema passou a ser instalado. O tempo total foi de mais ou menos 30 minutos, o mesmo tempo que eu levo para instalar um sistema Linux. Ao final o sistema pede uma senha para o root e além de um nome de usuário e senha para uma segunda conta. Aqui eu encontrei outro bug, pois o sistema permite você não inserir nenhuma senha para o root e não criar a segunda conta, o único aviso que vem a tela é relativo a segurança do sistema e nada mais. O problema é que caso você conclua a instalação dessa maneira e reinicialize a sua máquina, ao iniciar o Solaris, já no HD, você não conseguirá logar como root, pois o sistema não permite login de contas de administrador sem senha e não terá outra conta para logar.

Conclusões

Assumir que se possui experiência no Solaria por se conhecer Linux é uma ignorância tão grande quanto presumir que se possui fluência no espanhol por se saber falar português. Ambos possuem características e inclusive aplicativos semelhantes, porém suas filosofias de trabalho, administração e desenvolvimento são outras.

Embora sua base de usuários lhe permita alguma confiabilidade no meio dos grandes servidores, o Solaris ainda engatinha no mundo dos desktops. Uma coisa a se questionar talvez seja até é saudável a coexistência de aplicações nos sistemas Solaris, Linux e BSD. Seria mais interessante que cada um desenvolvesse suas próprias soluções? Ou não? A questão é que independente disso o Solaris trás como bagagem todo o mérito de sua mantenedora oficial. Fora isso dois recentes prêmios infoworld servem para mostrar que suas inovações e méritos independem dos elementos comuns a outros sistemas.

Pessoalmente ainda não encontrei grandes motivos para abandonar meu pingüim e investir no Solaris, porém esse é um sistema que, acredito eu, deva aumentar bastante sua base de usuários nos próximos anos e deva nos apresentar gratas surpresas.