Type a search term to find related articles by LIMS subject matter experts gathered from the most trusted and dynamic collaboration tools in the laboratory informatics industry.
Uma distribuição Linux (geralmente abreviada de distro) é um sistema operativo (português europeu) ou sistema operacional (português brasileiro) criado a partir de uma coleção de softwares, com o uso do núcleo Linux, um sistema gestor de pacotes, e um repositório de programas. Na maior parte dos casos, as distribuições Linux utilizam bibliotecas e utilidades criadas pela GNU. Há distribuições Linux para uma variedade de casos de uso, desde sistemas embarcados (como o DD-WRT para roteadores), computadores pessoais (como o Linux Mint, por exemplo), para supercomputadores, como o Scientific Linux, utilizado pela Fermi National Accelerator Laboratory.
Na maioria das distribuições Linux, a maior parte do software disponível em seus repositórios é livre e de código aberto, na forma de pacotes previamente compilados (binários), e em código-fonte, sendo possível modificá-lo. Normalmente, distribuições Linux incluem alguns softwares proprietários, que não vêm com o código-fonte, como os binary blobs necessários para alguns drivers de dispositivo.[1]
Em uma distribuição Linux para computadores pessoais, além dos programas já mencionados, também incluem um sistema de janelas, um gerenciador de janelas e um ambiente de desktop. Também é comum a inclusão de certos softwares proprietários que não estejam disponíveis em código-fonte, como drivers de dispositivos.[1]
Uma distribuição Linux pode ser obtida on-line, disponíveis na forma de instaladores (como o Ubiquity e o Anaconda) que podem ser gravados em DVDs e pen drives, ou utilizadas para serem gravadas em servidores. Os instaladores e os repositórios de software estão distribuídos em servidores ao redor do mundo.[2]
Uma distrinuição Linux também pode ser definida como uma série de aplicativos ou softwares utilitários (como diversas ferramentas e bibliotecas de GNU) equipadas com o kernel Linux de tal forma que suas funções se aplicam à necessidade do usuário.[3] Normalmente, o software é adaptado para a distribuição e combinado com o gestor de pacotes pelos gerenciadores. Os pacotes de software estão disponíveis em repositórios online, que estão distribuídos ao redor do globo.[4][5] Além dos glue codes, como os instaladores das distribuições (como o Debian-Installer ou o Anaconda) e os sistemas gestores de pacotes, pouquíssimos pacotes são escritos pelos gerenciadores.
Existem mais de mil distribuições Linux, e a maioria está em desenvolvimento ativo.[6][7] Por causa da grande disponibilidade de software, as distribuições se diferem em seu foco de usuários, que podem ser computadores pessoais e servidores, ou netbooks e celulares e tablets,[8][9] além de softwares para ambientes mínimos, como os para sistemas embarcados.[10][11] Existem distribuições com o suporte de companhias, como o Fedora Linux pela Red Hat, o openSUSE pela SUSE e o Ubuntu pela Canonical, e distribuições completamente suportadas por suas comunidades, como o Arch Linux, o Debian, o Gentoo, e o Slackware Linux. A maior parte das distribuições são feitas prontas para serem usadas e pré-compiladas com um conjunto de instruções, enquanto outras, como o Gentoo, são em sua maioria distribuídas em código-fonte e precisam ser compiladas localmente para que possam ser instaladas.[12]
Em 1991, Linus Torvalds desenvolveu e distribuiu a primeira versão do Linux kernel, a 0.01. Originalmente, Linux era distribuído apenas em código-fonte, e posteriormente como uma imagem distribuída em um par de disquetes; um inicializável, que continha o Linux kernel, e outro com um conjunto de ferramentas e utilidades GNU, para configurar o sistema de arquivos. Já que o procedimento de instalação era complicado, principalmente se comparado com o crescente número de softwares disponíveis, surgiram distribuições que simplificavam o processo.[13]
As distribuições Linux começaram a receber maior popularidade desde a segunda metade dos anos 90, como uma alternativa livre para os sistemas operativos comerciais, Microsoft Windows e Mac OS, principalmente por parte de pessoas habituadas ao Unix na escola e no trabalho. O sistema tornou-se muito popular no mercado de servidores, principalmente para hospedar websites e bancos de dados.[carece de fontes]
Entre as primeiras distribuições, estão:
As duas distribuições mais antigas ainda em desenvolvimento começaram em 1993. A distribuição SLS não era bem mantida, por isso, em julho de 1993, foi lançada outra distribuição SLS, o Slackware, criada por Patrick Volkerding.[24] Igualmente não satisfeito com a SLS, Ian Murdock criou a distribuição grátis Debian, cuja distribuição da versão beta aconteceu em janeiro de 1994, e sua versão estável foi lançada junho de 1996.[25][26]
Os usuários eram atraídos pelo Linux como uma alternativa do DOS e os sistemas operacionais da Microsoft Windows para os computadores IBM PC compatível, o Mac OS da Apple Macintosh, e as versões pagas do Unix. A maior parte dos primeiros usuários já eram familiares com o Unix, que era usado no trabalho e nas escolas. O Linux foi adotado por seu baixo custo (ou grátis) e a disponibilidade do código-fonte para a maior parte dos softwares.
Em 2017, Linux se tornou mais popular em mercados de servidores e dispositivos previamente embarcados do que no mercado de desktops. Ele foi usado em mais de 50% dos servidores de websites,[27] em comparação com 3,7% do mercado de desktop.[28]
Muitas distribuições Linux fornecem um sistema de instalação parecido com outros sistemas operacionais modernos. Outras distribuições, incluindo o Gentoo Linux, provém apenas apenas o binário do kernel básico, ferramentas de compilação e um instalador, que compila todo o software necessário para a arquitetura do computador do usuário, usando suas ferramentas e código-fonte.
Normalmente, distribuições são segmentadas em pacotes. Cada pacote contém uma aplicação ou serviço diferente. Alguns exemplos são a biblioteca para lidar com o formato de imagem PNG, coleções de fontes e o navegador web.
O pacote é tipicamente fornecido como um código compilado, com sua instalação e remoção feitas por um sistema gestor de pacotes (SGP), ao invés de um simples arquivador de ficheiros. Cada pacote feito para certo SGP contém metadados, como sua descrição, o número de sua versão e suas dependências (outro pacotes necessários para sua execução). O SGP avalia os metadados para permitir a procura de pacotes, executar atualizações automáticas e checar se todas suas dependências estão presentes (e até mesmo notificar o usuário para que as instale, ou que eles sejam instalados automaticamente). O pacote também pode ser usado como código-fonte para ser compilado pelo sistema.
A maior parte das distribuições instalam os pacotes, incluindo o kernel e outros componentes essenciais do sistema operacional, em uma configuração predeterminada. Alguns poucos requerem permissões para ajustamento de configuração para instalar pela primeira vez. Estes procedimentos fazem o processo de instalação menos complicados, especialmente para novos usuários, mas nem sempre são aceitáveis. Para certos requerimentos, o software precisa ser cuidadosamente configurado para ser útil, para funcionar corretamente com outro software, ou para ser seguro, e administradores locais são comumente obrigados a rever e reconfigurar os procedimentos.
Algumas (mas não todas) distribuições ajustam seus softwares personalizáveis ou provém ferramentas para ajudar os usuários.
Ao obter e instalar todos os serviços providos pela distribuição fora do pacote, o administrador pode criar uma instalação "sem distribuições". É possível criar sistemas operacionais do zero, evitando completamente as distribuições. É necessário criar uma maneira de gerar os primeiros binários até que o sistema seja auto-hospedável. Isto pode ser feito com via compilação em outro sistema capaz de construir binários para certo objetivo (possivelmente um compilador cruzado). Um exemplo é o Linux From Scratch.
Em termos gerais, as distribuições Linux podem ser:
A diversidade de distribuições Linux se dá pela variação técnica, organizacional ou filosófica entre os produtores e os usuários. A licença permissiva dos software livres permitem que usuários com o conhecimento e interesse necessários podem customizar uma distribuição existente ou criar uma do zero de acordo com seus interesses.
Distribuições Linux contínuas são mantidas por atualizações pequenas e contínuas. Os termos contínuo parcial ou contínuo em partes (juntos com os sinônimos semi-contínuo e meio-contínuo), inteiramente contínuo, verdadeiramente contínuo e opcionalmente contínuo por vezes são usados pelos desenvolvedores e usuários.[29][30][31][32][33][34]
Repositórios de distribuições contínuas normalmente contém lançamentos de software muito recentes, normalmente a última versão estável disponível.[31] Há pseudo-lançamentos e mídias de instalação que são versões de controle da distribuição na data de lançamento da imagem. Normalmente, um sistema operacional de distribuição contínua instalado por uma mídia mais antiga ainda pode ser atualizado.[31][35]
Dependendo do uso, há vantagens e desvantagens para as metodologias de desenvolvimento de software para ambas distribuições padrão e contínuas.[36]
Em termos de desenvolvimento de software, as distribuições padrão necessitam de um grande esforço para manter as versões anteriores funcionando por precisar atualizar a versão mais nova com correções de falhas ao mesmo tempo que precisam trabalhar em seu desenvolvimento. Também, as distribuições padrão precisam de mais de uma ramificação para o desenvolvimento e manutenção, que aumenta a quantidade de trabalho dos desenvolvedores e mantenedores.
Por outro lado, recursos de software e planejamento tecnológico são mais simples em distribuições padrão, pois os recursos das versões futuras são mais fáceis de se prever. Os ciclos de lançamento de software também podem ser sincronizados com projetos upstream, como ambientes de área de trabalho.
Do ponto de vista da experiência do usuário, lançamentos padrão são vistos como mais estáveis e livres de falhas, já que conflitos de software podem ser mais facilmente corrigidos e o software em si pode ser testado e avaliado com mais cuidado durante o ciclo de desenvolvimento.[36][37] Por isso, eles tendem a ser escolhidos em ambientes empresariais ou em que é importante se chegar a um resultado.[36]
Mas distribuições contínuas são mais comuns, além de serem mais estáveis e terem menos falhas, além de ter benefícios adicionais como novos recursos, melhor funcionalidade, ser mais rápidos e ser superiores em aplicações de segurança. Em segurança de software, as distribuições contínuas podem ter vantagens em correção de falhas e vulnerabilidades de segurança, pois distribuições padrão precisam esperar até o próximo lançamento para fazer as correções, ou corrigir em todas as versões do software. Em distribuições contínuas, onde o usuário escolheu rodar o sistema em um ambiente altamente dinâmico, o constante fluxo de pacotes de software pode mostrar vulnerabilidades inesperadas.[36]
Uma distribuição executável é uma distribuição Linux que pode ser inicializada por uma mídia de armazenamento removível, como discos ópticos ou pen-drives, ao invés de ser instalados e inicializados em um disco rígido. A portabilidade de distribuições que não necessitam de instalação as tornam vantajosas para aplicações e demonstrações como empresar o sistema para outra pessoa, operações de resgate ou instalação de mídias em uma distribuição convencional.
Quando um sistema operacional é inicializado em uma mídia de leitura, como um CD ou um DVD, quaisquer dados que precisam ser retidos entre as sessões não podem ser guardados no dispositivo de inicialização. Eles precisam ser guardados em outro dispositivo de armazenamento, como um pen-drive ou um disco rígido.[38]
Muitas distribuições Linux fornecem uma versão executável junto com a versão convensional, que é uma mídia baseada em rede ou removível que serve apenas para a instalação do sistema operacional. Alguns exemplos são SUSE, Ubuntu, Linux Mint, MEPIS e Fedora Linux. Algumas distribuições, como Knoppix, Puppy Linux, Devil-Linux, SuperGamer, SliTaz GNU/Linux e dyne:bolic, foram concebidas para serem usadas como executáveis. Além disso, algumas distribuições mais simples podem ser executadas em alguma mídia com pouca memória, como um disquete, sem precisar transferir dados para o disco rígido.[39]
O Distrowatch cataloga muitas das distribuições Linux, e disponibiliza as com maiores tráfegos no website. A Fundação Wikimedia disponibilizava uma análise dos agentes de usuário de navegador em seus websites até 2015, que incluia os identificadores de sistemas operacionais mais populares, como algumas distribuições Linux.[40] Algumas das distribuições mais populares estão listadas abaixo.
A classificação dos sistemas operacionais acima como uma distribuição Linux é controversa. Eles usam o Linux kernel, então a Fundação Linux[41] e Chris DiBona,[42] o chefe dos projetos de licença livre da Google, concordam que o Android é uma distribuição Linux. Outros, como o engenheiro da Google Patrick Brady, discordam, argumentando que há falta de suporte para muitas ferramentas GNU dentro do Android, incluindo o glibc.[43]
Outros sistemas operacionais baseados em Linux kernel são CyanogenMod, sua ramificação, o LineageOS, o Android-x86, e os mais recentes Tizen, Mer/Sailfish OS e o KaiOS.
Uma mini-distribuição Linux é uma distribuição criada para ser compatível com hardwares mais antigos, permitindo que ele ainda seja usado produtivamente, ou para se atingir a maior velocidade possível em hardwares mais novos, deixando mais recursos disponíveis para serem usados por outras aplicações. Alguns exemplos são o Tiny Core Linux, Puppy Linux e o SliTaz.
Outras distribuições são feitas para aplicações de nicho, como:
O Free Standards Group é uma organização formada pelos principais vendedores de software e hardware para melhorar a interoperabilidade entre diferentes distribuições. Entre as normas propostas pela organização, está a Linux Standard Base, que define a Interface binária de aplicação, o sistema de pacotes para o Linux, e o Filesystem Hierarchy Standard, que recomenda uma lista de nomeações de arquivo padrão, como os nomes padrão de arquivos encontrados na base de qualquer sistema de arquivos Linux. Porém, estas normas têm uso limitado, mesmo entre os desenvolvedores membros da organização.[carece de fontes]
Por causa de sua diversidade, nem todos os softwares rodam em todas as distribuições Linux, pois dependem de quais bibliotecas e outros atributos do sistema são requeridos. Normalmente, software de pacotes e repositórios de software são específicos de certa distribuição, mas por vezes instalação cruzada é possível entre distribuições semelhantes.[carece de fontes]
O processo de trocar constantemente de distribuições é conhecido como "distro hopping".[45][46] Softwares de máquinas virtuais, como VirtualBox ou VMware Workstation, virtualizam o hardware, permitindo que usuários testem mídias sem a necessidade de instalar o sistema. Alguns websites como DistroWatch oferecem listas de distribuições, e mostram capturas de tela de sistemas operacionais para dar uma boa primeira impressão de seu funcionamento.
Há diversas maneiras de se instalar uma distribuição Linux. O método mais comum é com a utilização de um pen drive, onde é usado o aplicativo criador de imagem e a imagem ISO, que pode ser baixada em diversos websites de distribuições Linux. Outras mídias podem ser usadas na instalação, como DVDs, CDs, instalação por rede ou outros discos rígidos.[47]
As distribuições Linux dos anos 90 eram instaladas com disquetes, mas a prática foi abandonada por todas as principais distribuições. Nos anos 2000, muitas distribuições ofereciam CDs ou DVDs, onde o primeiro disco continha os pacotes essenciais e os restantes continham os pacotes menos importantes. Algumas distribuições, como o Debian, permitiam a instalação através de uma rede após inicializar um conjunto de disquetes ou um CD contendo uma pequena quantidade de informação.[48]
Alguns usuários passaram a particionamentar o disco rígido para manter o antigo sistema operacional. Assim, a distribuição Linux pode ser instalada em uma partição separada, sem afetar os dados salvos previamente.[49]
Caso um CD-executável esteja sendo usado, o computador inicializa o sistema operacional do CD sem instalar no disco rígido do computador. Muitas distribuições possuem um instalador baseado em CD-executável, onde o computador inicializa o sistema operacional do CD, e então ele pode ser instalado no disco rígido, provendo uma transição perfeita entre o sistema rodando de uma mídia para a outra.
Há servidores e computadores pessoais que já vêm com o Linux instalado da loja, como o Hewlett-Packard, Dell e System76.
Em dispositivos embarcados, normalmente o Linux está no firmware, e pode ou não ser acessível pelo usuário.
Anaconda, um dos instaladores mais populares, é usada pela Red Hat Enterprise Linux, Fedora (que usa o Fedora Media Writer) e outras distribuições para simplificar o processo de instalação. Debian, Ubuntu e outros usam o Debian-Installer.
Algumas distribuições, como o WinLinux e coLinux, permitem sua instalação por cima de outro sistema operacional. O Linux é instalado em uma partição do disco rígido do Windows, e pode ser inicializado dentro do sistema operacional.
Máquinas virtuais (como VirtualBox e VMware) também permitem que o Linux rode dentro de outro sistema operacional. O software da máquina virtual simula um computador no qual o Linux está instalado. Depois da instalação, a máquina virtual pode ser inicializada como se fosse um computador independente.
Várias ferramentas permitem inicialização múltipla de plataformas independentes sem o uso de um CD, como:
Alguns softwares proprietários em específico não estão disponíveis para Linux. Em setembro de 2015, o Steam tinha 1.500 jogos disponíveis para Linux, comparado com os 2.323 jogos disponíveis para Mac e 6.500 para Windows.[51][52][53] Projetos de emulação e tradução de API, como o Wine e CrossOver, tornam possível rodar softwares que não são baseados em Linux nas distribuições, ao emular um sistema operacional proprietário ou traduzir chamadas de API proprietários nos APIs nativos do Linux (por exemplo, chamadas para os APIs Win32 ou DirectX da Microsoft). Também é possível usar uma máquina virtual para rodar sistemas operacionais proprietários (como o Microsoft Windows) no Linux.
Hardware normalmente é vendido com um sistema operacional instalado que não é Linux pelo fabricante de equipamento original (OEM). No caso do IBM PC compatível, normalmente o sistema operacional é o Microsoft Windows; no Apple Macintosh, uma versão dos sistemas operacionais da Apple sempre veio instalado, sendo o mais recente o macOS; a Sun Microsystems vende o hardware SPARC com Solaris instalado; consoles de video game, como Xbox, Playstation e Wii, usam seus próprios sistemas operacionais proprietários. Isto limita a fatia de mercado do Linux, pois os consumidores não estão cientes que existem alternativas, e ou eles precisam instalar os programas sozinhos ou dependem de ajuda de um amigo, parente ou um profissional da área da computação.
Porém, é possível comprar hardware com o Linux instalado. A Lenovo, Hewlett-Packard, Dell, Affordy,[54] Purism, Pine64 e System76 vendem laptops com Linux de propósito geral instalados.[55] Fabricantes de computadores customizáveis também criam distribuições Linux, mas provavelmente com a tecla windows no teclado. A Fixstar Solutions (antiga Terra Soft) vende computadores Macintosh e PlayStation 3 com Yellow Dog Linux instalado.
É mais comum encontrar dispositivos embarcados que vendam Linux como o sistema operacional padrão, incluindo o dispositivo Linksys NSLU2 NAS, a linha de gravadores de vídeo pessoais TiVo, celulares com sistemas operacionais baseados em Linux (como os smartphones que usam Android) e leitores de música portáteis.
A partir do Windows 7, a licensa do Microsoft Windows permite que o fabricante decida sua política de reembolso.[56] Nas versões anteriores, era possível obter o reembolso caso o fabricante falhasse em prover o dinheiro por litigação em julgamentos de pequenas ações.[57] Em 15 de fevereiro de 1999, um grupo de usuários de Linux do Condado de Orange (Califórnia) organizou um protesto do "Dia do Reembolso do Windows" em uma tentativa de fazer com que a Microsoft liberasse seus reembolsos.[58] Na França, usuários do Linuxfrench e organizações AFUL (versão francesa do Libre Software Users' Association), junto com ativista de software Roberto Di Cosmo, iniciaram o movimento "Destributação do Windows",[59] que levou a uma petição em 2006 contra o ato de racketeering que obteve 39.415 assinaturas, além de preencherem diversas reclamações na Diretoria Geral de Competição, Consumo & Repressão de Fraudes do Governo Francês. Em 24 de março de 2014, a AFUL lançou uma petição internacional pela plataforma Avaaz,[60] que foi traduzida para diversas línguas e ganhou o apoio de diversas entidades espalhadas pelo mundo.
Não há números oficiais sobre a popularidade, adoção, downloads ou da base instalada de distribuições Linux.
Também não há números oficiais da quantidade total de distribuições Linux,[61][62] parcialmente por causa da dificuldade de quantificar o número de computadores que rodam o Linux, já que muitos usuários baixam as distribuições na internet. Logo, os números de venda de distribuições são muito menor do que o número real de adoção de Linux. O principal motivo é que o Linux é um software livre e de código aberto, e pode ser baixado de graça.[61][63] O Linuxcounter Project ajudou a fazer uma estimativa aproximada do número de distribuições, mas ele não as distingue entre distribuições contínuas e padrão. Ela parou de funcionar em agosto de 2018, apesar de alguns blogs continuarem a prestar o serviço a partir de então.[64]
Estatísticas sobre o uso em desktop de algumas distribuições específicas são recolhidas e publicadas desde julho de 2014[65] pelo Linux Hardware Project.