Este post está sendo redigido à partir de um NexentaOS, versão Alpha 7.
Até pouco tempo eu não conhecia essa “distribuição do Solaris”.
Os mais informados sabem que a Sun liberou o Solaris como software opensource há um certo tempo e pelo menos duas vertentes do SO são bem conhecidas: O Solaris propriamente dito e o OpenSolaris.
A idéia dos criadores do Nexenta foi juntar o Kernel do Solaris com o sistema de empacotamento do Debian. Jogada de mestre.
Colocar as ferramentas GNU em cima de um Kernel é a mesma coisa que o Linus fez em 1991, mas o pobre coitado na época contava apenas com o básico.
O Nexenta, por sua vez, ainda na sua versão alpha já conta com um sistema de gerenciamento de pacote “state of the art”, Gnome, Firefox, OpenOffice…
E como não se mexe em time que está ganhando, até o tema do Gnome tem as cores muito parecidas com as utilizas no Ubuntu.
As impressões como usuário final são boas, pois eu jamais poderia dizer que estou num Solaris e não no Linux.
Agora, se você já é rato velho de Linux, aqui começam as pequenas, mas irritantes diferenças:
1-) BSD vs System V
Voltando um pouco no tempo, podemos ver algumas pequenas diferenças entre as escolas BSD e System V. São poucas e são contornáveis, mas são extramente chatas para quem tem a mão mais rápida que a cabeça.
É frustante quando acontece isso:
<br /> root@myhost:~# ps aux<br /> usage: ps [ -aAdefHlcjLPyZ ] [ -o format ] [ -t termlist ]<br /> [ -u userlist ] [ -U userlist ] [ -G grouplist ]<br /> [ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ] [-h lgrplist]<br /> 'format' is one or more of:<br /> user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid<br /> pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid<br /> f s c lwp nlwp psr tty addr wchan fname comm args projid project pset lgrp<br />
Mas pode ser resolvido com:
<br /> root@myhost:~# /usr/ucb/ps aux|head -5<br /> USER PID %CPU %MEM SZ RSS TT S START TIME COMMAND<br /> root 284 17.0 14.47664473952 ? S 18:55:10 5:44 /usr/lib/hal/hald<br /> root 353 7.9 0.3 2196 1340 ? R 18:55:16 0:43 /usr/lib/hal/hald-<br /> root 285 3.0 0.4 4096 1660 ? S 18:55:10 0:50 hald-runner<br /> root 409 2.5 6.25091231988 ? R 18:55:18 1:25 /usr/bin/X :0 -br<br />
2-) Diferenças nos comandos:
<br /> root@myhost:~# route -n<br /> usage: route [ -fnpqv ] [ -R <root-dir> ] cmd [[ -<qualifers> ] args ]<br /> root@myhost:~# man route<br /> No manual entry for route<br /> See 'man 7 undocumented' for help when manual pages are not available.<br /> </qualifers></root-dir>
Tudo bem, vai… netstat -nr também resolve a questão.
3-) Voltar ao manual
Responda rápido: Como impedir que um host acesse sua máquina com iptables?
E com o ipf?
<br /> root@myhost:~# ipf --help<br /> ipf: illegal option -- help<br /> usage: ipf [-6AdDEInoPrRsvVyzZ] [-l block|pass|nomatch|state|nat] [-cc] [-F i|o|a|s|S|u] [-f filename] [-T <tuneopts>]<br /> root@myhost:~# man ipf<br /> No manual entry for ipf<br /> See 'man 7 undocumented' for help when manual pages are not available.<br /> </tuneopts>
Nada que 10 minutos no Google não resolva, mas o comodismo começa a falar mais alto. Aprender um boca de coisa de novo pode não ser interessante se o sistema não for muito superior.
4-) Out of the Box
Apesar de estar usando a versão disponível no site em formato imagem do VMWare, creio que a instalação padrão segue estes moldes e não gostei da quantidade de portas e serviços abertos na máquina.
Sou a favor das implementações “tudo fechado e você abre o que quiser”, mas o pessoal da Nexenta adotou o “deixamos isso aberto e você fecha se quiser (ou conseguir)”:
<br /> TCP: IPv4<br /> Local Address Remote Address Swind Send-Q Rwind Recv-Q State<br /> -------------------- -------------------- ----- ------ ----- ------ -----------<br /> *.* *.* 0 0 49152 0 IDLE<br /> 127.0.0.1.4999 *.* 0 0 49152 0 LISTEN<br /> *.111 *.* 0 0 49152 0 LISTEN<br /> *.* *.* 0 0 49152 0 IDLE<br /> *.54099 *.* 0 0 49152 0 LISTEN<br /> *.62323 *.* 0 0 49152 0 LISTEN<br /> *.4045 *.* 0 0 49152 0 LISTEN<br /> *.445 *.* 0 0 49152 0 LISTEN<br /> *.139 *.* 0 0 49152 0 LISTEN<br /> *.35681 *.* 0 0 49152 0 LISTEN<br /> *.62383 *.* 0 0 49152 0 LISTEN<br /> *.33415 *.* 0 0 49152 0 LISTEN<br /> *.36726 *.* 0 0 49152 0 LISTEN<br /> *.22 *.* 0 0 49152 0 LISTEN<br /> *.25 *.* 0 0 49152 0 LISTEN<br /> *.25 *.* 0 0 49152 0 LISTEN<br /> *.587 *.* 0 0 49152 0 LISTEN<br /> 127.0.0.1.631 *.* 0 0 49152 0 LISTEN<br />
5-) Habemos BASH!
Pelo menos ninguém teve a idéia de colocar o famigerado KSH como shell e o Bash está aqui. 😉
6-) Bom desempenho
Mesmo em uma máquina virtual, o Nexenta apresenta uma performance melhor do que a máquina Virtual com o Feisty que rodei há pouco tempo. Com 512MB de RAM está fazendo um bom trabalho.
Seria interessante trabalhar mais pesado com ele, numa máquina física e com mais variáveis envolvidas do que o Gnome, Mozilla, Shell e gerenciador de arquivos, mas parece que dá boa conta do recado
7-) ZFS
Pelo que tenho lido ZFS é o sistema de arquivos que todos os outros sistemas de arquivos gostariam de ser. No Linux ele está disponível só através de uma gambiarra meio pesada, devido às licenças do ZFS e a GPL serem incompatíveis, impossibilitando colocar o suporte a ele diretamente no Kernel. No Nexenta, isso não é problema. Faça bom proveito de tudo que esse FS pode te oferecer
Apesar deste post ter mais pontos negativos do que positivos, leve em consideração que ainda está em Alfa e que comodismo não é uma coisa boa!
Pessoalmente torço para o Nexenta dar certo e já tenho planos para ele, no meu futuro storage para uso pessoal. 😉
Vou continuar acompanhando de perto o desenvolvimento dele.
Nexenta: http://www.gnusolaris.org/