Saltar para o conteúdo

Linux

Origem: Wikip�dia, a enciclop�dia livre.
 Nota: Este artigo � sobre o sistema operacional. Para outros significados, veja Linux (desambigua��o).
Linux
Vers�o do sistema operativo baseado em Unix

Tux, a mascote do Linux
Produ��o Linus Torvalds, Comunidade
Linguagem Principalmente C e Assembly
Modelo Principalmente c�digo aberto, software propriet�rio tamb�m est� dispon�vel.
Lan�amento 17 de setembro de 1991; h� 33 anos
Vers�o est�vel 6.10
Vers�o em teste 6.12-rc1 (29 de setembro de 2024; h� 13 dias) [�][1]
Mercado-alvo Computadores pessoais, dispositivos m�veis, dispositivos embarcados, servidores, mainframes, supercomputadores
Arquitetura(s) Alpha, AMD64, ARC, ARM, C6x, H8/300, Hexagon, Itanium, m68k, Microblaze, MIPS, NDS32, Nios II, OpenRISC, PA-RISC, PowerPC, RISC-V, s390, SuperH, SPARC, Unicore32, x86, XBurst, Xtensa
N�cleo Monol�tico (Linux)
Licen�a GNU GPLv2 / outras (o nome "Linux" � uma marca comercial[2])
P�gina oficial
Estado de desenvolvimento
Ativo

Linux � um termo popularmente empregado para se referir a sistemas operativos (portugu�s europeu) ou sistemas operacionais (portugu�s brasileiro) que utilizam o n�cleo Linux.[3] O n�cleo (ou kernel, em ingl�s) foi desenvolvido pelo programador finland�s Linus Torvalds, inspirado no sistema Minix. O seu c�digo-fonte est� dispon�vel sob a licen�a GPL (vers�o 2) para que qualquer pessoa o possa utilizar, estudar, modificar e distribuir livremente de acordo com os termos da licen�a.[4] A Free Software Foundation e seus colaboradores recomenda[5] o nome GNU/Linux para descrever o sistema operacional GNU, como resultado de uma disputa controversa entre membros da comunidade de software livre e c�digo aberto.[6][7]

Inicialmente desenvolvido e utilizado por grupos de entusiastas em computadores pessoais, os sistemas operativos (português europeu) ou sistemas operacionais (português brasileiro) com núcleo Linux passaram a ter a colaboração de grandes empresas como IBM, Sun Microsystems, Hewlett-Packard (HP), Red Hat, Novell, Oracle, Google, Microsoft e Canonical.[8]

O desenvolvimento do Linux é um dos exemplos mais proeminentes de colaboração de software livre e de código aberto. O código-fonte pode ser usado, modificado e distribuído — com fins comerciais ou não — por qualquer um, respeitando as licenças, como a GNU General Public License versão 2, devolvendo o código desenvolvido de volta para o desenvolvimento do núcleo.

Normalmente, o Linux é encontrado em uma distribuição Linux, seja para um computador ou para um servidor. Algumas distribuições Linux populares[3] incluem Arch Linux, CentOS, Debian, Fedora Linux, Linux Mint, openSUSE, Ubuntu, além de distribuições focadas para usuários corporativos, como o Red Hat Enterprise Linux ou o SUSE Linux Enterprise Server. Uma distribuição Linux inclui o núcleo Linux, bibliotecas e utilidades, além de aplicações, como a suíte de escritório LibreOffice, um navegador web (normalmente Mozilla Firefox), entre outras aplicações.[3]

"O que queríamos preservar era não só um bom ambiente para fazer programação, mas sim um sistema em torno do qual um companheirismo poderia se formar. Por experiência, sabíamos que a essência da computação em comunidade da maneira proporcionada pelo acesso remoto e o compartilhamento de tempo de máquinas não é apenas para digitar programas em um terminal em vez de um fundador de papel, mas para encorajar a comunicação de perto".

O sistema operacional Unix foi concebido e implementado em 1969 pela AT&T Bell Laboratories nos Estados Unidos por Ken Thompson, Dennis Ritchie, Douglas McIlroy, e Joe Ossanna. Lançado pela primeira vez em 1971, o Unix foi escrito inteiramente em linguagem assembly uma prática comum para a época. Mais tarde, em 1973, o sistema foi reescrito na linguagem de programação C por Dennis Ritchie.[9] A disponibilidade de uma implementação do Unix feita em linguagem de alto nível fez a sua portabilidade para diferentes plataformas de computador se tornarem mais fácil. Na época, a maioria dos programas era escrita em cartões perfurados que tinham de ser inseridos em lotes em computadores mainframe.[10]

Devido a uma lei antitruste que a proibia de entrar no negócio de computadores, a AT&T foi obrigada a licenciar o código fonte do sistema operacional para quem quisesse.[11] Com o resultado, o Unix cresceu rapidamente e se tornou amplamente adotado por instituições acadêmicas e diversas empresas. Em 1984, a AT&T se desfez da Bell Labs; livres da obrigação legal exigindo o licenciamento do royalty, a Bell Labs começou a vender o Unix como um Software proprietário.[10]

