Buscar

Capítulo 1 Introdução ao Linux Conteúdo


Prévia do material em texto

Root: netlab123 | sysadmin: netlab123
Capítulo 1 - Introdução ao Linux
1.1 Introdução
Neste capítulo exploraremos a evolução do Linux® e dos sistemas operacionais populares. Também discutiremos as considerações para escolher um sistema operacional.
Linux® é a marca registrada da Linus Torvalds nos EUA e em outros países.
1.2 Evolução do Linux e sistemas operacionais populares
A definição da palavra Linux depende do contexto em que é usado. Linux significa o kernel do sistema, que é o controlador central de tudo o que acontece no computador (mais sobre isso mais tarde). Pessoas que dizem que seu computador "executa o Linux" geralmente se referem ao kernel e ao conjunto de ferramentas que o acompanham (chamado de distribuição). Se você tem "experiência em Linux", é provável que você fale sobre os próprios programas, embora dependa do contexto, você pode estar falando sobre como ajustar o kernel. Cada um desses componentes será investigado para que você compreenda exatamente quais funções cada um joga.
Outras complicações são o termo UNIX. O UNIX era originalmente um sistema operacional desenvolvido na AT & T Bell Labs na década de 1970. Foi modificado e bifurcado (isto é, as pessoas modificaram-no e essas modificações serviram de base para outros sistemas), de modo que no momento atual existem muitas variantes do UNIX. No entanto, o UNIX é agora uma marca registrada e uma especificação, de propriedade de um consórcio da indústria chamado Open Group. Somente o software que foi certificado pelo Open Group pode se chamar UNIX. Apesar de adotar todos os requisitos da especificação UNIX, o Linux não foi certificado, então o Linux realmente não é UNIX! É só ... UNIX-like.
1.2.1 Papel do Kernel
O kernel do sistema operacional é como um controlador de tráfego aéreo em um aeroporto. O kernel determina qual programa obtém quais peças de memória, ele inicia e mata programas, e lida com a exibição de texto em um monitor. Quando um aplicativo precisa escrever no disco, ele deve pedir ao sistema operacional que o faça. Se dois aplicativos solicitarem o mesmo recurso, o kernel decide quem o recebe e, em alguns casos, mata uma das aplicações para salvar o resto do sistema.
O kernel também gerencia a troca de aplicativos. Um computador terá um pequeno número de CPUs e uma quantidade finita de memória. O kernel cuida da descarga de uma tarefa e do carregamento de uma nova tarefa se houver mais tarefas do que as CPUs. Quando a tarefa atual executou uma quantidade de tempo suficiente, a CPU pausa a tarefa para que outra possa ser executada. Isso é chamado de multitarefa preventiva. A multitarefa significa que o computador está fazendo várias tarefas ao mesmo tempo, e o pré-empenho significa que o kernel está decidindo quando mudar o foco entre as tarefas. Com as tarefas que mudam rapidamente, parece que o computador está fazendo muitas coisas ao mesmo tempo.
Cada aplicação pode pensar que tem um grande bloco de memória no sistema, mas é o kernel que mantém essa ilusão, remapeando blocos de memória menores, compartilhando blocos de memória com outras aplicações ou mesmo trocando blocos que não foram tocados para o disco.
1.2.2 Aplicações
Como um controlador de tráfego aéreo, o kernel não é útil sem algo para controlar. Se o kernel é a torre, as aplicações são os aviões. Os aplicativos fazem solicitações para o kernel e recebem recursos, como memória, CPU e disco, em troca. O kernel também abstrai os detalhes complicados da aplicação. O aplicativo não sabe se um bloco de disco está em uma unidade de estado sólido do fabricante A, um disco rígido de metal giratório do fabricante B, ou mesmo um compartilhamento de arquivos de rede. Os aplicativos apenas seguem a Interface de Programação de Aplicativos (API) do kernel e, em troca, não precisam se preocupar com os detalhes de implementação.
Quando nós, como usuários, pensamos em aplicativos, tendemos a pensar em processadores de texto, navegadores da web e clientes de e-mail. O kernel não se importa se estiver executando algo que enfrenta o usuário, um serviço de rede que fala em um computador remoto ou uma tarefa interna. Então, obtemos uma abstração chamada processo. Um processo é apenas uma tarefa que é carregada e rastreada pelo kernel. Um aplicativo pode até precisar de vários processos para funcionar, de modo que o kernel cuida da execução dos processos, iniciando e interrompendo-os conforme solicitado e distribuindo os recursos do sistema.
Quando o computador é iniciado, carrega um pequeno pedaço de código chamado carregador de inicialização. O trabalho do carregador de inicialização é carregar o kernel e iniciá-lo. Se você está mais familiarizado com os sistemas operacionais, como o Microsoft Windows ou o OS X da Apple, você provavelmente nunca verá o carregador de inicialização, mas no mundo UNIX geralmente está visível para que você possa ajustar a maneira como seu computador é inicializado.
O carregador de inicialização carrega o kernel do Linux e, em seguida, transfere o controle. O Linux continua com a execução dos programas necessários para tornar o computador útil, como a conexão à rede ou o início de um servidor web.
1.2.3 Função do código aberto
O Linux começou em 1991 como um projeto de hobby de Linus Torvalds. Ele disponibilizou a fonte gratuitamente e outros se juntaram para formar este sistema operacional novato. Seu não era o primeiro sistema a ser desenvolvido por um grupo, mas, como era um projeto construído, os primeiros adotadores tinham a capacidade de influenciar a direção do projeto e garantir que os erros de outros UNIX não fossem repetidos.
Projetos de software assumem a forma de código-fonte, que é um conjunto legível de instruções de computador. O código-fonte pode ser escrito em qualquer uma das centenas de idiomas diferentes, o Linux simplesmente está escrito em C, que é um idioma que compartilha o histórico com o UNIX original.
O código-fonte não é entendido diretamente pelo computador, portanto, ele deve ser compilado em instruções da máquina por um compilador. O compilador reúne todos os arquivos de origem e gera algo que pode ser executado no computador, como o kernel do Linux.
Historicamente, a maioria dos softwares foi emitido sob uma licença de código fechado, o que significa que você obtém o direito de usar o código da máquina, mas não pode ver o código-fonte. Muitas vezes, a licença especificamente diz que você não tentará reverter o código da máquina novamente para o código-fonte para descobrir o que faz!
A fonte aberta possui uma visão centrada na fonte do software. A filosofia de código aberto é que você tem o direito de obter o software e modificá-lo para seu próprio uso. O Linux adotou essa filosofia para um grande sucesso. As pessoas tomaram a fonte, fizeram mudanças e as compartilharam com o resto do grupo.
Juntamente com isso, o projeto GNU (GNU, não UNIX). Enquanto o GNU estava construindo seu próprio sistema operacional, eles eram muito mais eficazes na construção das ferramentas que acompanham um sistema operacional UNIX, como compiladores e interfaces de usuário. A fonte estava livremente disponível, de modo que o Linux conseguiu segmentar suas ferramentas e fornecer um sistema completo. Como tal, a maioria das ferramentas que fazem parte do sistema Linux provêm dessas ferramentas GNU.
Existem várias variantes diferentes em código aberto, e essas serão examinadas em um capítulo posterior. Todos concordam que você deve ter acesso ao código-fonte, mas eles diferem em como você pode, ou em alguns casos, deve redistribuir as mudanças.
1.2.4 Distribuições Linux
Pegue o Linux e as ferramentas GNU, adicione mais aplicativos para o usuário, como um cliente de e-mail, e você possui um sistema Linux completo. As pessoas começaram a empacotar todo esse software em uma distribuição quase assim que o Linux se tornou utilizável. A distribuição cuida da configuração do armazenamento, da instalação do kernel e da instalação do resto do software. As distribuições completas também incluem ferramentas para gerenciaro sistema e um gerenciador de pacotes para ajudá-lo a adicionar e remover software após a conclusão da instalação.
Como o UNIX, existem vários tipos de distribuições diferentes. Hoje em dia, existem distribuições que se concentram em servidores, desktops ou mesmo ferramentas específicas da indústria, como design eletrônico ou computação estatística. Os principais jogadores do mercado podem ser rastreados até o Red Hat ou o Debian. A diferença mais visível é o gerenciador de pacotes, embora você encontre outras diferenças em tudo, desde locais de arquivos até filosofias políticas.
A Red Hat começou como uma distribuição simples que introduziu o Red Hat Package Manager (RPM). O desenvolvedor eventualmente formou uma empresa em torno dela, que tentou comercializar uma área de trabalho Linux para empresas. Ao longo do tempo, a Red Hat começou a se concentrar mais nos aplicativos do servidor, como web e arquivos, e lançou o Red Hat Enterprise Linux, que era um serviço pago em um longo ciclo de lançamento. O ciclo de liberação determina a frequência com que o software é atualizado. Um negócio pode valorizar a estabilidade e querer ciclos de lançamento longos, um hobby ou uma inicialização pode querer o software mais recente e optar por um ciclo de liberação mais curto. Para satisfazer o último grupo, a Red Hat patrocina o Projeto Fedora, que faz uma área de trabalho pessoal que inclui o software mais recente, mas ainda foi construído nas mesmas bases que a versão corporativa.
Porque tudo no Red Hat Enterprise Linux é de código aberto, um projeto chamado CentOS veio a ser, que recompilou todos os pacotes RHEL e os entregou gratuitamente. CentOS e outros como ele (como o Scientific Linux) são em grande parte compatíveis com RHEL e integram alguns softwares mais novos, mas não oferecem o suporte pago que a Red Hat faz.
O Linux científico é um exemplo de uma distribuição de uso específica baseada no Red Hat. O projeto é uma distribuição patrocinada pela Fermilab, projetada para permitir a computação científica. Entre suas muitas aplicações, o Scientific Linux é usado com aceleradores de partículas, incluindo o Large Hadron Collider no CERN.
Abra o SUSE originalmente derivado do Slackware, mas incorpora muitos aspectos do Red Hat. A empresa original foi adquirida pela Novell em 2003, que foi comprada pelo Grupo Attachmate em 2011. O grupo Attachmate então se fundiu com a Micro Focus International. Através de todas as fusões e aquisições, o SUSE conseguiu continuar e crescer. Enquanto o Open SUSE é baseado em desktop e está disponível para o público em geral, o SUSE Linux Enterprise contém código proprietário e é vendido como um produto de servidor.
Debian é mais um esforço comunitário e, como tal, também promove o uso de software de código aberto e a adesão aos padrões. O Debian apresentou seu próprio sistema de gerenciamento de pacotes com base no formato de arquivo .deb. Enquanto a Red Hat deixa o suporte da plataforma não Intel e AMD para projetos derivados, o Debian suporta muitas dessas plataformas diretamente.
Ubuntu é a distribuição derivada Debian mais popular. É a criação da Canonical, uma empresa que foi criada para promover o crescimento do Ubuntu e ganhar dinheiro, fornecendo suporte.
O Linux Mint foi iniciado como um garfo do Ubuntu Linux, enquanto ainda dependia dos repositórios do Ubuntu. Existem várias versões, todas sem custo, mas algumas incluem codecs proprietários, que não podem ser distribuídos sem restrições de licença em determinados países. O Linux Mint está rapidamente suplantando o Ubuntu como a solução Linux de desktop mais popular do mundo.
Discutimos as distribuições especificamente mencionadas nos objetivos do Linux Essentials. Você deve estar ciente de que há centenas, se não milhares mais, que estão disponíveis. É importante entender que, embora existam muitas distribuições diferentes do Linux, muitos dos programas e comandos permanecem os mesmos ou são muito semelhantes.
1.2.4.1 O que é um Comando?
A resposta mais simples à pergunta, "O que é um comando?", É que um comando é um programa de software que, quando executado na linha de comando, executa uma ação no computador.
Quando você considera um comando usando essa definição, você está realmente considerando o que acontece quando você executa um comando. Quando você digita um comando, um processo é executado pelo sistema operacional que pode ler entrada, manipular dados e produzir saída. Nesta perspectiva, um comando executa um processo no sistema operacional, o que faz com que o computador execute um trabalho.
No entanto, existe uma outra maneira de ver o que é um comando: veja a sua fonte. A fonte é de onde o comando "vem" e existem diversas fontes de comandos no shell da CLI:
- Comandos integrados ao próprio shell: um bom exemplo é o comando cd, pois faz parte do shell bash. Quando um usuário digita o comando cd, o shell bash já está sendo executado e sabe como interpretar esse comando, não exigindo que outros programas sejam iniciados.
- Comandos que são armazenados em arquivos que são pesquisados ​​pelo shell: se você digitar um comando ls, o shell pesquisará os diretórios listados na variável PATH para tentar encontrar um arquivo chamado ls que ele possa executar. Esses comandos também podem ser executados digitando o caminho completo para o comando.
- Alias: um alias pode substituir um comando embutido, uma função ou um comando encontrado em um arquivo. Os alias podem ser úteis para criar novos comandos criados a partir de funções e comandos existentes.
- Funções: as funções também podem ser criadas usando comandos existentes para criar novos comandos, substituir comandos incorporados no shell ou comandos armazenados em arquivos. Alias ​​e funções normalmente são carregados a partir dos arquivos de inicialização quando o shell primeiro começa, discutido mais adiante nesta seção.
Considere isto
Embora os alias sejam abordados em detalhes em uma seção posterior, este breve exemplo pode ser útil na compreensão do conceito de comandos.
Um alias é essencialmente um apelido para outro comando ou série de comandos. Por exemplo, o comando cal 2014 exibirá o calendário para o ano de 2014. Suponha que você acabe executando esse comando com freqüência. Em vez de executar o comando completo de cada vez, você pode criar um alias chamado mycal e executar o alias, conforme demonstrado no gráfico a seguir:
1.2.5 Plataformas de hardware
O Linux começou como algo que só funcionaria em um computador como Linus ': um 386 com um controlador de disco rígido específico. A gama de suporte cresceu, à medida que as pessoas criavam suporte para outros equipamentos. Eventualmente, o Linux começou a suportar outros chips, incluindo o hardware que foi feito para executar sistemas operacionais competitivos!
Os tipos de hardware cresceram do chip Intel fácil para supercomputadores. Mais tarde, os chips de menor tamanho, suportados pelo Linux, foram desenvolvidos para se adequarem aos dispositivos de consumo, chamados de dispositivos incorporados. O suporte para o Linux tornou-se omnipresente, de modo que muitas vezes é mais fácil criar hardware para suportar o Linux e, em seguida, usar o Linux como um trampolim para o seu software personalizado, do que construir o hardware e o software personalizados a partir do zero.
Eventualmente, telefones celulares e tablets começaram a executar o Linux. Uma empresa, mais tarde comprada pelo Google, surgiu com a plataforma Android, que é um pacote de Linux e o software necessário para executar um telefone ou tablet. Isso significa que o esforço para obter um telefone para o mercado é significativamente menor, e as empresas podem gastar seu tempo inovando no usuário enfrentando o software ao invés de reinventar a roda de cada vez. O Android é agora um dos líderes do mercado no espaço.
Além de telefones e tablets, o Linux pode ser encontrado em muitos dispositivos de consumo. Os roteadores sem fio costumam executar o Linux porque possui um rico conjunto de recursos de rede. O TiVoé um gravador de vídeo digital de consumo criado no Linux. Embora esses dispositivos tenham Linux no núcleo, os usuários finais não precisam saber. O software personalizado interage com o usuário e o Linux fornece a plataforma estável.
1.3 Escolhendo um sistema operacional
Você aprendeu que o Linux é um sistema operacional UNIX, o que significa que não foi submetido a certificação formal e, portanto, não pode usar a marca oficial UNIX. Existem muitas outras alternativas; alguns são UNIX e alguns são certificados como UNIX. Existem também sistemas operacionais não-Unix, como o Microsoft Windows.
A questão mais importante a ser feita ao determinar a configuração de uma máquina é "o que esta máquina fará?" Se você precisa executar um software especializado que seja executado apenas no Oracle Solaris, é o que você precisará. Se você precisa ser capaz de ler e escrever documentos do Microsoft Office, então você precisará do Windows ou algo capaz de executar o LibreOffice ou o OpenOffice.
1.3.1 Pontos de decisão
A primeira coisa que você precisa decidir é o papel da máquina. Você estará sentado no console executando aplicativos de produtividade ou navegação na web? Se assim for, você tem uma área de trabalho. Será que a máquina será usada como um servidor Web ou, de outra forma, sentada em um rack de servidor em algum lugar? Você está olhando para um servidor.
Os servidores geralmente se sentam em um rack e compartilham um teclado e monitor com muitos outros computadores, já que o acesso ao console é usado apenas para configurar e solucionar o servidor. O servidor será executado em modo não gráfico, o que liberará recursos para o propósito real do computador. Uma área de trabalho executará principalmente uma GUI.
Em seguida, determine as funções da máquina. Existe software específico que precisa ser executado, ou funções específicas que ele precisa fazer? Você precisa ser capaz de gerenciar centenas ou milhares dessas máquinas ao mesmo tempo? Qual é o conjunto de habilidades do time que gerencia o computador e o software?
Você também deve determinar o tempo de vida e a tolerância ao risco do servidor. Os sistemas operacionais e as atualizações de software são periódicas, chamados de ciclo de liberação. Os fornecedores de software só suportarão versões antigas do software por um certo período de tempo antes de não oferecerem atualizações, o que é chamado de ciclo de manutenção (ou ciclo de vida). Por exemplo, os principais lançamentos do Fedora Linux saem aproximadamente a cada 6 meses. As versões são consideradas End of Life (EOL) após 2 versões maiores, mais um mês, então você tem entre 7 e 13 meses após a instalação do Fedora antes de você precisar atualizar. Contraste isso com a variante do servidor comercial, o Red Hat Enterprise Linux, e você pode ir até 13 anos antes de precisar atualizar.
Os ciclos de manutenção e lançamento são importantes porque, em um ambiente de servidor corporativo, é demorado e, portanto, raro, fazer uma grande atualização em um servidor. Em vez disso, o próprio servidor é substituído quando há grandes atualizações ou substituições para o aplicativo que exigem uma atualização do sistema operacional. Da mesma forma, um ciclo de liberação lenta é importante porque as aplicações muitas vezes visam a versão atual do sistema operacional e você deseja evitar a sobrecarga da atualização de servidores e sistemas operacionais constantemente para continuar. Há uma quantidade razoável de trabalho envolvido na atualização de um servidor, e a função do servidor muitas vezes tem muitas personalizações feitas que são difíceis de acessar para um novo servidor. Isso exige muito mais testes do que se apenas o aplicativo fosse atualizado.
Se você está fazendo desenvolvimento de software ou trabalho de mesa tradicional, você quer frequentemente o software mais recente. O software mais recente tem melhorias na funcionalidade e na aparência, o que contribui para uma maior satisfação com o uso do computador. Uma área de trabalho geralmente armazena seu trabalho em um servidor remoto, de modo que a área de trabalho pode ser limpa e o sistema operacional mais recente é executado com pouca interrupção.
As versões individuais de software podem ser caracterizadas como beta ou estável. Uma das grandes coisas sobre ser um desenvolvedor de código aberto é que você pode lançar seu novo software e obter rapidamente comentários dos usuários. Se uma versão de software estiver em um estado que tenha muitos recursos novos que não tenham sido rigorosamente testados, normalmente é referido como beta. Depois que esses recursos foram testados no campo, o software se move para um ponto estável. Se você precisa dos recursos mais recentes, então você está procurando por uma distribuição que tenha um ciclo de liberação rápido e facilite a utilização do software beta. No lado do servidor, você quer um software estável, a menos que esses novos recursos sejam necessários e você não se importa com o código que não foi testado completamente.
Outro conceito vagamente relacionado é a compatibilidade com versões anteriores. Isso se refere à capacidade de um sistema operacional posterior ser compatível com o software feito para versões anteriores. Isso geralmente é uma preocupação se você precisar atualizar seu sistema operacional, mas não está em posição de atualizar seu software aplicativo.
Claro, o custo é sempre um fator. O próprio Linux pode ser gratuito, mas talvez seja necessário pagar pelo suporte, dependendo das opções que você escolher. A Microsoft possui custos de licença de servidor e pode ter custos de suporte adicionais ao longo da vida útil do servidor. Seu sistema operacional escolhido pode ser executado somente em uma seleção particular de hardware, o que afeta ainda mais o custo.
1.3.2 Microsoft Windows
O mundo da Microsoft divide os sistemas operacionais de acordo com a finalidade da máquina: desktop ou servidor? A edição de desktop do Windows sofreu vários esquemas de nomeação com a versão atual (a partir desta gravação) sendo simplesmente o Windows 8. Novas versões da área de trabalho aparecem a cada 3-5 anos e tendem a ser suportadas por muitos anos. A compatibilidade com versões anteriores também é uma prioridade para a Microsoft, chegando mesmo a englobar a tecnologia da máquina virtual para que os usuários possam executar softwares mais antigos.
No domínio do servidor, existe o Windows Server, atualmente (neste documento) na versão 2012 para denotar a data de lançamento. O servidor executa uma GUI, mas em grande parte como uma resposta competitiva ao Linux, fez avanços incríveis em habilidades de script de linha de comando através do PowerShell. Você também pode fazer com que o servidor pareça uma área de trabalho com o pacote de Experiência Desktop opcional.
1.3.3 Apple OS X
A Apple faz o sistema operacional OS X, que foi submetido à certificação UNIX. O OS X é parcialmente baseado em software do projeto FreeBSD.
No momento, o OS X é principalmente um sistema operacional de desktop, mas há pacotes opcionais que ajudam no gerenciamento de serviços de rede que permitem que muitos desktops do OS X colaborem, como compartilhar arquivos ou ter um login de rede.
O OS X na área de trabalho geralmente é uma decisão pessoal, já que muitos acham o sistema mais fácil de usar. A crescente popularidade do OS X garantiu um suporte saudável de fornecedores de software. OS X também é bastante popular nas indústrias criativas, como a produção de vídeo. Esta é uma área onde as aplicações geram a decisão do sistema operacional e, portanto, a escolha de hardware desde que o OS X é executado no hardware da Apple.
1.3.4 BSD
Existem vários projetos open source BSD (Berkely Software Distribution), como o OpenBSD, o FreeBSD e o NetBSD. Estas são alternativas ao Linux em muitos aspectos, pois utilizam uma grande quantidade de software comum. Os BSDs geralmente são implementados na função do servidor, embora também existam variantes como o GNOME e o KDE que foram desenvolvidas para funções de desktop.1.3.5 Outros UNIX comerciais
Alguns dos mais populares UNIXes comerciais são:
- Oracle Solaris
- IBM AIX
- HP-UX
Cada um deles é executado em hardware de seus respectivos criadores. O hardware geralmente é grande e poderoso, oferecendo recursos como hot-swap CPU e memória, ou integração com sistemas mainframe legados também oferecidos pelo fornecedor.
A menos que o software exija o hardware específico ou as necessidades do aplicativo exigem parte da redundância incorporada no hardware, a maioria das pessoas tende a escolher essas opções porque já são usuários dos produtos da empresa. Por exemplo, o IBM AIX é executado em uma grande variedade de hardware da IBM e pode compartilhar hardware com mainframes. Assim, você encontra o AIX em empresas que já possuem uma grande área da IBM, ou que utilizam o software IBM como o WebSphere.
1.3.6 Linux
Um aspecto em que o Linux é muito diferente das alternativas é que depois que um administrador escolheu Linux, eles ainda precisam escolher uma distribuição. Lembre-se do Tópico 1 de que a distribuição distribui o kernel Linux, utilitários e ferramentas de gerenciamento em um pacote instalável e fornece uma maneira de instalar e atualizar pacotes após a instalação inicial.
Alguns sistemas operacionais estão disponíveis através de um único fornecedor, como OS X e Windows, com o suporte do sistema fornecido através do fornecedor. Com o Linux, existem várias opções, desde ofertas comerciais para o servidor ou desktop, para distribuições personalizadas feitas para transformar um computador antigo em um firewall de rede.
Muitas vezes, os fornecedores de aplicativos escolherão um subconjunto de distribuições para suportar. Diferentes distribuições têm versões diferentes das bibliotecas-chave e é difícil para uma empresa suportar todas essas versões diferentes.
Os governos e as grandes empresas também podem limitar suas escolhas às distribuições que oferecem suporte comercial. Isso é comum em empresas maiores, onde pagar por outro nível de suporte é melhor do que arriscar interrupções extensivas.
Diversas distribuições também possuem ciclos de liberação, às vezes tão frequentemente quanto a cada seis meses. Embora as atualizações não sejam necessárias, cada versão só pode ser suportada por um período de tempo razoável. Portanto, alguns lançamentos do Linux são considerados como suporte de longo prazo (LTS) de 5 anos ou mais, enquanto outros só serão suportados por dois anos ou menos.
Algumas distribuições diferenciam entre versões estáveis, testes e instáveis. A diferença é que os lançamentos instáveis ​​liberam confiabilidade para recursos. Quando os recursos foram integrados no sistema por um longo período de tempo, e muitos dos problemas e problemas abordados, o software passa pelo teste na versão estável. A distribuição Debian avisa os usuários sobre as dificuldades de usar a versão "sid" com o seguinte aviso:
"Sid" está sujeito a mudanças maciças e atualizações de bibliotecas no local. Isso pode resultar em um sistema muito "instável" que contém pacotes que não podem ser instalados devido a bibliotecas ausentes, dependências que não podem ser cumpridas, etc. Use-o por sua conta e risco.
Outros lançamentos dependem das distribuições Beta. Por exemplo, a distribuição do Fedora libera beta ou pré-lançamentos de seu software antes do lançamento completo para minimizar bugs. O Fedora é muitas vezes considerado o lançamento beta da RedHat orientado para a comunidade. Os recursos são adicionados e alterados na versão Fedora antes de encontrar o caminho para a distribuição RedHat Enterprise Ready.
1.3.7 Android
O Android, patrocinado pelo Google, é a distribuição Linux mais popular do mundo. É fundamentalmente diferente dos seus homólogos. O Linux é um kernel, e muitos dos comandos que serão abordados neste curso são realmente parte do pacote GNU (GNU's Not Unix). É por isso que algumas pessoas insistem em usar o termo GNU / Linux em vez de Linux sozinho.
O Android usa a máquina virtual Dalvik com Linux, fornecendo uma plataforma robusta para dispositivos móveis, como telefones e tablets. No entanto, sem os pacotes tradicionais que são frequentemente distribuídos com o Linux (como GNU e Xorg), o Android geralmente é incompatível com as distribuições do desktop Linux.
Esta incompatibilidade significa que um usuário do RedHat ou Ubuntu não pode baixar o software da Google Play Store. Da mesma forma, um emulador de terminal no Android não possui muitos dos comandos das suas contrapartes Linux. No entanto, é possível usar o BusyBox com o Android para permitir que a maioria dos comandos funcione.

Continue navegando