Linux análise da distro: A própria Intel Clear Linux OS

A distribuição Clear Linux da Intel tem recebido muita atenção ultimamente, devido ao seu desempenho de benchmark incongruente. Embora a distribuição tenha sido criada e seja gerenciada pela Intel, até mesmo a AMD recomenda a execução de benchmarks de suas novas CPUs sob Clear Linux para obter as maiores pontuações.

Recentemente na Phoronix, Michael Larabel testou um sistema Threadripper 3990X usando nove distros Linux diferentes, uma das quais era Clear Linux – e a distribuição da Intel obteve três vezes mais resultados no primeiro lugar do que qualquer outra distro testada. Ao tentar conglomerar todos os resultados dos testes em uma única média geométrica, Larabel descobriu que os resultados da distribuição foram, em média, 14% mais rápidos do que as distribuições mais lentas testadas (CentOS 8 e Ubuntu 18.04.3).

Ver mais

Não há muita dúvida de que o Clear Linux é a sua melhor aposta se você quiser entregar os melhores números de referência possíveis. A questão não abordada aqui é, como é executar o Clear Linux como um driver diário? Estávamos curiosos, por isso tomamos para um spin.

Installing Clear Linux

Installation is much the same for Clear Linux as for any other operating systemdownload the ISO, dump it to a thumb drive, boot, and go. Duas versões do instalador estão disponíveis: um “servidor” que é apenas modo texto e um “desktop” que usa um ambiente de trabalho ao vivo com todas as funcionalidades. Nós escolhemos o ambiente de trabalho. Em hardware real, o Clear não nos deu problemas e instalou imediatamente – mas num ambiente KVM, inicialmente recusou-se a instalar, com uma mensagem de erro “failed to pass pre-install checks” menos útil.

Um pouco de limpeza online descobriu o facto de que enquanto o ambiente de desktop live do Clear Linux arranca em modo BIOS, o SO real requer UEFI. No nosso ambiente de virtualização-Linux KVM, no Ubuntu 19.10-novas VMs por defeito para o modo BIOS, a menos que verifique “Personalizar configuração antes de instalar” no passo final, e depois no separador Visão Geral, mude de BIOS para UEFI. Então nós explodimos a VM, recriamos com o firmware UEFI apropriado, e depois fomos para as corridas.

Após termos endireitado a arquitectura de firmware da nossa VM, instalar o Clear Linux numa VM foi tão simples como em hardware real de hardware com firmware UEFI, ou seja. Se você estava esperando instalar o Clear Linux em hardware legado que só suporta o modo BIOS, você está sem sorte.

O instalador é claro e direto. Você deve escolher um idioma (atualmente de uma lista muito limitada), um alvo de instalação, e fornecer ao instalador um nome de usuário e senha para o novo sistema operacional. Você também precisa informar se você está optando por entrar ou sair da telemetria do telefone residencial usado para fins de QA e dev.

Ao definir um alvo de instalação, o Clear Linux oferece uma instalação “segura” ou uma “destrutiva”. Nós não testamos o instalador seguro, em vez disso escolhemos instalar o Clear Linux como o único sistema operacional disponível.

Após você ter selecionado suas opções, Clear não deve levar mais do que alguns minutos no total para realmente instalar – mas se você se afastar e voltar, vale a pena perceber que a tela de proteção de tela pode fazer efeito sobre você. (Se não estiver habituado ao Gnome3, clique e arraste para cima para rejeitar a tela de bloqueio.)

Pós-instalação: A corrida GIMP

Para a maior parte, não pareceu haver muito sentido em fazer os tradicionais benchmarks de desempenho no Clear Linux. A Phoronix já fez muitos desses – e sim, sem dúvida, o Clear Linux é mais rápido, em média, do que a maioria das distros. Mas ganhar benchmarks não é necessariamente a mesma coisa que sentir-se rápido.

Sem um ponto de referência para comparação – um cronômetro vigiado e ticking ou uma corrida cara a cara – a maioria das pessoas não notará menos de 33% de diferença no tempo para completar uma tarefa familiar. Um observador típico – um que não está realmente cronometrando as coisas – confrontado com uma tarefa de uma hora que completou em 40 minutos pensará “ei, isso pareceu rápido”. O mesmo observador, esperando por uma tarefa de um segundo para completar, geralmente começará a franzir o sobrolho em torno de 1.300ms.