O sistema foi continuado dentro da Bell Labs, chegando a poucas dezenas de instalações, porém só obteve grande crescimento após ter sido totalmente reescrito na linguagem C, o que permitiu uma portabilidade melhor para outras plataformas. A linguagem C foi derivada da linguagem B e criada por Dennis Ritchie e Brian Kernighan. Nesta época, o sistema já contava com mais de 60 comandos, muitos deles ainda utilizados até hoje, tais como: cd - trocar de diretórios, chmod - trocar permissões, wc - contar palavras em arquivos, roff - processar texto, etc. O seu crescimento e reconhecimento culminou com a publicação na renomada revista “ Communications of the ACM” , em julho de 1974.

Com sua filosofia de simplicidade, padrões abertos e seu licenciamento facilitado pela AT&T, o Unix se espalhou e se desenvolveu rapidamente pelas universidades. Várias versões de Unix foram surgindo, sendo que a principal delas foi desenvolvida na Universidade de Berkeley, denominada BSD (Berkeley Software Distribution), um software liberado publicamente em 1977, predecessor dos atuais e bem-sucedidos BSD's (FreeBSD, OpenBSD e NetBSD). Outras versões comerciais também foram surgindo, tais como: Irix pela SGI em 1982, XENIX pela SCO em 1983, HP-UX pela HP em 1986, SunOS pela Sun em 1987 e AIX pela IBM em 1990 .

A maioria dos sistemas inclui ferramentas e utilitários baseados no BSD e tipicamente usam XFree86 ou X.Org para oferecer a funcionalidade do sistemas de janelas X — interface gráfica. Assim como também oferecem ferramentas desenvolvidas pelo projeto GNU.

O Projeto GNU, iniciado em 1983 por Richard Stallman, teve o objetivo de criar um "sistema de software completamente compatível com o Unix", composto inteiramente de software livre. O trabalho começou em 1984.[12] Mais tarde, em 1985, Stallman começou a Free Software Foundation e escreveu a Licença Pública Geral GNU (GNU GPL) em 1989. No início da década de 1990, muitos dos programas necessários em um sistema operacional (como bibliotecas, compiladores, editores de texto, uma Unix shell, e um sistema de janelas) foram concluídos, embora os elementos de baixo nível, como drivers de dispositivo, daemons e as do kernel foram paralisadas e não completadas.[13]

Apesar de não ter sido lançado até 1992 devido a complicações legais, o desenvolvimento do 386BSD, que veio a partir do NetBSD, OpenBSD e FreeBSD, antecedeu ao do Linux. Linus Torvalds disse que se o 386BSD estivesse disponível naquele momento, ele provavelmente não teria criado o Linux.[14]

Vários fatores ajudaram a rápida expansão do Linux depois de seu lançamento

[editar | editar código-fonte]
  • Popularização dos computadores pessoais: o Unix era o S.O. padrão para estudos em universidades, porém, utilizavam plataformas proprietárias relativamente caras. O Linux se tornou uma opção para resolver esse problema, porque com ele foi possível a utilização de computadores pessoais mais baratos.
  • Projeto GNU: o projeto GNU, criado por Richard Stallman em 1984, surgiu com o intuito de apoiar a liberdade de software (veja seção mais adiante sobre Software Livre). Na época do surgimento do Linux, Stallman apoiava e pretendia adotar o kernel Hurd, porém este não estava utilizável, com isso, o Linux acabou sendo o kernel (componente central do sistema operacional ligando aplicativos e o processamento real de dados feito pelo hardware) preferido para rodar as centenas de programas livres disponibilizados pelo projeto, por�m o Hurd continua sendo o kernel oficial do sistema operacional GNU.
  • Distribui��es Linux: no sentido de tornar o Linux o mais utiliz�vel poss�vel, surgiram institui��es comerciais e n�o-comerciais que se dedicaram a criar uma combina��o ideal de aplicativos (livres ou n�o) que rodassem no kernel Linux. As institui��es com objetivos comerciais mantiveram o licenciamento livre, atrav�s de servi�os agregados, tais como: suporte, treinamento e desenvolvimento personalizado. Veja se��o mais adiante sobre distribui��es Linux.
Linus Torvalds, criador e principal mantenedor do n�cleo Linux.

O n�cleo Linux foi, originalmente, escrito por Linus Torvalds do Departamento de Ci�ncia da Computa��o da Universidade de Helsinki, Finl�ndia, com a ajuda de v�rios programadores volunt�rios atrav�s da Usenet (uma esp�cie de sistema de listas de discuss�o existente desde os prim�rdios da Internet)

Linus Torvalds come�ou o desenvolvimento do n�cleo como um projeto particular, inspirado pelo seu interesse no Minix, um pequeno sistema UNIX desenvolvido por Andrew S. Tanenbaum.[15] Ele limitou-se a criar, nas suas pr�prias palavras, "um Minix melhor que o Minix" ("a better Minix than Minix"). E depois de algum tempo de trabalho no projecto, sozinho, enviou a seguinte mensagem para comp.os.minix:[16]

