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]
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]
História
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 imagens "Boot-Root" de Torvald, que depois foram administradas por Jim Winstead Jr. Elas são o par de disquetes que vinham com o kernel e as ferramentas mínimas para instalar o sistema (4 de novembro de 1991).[14][15][16][17]
Softlanding Linux System (SLS), que incluia o X Windows System e era uma das distribuições mais compreensíveis ao público leigo de seu tempo (15 de agosto de 1992).[19]
Os "rootdisks inicializáveis" (23 de setembro de 1992)[20][21] e o "Linux Base System" (5 de outubro de 1992),[22][23] de H.J. Lu.
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]
Componentes
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.
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 contínuas
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]
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]
Distribuições que não precisam de instalação (CD/USB-Executável)
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]
Exemplos
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.
Distribuições baseadas ou compatíveis com GNU amplamente usadas
Debian, uma distribuição não-comercial e uma das primeiras distribuições Linux que é mantida por uma comunidade de desenvolvedores voluntários com um forte compromisso com os princípios do software livre e a manutenção de projetos democráticos
Ubuntu, uma distribuição para área de trabalho e servidores que é derivada do Debian, e é mantida pela empresa Canonical Ltd.
Linux Mint, uma distribuição baseada e compatível com Ubuntu. Ela suporta múltiplos ambientes de área de trabalho, como Cinnamon, ramificação do GNOME Shell, e MATE, ramificação do GNOME 2.
Fedora Linux, uma distribuição comunitária patrocinada pela empresa Red Hat. A distribuição é a sucessora da antiga distribuição da empresa, a Red Hat Linux. Ela é um ambiente de testes para outras distribuições Linux comerciais da Red Hat.
Red Hat Enterprise Linux (RHEL), derivada da Fedora Linux, é mantida e patrocinada pela Red Hat. Ela mantém um servidor e ambiente de trabalho Linux seguro, testado e estável para empresas
openSUSE, uma distribuição comunitária patrocinada majoritariamente pela empresa alemã SUSE
Arch Linux, uma distribuição contínua feita para usuários experientes de Linux e mantida por uma comunidade de voluntários, que oferece pacotes oficiais de binários e uma grande quantidade de pacotes de código-fonte não-oficiais enviados pelos usuários. Os pacotes normalmente têm o formato de um único arquivo de texto baseado em PKGBUILD
Manjaro Linux, derivado do Arch Linux, ele inclui um instalador gráfico e outros recursos fáceis de se usar para usuários menos experientes
ChromeOS, é o sistema operacional comercial da Google baseado no ChromiumOS, que roda em Chromebooks, Chromeboxes e tablets. Assim como o Android, ele vem com o Google Play Store e outros Google Apps. Ele suporta aplicativos que necessitam de compatibilidade GNU e também etá disponível em uma máquina virtual chamada de Crostini. O sistema operacional é classificado pela Google como um suporte Linux
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]
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.
Distribuições de nicho
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?]
Distro hopping
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.
Instalação
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.
Instalação a partir de um sistema operacional existente
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:
Wubi (agora deprecado), que permite que usuários de Windows baixem e instalem o Ubuntu ou seus derivados dentro da partição FAT32 ou NTFS sem um CD de instalação, permitindo que os usuários usem ambos os sistemas no mesmo disco rígido sem perder seus dados. Foi substituído pelo Ubiquity
Win32-loader, que faz parte do processo de integração dos CDs/DVDs oficiais do Debian, e permite a instalação do sistema operacional sem o CD, apesar de fazer a instalação a partir de uma rede, e por isso precisa fazer a repartição de disco[50]
UNetbootin, que permite usuários de Windows e Linux façam uma operação parecida com instalação por rede para uma grande variedade de distribuições Linux, e ainda dá suporte para a criação de um USB-executável
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.
Contratos OEM
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.
É 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.
Estatísticas
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.
↑Jerry Hildenbrand (8 de novembro de 2012). «Ask AC: Is Android Linux?». Android Central (em inglês). Consultado em 23 de julho de 2023. Arquivado do original em 23 de julho de 2023
↑Electric Rider (7 de agosto de 2014). «How I stopped distro hopping». Linux Today (em inglês). Consultado em 25 de julho de 2023. Arquivado do original em 19 de setembro de 2016
↑Caitlyn Martin (7 de setembro de 2010). «Debunking the 1% Myth». O'Reilly (em inglês). Consultado em 26 de julho de 2023. Arquivado do original em 27 de fevereiro de 2011
↑C. Lohner (31 de agosto de 2019). «The Linuxcounter project is closed!». The Linuxcounter Project (em inglês). Consultado em 26 de julho de 2023. Arquivado do original em 28 de agosto de 2019