1.1 Lição 1
Certificação: |
Linux Essentials |
---|---|
Versão: |
1.6 |
Tópico: |
1 A Comunidade Linux e uma carreira em open source |
Objetivo: |
1.1 A evolução do Linux e os sistemas operacionais populares |
Lição: |
1 de 1 |
Introdução
O Linux é um dos sistemas operacionais mais populares. Linus Torvalds começou a desenvolvê-lo em 1991 inspirado no Unix, um outro sistema operacional criado nos anos 70 pelos Laboratórios AT&T. O Unix foi projetado para computadores pequenos. Na época, eram consideradas “pequenas” as máquinas que não precisavam de um cômodo inteiro com ar condicionado e que custavam menos de um milhão de dólares. Mais tarde, essa categoria passou a designar as máquinas que podiam ser erguidas por duas pessoas. Até então, o Unix não estava disponível para pequenos computadores, como os computadores de escritório, que eram baseados na plataforma x86. Assim, Linus, na época um estudante, começou a implementar um sistema operacional semelhante ao Unix, mas capaz de rodar nessa plataforma.
O Linux, em sua maior parte, lança mão dos mesmos princípios e idéias básicas do Unix, mas não contém código Unix, pois trata-se de um projeto independente. O Linux não é suportado por uma empresa individual, mas por uma comunidade internacional de programadores. Disponível gratuitamente, pode ser usado por qualquer pessoa, sem restrições.
Distribuições
Uma distribuição Linux é um pacote que consiste em um kernel Linux, mais uma seleção de aplicativos mantidos por uma empresa ou comunidade de usuários. O objetivo de uma distribuição é otimizar o kernel e os aplicativos que rodam no sistema operacional para um determinado tipo de uso ou grupo de usuários. As distribuições freqüentemente incluem ferramentas próprias para a instalação de software e administração do sistema. Por essa razão, certas distribuições são usadas principalmente em ambientes desktop, por serem mais fáceis de usar, enquanto outras são mais comumente instaladas em servidores para usar os recursos disponíveis da maneira mais eficiente possível.
Outra maneira de classificar as distribuições é de acordo com a família de distribuições a que pertencem. As distribuições da família Debian usam o gerenciador de pacotes dpkg
para gerenciar o software executado no sistema operacional. Os pacotes que podem ser instalados com o gerenciador de pacotes são mantidos por membros voluntários da comunidade da distribuição. Os mantenedores usam o formato de pacote deb
para especificar como o software é instalado no sistema operacional e como é configurado por padrão. Assim como uma distribuição, um pacote é constituído por um conjunto de programas, mais uma configuração e documentação correspondentes, facilitando a instalação, atualização e utilização do software pelo usuário.
O Debian GNU/Linux é a maior distribuição da família Debian. O Projeto Debian GNU/Linux foi lançado por Ian Murdock em 1993 e conta, hoje, com milhares de voluntários trabalhando no projeto. O objetivo do Debian GNU/Linux é fornecer um sistema operacional extremamente confiável. Ele também promove a visão de Richard Stallman de um sistema operacional que respeite as liberdades do usuário de executar, estudar, distribuir e aprimorar o software. Por essa razão, ele também não fornece nenhum programa proprietário por padrão.
O Ubuntu é outra distribuição baseada no Debian que merece ser mencionada. O Ubuntu foi criado por Mark Shuttleworth e sua equipe em 2004, com a missão de produzir um ambiente desktop Linux fácil de usar. A ideia do Ubuntu é fornecer um software livre para todas as pessoas ao redor do mundo, bem como reduzir o custo dos serviços profissionais. A distribuição lança uma nova versão a cada seis meses, além de uma versão com suporte de longo prazo a cada 2 anos.
O Red Hat é uma distribuição Linux desenvolvida e mantida pela empresa de software de mesmo nome, adquirida pela IBM em 2019. A distribuição Red Hat Linux foi iniciada em 1994 e rebatizada em 2003 como Red Hat Enterprise Linux, ou RHEL. É fornecida às empresas como uma solução empresarial confiável suportada pela Red Hat e vem com software destinado a facilitar o uso do Linux em ambientes de servidores profissionais. Alguns de seus componentes requerem assinaturas ou licenças pagas. O projeto CentOS usa o código-fonte livre do Red Hat Enterprise Linux para compilar uma distribuição inteiramente gratuita, mas que não conta com o serviço de suporte comercial.
Tanto o RHEL quanto o CentOS são otimizados para uso em ambientes de servidor. O projeto Fedora foi fundado em 2003 com a ideia de criar uma distribuição Linux voltada para computadores desktop. A Red Hat iniciou e ainda mantém essa distribuição. O Fedora é muito progressista e adota novas tecnologias rapidamente, sendo frequentemente considerado um banco de testes para novas tecnologias que, mais tarde, poderão ser incluídas no RHEL. Todas as distribuições baseadas em Red Hat usam o formato de pacote rpm
.
A empresa SUSE foi fundada em 1992 na Alemanha como um provedor de serviços Unix. A primeira versão do SUSE Linux foi lançada em 1994. Ao longo dos anos, o SUSE Linux tornou-se mais conhecido por sua ferramenta de configuração YaST, que permite aos administradores instalar e configurar software e hardware, configurar servidores e redes. Semelhante ao RHEL, o SUSE oferece o SUSE Linux Enterprise Server, sua edição comercial, com lançamentos menos frequentes e adequado para a implantação em empresas e ambientes de produção. É distribuído como um servidor, bem como um ambiente desktop, com pacotes adequados para fins específicos. Em 2004, a SUSE lançou o projeto openSUSE, que permitia que os desenvolvedores e usuários testassem e desenvolvessem ainda mais o sistema. A distribuição openSUSE pode ser baixada gratuitamente.
Muitas distribuições independentes foram lançadas ao longo dos anos. Algumas delas se baseiam em Red Hat ou Ubuntu, outras são projetadas para aprimorar uma propriedade específica de um sistema ou hardware. Existem distribuições construídas com funcionalidades específicas, como o QubesOS, um ambiente de desktop extremamente seguro, ou o Kali Linux, que oferece um ambiente para explorar vulnerabilidades de software e é usado principalmente para testes de intrusão. Recentemente, diversas distribuições Linux minúsculas foram projetadas para rodar especificamente em containers Linux, como o Docker. Existem também distribuições construídas especificamente para componentes de sistemas embarcados e mesmo dispositivos inteligentes.
Sistemas embarcados
Os sistemas embarcados são uma combinação de hardware e software projetados para cumprir uma função específica dentro de um sistema maior. Normalmente fazem parte de outros dispositivos e ajudam a controlá-los. Podem ser encontrados em aplicações automotivas, médicas e até militares. Devido a essa ampla variedade de aplicações, Uma variedade de sistemas operacionais baseados no kernel do Linux foi desenvolvida para uso em sistemas embarcados. uma parte significativa dos dispositivos inteligentes usa um sistema operacional baseado no kernel do Linux.
Assim, em sistemas embarcados temos software embarcado, cujo objetivo é acessar o hardware e torná-lo utilizável. Dentre as principais vantagens do Linux sobre qualquer software embarcado proprietário estão a compatibilidade entre plataformas de diferentes fornecedores, desenvolvimento, suporte e ausência de taxas de licença. Dois dos mais populares projetos de software embarcado são o Android, usado principalmente em telefones celulares por diferentes fabricantes, e o Raspbian, que é usado principalmente no Raspberry Pi.
Android
O Android é um sistema operacional móvel desenvolvido principalmente pelo Google. A Android Inc. foi fundada em 2003 em Palo Alto, Califórnia. A empresa inicialmente criou um sistema operacional destinado a rodar em câmeras digitais. Em 2005, o Google comprou a Android Inc. e transformou esse sistema em um dos maiores sistemas operacionais móveis.
A base do Android é uma versão modificada do kernel do Linux junto com outros softwares de código aberto. O sistema foi desenvolvido principalmente para dispositivos touchscreen, mas o Google desenvolveu também versões para smart TVs e smartwatches. Diferentes versões do Android foram desenvolvidas para consoles de jogos, câmeras digitais e mesmo PCs.
O código do Android está disponível gratuitamente no Android Open Source Project (AOSP). O Google oferece uma série de componentes proprietários juntamente com o núcleo de código aberto do Android. Dentre esses componentes estão aplicativos como Google Agenda, Google Maps, Google Mail, o navegador Chrome e a Google Play Store, que facilita a instalação de aplicativos. A maioria dos usuários considera essas ferramentas como parte integrante da sua experiência no Android. Assim, praticamente todos os dispositivos móveis na Europa e na América que vêm com Android instalado incluem software proprietário do Google.
O Android oferece muitas vantagens em dispositivos embarcados. O sistema operacional é intuitivo e fácil de usar, graças à interface gráfica de usuário, e conta com uma comunidade de desenvolvedores muito ampla, sendo fácil encontrar ajuda para o desenvolvimento. Ele também é suportado pela maioria dos fabricantes de hardware com um driver Android, sendo assim fácil e econômico criar protótipos de um sistema inteiro.
O Raspbian e o Raspberry Pi
O Raspberry Pi é um computador de baixo custo, do tamanho de um cartão de crédito, que pode exercer o papel de um computador de mesa inteiramente funcional, mas também pode ser usado dentro de um sistema Linux embarcado. É desenvolvido pela Raspberry Pi Foundation, uma instituição educacional de caridade no Reino Unido. Sua finalidade principal é ensinar os jovens a programar e compreender a funcionalidade dos computadores. O Raspberry Pi pode ser projetado e programado para realizar tarefas e operações que fazem parte de um sistema muito mais complexo.
Dentre as particularidades do Raspberry Pi temos um conjunto de pinos GPIO (General Purpose Input-Output, ou entrada e saída de uso geral) que podem ser usados para conectar dispositivos eletrônicos e placas de expansão. Isso permite usar o Raspberry Pi como uma plataforma para desenvolvimento de hardware. Embora tenha sido criado para fins educacionais, os Raspberry Pis são utilizados atualmente em diversos projetos caseiros, bem como para prototipagem industrial no desenvolvimento de sistemas embarcados.
O Raspberry Pi emprega processadores ARM. Muitos sistemas operacionais, incluindo o Linux, rodam no Raspberry Pi. Como o Raspberry Pi não contém um disco rígido, o sistema operacional é iniciado a partir de um cartão de memória SD. Uma das distribuições Linux mais importantes para o Raspberry Pi é o Raspbian. Como o nome sugere, ele pertence à família de distribuição Debian. Ele é personalizado para ser instalado no hardware do Raspberry Pi e oferece mais de 35000 pacotes otimizados para esse ambiente. Além do Raspbian, existem várias outras distribuições Linux para o Raspberry Pi, como por exemplo o Kodi, que transforma o Raspberry Pi numa central de mídia.
O Linux e a Nuvem
O termo cloud computing, ou computação em nuvem, refere-se a uma forma padronizada de consumir recursos de computação, seja comprando-os de um provedor público de nuvem ou criando uma nuvem privada. Segundo relatórios de 2017, o Linux está por trás de 90% da carga de trabalho das nuvens públicas. Todos os provedores de serviços de nuvem, do Amazon Web Services (AWS) ao Google Cloud Platform (GCP), oferecem diferentes formas de Linux. Mesmo a Microsoft hoje oferece máquinas virtuais baseadas em Linux em sua nuvem Azure.
O Linux é comumente incluído nas ofertas de Infraestrutura como Serviço (IaaS). As instâncias de IaaS são máquinas virtuais provisionadas em poucos minutos na nuvem. Ao iniciar uma instância de IaaS, uma imagem contendo os dados é escolhida e disponibilizada para a nova instância. Os provedores de nuvem oferecem diversas imagens que contêm instalações de distribuições populares de Linux prontas para executar, além de suas próprias versões de Linux. O usuário de nuvem escolhe a imagem que contém sua distribuição preferida e ganha acesso quase imediato a uma instância da nuvem que roda aquela distribuição. A maioria dos provedores de nuvem adiciona ferramentas às imagens para adaptar a instalação a uma instância específica de nuvem. Essas ferramentas servem, por exemplo, para estender os sistemas de arquivo da imagem de modo a que se encaixem perfeitamente no disco rígido real da máquina virtual.
Exercicios Guiados
-
Quais as diferenças entre o Debian GNU/Linux e o Ubuntu? Cite dois aspectos.
-
Em quais os ambientes/plataformas o Linux é mais usado? Cite três ambientes/plataformas diferentes e dê o nome de uma distribuição que pode ser usada em cada um deles.
-
Você planeja instalar uma distribuição de Linux em um novo ambiente. Cite quatro coisas a se considerar na escolha de uma distribuição.
-
Cite três dispositivos que rodam Android OS, além de smartphones.
-
Explique três grandes vantagens da computação em nuvem.
Exercícios Exploratórios
-
Levando em conta o custo e o desempenho, quais as distribuições mais adequadas para uma empresa que tem como objetivo reduzir custos com licenças sem prejudicar o desempenho? Justifique sua resposta.
-
Quais são as principais vantagens do Raspberry Pi e quais funções ele pode realizar em um contexto empresarial?
-
Quais distribuições são propostas pelo Amazon Cloud Services e pelo Google Cloud? Cite pelo menos três mais comuns e duas diferentes.
Resumo
Nesta lição, você aprendeu:
-
Quais distribuições de Linux existem
-
O que são sistemas com Linux embarcado
-
Como são usados os sistemas com Linux embarcado
-
Diferentes aplicações do Android
-
Diferentes usos de um Raspberry Pi
-
O que é a Computação em Nuvem
-
Qual o papel do Linux na computação em nuvem
Respostas aos Exercícios Guiados
-
Quais as diferenças entre o Debian GNU/Linux e o Ubuntu? Cite dois aspectos.
O Ubuntu baseia-se em um instantâneo do Debian, e por isso existem muitas semelhanças entre eles. Todavia, eles não deixam de apresentar diferenças significativas. A primeira delas seria a usabilidade para os iniciantes. O Ubuntu é recomendado aos iniciantes devido à sua facilidade de uso; já o Debian é recomendado para usuários mais avançados. A principal diferença reside na complexidade da configuração de usuário, que o Ubuntu não exige durante o processo de instalação.
Outra diferença seria a estabilidade de cada distribuição. O Debian é considerado mais estável em comparação com o Ubuntu. Isso acontece porque ele recebe menos atualizações, que são testadas em detalhe, e o sistema operacional como um todo tem mais estabilidade. Por outro lado, o Ubuntu permite que o usuário utilize os lançamentos mais recentes de software e todas as novas tecnologias.
-
Em quais os ambientes/plataformas o Linux é mais usado? Cite três ambientes/plataformas diferentes e dê o nome de uma distribuição que pode ser usada em cada um deles.
Dentre os ambientes/plataformas mais comuns poderíamos citar smartphone, desktop e servidor. Nos smartphones, ele pode ser empregado em distribuições como o Android. Para desktop e servidores, é possível escolher qualquer distribuição que pareça adequada à funcionalidade da máquina em questão, como Debian ou Ubuntu, ou ainda CentOS e Red Hat Enterprise Linux.
-
Você planeja instalar uma distribuição de Linux em um novo ambiente. Cite quatro coisas a se considerar na escolha de uma distribuição.
Ao escolher uma distribuição, alguns elementos importantes a considerar são custo, desempenho, escalabilidade, estabilidade e as exigências de hardware do sistema.
-
Cite três dispositivos que rodam Android OS, além de smartphones.
Dentre os outros dispositivos que usam Android estão as smart TVs, tablets, Android Auto e smartwatches.
-
Explique três grandes vantagens da computação em nuvem.
As principais vantagens da computação em nuvem são flexibilidade, facilidade de recuperação e baixo custo. Os serviços baseados na nuvem são fáceis de implementar e escalar, dependendo das necessidades da empresa. Eles são mais vantajosos para as soluções de backup e recuperação, já que permitem que uma empresa se recupere rapidamente e sem grandes repercussões após um incidente. Além disso, reduzem os custos operacionais, pois é possível pagar apenas pelos recursos usados pela empresa em um modelo baseado em assinatura.
Respostas aos Exercícios Exploratórios
-
Levando em conta o custo e o desempenho, quais as distribuições mais adequadas para uma empresa que tem como objetivo reduzir custos com licenças sem prejudicar o desempenho? Justifique sua resposta.
Uma das distribuições mais adequadas ao uso empresarial é o CentOS. Ela incorpora todos os produtos do Red Hat, que também são usados no sistema operacional comercial dessa empresa, sem deixar de ser gratuita. Da Mesma maneira, os lançamentos do Ubuntu LTS garantem o suporte por períodos mais longos. As versões estáveis de Debian GNU/Linux também são frequentemente usadas em ambientes empresariais.
-
Quais são as principais vantagens do Raspberry Pi e quais funções ele pode realizar em um contexto empresarial?
O Raspberry Pi, embora pequeno, funciona como um computador normal. Além disso, custa pouco e pode lidar com tráfego web e muitas outras funcionalidades. Pode ser usado como servidor ou firewall, como placa principal de um robô e muitos outros pequenos dispositivos.
-
Quais distribuições são propostas pelo Amazon Cloud Services e pelo Google Cloud? Cite pelo menos três mais comuns e duas diferentes.
As distribuições em comum entre o Amazon e o Google Cloud Services são Ubuntu, CentOS e Red Hat Enterprise Linux. Cada um desses provedores de serviços na nuvem propõe distribuições específicas. A Amazon tem o Amazon Linux e o Kali Linux, ao passo que o Google oferece o uso de FreeBSD e Windows Servers.