Voc� suspira pelos bons tempos do Minix-1.1, quando os homens eram homens e escreviam seus pr�prios "device drivers"?[nota 1] Voc� est� sem um bom projecto em m�os e deseja trabalhar num S.O. que possa modificar de acordo com as suas necessidades? Acha frustrante quando tudo funciona no Minix? Chega de noite ao computador para conseguir que os programas funcionem? Ent�o esta mensagem pode ser exactamente para voc�. Como eu mencionei h� um m�s atr�s, estou trabalhando numa vers�o independente de um S.O. similar ao Minix para computadores AT-386. Ele est�, finalmente, pr�ximo do estado em que poder� ser utilizado (embora possa n�o ser o que voc� espera), e eu estou disposto a disponibilizar o c�digo-fonte para ampla distribui��o. Ele est� na vers�o 0.02... contudo eu tive sucesso ao executar bash, gcc, gnu-make, gnu-sed, compress etc. nele.

Curiosamente, o nome Linux foi criado por Ari Lemmke, administrador do site ftp.funet.fi que deu esse nome ao diret�rio FTP onde o n�cleo Linux estava inicialmente dispon�vel.[17] Linus inicialmente tinha-o batizado como "Freax".[18]

No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira vers�o "oficial" do n�cleo Linux, vers�o 0.02. No ano de 1992, Linus Torvalds mudou a licen�a do n�cleo Linux, de uma licen�a pr�pria para uma licen�a livre compat�vel com a GPL do projeto GNU.[19] Desde ent�o, muitos programadores t�m contribu�do com o desenvolvimento, ajudando a fazer do Linux o n�cleo de enorme sucesso colaborativo que � hoje. No in�cio era utilizado por programadores ou s� por quem tinha conhecimentos e usava linhas de comando. Hoje isso mudou e existem diversos grupos que criam ambientes gr�ficos para as diversas distribui��es GNU/Linux, que s�o cada vez mais amig�veis, de forma que, uma pessoa com poucos conhecimentos consegue usar o Linux, atrav�s de uma distribui��o GNU/Linux, por exemplo. O Linux � um n�cleo est�vel e consegue reconhecer muitos perif�ricos sem a necessidade de que o usu�rio precise instalar drivers de som, v�deo, modem, rede, entre outros.

Principais carregadores de inicializa��o do Linux

[editar | editar c�digo-fonte]

O Projeto Syslinux � um conjunto de cinco carregadores de boot diferentes para inicializar distros Linux em computadores. Foi desenvolvido principalmente por H. Peter Anvin.

O Projeto Syslinux consiste em uma jun�ao de cinco carregadores de inicializa��o diferentes:

O projeto tamb�m inclui dois sistemas de menu separados e um ambiente de desenvolvimento para m�dulos adicionais.

SYSLINUX e ISOLINUX

[editar | editar c�digo-fonte]

SYSLINUX foi originalmente destinado aos disquetes, live USBs e outros. ISOLINUX � destinado a live CDs e CDs de instala��o do Linux.

O SYSLINUX pode ser usado para iniciar v�rias distros a partir de um �nico lugar, como um pendrive.[21]

Ver artigo principal: GNU GRUB

GNU GRUB (ou apenas GRUB) � um multicarregador de um sistema operacional (multi boot ou boot-loader) criado pelo projeto GNU. � utilizado, normalmente, quando se deseja que um computador tenha dual booting, ou seja, que o usu�rio possa escolher ao iniciar a m�quina, um sistema operacional (SO) dentre dois ou mais sistemas instalados.

systemd-boot, anteriormente conhecido como gummiboot, � um gerenciador de boot gratuito e de c�digo aberto.[22] Ele foi criado quando o gummiboot foi fundido com o systemd e renomeado para "systemd-boot" em maio de 2015.[23][24][25]

A onipresen�a do N�cleo Linux
GNOME Shell, interface gr�fica para Linux
KDE Plasma, interface gr�fica para Linux
Compiz Fusion, um gerenciador de janelas OpenGL
Ver artigo principal: Linux (n�cleo)

O termo Linux refere-se ao n�cleo (em ingl�s: "kernel") do sistema operativo que inicia e gerencia outros programas que fornecem o acesso aos recursos do sistema como os v�rios software livres de shells, compiladores, bibliotecas-padr�o e os comandos que fazem parte do Projeto GNU. O Projeto GNU, por sua vez, foi criado pela Free Software Foudation com o intuito de criar um sistema operacional completo, totalmente livre e compat�vel com o Unix. O principal compilador do Linux C, gcc, � um peda�o do projeto GNU.[26]

O Linux � um n�cleo monol�tico: as fun��es do n�cleo (escalonamento de processos, gerenciamento de mem�ria, opera��es de entrada/sa�da, acesso ao sistema de arquivos) s�o executadas no espa�o de n�cleo. Uma caracter�stica do n�cleo Linux � que algumas das fun��es (drivers de dispositivos, suporte � rede, sistema de arquivos, por exemplo) podem ser compiladas e executadas como m�dulos (em ingl�s: LKM - loadable kernel modules), que s�o bibliotecas compiladas separadamente da parte principal do n�cleo e podem ser carregadas e descarregadas ap�s o n�cleo estar em execu��o.

Portabilidade

[editar | editar c�digo-fonte]

Embora Linus Torvalds n�o tivesse como objetivo inicial tornar o Linux um sistema port�til, ele evoluiu nessa dire��o. Linux � hoje um dos n�cleos de sistemas operativos mais port�teis, correndo em sistemas desde o iPaq (um computador port�til) at� o IBM S/390 (um denso e altamente custoso mainframe).