Publicidade

Devemos também salientar que a maioria dos pontos de referência da Phoronix foca em tarefas computacionais ou de armazenamento de longa duração. Este tipo de benchmarks se correlaciona melhor com mudanças no hardware do que com mudanças no software a nível de distribuição. Ou seja, mesmo que os benchmarks do Clear Linux sejam mais rápidos em uma tarefa relevante para o desempenho do desktop, a diferença pode ser facilmente superada por diferenças no desktop – ou no pacote específico de aplicativos – em si mesmo.

Quando eu instalei e abri o GIMP em uma máquina virtual Clear Linux, eu pensei, “isso parece rápido” – mas eu esperava que fosse rápido. Para testar minha percepção inicial, eu também abri o GIMP na minha estação de trabalho Ubuntu 19.04 e contei Mississippi-turns out, o desktop Ubuntu era na verdade duas vezes mais rápido que o desktop Clear. E a percepção humana? Talvez eu não trabalhe muito dentro de VMs, então talvez eu tenha sido subconscientemente comparando a VM Clear com uma VM Ubuntu, não com o Ubuntu na estação de trabalho host.

Para testar essa teoria, eu trouxe uma VM Ubuntu 18.04.4 e uma VM Linux Clear lado a lado, cada uma com quatro vCPUs e 4GB de RAM alocados. Então eu instalei e configurei o daemon NTP em ambas as VMs para trazer seus relógios para dentro de um milissegundo um do outro e instalei meu próprio utilitário de agendamento. Com tudo isso feito, os resultados de uma “corrida GIMP” lado a lado não foram diferentes – apesar de ter os mesmos recursos alocados para cada um, a VM Ubuntu 18.04 ainda “ganhou” handily.

Anúncio

Investigando mais, notei que o Ubuntu 18.04 usa uma versão mais antiga do GIMP do que o Clear. Então eu desinstalei o GIMP 2.08 fornecido pelo sistema a partir do Ubuntu VM e instalei o último 2.10.14 – a mesma versão que o Clear usa – a partir de um PPA. O resultado não mudou significativamente – o GIMP ainda abriu mais rápido na VM Ubuntu, e você pode ver os resultados lado a lado dessa “corrida” final no pequeno vídeo clip acima.

Nada disso deve ser tomada como um benchmark definitivo, fazendo com que o Clear Linux seja “lento”. Mas ele demonstra a falibilidade da percepção humana e os limites de quanto impacto uma distro “rápida” pode realmente ter no funcionamento normal, diário, de um sistema desktop. Além de inicializar, o Clear Linux não se sentia visivelmente mais rápido que o Ubuntu no uso geral – seja em VMs hospedadas na minha estação de trabalho Ryzen 3700X ou em um Dell Latitude i7-6500U que eu instalei diretamente.

Se você é o tipo de pessoa que fica realmente entusiasmada com as otimizações de compilação no Gentoo ou Arch packaging-ou se você tem uma tarefa muito específica que você está ansioso para potencialmente acelerar em 15% ou so-Clear pode muito bem ser para você. Mas se você espera o tipo de aceleração que seus amigos irão notar imediatamente e babar, você provavelmente ficará desapontado.

Installing software

Ubuntu 19.10 e Clear Linux ambos usam o Gnome Software Center como uma GUI para instalação e remoção de software. A diferença mais imediatamente óbvia aqui são os esforços da Canonical para fazer com que os repositórios em sua versão do Software Center se sintam mais curados e cuidadosos – o Software Center da Canonical apresenta, de forma proeminente, Editor’s Picks e aplicativos em destaque que o Clear Linux não possui.

Somente mais importante, a Canonical possui repositórios muito mais profundos por baixo do que o Clear – e isso pode causar impacto mesmo quando ambas as distribuições oferecem um aplicativo específico. Por exemplo, o jogo Frozen Bubble está disponível no Software Center em qualquer uma das distribuições – mas no Clear, ele tem origem como um flatpak, vindo do repositório dl.flathub.org.

Anúncio

