Conheça o Solaris: Um Legítimo UNIX®

O Solaris traz um software robusto para empresas e, por ser gratuito, é um prato cheio para os estudantes que desejam conhecer um sistema UNIX®!

| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


1. Introdução

Aqui neste post, em UNIX A Origem dos Sistemas, abordamos mais sobre o nascimento do UNIX® da AT&T e dos muitos sistemas que dele surgiram. De maneira resumida o UNIX não deixou de existir mas se ramificou em diversos sistemas de empresas que detinham seus direitos de uso.

Em meados de 1980 haviam diversos sistemas UNIX de diversas fabricantes e desenvolvedoras diferentes, cada um querendo seu lugar ao sol com direitos de venda deste sistema proprietário e licenciado, porém gratuito.

Embora o SunOS 4.1. Versões x micro foram denominadas retroativamente Solaris 1 pela Sun, o nome Solaris é usado quase exclusivamente para se referir apenas aos lançamentos baseados no SunOS 5.0 derivado do SVR4 e posterior. Com a fundação da Sun em 1982, surgiu mais uma nova linha de desenvolvimento de sistemas UNIX®, o sistema SunOS, que da versão 1.0 até a 4.1.4 era baseado no BSD.

Em 4 de setembro de 1991, a Sun anunciou que substituiria seu Unix derivado do BSD, o SunOS 4 , por um baseado no UNIX® SVR4. Esse projeto foi chamado internamente como SunOS 5 , mas um novo nome de marketing foi introduzido ao mesmo tempo: Solaris 2. A justificativa para essa nova overband era que ela englobava não apenas o SunOS, mas também a interface gráfica do usuário OpenWindows e a funcionalidade Open Network Computing (ONC).

Embora o SunOS 4.1. e anteriores foram denominadas retroativamente Solaris 1 pela própria Sun, o nome Solaris é usado quase exclusivamente para se referir apenas aos lançamentos baseados no SunOS 5.0 derivado do UNIX® SVR4 e posteriores.

Quando a Oracle comprou a Sun em 2010, o sistema passou a ser chamado de Oracle Solaris e o projeto OpenSolaris foi descontinuado – que trazia um Solaris open source – para dar foco no Solaris proprietário atual.

2. Descrição

O sistema que estamos analisando neste post chama-se Oracle Solaris Versão 11.3, cujo kernel é o SunOS 5.11. A versão mais nova até esta data é o 11.4, pouca coisa mudou a não ser obviamente o versionamento dos pacotes disponíveis no repositório, por isso manterei a análise sobre a versão 11.3 a título de curiosidade a quem possa interessar. As decisões de design/software se mantém, como a presença do XOrg e o Gnome 2 como interfaces padrão mantidas pela própria Oracle e não são pacotes da comunidade.

Atualmente o Solaris por algum motivo que não identifiquei não está mais presente na listagem dos sistemas oficialmente Certificados UNIX® pela TheOpenGroup, porém sua página segue registrada, como pode ser visto clicando aqui!

O Solaris é um sistema operacional voltado para grandes empresas, com um conjunto de softwares para desenvolvimento e gerenciamento de informações e comunicação entre aplicativos. Criado para obter uma alta performance em aplicações cliente/servidor, o Solaris permite acesso transparente e ilimitado a sistemas, servidores, dispositivos periféricos, base de dados remota e uma série de outros recursos, com escalabilidade para suportar várias aplicações e configurações.

3. Características

O sistema Solaris é conhecido por sua acessibilidade, especial no sistemas de SPARC, também por dar origem a muitas características inovadoras tais como DTrace e ZFS. Suportando arquiteturas baseadas nos processadores x86 e SPARC, é um sistema que segue a especificação POSIX. Embora seja desenvolvido historicamente como um software proprietário, a maior parte de seu código-fonte hoje em dia está disponível como o sistema OpenSolaris.