Os esfor�os de Linus foram tamb�m dirigidos a um diferente tipo de portabilidade. Portabilidade, de acordo com Linus, era a habilidade de facilmente compilar aplica��es de uma variedade de c�digo fonte no seu sistema; consequentemente, o Linux originalmente tornou-se popular em parte devido ao esfor�o para que os c�digos-fonte GPL ou outros favoritos de todos corressem em Linux.

O Linux hoje funciona em dezenas de plataformas, desde mainframes at� um rel�gio de pulso, passando por v�rias arquitecturas: x86 (Intel, AMD), x86-64 (Intel EM64T, AMD64), ARM, PowerPC, Alpha, SPARC e etc, com grande penetra��o tamb�m em sistemas embarcados, como handhelds, PVR, console de videogames, celulares, TVs e centros multim�dia, entre outros.

Termos de licenciamento

[editar | editar c�digo-fonte]

Inicialmente, Torvalds lan�ou o Linux sob uma licen�a de software pr�pria que proibia qualquer uso comercial. Isso foi mudado, um ano depois, para a GNU General Public License. Essa licen�a permite a distribui��o e at� a venda de vers�es at� mesmo modificadas do Linux, mas requer que todas as c�pias sejam lan�adas dentro da mesma licen�a e acompanhadas de acesso ao c�digo fonte.

Apesar de alguns dos programadores que contribuem para o n�cleo permitirem que o seu c�digo seja licenciado com GPL vers�o 2 ou posterior, grande parte do c�digo (inclu�do as contribui��es de Torvalds) menciona apenas a GPL vers�o 2. Isto faz com que o n�cleo como um todo esteja sob a vers�o 2 exclusivamente.

Sistemas de arquivos suportados

[editar | editar c�digo-fonte]

O Linux possui suporte de leitura e escrita a v�rios sistema de arquivos, de diversos sistemas operacionais, al�m de alguns sistemas nativos. Por isso, quando o Linux � instalado em dual boot com outros sistemas (Windows, por exemplo) ou mesmo funcionando como Live CD, ele poder� ler e escrever nas parti��es formatadas em FAT e NTFS. � por isso que os Live CDs Linux s�o muito utilizados na manuten��o e recupera��o de outros sistemas operacionais.[27]

Entre os sistemas de ficheiros suportados pelo Linux, podemos citar UFS, FAT, exFAT, NTFS, JFS, XFS, HPFS, Minix, ZFS, UDF (sistema de ficheiros usado em DVD-ROMs e BD-ROMs) e ISO 9660 (sistema de ficheiros usado em CD-ROMs), este �ltimo tamb�m com as extens�es RRIP (IEEE P1282) e ZISOFS.[28] Alguns sistemas de ficheiros nativos s�o, entre outros, Btrfs, Ext2, Ext3, Ext4, F2FS, ReiserFS e Reiser4.[nota 2] Alguns sistemas de ficheiros com caracter�sticas especiais s�o SWAP, UnionFS, SquashFS, Tmpfs, Aufs e NFS, dentre outros.

Sistema operacional

[editar | editar c�digo-fonte]

Logo que Linus Torvalds passou a disponibilizar o Linux, ou seja na sua vers�o 0.01, j� havia suporte ao disco r�gido, tela, teclado e portas seriais, o sistema de arquivos adotava o mesmo layout do Minix (embora n�o houvesse c�digo do Minix no Linux), havia extensos trechos em assembly, e ela j� era capaz de rodar o bash e o gcc.

A linha guia quando implementei o Linux foi: faz�-lo funcionar r�pido. Eu queria o n�cleo simples, mas poderoso o suficiente para rodar a maioria dos aplicativos Unix.[nota 3]

O pr�prio usu�rio deveria procurar os programas que dessem funcionalidade ao seu sistema, compil�-los e configur�-los. Talvez por isso, o Linux tenha carregado consigo a etiqueta de sistema operativo apenas para técnicos. Foi neste ambiente que surgiu a MCC Interim Linux, do Manchester Computer Centre, a primeira distribuição Linux, desenvolvida por Owen Le Blanc da Universidade de Manchester, capaz de ser instalada independentemente em um computador. Foi uma primeira tentativa de facilitar a instalação do Linux.

Desde o começo, o núcleo Linux incluía um sistema básico para chamadas do sistema e acesso aos dispositivos do computador. O núcleo de um sistema operativo define entre várias operações, o gerenciamento da memória, de processos, dos dispositivos físicos no computador e é uma parte essencial de qualquer sistema operacional utilizável, contudo para um sistema operacional adquirir funcionalidade são necessários também vários outros aplicativos que determinam funções específicas que aquele sistema será capaz de desenvolver, os aplicativos existentes num sistema operacional com a única exceção do núcleo são determinados pelo usuário do computador, como por exemplo: interpretadores de comandos, gerenciadores de janelas, que oferecem respectivamente uma interface para o usuário do computador, CLI ou GUI, e outros aplicativos como editores de texto, editores de imagem, tocadores de som, e, mas não necessariamente, compiladores.