No Ubuntu, o Frozen Bubble vem do repositório do próprio Universo da Canonical, em vez de uma fonte de terceiros. Isso pode não parecer importante – mas instalar o jogo no Ubuntu a partir do próprio repositório da Canonical levou apenas alguns segundos, enquanto levou quase dez minutos para ser instalado no Clear.

>

Will it Chrome?

Nem o Clear Linux nem o Ubuntu empacota o navegador Google Chrome – mas no Ubuntu, a instalação é tão simples quanto seria no Windows: uma busca, um download, um clique, e você está pronto. O download real que você recebe é um arquivo .deb nativo do Ubuntu, e além de instalar o próprio navegador, ele atualiza automaticamente sua lista de repositórios – assim, a partir daí, o Chrome será atualizado automaticamente pelo Ubuntu, da mesma forma e usando as mesmas ferramentas que as atualizações padrão do sistema.

Browsing para a página de download do Chrome no Firefox do Clear Linux instalado nativamente apresenta a você a mesma escolha de um download .deb ou .rpm – mas nenhum deles “apenas funciona”. Há um pouco de truque que você pode fazer na linha de comando do Clear Linux para baixar o arquivo .rpm, extraí-lo e instalá-lo, e depois fazer alguma reconfiguração manual para evitar que as fontes fiquem estranhas.

Anúncio

Felizmente, o Chrome não será automaticamente actualizado como seria no Ubuntu ou na maioria das outras distribuições desktop – em vez disso, terá de se lembrar de o actualizar e passar pelos mesmos poucos passos na linha de comandos (incluindo a reconfiguração das fontes) de cada vez que o fizer.

Gerenciamento de pacotes

Obviamente, usuários mais avançados provavelmente nunca se incomodarão com o Centro de Software em primeiro lugar, em qualquer uma das distribuições. O Ubuntu, como uma distribuição baseada em Debian, usa pacotes .deb sob o hood, que podem ser instalados, atualizados, removidos e pesquisados usando a ferramenta de linha de comando apt. O Clear Linux não usa apt-ou yum, zypper, pacman, pkg, ou qualquer outra coisa que você provavelmente já tenha ouvido falar. Em vez disso, ele usa sua própria ferramenta de gerenciamento de pacotes de linha de comando chamada swupd.

Para a maior parte, swupd funciona como qualquer outro gerenciador de pacotes – há um argumento para instalar pacotes, outro casal para pesquisá-los por nome/descrição de pacote ou por arquivos incluídos, e assim por diante. Infelizmente, eu devo admitir que encontrei swupd consistentemente frustrante – em particular, os argumentos são verbosos e estranhamente formulados.

Publicidade

Em Debian, Ubuntu, Fedora, OpenSUSE, CentOS, ou FreeBSD você <packagemanager> install <package> para instalar uma nova aplicação a partir de repositórios – por exemplo, apt install gimp. Mas em swupd, você swupd bundle-add <package> em vez disso. Você também bundle-remove, bundle-list, bundle-info e assim por diante.

Isso pode soar como uma distinção menor, mesquinha, mas eu achei isso bastante desagradável. Eu atrapalhei a sintaxe – por exemplo, digitando erroneamente add-bundle em vez de bundle-add-mais frequentemente do que eu normalmente faço quando uso um gerenciador de pacotes desconhecido.

Os próprios pacotes também desrespeitam relativamente as convenções de nomenclatura padrão com bastante frequência. Por exemplo, quando eu me vi precisando de um conjunto particular de cabeçalhos que o Ubuntu tem em uuid-dev, e o Fedora tem em libuuid-devel, o Clear Linux ao invés disso os tinha em os-core-dev-e descobrir isso foi um enorme incômodo. Tentando swupd search uuid não listou o pacote os-core-dev – e também não procurou pelo arquivo que eu precisava, com swupd search-file uuid.h. (Mais sobre este tópico mais tarde.)

Anúncio

Embora swupd funcione, parece-se muito com o resultado da Síndrome do NIH. A Intel afirma que muito do molho secreto do Clear Linux está na embalagem, e talvez ele realmente precisasse construir sua própria ferramenta de gerenciamento a partir do zero. Mas da perspectiva deste administrador de sistema é difícil ver os benefícios e fácil ver as verrugas – um pouco mais de esforço dedicado a swupd‘s polish and usability would go a long way.