Entre suas características, temos:

  • DTrace: análise e resolução de problemas de performance, em tempo real;
  • Solaris Containers: consolidação de aplicações em servidores de maior porte, através da criação de ambientes isolados e independentes
  • Predictive Self-Healing: capacidade de antecipar-se à ocorrência de falhas que possam causar paradas críticas, isolando-as e recuperando-se;
  • Smarter Updating: atualizações automáticas e inteligentes através do Sun Update Connection;
    Integrated Open Source Applications: disponibilidade de centenas de aplicações já integradas ao sistema;
  • ZFS: um novo tipo de sistema de arquivos que provê administração simplificada, semântica transacional, integridade de dados end-to-end e grande escalabilidade.

O sistema tem como grande foco servidores de grandes indústrias e empresas de grande porte, por isso sua impopularidade entre os usuários comuns.

Apesar de gratuito, seu download é restrito devido a obrigatoriedade de se cadastrar junto á Oracle e diversos termos de licença de uso que devem ser aceitos. Quem quiser se aventurar, pode faze-lo clicando aqui.
Mas pra quem quer apenas testar, sem o suporte exclusivo da Oracle, ele é gratuito.

4. Arquiteturas

O Solaris está disponível para as arquiteturas SPARC e i386 (x32).

O SPARC (Arquitetura de Processador Escalonável), é uma arquitetura de conjunto de instruções (ISA) de computação de conjunto de instruções reduzidas (RISC) originalmente desenvolvida pela Sun Microsystems.

Até Setembro de 2017, os últimos processadores SPARC comerciais eram o Fujitsu ‘s XII SPARC64 (apresentado em 2017 para o seu servidor SPARC M12) e SPARC64 XIfx (introduzido em 2015 para o seu computador PRIMEHPC FX100); e o SPARC M8 da Oracle (lançado em setembro de 2017 para seus servidores de ponta).

Em setembro de 2017, a Oracle encerrou o design do SPARC após a conclusão do M8. Muitos desenvolvedores do núcleo do processador em Austin, Texas, foram dispensados, assim como as equipes em Santa Clara, Califórnia, e Burlington, Vermont. O desenvolvimento do SPARC continuou com a Fujitsu retornando ao papel de provedor líder de servidores SPARC, com uma nova CPU esperada para ser lançada em 2020.

Processador Sun UltraSPARC II (1997)

5. Análise

Apesar da Oracle permitir que baixemos imagens pré gravadas pra VirtualBox, fiz o download do LiveDVD para ver cada detalhe do sistema da maneira mais técnica, claro!

Logo no momento do boot somos apresentados a uma tela com diversas opções de início do sistema:

GRUB do Solaris 11.3 possui inclusive opções de acessibilidade.

Após escolher uma opção, durante o carregamento do kernel SunOS 5.11, lhe são apresentadas 2 opções, uma decidir o layout do teclado, outra para decidir qual idioma do sistema:

Note o Copyright no cabeçalho de 1983 a 2015, sendo um sistema que não sofreu grandes alterações de identidade ou licenciamentos desde sua criação, obviamente permanecendo proprietário.

Quando o sistema inicia, logo temos uma visão bem familiar:

Interface Gnome 2

O sistema logo nos revela seu conteúdo, com diversas ferramentas do GNU e do BusyBox, como o terminal BASH, os editores nano e vim, dd, cat, etc. Além disso temos softwares conhecidos como o Firefox, Thunderbird, Brasero, Rhythmbox, gerenciador de drivers da NVIDIA, gerenciador de arquivos Nautilus, etc.

Curiosamente o Solaris traz consigo dezenas de ferramentas proprietárias e curiosamente diversas recompiladas. Todos os binários do GNU estão em /usr/gnu/bin enquanto que todos os recompilados estão em /usr/bin renomeados com um “g” no começo. Assim, por exemplo o diff, o cat, o dd e o pwd estão como gdiff, gcat, gdd e gpwd. Esses pacotes são versões castradas, com funções mínimas sob a mesma licença do Java, enquanto que os pacotes do GNU originais continuam apresentando mais recursos e ambos estão disponíveis nativamente no sistema.