No momento do desenvolvimento do Linux, vários aplicativos já vinham sendo reunidos pelo Projeto GNU da Free Software Foundation (‘Fundação do Software Livre’), que embarcara num subprojeto que ainda continua para obter um núcleo, o GNU Hurd. Porém devido a várias complicações o projeto GNU e demora em desenvolver o Hurd, Stallman acabou adotando o núcleo Linux como base para distribuir os programas do projeto GNU ; no entanto diversas pessoas e instituições tiveram a mesma ideia e assim começaram a surgir várias distribuições baseadas no núcleo desenvolvido inicialmente por Linus.

Os scripts de shell, que são:os arquivos de textos, os comandos executáveis, entre outros arquivos comuns, são nomeados como arquivos regulares. Estes tipos de arquivos possuem dados que podem ser lidos ou executados por instruções.

No entanto há também arquivos que não são regulares, como diretórios ou redirecionamentos com nomes. Eles contêm dados singulares ou possuem comportamentos especiais quando acessados.[29]

Os arquivos são organizados em diretórios ou listagens de arquivos.Cada diretório poderá conter um subdiretório, originando assim uma lista hierárquica. Os diretórios são organizados somente em uma árvore monolítica. O mais alto dos diretórios é chamado de diretório-raiz. Ele se difere em relação aos outros sistemas operacionais, que tem discos marcados separadamente. O Linux lida qualquer parte do disco como um subdiretório dentro dessa estrutura do principal diretório. Partindo do ponto de vista do usuário, é praticamente impossível afirmar em qual parte do disco é pertencido um respectivo diretório, pois aparentemente tudo pertence ao único disco.[29]

O nome de caminho é uma string que mostra uma localização de um arquivo, de acordo com sua ordem de diretórios que for encontrado ao passar. O diretório-raiz, é determinado com o símbolo da barra (/). O uso de mais nomes de barras e diretórios especifica os diretórios adicionais. Quando os usuários se conectam, são trazidos no diretório pessoal chamado de seu diretório de entrada. Esse diretório é tipificado com um til (~) em Bash.[29]

O diretório de trabalho, ou chamado também diretório corrente é representado por um ponto final (.). Quando ele não começa com uma barra, o Bash julga que é um caminho relativo ao diretório de trabalho. O diretório-pai, é simbolizado por dois pontos (..). Esses dois pontos podem ser usados em qualquer diretório a fim de mover em direção ao diretório-raiz da árvore de diretórios, anulando assim o diretório dito anteriormente em um caminho.[29]

Os nomes de caminhos sem uma barra inicial são nomeados de caminhos relativos, pois eles especificam a localização de um arquivo em comparação ao diretório corrente. Esses caminhos relativos são de utilidade para representar arquivos em seu diretório corrente ou em subdiretórios deste.[30]

Os caminhos com uma barra no início são nomeados de caminhos absolutos. Esses tipos de caminhos denotam a localização do arquivo em comparação ao diretório-raiz. Não importando onde que esse diretório-raiz estiver. Os caminhos absolutos sempre identificam o arquivo com precisão. Esses caminhos absolutos servem de localização de arquivos comuns que são guardados sempre no mesmo lugar.[30]

A maioria das distribuições Linux incluem os respectivos diretórios:[30]

  • /dev - Contém arquivos especiais ou arquivos de dispositivos.
  • /bin e /usr/bin - Contém comandos-padrão de Linux.
  • /lib e /usr/lib - Possui as bibliotecas-padrão de Linux.
  • /var - Possui arquivos de configuração e de log.
  • /etc - Possui arquivos padrão de configuração.
  • /usr/local/bin - Possui comandos que não são parte da distribuição, acrescentando pelo seu administrador.
  • /opt - Possui software comercial
  • /tmp - Armazena arquivos temporários.
  • /sbin e /usr/sbin - Possui comandos de administração de sistema.

Distribuições

[editar | editar código-fonte]
Imagem da interface do Ubuntu, uma das mais bem sucedidas distribuições Linux.[31]
Ver artigo principal: Distribui��es de Linux

Atualmente, um Sistema Operacional (em Portugal Sistema Operativo) Linux ou GNU/Linux completo (uma "Lista de distribui��es de Linux ou GNU/Linux") � uma cole��o de software livre (e por vezes n�o-livre) criado por indiv�duos, grupos e organiza��es de todo o mundo, incluindo o n�cleo Linux. Companhias como a Red Hat, a SuSE, a Mandriva (uni�o da Mandrake com a Conectiva) e a Canonical (desenvolvedora do Ubuntu Linux), bem como projetos de comunidades como o Debian ou o Gentoo, compilam o software e fornecem um sistema completo, pronto para instala��o e uso. Patrick Volkerding tamb�m fornece uma distribui��o Linux, o Slackware.

As distribui��es do Linux ou GNU/Linux come�aram a receber uma popularidade limitada desde a segunda metade dos anos 90, como uma alternativa livre para os sistemas operacionais Microsoft Windows e Mac OS, principalmente por parte de pessoas acostumadas ao Unix na escola e no trabalho. O sistema tornou-se popular no mercado de Desktops e servidores, principalmente para a Web e servidores de bancos de dados.

Todas elas tem o seu p�blico e sua finalidade, as pequenas (que ocupam poucas disquetes) s�o usadas para recupera��o de sistemas danificados ou em monitoramento de redes de computadores.