Will it ZFS?

Nem todos vão se importar se você pode ter o OpenZFS trabalhando no Clear Linux. Mas eu certamente me importei, e passei uma quantidade ridícula de tempo perseguindo este dragão em particular. Eu estava pensando seriamente em pavimentar meu laptop principal e reinstalá-lo com Clear Linux para um test drive de longo prazo – mas mesmo em “apenas um laptop” eu não queria fazer sem a capacidade do ZFS de rapidamente replicar de forma assíncrona, detectar e reparar o bitrot, usar compressão inline, e assim por diante.

O projeto OpenZFS em si não tem nenhuma nota de instalação para Clear Linux, e um swupd search zfs veio vazio, então eu cheguei na Internet. Pesquisar “Clear Linux ZFS” leva você rapidamente ao FAQ do Clear, que diz “ZFS não está disponível com Clear Linux OS” e oferece btrfs como alternativa.

Btrfs oferece a maioria dos mesmos recursos que o ZFS oferece – mas infelizmente, se você realmente usar os recursos mais interessantes, como matrizes redundantes com cura de dados, replicação rápida ou compressão inline, ele rapidamente se torna não confiável. (Sim, dispositivos NAS realmente comerciais como Synology e ReadyNAS da Netgear usam btrfs, mas eles o colocam em cima de LVM e mdraid, e fazem isso por bons motivos. Veja o wiki do Debian para mais e note a decisão da Red Hat de depreciar o btrfs inteiramente no RHEL 7.4.)

Anúncio

A FAQ do Clear Linux também nos aponta para um problema antigo do Github no qual um usuário solicita um pacote ZFS e é abatido. Outro usuário pede ajuda para que módulos do kernel não assinados funcionem e recebe um ponteiro para alguma documentação através de um link now-dead. Eu encontrei uma cópia do documento com deadlink em web.archive.org (e mais tarde, um membro do projeto Clear Linux forneceu um link atualizado para a versão atual), mas isso não me levou aonde eu precisava ir, ou.

Instalar o pacote linux-lts-dev foi simples, assim como criar um arquivo de configuração do kernel que permitiria que módulos não assinados fossem carregados. Mas mudar de volta para o kernel LTS – necessário, uma vez que o kernel nativo estava um pouco sangrento demais para o suporte oficial do OpenZFS – foi mais complicado. Instalar o kernel foi simples-swupd bundle-add kernel-lts2018-mas obter o Clear Linux para realmente inicializar a partir dele foi um pouco de pesadelo.

A ferramenta clr-boot-manager parece bastante simples-mas nem todas as opções funcionaram.
Ampliar / A ferramenta clr-boot-manager parece bastante simples-mas nem todas as opções funcionaram.
Jim Salter

A distribuição não mantém sua configuração de gerenciamento de boot em nenhum dos lugares que um usuário experiente *nix poderia procurar por eles-/boot, /etc/default, qualquer coisa a ver com grub, etc. Eu nunca encontrei a localização real dos dados de configuração, mas eventualmente descobri que é esperado que um usuário Clear Linux manipule o ambiente de boot com a ferramenta clr-boot-manager. Infelizmente, clr-boot-manager set-kernel org.clearlinux.lts2018.4.19.103-113 seguido de clr-boot-manager update-que deveria ter selecionado aquele kernel para usar no próximo boot-did absolutamente nada, e eu girei meu wheels poking em coisas, reiniciando, rodando uname -a, e ainda vendo um kernel 5.5 rodando por um bom tempo.

Finalmente, eu desisti de clr-boot-manager set-kernel e ao invés disso tentei clr-boot-manager set-timeout 10. Isso funcionou – depois de reinicializar desta vez, me foi apresentada uma lista de kernels e manualmente selecionei o kernel 4.19 LTS. Agora, uname -a me mostrou que eu estava rodando no kernel 4.19, e eu estava pronto para compilar o ZFS!

Anúncio

Os problemas estavam longe de ter terminado, infelizmente. Baixando e extraindo o tarball do código fonte do OpenZFS, chdir entrando nele e rodando ./configure, fui apresentado com um erro: uuid/uuid.h missing, libuuid-devel package required. Infelizmente, não há um pacote libuuid-devel em swupd nem está lá libuuid, uuid, uuid-dev, uuid-devel, ou qualquer outra coisa ao longo dessas linhas. Nem swupd search uuid nem swupd search-file uuid.h chegaram a qualquer resultado útil, ou – mesmo que eles deveriam ter.