O sistema também possui ferramentas exclusivas para servidores como uma interface de gestão de servidores Apache2 e gerenciamento de Core Files, que são “imagens” geradas no momento em que um processo falha, facilitando o processo de debug.

5.1 Instalação

Efetuei a instalação do Solaris no disco virtual. Possui um instalador gráfico bem amigável, lembrando um pouco o instalador de versões antigas do RedHat. Uma informação importante é dado momento quando ele pergunta dados pessoais para caso você deseja receber suporte por parte da Oracle com updates e alertas de segurança por exemplo.

Apesar do sistema LiveDVD subir consumindo 300Mb de RAM, ele estava mal otimizado e apresentava mais lentidão de uso – delay de teclado e mouse – que sistemas com interfaces semelhantes como o ParrotOS e o Ubuntu MATE. Mas no geral foi bem sucedida. Tais sistemas rodam bem com 1 núcleo, para o Solaris rodar bem precisei alocar 2 núcleos da CPU.

5.2 Testes

Instalação finalizada, hora de usá-lo! Fiz uma visita em quase todos os cantos do sistema para mostrar o quanto ele é diferente de um sistema Linux tradicional. O que não foi mostrado é porque estava muito parecido ou igual ao que é visto no Linux.

Quando o sistema foi iniciado, ele pede o usuário e senha mas quando você loga, ele informa numa pop-up quando foi o último login do usuário anterior e quando foi a última tentativa de login mal sucedido.

Área de trabalho do Solaris 11.3

Notei que ele consome 430 Mb de RAM após o login, mas sem processos de peso  em execução. O mais pesado é o gestor de audio com 60mb. Sistemas como ParrotOS possuem mais otimização do que isso, subindo com 350 Mb de RAM e diversos processos extras.

Gerenciador de controle de volume do audio é o processo mais pesado

Visitei o atualizador do sistema, todos os pacotes estão nativamente atualizados, aparentemente o Solaris recebe poucos updates que são focados em segurança, tal qual o BSD.

Testando o navegador nativo, o Firefox, mas este está na versão 31.8.0:

5.4 Instalação de Pacotes

No terminal, qualquer pacote do repositório pode ser instalado via pkg com o comando:

$ pkg install pacote

Nos testes, instalei o GIMP. O LibreOffice não está disponível no repositório, somente se for compilado.

Tal qual o FreeBSD em nossa análise, o Solaris também apresenta diversos pacotes obsoletos:
O GIMP veio na versão 2.6.10!

5.5 Particionamento

O gparted, por ser obsoleto, não reconhece o tipo de partição do Solaris, mas informando aqui, ele é o UFS.
Inclusive o mapeamento das mesmas é curiosamente complexo:

Enquanto que no Linux temos o mapeamento /dev/sda, o Solaris utiliza o esquema que o UNIX® utilizava em 1985, seguindo um padrão menos amigável de /dev/dsk/c1t0d0p0

5.6 Comandos Diferentes

Os comandos de terminal do Solaris quando comparados com o Linux se assemelham apenas nos referentes a pacotes do GNU Utils ou do Busybox, ou seja, dd, mv, rm, cat, etc são os mesmos. Porém, os comandos do sistema, gestão de processos, manutenção, controle de daemons e etc são totalmente diferentes.

Observe:

Função/Ferramenta Comando no Linux Comando no Solaris
Verificar Partições fdisk prtvtoc
Instalar pacotes APT / DNF install PKG install
Inicar um Serviço do NFS service nfsserver start svcadm enable network/nfs/server
Verificar Memória RAM free vmstat
Gestão de Rede dhclient dhcpagent
Serviços em Execução service –status-all svcs -a
Módulos do kernel lsmod modinfo
Runlevel para Desligar shutdown -y -g0 -i0 shutdown -y -g0 -i5
Verificar Runlevel runlevel who -r
Montar CDROM mount /mnt/cdrom mount -F hsfs -o ro /dev/dsk/c0t6d0s2/cdrom
Verificar Daemons pstree ptree