Dentre as maiores, distribu�das em CDs, podem-se citar: Slackware, Debian, Suse, e Conectiva. Cada distribui��o �, em s�ntese, um sistema operacional independente, de modo que os programas compilados para uma distribui��o podem n�o rodar em outra, embora usem o mesmo n�cleo (o Linux propriamente dito). A distribui��o Conectiva Linux, por exemplo, tinha as suas aplica��es traduzidas em portugu�s, o que fez com que os usu�rios que falam a L�ngua Portuguesa tenham aderido melhor a esta distribui��o. Hoje esta distribui��o foi incorporada � Mandrake, o que resultou na Mandriva. Para o portugu�s, existe tamb�m as distribui��es brasileiras, como as mais recentes DuZeru, Metamorphose, GoboLinux, LinuxFX, Big Linux, Dizinha Linux, DreamLinux, Dual OS, Ekaaty, Famelix, FeniX, GoblinX, Kalango e Kurumin (essa distribui��o foi descontinuada pelo seu mantenedor), constru�da sobre Knoppix e Debian, e a Caixa M�gica, existente nas vers�es 32 bits, 64 bits, Live CD 32 bits e Live CD 64 bits, e com v�rios programas open source: LibreOffice, Mozilla Firefox, entre outros.

Existem distribui��es com ferramentas para configura��o que facilitam a administra��o do sistema.

As principais diferen�as entre as distribui��es est�o nos seus sistemas de pacotes, nas estruturas dos diret�rios e na sua biblioteca b�sica. Por mais que a estrutura dos diret�rios siga o mesmo padr�o, o FSSTND � um padr�o muito relaxado, principalmente em arquivos onde as configura��es s�o diferentes entre as distribui��es. Ent�o normalmente todos seguem o padr�o FHS (File Hierarchy System), que � o padr�o mais novo. Vale lembrar, entretanto, que qualquer aplicativo ou driver desenvolvido para Linux pode ser compilado em qualquer distribui��o que vai funcionar da mesma maneira.

Quanto � biblioteca, � usada a biblioteca libc, contendo fun��es b�sicas para o sistema Operacional Linux. O problema � que, quando do lan�amento de uma nova vers�o da Biblioteca libc, algumas distribui��es colocam logo a nova vers�o, enquanto outras aguardam um pouco. Por isso, alguns programas funcionam numa distribui��o e noutras n�o.

Existe um movimento LSB (Linux Standard Base) que proporciona uma maior padroniza��o. Auxilia principalmente vendedores de software que n�o liberam para distribui��o do c�digo fonte, sem tirar caracter�sticas das distribui��es. O sistemas de pacotes n�o � padronizado.

Arch Linux, Debian, Fedora, Manjaro Linux, SolusOS, Sabayon, Mandriva, Mint, openSuse, PCLinuxOS, Puppy, Slackware e Ubuntu s�o algumas das distribui��es mais utilizadas atualmente (2017), listadas aqui por ordem alfab�tica.

Existem tamb�m distribui��es Linux para sistemas m�veis, como tablets e smartphones, sendo o Android, desenvolvido pelo Google, a mais difundida de todas. Outras distribui��es Linux para sistemas m�veis s�o o Maemo e o MeeGo.

V�rios fatores ajudaram a r�pida expans�o do Linux depois de seu lan�amento:

  • Populariza��o dos computadores pessoais: o Unix era o S.O. padr�o para estudos em universidades, por�m, utilizavam plataformas propriet�rias relativamente caras. O Linux se tornou uma op��o para resolver esse problema, porque com ele foi poss�vel a utiliza��o de computadores pessoais mais baratos.
  • Projeto GNU: o projeto GNU, criado por Richard Stallman em 1984, surgiu com o intuito de apoiar a liberdade de software (veja se��o mais adiante sobre Software Livre). Na �poca do surgimento do Linux, Stallman apoiava e pretendia adotar o kernel Hurd, por�m este n�o estava utiliz�vel, com isso, o Linux acabou sendo o kernel (componente central do sistema operacional ligando aplicativos e o processamento real de dados feito pelo hardware) preferido para rodar as centenas de programas livres disponibilizados pelo projeto, por�m o Hurd continua sendo o kernel oficial do sistema operacional GNU.
  • Distribui��es Linux: no sentido de tornar o Linux o mais utiliz�vel poss�vel, surgiram institui��es comerciais e n�o-comerciais que se dedicaram a criar uma combina��o ideal de aplicativos (livres ou n�o) que rodassem no kernel Linux. As institui��es com objetivos comerciais mantiveram o licenciamento livre, atrav�s de servi�os agregados, tais como: suporte, treinamento e desenvolvimento customizado. Veja se��o mais adiante sobre distribuições Linux.

Interface com o Usuário

[editar | editar código-fonte]
Ver artigo principal: Ambiente de desktop

Uma característica que acaba resultando na diferenciação de uma Distribuição Linux é a Interface Gráfica. Algumas distribuições utilizam a interface KDE, outras utilizam interface GNOME, outras utilizam a interface Xfce, e ainda existem várias outras interfaces que podem ser utilizadas.

Código aberto e programas livres

[editar | editar código-fonte]
Pacote de software LAMP para servidor web