Finalmente, eu abri um novo número no ZFS no Linux tracker, esperando que alguém tivesse colocado o ZFS rodando no Clear ou que eu pudesse obter informações suficientes sobre o script de configuração para tentar monkey-patchá-lo eu mesmo. Brian Behlendorf – desenvolvedor fundador do porte Linux do OpenZFS e um cara legal – também não teve a resposta.

Mas Brian me deu a dica que finalmente resolveu o quebra-cabeça – apesar de swupd search-file uuid.h não ter encontrado o pacote que eu precisava, swupd search-file libuuid.so.1 encontrou. Então um swupd bundle-add os-core-dev depois/configure e make install, ambos completados com sucesso!

Publicidade

O problema restante que eu enfrentei é que o simples comando de manipulação do Módulo do Kernel Linux (LKM) insmod-que permite especificar um caminho para o módulo a ser inserido no kernel – não resolve dependências, e assim insmod /path/to/zfs.ko falhou com o erro unknown symbol. A ferramenta muito mais inteligente modprobe irá detectar e resolver problemas de dependência – mas não permitirá que você especifique o caminho para os módulos do kernel, e o instalador os despejou em lugares onde modprobe não sabia olhar.

Após um pouco de falhas, eu eventualmente apenas despejei um link simbólico para cada um dos arquivos package.ko do ZFS – que estavam em diretórios individuais sob /lib/modules/extra-diretamente em /lib/modules. Com isso, modprobe zfs funcionou, e eu realmente tinha o ZFS rodando no Clear Linux. Huzzah!

Embora o ZFS estivesse funcional agora, ainda havia papercuts para lidar. Os comandos zpool e zfs estavam em /usr/local/sbin, que não faz parte do padrão PATH no Clear Linux. Além disso, o módulo ZFS não estava configurado para carregar automaticamente no boot. Os problemas restantes são, felizmente, bastante triviais de resolver. Para corrigir o problema do caminho, ou atualize seu PATH para incluir /usr/local/sbin, ou faça um link simbólico dos utilitários em /usr/local/bin. Para fazer o ZFS carregar automaticamente no boot, crie um diretório /etc/modules-load.d, depois crie um arquivo /etc/modules-load.d/zfs.conf e preencha-o com uma única linha apenas dizendo zfs.

Anúncio

Essa história de cachorro fofo não é realmente sobre o ZFS – é sobre o fato de que problemas que são relativamente simples sob distribuições mais bem viajadas podem ser uma grande dor na parte de trás sob o Clear Linux. Estes tipos de problemas são todos resolvidos, claro – mas se você não está disposto e animado a fazer parte do esforço para resolvê-los você mesmo ou para aqueles que vêm atrás de você, você provavelmente deve se afastar do Clear como um motorista diário.

O bom

  • Clear Linux é apoiado pela Intel, uma das maiores e mais importantes empresas de ciência da computação do mundo
  • Clear Linux tem um mandato conciso e claro: estar seguro, ser rápido, fazer as coisas bem
  • A maioria das coisas funciona com pouco ou nenhum ajuste
  • Se você está vinculado e determinado a ter o Linux mais rápido do Ocidente, esta é a distro para os usuários de it-sorry, Arch e Gentoo
  • “Este é o Linux! Eu sei disso!”

O mau

  • Embora a maioria das coisas funcionem sem ajustes, a maioria dos usuários vai querer rapidamente algo que não funciona
  • Intel’s swupd ferramenta de gerenciamento de pacotes é desajeitada, viciada e não parece indexar todos os pacotes corretamente
  • Existem tão poucos usuários, que procurar por ajuda pode parecer como viajar no tempo para o passado (Quem era você, DenverCoder9? O que você viu?!)

O feio

  • Limpar o Linux – pelo menos por enquanto – é muito mais adequado para um conjunto simples de tarefas repetitivas onde a velocidade de execução é absolutamente crítica para a missão do que para o uso diário abrangente e de propósito geral

Deixe um comentário