Nesse contexto, a curva de aprendizado do Solaris para quem veio do Linux é a mesma de quem esteve no BSD: Os pacotes que mudam são os mesmos; enquanto que os semelhantes são os mesmos. E quem já conhecia o BSD, estará muito mais familiarizado por fazer uso dos pacotes em .pkg e seus comandos relacionados.

Claro, o kernel BSD em nada tem a ver com o kernel SunOS, este é curiosamente bem diferente.

5.7 Pasta Raíz

Como todo bom sistema UNIX a pasta raíz lembra muito o que temos no Linux e no BSD.
Mas claro, por ser um UNIX® legítimo, ele possui pastas e hierarquias diferentes do que estamos acostumados. Além disso, o esquema de boot do sistema é diferente por utilizar um outro formato de binário. – Na imagem o zvboot faz o papel do o vmlinuz.

zvboot como binário de início do sistema, sendo aquele que faz o papel do vmlinuz;
Note que algumas pastas como a “platform” não existe no Linux.

5.8 Gerenciador de Pacotes

E nossa última parada, o gerenciador de pacotes, que funciona como a loja do sistema:

Gerenciador de pacotes do Solaris

Nesse gestor de pacotes temos os aplicativos do repositório disponíveis de forma mais familiar.

Dentre alguns pacotes que encontrei nativos do sistema, chamo a atenção destes:

  • Binário que compatibiliza pacotes em formato .rpm*
  • Pacote que compatibiliza aplicações do UNIX® System V original
  • BIND e SQUID: Ferramentas de DNS
  • CSSH: Administração de clusters – supercomputadores.
  • Diversos pacotes de desenvolvimento para MySQL, Python, Java, C, C++, Amazon Web Service, Perl, Javascript, GTK+, OpenStack e Fortran, entre outros.
  • Pacote para gerir sistema de arquivos HSFS: macOS High Sierra
  • Enorme quantidade de pacotes de drivers de rede

*Nem todos os programas empacotados em .rpm vão rodar no Solaris.

5.9 Pacotes Ausentes

Enfatizo os pacotes ausentes, porque o BSD ainda tem uma centena de pacotes que o Solaris não tem. E mesmo os pacotes ausentes nativamente no BSD, podem ser instalados pelo Ports de vários pacotes .rpm, tornando-o um sistema minimamente amigável.

Não existem pacotes das interfaces KDE e QT. Então nada de k3b, krita, kdenlive ou outro pacote do KDE.
Também não temos o Wine pra rodar programas do Windows, cuja presença é marcante nos repositórios do BSD e só pode ser instalado se for compilado. O Google Chrome também não está disponível, mas o Chromium pode ser compilado para ele.

6. Conclusão

O Solaris é um sistema interessante para quem deseja se aprofundar em sistemas UNIX e gostaria de conhecer bem de pertinho um legítimo sistema UNIX® cuja base foi no System V da AT&T de 1980!

Tal qual sabemos bem, o Linux foi inspirado no MINIX, que foi inspirado no UNIX, portanto quem já domina o Linux ficará familiarizado com uma série de comandos e diversas pastas do sistema. Mas atentos principalmente á árvore de boot, o GRUB possui uma hierarquia diferente da atual, assim como os pacotes que preparam o kernel SunOS para iniciar o sistema. Não obstante, temos o sistema de arquivos UFS, bem diferente do EXT4.

O foco do Solaris é em servidores, tal qual o sistema RedHat Enterprise Linux, portanto não aconselho sua instalação para uso além de estudos ou aplicação de servidores. Além disso é notável a ausência de pacotes mais atualizados, problema este semelhante ao visto no BSD. Não é bem um problema, se o foco deles é em segurança.

#UrbanCompassPony

Fontes:
História: SPARC
História: Wikipedia SunOS
História: Wikipedia Solaris
Pacotes Recompilados: StackPointer
Comando Solaris vs Linux: Joelinoff e Rosetta
Experiência de uso do Solaris por máquina virtual.

1 comentário em “Conheça o Solaris: Um Legítimo UNIX®”

Deixe um comentário