Um programa, assim como toda obra produzida atualmente, seja ela literária, artística ou tecnológica, tem um autor. Os direitos sobre a ideia ou originalidade da obra do autor, que incluem distribuição, reprodução e uso, são regidos pela sua licença, no caso de um programa.

Existem dois movimentos que regem o licenciamento de programas no mundo do software livre: os programas de código aberto e os programas livres. Os dois representados respectivamente pela OSI e pela FSF oferecem licenças para produção de software, sendo seus maiores representantes a licença BSD e a GPL.

O Linux oferece muitos aplicativos de open source, contudo nem todos podem ser considerados programas livres, dependendo exclusivamente de sob qual licença estes programas são distribuídos. Os programas distribuídos sob tais licenças possuem as mais diversas funcionalidades, como desktops, escritório, edição de imagem e inclusive de outros sistemas operacionais.

Também existem organizações, inclusive no mundo do software livre, como a SEUL (Linux Simples para o Usuário Final), que têm como objetivo adotar a maior variedade possível de aplicativos de alta qualidade produzidos sob a GPL. A SEUL é um projeto voluntário que atualmente se concentra no aprendizado do Linux, seu uso na ciência e em documentos de advocacia, além de gerenciar e coordenar projetos de desenvolvimento de aplicativos.

Controvérsias quanto ao nome

[editar | editar código-fonte]

Linux foi o nome dado ao núcleo de sistema operacional criado por Linus Torvalds. Por extensão, sistemas operacionais que usam o núcleo Linux são chamados genericamente de Linux. Entretanto, a Free Software Foundation afirma que tais sistemas operacionais são, na verdade, sistemas GNU, e o nome mais adequado para tais sistemas é GNU/Linux, uma vez que grande parte do código-fonte dos sistemas operacionais baseados em Linux são ferramentas do projeto GNU.[7]

Há muita controvérsia quanto ao nome. Eric Raymond afirma, no Jargon File, que a proposta da FSF só conseguiu a "aceitação de uma minoria" e é resultado de uma "disputa territorial".[32] Linus Torvalds afirma que consideraria "justo" que tal nome fosse atribuído a uma distribuição do projeto GNU, mas que chamar os sistemas operacionais Linux como um todo de GNU/Linux seria "ridículo".[33] Linus disse não se importar sobre qual o nome usado; considera a proposta da GNU como "válida" ("ok"), mas prefere usar o termo "Linux".[34]

Sobre o símbolo

[editar | editar código-fonte]
Tux.

O símbolo do software foi escolhido pelo seu criador (Linus Torvalds), que um dia estava em um zoológico na Austrália e foi surpreendido pela mordida de um pinguim. Fato curioso e discutido até hoje.[35]

Em 1996, muitos integrantes da lista de discussão "Linux-Kernel" estavam discutindo sobre a criação de um logotipo ou de um mascote que representasse o Linux.[36] Muitas das sugestões eram paródias ao logotipo de um sistema operacional concorrente e muito conhecido (Windows). Outros eram monstros ou animais agressivos. Linus Torvalds acabou entrando nesse debate ao afirmar em uma mensagem que gostava muito de pinguins. Isso foi o suficiente para dar fim à discussão.

Depois disso, várias tentativas foram feitas numa espécie de concurso para que a imagem de um pinguim servisse aos propósitos do Linux, até que alguém sugeriu a figura de um "pinguim sustentando o mundo". Em resposta, Linus Torvalds declarou que achava interessante que esse pinguim tivesse uma imagem simples: um pinguim "gordinho" e com expressão de satisfeito, como se tivesse acabado de comer uma porção de peixes. Torvalds também não achava atraente a ideia de algo agressivo, mas sim a ideia de um pinguim simpático, do tipo em que as crianças perguntam "mamãe, posso ter um desses também?". Ainda, Torvalds também frisou que trabalhando dessa forma, as pessoas poderiam criar várias modificações desse pinguim. Isso realmente acontece.

Quando questionado sobre o porquê de pinguins, Linus Torvalds respondeu que não havia uma razão em especial, mas os achava engraçados e até citou que foi bicado por um "pinguim assassino" na Austrália e ficou impressionado como a bicada de um animal aparentemente tão inofensivo podia ser tão dolorosa.

Escândalo dos programas de vigilância da NSA

[editar | editar código-fonte]

As revelações da vigilância global exercida pela Agência de Segurança Nacional trouxeram à tona alegações de que Google, Yahoo!, Facebook e Microsoft estão entre as várias empresas intencionalmente cooperando com a NSA, oferecendo acesso aos seus sistemas via uma backdoor criada especialmente para atender aos interesses da agência.

No caso de sistemas operacionais Linux, a NSA pediu ao criador do Linux, Linus Torvalds, para criar backdoors no GNU/Linux, através do qual eles poderiam acessar o sistema. A inclusão dos backdoors acabou não ocorrendo, devido ao modelo de desenvolvimento aberto do núcleo Linux.[37]

O fato dos sistemas GNU/Linux serem software livre permite que qualquer um realize auditoria sobre os códigos, dessa forma dificultando a inserção de backdoors.

Notas

  1. Primeiro período do original, em inglês: Do you pine for the nice days of minix-1.1, when men were men and wrote their own device drivers?
  2. Reiser4 ainda está em desenvolvimento.
  3. No original, em inglês: the guiding line when implementing linux was: get it working fast. I wanted the kernel simple, yet powerful enough to run most unix software.

Referências

  1. Linus Torvalds (29 de setembro de 2024). «Linux 6.12-rc1». LKML (Lista de grupo de correio). Consultado em 29 de setembro de 2024 
  2. «The Linux Mark». The Linux Foundation. Consultado em 22 de julho de 2020 
  3. a b c «What is Linux?» (em inglês). Linux.com. Consultado em 22 de julho de 2020 
  4. «O que é Linux» (PDF). Taxologia.com. Consultado em 27 de janeiro de 2022 
  5. «Why do you call the system we use GNU/Linux and not Linux?». Gnu.org. Consultado em 22 de julho de 2020 
  6. «GNU/Linux FAQ». Gnu.org. Consultado em 22 de julho de 2020 
  7. a b Stallman, Richard. «Linux e o Sistema GNU». Gnu.org. Consultado em 22 de julho de 2020 
  8. «Members». linuxfoundation.org (em inglês). Consultado em 22 de julho de 2020. Cópia arquivada em 22 de julho de 2020 
  9. «Unix Fundamentals — System Administration for Cyborgs» (em inglês). Consultado em 22 de julho de 2020. Cópia arquivada em 5 de outubro de 2016 
  10. a b Negus, Christopher; Christine Bresnahan. Starlin Alta Editora e Consultoria, ed. Linux - A Bíblia. 2014 8 ed. Rio de Janeiro: [s.n.] 9788576087991 
  11. «Origins and History of Unix, 1969-1995». faqs.org (em inglês). Consultado em 22 de julho de 2020. Cópia arquivada em 26 de outubro de 2019 
  12. «Initial Announcement». gnu.org (em inglês). Consultado em 22 de julho de 2020. Cópia arquivada em 29 de junho de 2020 
  13. «Overview of the GNU System». gnu.org (em inglês). Consultado em 22 de julho de 2020. Cópia arquivada em 20 de julho de 2020 
  14. «The Choice of a GNU Generation An Interview With Linus Torvalds». gondwanaland.com (em inglês). Consultado em 22 de julho de 2020. Cópia arquivada em 29 de junho de 2020 
  15. Torvalds, Linus Benedict (25 de agosto de 1991). «What would you like to see most in minix?». Grupo de notíciascomp.os.minix. 1991Aug25.205708.9541@klaava.Helsinki.FI. Consultado em 20 de julho de 2020 
  16. Torvalds, Linus Benedict (5 de outubro de 1991). «Free minix-like kernel sources for 386-AT». Grupo de notíciascomp.os.minix. 1991Oct5.054106.4647@klaava.Helsinki.FI. Consultado em 20 de julho de 2020 
  17. Lars Wirzenius (27 de abril de 1998). «Linux Anecdotes». Consultado em 20 de julho de 2020 
  18. Carlos E. Morimoto (2006). Linux, Ferramentas Técnicas 2ed 2 ed. [S.l.]: GDH Press e Sul Editores. 312 páginas. ISBN 85-205-0401-9 
  19. Linus Torvalds (23 de junho de 1993). «Release notes for the version 0.12 of the Kernel Linux». kernel.org. Consultado em 20 de julho de 2020 
  20. a b Negus 2006, p. 133.
  21. Pakrashi 2009, pp. 66, 71-73.
  22. "Managing EFI Boot Loaders for Linux: Using gummiboot"
  23. "O Systemd 220 finalmente foi lançado"
  24. Freedesktop lists
  25. Gummiboot is dead
  26. Burtch 2005, pp. 10
  27. «SystemRescue Homepage». system-rescue.org (em inglês). Consultado em 23 de abril de 2021 
  28. «zisofs-tools». freshmeat.net (em inglês). Consultado em 23 de abril de 2021 
  29. a b c d Burtch 2005, pp. 12
  30. a b c Burtch 2005, pp. 13
  31. «5 anos do Ubuntu». digitalside.com.br. Consultado em 22 de julho de 2020 
  32. Eric Raymond. «Linux» (em inglês). Consultado em 22 de julho de 2020 
  33. Revolution OS, documentário de 2001 sobre o Linux. Produzido, dirigido e escrito por J.T.S. Moore
  34. Linus Torvalds (3 de junho de 1996). «Lignux, what's the matter with you people?» (em inglês). Consultado em 22 de julho de 2020 
  35. «Why Is The Penguin Tux Official Mascot of Linux?». FOSSBYTES (em inglês). 27 de outubro de 2016. Consultado em 22 de julho de 2020 
  36. «Linux Logo prototype.». Linux Kernel Mailing List (em inglês). 9 de maio de 1996. Consultado em 22 de julho de 2020 
  37. «NSA Wanted Backdoor Access In Linux, Says Linus Torvalds' Father». omgubuntu.co.uk (em inglês). Consultado em 22 de julho de 2020 
  • Burtch, Ken O (2005). Scripts de Shell Linux com Bash. Um guia de referência abrangente para usuários e administradores Linux. &ap 1 ed. Rio de Janeiro: Ciência Moderna. ISBN 8573934050 

Ligações externas

[editar | editar código-fonte]

Principais distribuições LINUX/GNU

Principais remasterizações LINUX/GNU