Você está na página 1de 31

INTRODUÇÃO

O sector de produção de software tem características diferenciadoras, no que


se refere ao comportamento do ciclo de produto em relação a outros sectores.
Na maioria dos sectores, o peso dos investimentos na etapa correspondente ao
ciclo operacional (aquisição dos insumos e produção dos produtos) é
importante se comparado com o valor dos investimentos realizados nas outras
etapas do ciclo do produto (planejamento e desenvolvimento do produto). No
sector de software, conforme Vasconcelos (1999) as etapas de planejamento e
desenvolvimento são bem mais importantes, em termo de investimento de
recursos que a etapa produtiva (entendendo esta etapa, como a geração da
cópia do produto a ser vendido). Afirma Vasconcelos, "quando se atinge o auge
das vendas de um determinado produto, os gastos de produção característicos-
insumos materiais, mão de obra directa, processamento, etc.- são, em geral,
residuais em relação ao total de gastos de planejamento e desenvolvimento do
produto em questão". Este facto coloca importantes desafios para as empresas
de software, quanto às estratégias a serem seguidas para a gestão de seus
negócios, dado o peso importante dos investimentos iniciais em relação aos
investimentos da etapa produtiva.

Os compradores do software incorporam o produto a seus processos e rotinas


e passam, em muitos casos, a ter urna situação de forte dependência em
relação ao software escolhido. Esta situação se dá por diversos aspectos, por
exemplo, em função do aprendizado, ou por problemas de compatibilidade que
devem ser mantidos entre distintos softwares que trabalham trocando
informações. Neste caso, tendem a ficar "presos" ao fornecedor inicial e tem
um custo significativo (comparativamente a outros produtos) para mudar de
fornecedor, dado que devem superar um conjunto de custos relativos ao
aprendizado do uso do novo software e a superação dos problemas de
compatibilidade. A tendência actual do software livre ou Open Source Software
(OSS) e o uso do Linux tem tido um crescimento considerável, o que tem
contribuído de forma significativa no desenvolvimento de projectos de grandes
dimensões. A sua aplicação em decisões de projectos internacionais, tem
despertado o interesse de todos aqueles que usam o sistema proprietário, mas
que procuram soluções alternativas que permitam racionalizar e optimizar o
seu sistema de informação. Esta solução, não deve ser encarada como um
substituto do software proprietário, mas sim como mais uma alternativa na
implementação de sistemas de informação. Em condições normais, a sua
utilização deve ser vista como mais uma valia nas administrações das
empresas. No entanto, ao se consciencializarem das vantagens
proporcionadas pelo sistema livre, estas instituições começam a preferi-lo em
detrimento do outro, mas as vezes é necessário manter o proprietário.

1
Objectivos
O presente projecto visa estudar conteúdo sobre sistemas operativo livre Linux.

Objectivos específicos
 Fundamentos históricos sobre SO livres;
 Analisar o software Open source mais abordado
 Analisar sobre distribuições de Linux
 Serão avaliadas as vantagens e desvantagens da adoção deste tipo de
programa para as empresas.

Metodologia

Assim, o método científico é constituído por procedimentos técnicos e os


instrumentos investigativos que conduzem para o alcance dos objetivos da
pesquisa, tais informações metodológicas são balizadoras do grau de
consistência, credibilidade e cientificidade da pesquisa realizada.

Os procedimentos técnicos adotados para a coleta de dados da pesquisa foram


a metodologia de Revisão Bibliográfica Sistemática, por ser uma metodologia
específica que busca do máximo de material relevante sobre um determinado
tema, seguido do estudo de caso, com a utilização de um questionário
semiestruturado desenvolvido após o levantamento dos tópicos a serem
abordados na entrevista.

Revisão Bibliográfica Sistemática Este tipo de metodologia é realizado de


forma sistemática, como o próprio nome diz, foi desenvolvido formalmente com
etapas que conferem um rigor para selecionar e avaliar publicações e utilizar
dados existentes sobre um determinado tema (COSTA, 2015). Segundo
Conforto et al. (2011, p. 3):

É o processo de coletar, conhecer, compreender, analisar, sintetizar e


avaliar um conjunto de artigos científicos com o propósito de criar um
embasamento teórico-científico (estado da arte) sobre um determinado
tópico ou assunto pesquisado

2
1 - FUNDAMENTOS DE SISTEMAS OPERATIVOS

Para que o hardware ou parte física de um computador possa funcionar, faz-se


necessário um conjunto de regras e ordens que coordenem todos os processos
realizados. Tal conjunto é denominado software ou parte não material do
sistema. Graças ao software (integrado por uma enorme quantidade de
programas que interagem entre si) todos os recursos podem ser utilizados em
qualquer sistema informatizado.

1.1 - Fundamentos Histórico

Na década de 1970, quando começaram a aparecer os computadores


pessoais, houve a necessidade de um sistema operacional de utilização mais
fácil. Em 1980, William (Bill) Gates e seu colega de faculdade, Paul Allen,
fundadores da Microsoft, compram o sistema QDOS ("Quick and Dirty
Operating System") de Tim Paterson por $50.000, batizam-no de DOS (Disk
Operating System) e vendem licenças a IBM. O DOS vendeu muitas copias,
como o sistema operacional padrão para os computadores pessoais
desenvolvidos pela IBM.

No começo da década de 1990, um estudante de computação finlandês postou


um comentário numa lista de discussão da Usenet dizendo que estava
desenvolvendo um kernel de sistema operacional e perguntou se alguém
gostaria de auxilia-lo na tarefa. Este estudante chamava-se Linus Torvalds e o
primeiro passo em direção ao tão conhecido Linux foi dado naquele momento.
Um sistema operacional, e um conjunto de rotinas executado pelo processador.
Sem o SO, um usuário para interagir com o computador deveria conhecer
profundamente diversos detalhes sobre o hardware do equipamento, o que
tornaria seu trabalho lento e com grandes possibilidades de erros. O objectivo
de um SO e funcionar como uma interface entre o usuário e o computador,
tornando sua utilização mais rápida e segura.

1.2 – Sistema operativo

O Sistema Operacional é o conjunto de programas que fazem a interface do


usuário e seus programas com o computador. Ele e responsável pelo
gerenciamento de recursos e periféricos (como memoria, discos, arquivos,
impressoras, CD-ROMs, etc.), interpretação de mensagens e a execução de
programas.

Sistema operacional é um conjunto de ferramentas necessárias para que um


computador possa ser utilizado de forma adequada. Um SO, como também são
conhecidos os Sistemas operacionais, faz o papel de intermediário entre o
aplicativo e a camada física do hardware. Esta e uma das formas de conceituar
o termo sistema operacional, como um conjunto que permite a abstração do
hardware.

Desta forma, se não houvessem sistemas desse tipo, todo software


desenvolvido deveria saber se comunicar com os dispositivos de hardware do
computador de que precisasse. Quando temos um sistema operacional, e ele
3
quem precisa saber lidar com os dispositivos, sabendo falar com a placa de
som, com a internet, com os disquetes, etc. Assim, um software que seja feito
para funcionar neste sistema não precisara de informações especificas do
equipamento. Ao invés disso, ele chamara funções do kernel e o sistema
operacional e que fara a comunicação, repassando os resultados. Cada
sistema operacional pode ter uma maneira própria e distinta de comunicar-se
com o hardware, razão pela qual e comum que softwares feitos para um
sistema operacional não funcionem em outro, principalmente no caso de
linguagens compiladas.

O SO transforma o computador em urna caixa preta para os usuários, uma vez


que este simplifica o acesso aos recursos, exemplo: o usuário não precisa
saber como funciona um disco rígido para conseguir gravar um arquivo nele,
basta que acione o comando de copiar e o sistema fará isso automaticamente,
a partir de instruções e procedimentos pré-estabelecidos e fixos. Além disso, o
SO coordena os diversos processos, evitando que eles se sobreponham,
exemplo: ao mandar imprimir dois arquivos ao mesmo tempo o SO faz com
seja impresso cada um deles por vez e não a linha do primeiro, depois a do
segundo, etc.

Sem o Sistema Operacional não seria possível, ou pelo menos seria muito
complicado, realizar operações simples. Por esta razão o SO é fundamental e
indispensável para a utilização de um computador. Uma outra forma de
conceituar sistema operacional e como um gerenciador de recursos. E função
do SO identificar que dispositivos estão ociosos e ocupados, como por exemplo
dividir o tempo de uso da CPU entre os vários processos, alocar e gerenciar o
uso de memoria principal e secundaria.

A definição do que constitui um sistema operacional é bastante controversa.


Acadêmicos como Andrew Tanenbaum consideram que só a parte do sistema
que roda sobre modo kernel constituem o sistema operacional e os demais
softwares básicos são ferramentas de sistema. Outros, no entanto consideram
os sistemas operacionais como o conjunto de kernel e ferramentas de sistema.
No início da computação os primeiros "sistemas operacionais" eram únicos,
pois cada mainframe vendido necessitava de um sistema operacional
especifico. Esse problema era resultado de arquiteturas diferentes e da
linguagem utilizada no caso, Assembly (linguagem de baixo nível). Após essa
fase, iniciou-se a pesquisa de sistemas operacionais que automatizassem a
troca de tarefas (jobs), pois os sistemas eram monousuário e tinham cartões
perfurados como entrada (eliminando, assim, o trabalho de pessoas que eram
contratadas apenas para trocar os cartões perfurados). Um dos primeiros
sistemas operacionais foi o CTSS, desenvolvido no MIT. Outro, que na época
revolucionou o conceito de sistema operacional foi o Multics, desenvolvido nos
laboratórios da AT&T. Os sistemas operacionais eram geralmente
programados em Assembly, até mesmo o UNIX em seu início. Após poucas
versões, o UNIX começou a ser desenvolvido através de uma nova linguagem
(a linguagem C) e teve em seus princípios muitas inovações do Multics. O
UNIX criou um ecossistema de versões e inovações, entre estes, destacam-se:
System V e derivados – família BSD (FreeBSD, NetBSD, OpenBSD).

4
1.2.1 - Funções básicas

Um sistema operacional pode ser caracterizado como um conjunto de rotinas


executadas pelo processador, de forma semelhante aos programas dos
usuários. Seu principal objetivo é gerenciar os componentes de hardware,
como processador, memória principal, discos, teclado, entre outros e fornecer
aos programas do usuário uma interface com o hardware mais simples de ser
utilizada. Sem um sistema operacional, o usuário deveria ter um conhecimento
aprofundado de diversos comandos e linguagens em geral para que pudesse
manipular o computador, o que tornaria uma prática difícil e com grandes
possibilidades de erro. A principal diferença existente entre softwares
aplicativos e um sistema operacional convencional está no fato de que os dois
funcionam de formas diferentes. Enquanto um software aplicativo (Microsoft
Word, Libre Office Writer, etc.) trabalha com início, meio e fim, um sistema
operacional trabalha de forma assíncrona, ou seja, suas rotinas são
executadas de forma concorrente através de eventos assíncronos (que podem
ocorrer a qualquer momento.

Quanto às denominações para sistema operacional existem várias, que


especificam as rotinas que ele executa, portanto, muitas vezes ele é chamado
de modo supervisor, modo núcleo, privilegiado, entre outros. Quanto às
funções básicas que um sistema operacional é capaz de realizar, temos duas
principais, que são: facilitar o acesso aos recursos do sistema e
compartilhamento de recursos de forma organizada e protegida.

1.2.2 - Tipos de sistemas operacionais

Os sistemas operacionais evoluíram ao longo do tempo, muito pela


contribuição da evolução do hardware e das aplicações suportadas por ele. Os
sistemas operacionais são divididos basicamente em 4 tipos:

1.2.2.1 - Sistema operacional de tempo real (RTOS - Real-time operating


system).

É utilizado para controlar máquinas, instrumentos científicos e sistemas


industriais. Geralmente um RTOS não tem uma interface para o usuário muito
simples e não é destinado para o usuário final, desde que o sistema é entregue
como uma "caixa selada". A função do RTOS é gerenciar os recursos do
computador para que uma operação específica seja sempre executada durante
um mesmo período de tempo. Numa máquina complexa, se uma parte se move
mais rapidamente só porque existem recursos de sistema disponíveis, isto
pode ser tão catastrófico quanto se uma parte não conseguisse se mover
porque o sistema está ocupado.

5
1.2.2.2 - Sistemas monoprogramáveis/monotarefa

Os sistemas monoprogramáveis ou monotarefa, como o próprio nome já diz


(mono, noção de um, de unidade) são sistemas voltados tipicamente para a
execução de um único programa. Qualquer outra aplicação para ser executada,
deve aguardar o término no programa corrente. Neste tipo de sistema, o
processador, a memória e os demais periféricos permanecem exclusivamente
dedicados à execução de um único programa.

Os sistemas monotarefa, estão tipicamente relacionados aos primeiros


computadores da década de 1960. Os sistemas monoprogramáveis possuíam
uma desvantagem muito clara, devido à limitação de tarefas (uma de cada vez)
havia um grande desperdício de recursos de hardware. Como exemplo de
sistema operacional monoprogramável/monotarefa temos o MS-DOS da
Microsoft.

1.2.2.3 - Sistemas multiprogramáveis/multitarefa

Diferentemente dos sistemas monoprogramáveis/monotarefa, os sistemas


multiprogramáveis/multitarefa permitem que os recursos computacionais sejam
compartilhados entre os diversos usuários e aplicações. Neste caso, enquanto
um programa espera pela ocorrência de um evento, outros programas podem
estar em execução neste mesmo intervalo de tempo, permitindo assim o
compartilhamento de recursos como processador, memória principal e
dispositivos de entrada e saída. O sistema operacional fica incumbido de
gerenciar o acesso concorrente aos seus diversos recursos de forma ordenada
e protegida. As vantagens na utilização destes tipos de sistemas operacionais
são a redução do tempo de respostas das aplicações, além dos custos
computacionais reduzidos, devido ao compartilhamento dos recursos do
sistema entre as diferentes aplicações.

1.2.2.4 - Sistemas com múltiplos processadores

Os sistemas de múltiplos processadores recebem este nome por possuírem


dois ou mais processadores interligados trabalhando em conjunto. Como
vantagem desta arquitetura está o fato de permitir que vários programas
possam ser executados ao mesmo tempo ou que um programa possa ser
dividido em partes, entre os vários processadores, executando-os de forma
simultânea. Um dos fatores fundamentais para o desenvolvimento de sistemas
operacionais com múltiplos processadores está na forma de comunicação entre
os processadores (CPU), o compartilhamento de memória principal (RAM) e os
dispositivos de entrada e saída (E/S).Através dos sistemas com múltiplos
processadores foi possível a criação de sistemas computacionais voltados para
o desenvolvimento científico, aplicado em áreas como desenvolvimento
aeroespacial, prospecção de petróleo, simulações, entre outros. As práticas e
estudos voltados ao desenvolvimento de sistemas com múltiplos
processadores adicionaram vantagens em tais sistemas como a escalabilidade,
disponibilidade e balanceamento de carga.

6
1.3 - Historial do Software Livre

Durante a criação da Arpanet (Advanced Research Projects Agency Network),


que fai o ponto inicial para o aparecimento da Internet, os desenvolvedores dos
Laboratérios Bell e da American Telephone and Telegraf (AT&T) sentiram a
necessidade de um sistema para controlar os diversos processos e recursos
"in-house computer" controlados por eles (ASCENSO e SANTOS, 2003).

A Bell então desenvolveu o sistema operacional BESYS (Bell Operating


System - Sistema Operacional da Bell) para ser utilizado como seu
computador. No entanto o sistema foi requisitado por outras pessoas e a Bell
optou por fornecer o software de maneira gratuita, mas sem suporte técnico.
Caso houvesse necessidade de suporte, este deveria ser contratado.

Em 1964, os Laboratórios Bell, quando da adopção da terceira geração de


computadores, tiveram que decidir se utilizariam um sistema operacional criado
por terceiros ou se desenvolveriam nova sistema operacional. Após deliberar
internamente a empresa optou criar um novo sistema, o Multics (Multiplexed
lnformation and Computering Service), unindo forças com a General Electric e
com o Massachusetts lnstitute of Technology (MIT).

No entanto em 1969 a AT& T optou por retirar-se do projeto, por entender que
o desenvolvimento do Multics se daria em um prazo longa demais e a um custo
excessivo. Ken Thompson, Dennis Ritchie e outros colegas que haviam
participado do desenvolvimento do Multics, resolveram escrever urna versão
simplificada do Multics usando um computador PDP-7 da Digitai Equipament
Corporation que estava ocioso. Foi implementado um sistema de arquivos e um
interpretador de comandos digitados pelos usuários que ganhou o nome de
Shell. O sistema funcionou bem, suportando os trabalhos de desenvolvimento.
A partir daí o sistema ganhou nome de Uniplexed lnformation and Computeing
Service (Unics), urna sátira ao sistema operacional Multics e posteriormente
leve seu nome mudado para Unix (HAUBEN, 2003).

Em 1970, a equipe de desenvolvimento de Thompson adquiriu um computador


PDP-11 da Digitai para criar um sistema de editoração de textos. Dennis
Ritchie alterou a linguagem B, desenvolvida por Thompson, dando origem à
linguagem C, que foi utilizada para reescrever o Unix.

Thompson e Ritchie publicaram um artigo sobre o Unix em 1974, o que


incentivou que muitas universidades solicitassem uma cópia do software a
AT&T. Como na época a empresa era um monopólio controlado na área de
telecomunicações, não podia atuar na área de computação. Sendo assim, a
AT&T forneceu sem empecilhos para aquisição do programa para as
universidades, que puderam contar com o código fonte completo para estudar
e melhorar o programa. A partir de então se criaram encontros científicos em
torno do Unix, onde surgiram novas ideias e melhoramentos que foram
rapidamente absorvidos pelo sistema. Esse grande dinamismo só foi passive!
por que na época compartilhar programas de computador e códigos fontes dos
programas, era uma prática comum, o que permitia que se desenvolvessem

7
estudos e fossem introduzidas melhorias nos programas. Por outro lado, esta
prática fez com surgissem diversos sistemas operacionais baseados em Unix.

Na década de BO foi criado um ambiente gráfico, o X-Windows, que se tornaria


padrão em todas as distribuições Unixes e o protocolo livre TCP/IP
(Transmission Contrai Protocol/lnternet Protocol - Protocolo de Controle de
Transmissao/Protocolo Internet), criado pela DARPA (Defense Advanced
Research Projects Angency), foi utilizado pelo departamento de sistemas da
universidade de Berkeley para comunicação a distância entre sistemas
operacionais Unixes, modelo que viria a se tornar padrão na Internet.

Nos anos 80 o sistema Unix já era amplamente utilizado, pois sua portabilidade
de uma máquina para outra era simples. Além disse, muitas empresas e
instituições contribuíam para melhorar o sistema operacional. No entanto em
1984 o governo norte-americano dividiu a AT&T em várias companhias
independentes, permitindo a eia criar uma subsidiária que operasse no ramo de
informática, levando o Unix a ter código fonte fechado e que se passasse a
cobrar pelo mesmo.

Neste mesmo período ocorreu a popularização dos computadores pessoais


(PC), onde já não existiam mais sistemas com código aberto, fazenda com que
as pessoas se acostumassem com os softwares proprietários.

Ainda no ano de 1984, Richard Stallmann que trabalhava na MIT, decidiu criar
um sistema operacional que qualquer pessoa poderia copiar, usar, modificar e
distribuir. Stallmann queira ler uma comunidade de desenvolvedores
trabalhando juntos novamente, o que tornava imprescindível que o sistema
possuísse código fonte aberto (loTTERMANN, 2001).

Segundo Richard, o desenvolvimento de um software deveria ocorrer de forma


evolucionária, no qual um programador pudesse, a partir de um programa já
existente, adicionar melhorias, novas funcionalidades, novos recursos e até
mesmo criar novos programas sem a necessidade de se começar do zero. A
partir desse momento Stallmann inicia o projeto e conceito do software livre.
Optou-se por produzir um sistema operacional compatível com o Unix, pois
desta forma a migração de usuários Unix para o novo sistema seria facilitada.
O nome dado para o projeto foi GNU (Gnu ls Not Unix - Gnu não é Unix).

Foi criado um novo tipo de licença, na qual qualquer pessoa poderia copiar,
executar, alterar, modificar e distribuir o programa, desde que o mesmo
permaneça livre. Esta nova licença foi chamada de copyleft, uma paródia com
o termo copyright que mantém os direitos autorais. O copyleft permitiria o
sistema operacional GNU obter vantagem social sobre o Unix, mesmo se o
mesmo não apresentasse vantagens técnicas.

A fim de economizar recursos, os desenvolvedores do GNU optaram por


integrar programas que fossem livres, mesmo que não fossem regidos pela
licença GNU; exemplos d isso são a utilização do sistema de janelas
desenvolvido pelo MIT, o X Windows e o protocolo de comunicação TCP/IP,

8
desenvolvido pelo departamento de defesa dos Estados Unidos da América,
etc.

No mesmo ano de 1984 Stallmann saiu do seu trabalho, mas conseguiu acesso
à estrutura do laboratório de inteligência Artificial do MIT para o
desenvolvimento do sistema GNU. inicialmente desenvolveu o editor de textos
Emacs e em seguida o compilador GCC (Gnu C Compiler), pois para se criar
um programa é necessário um editor onde se possa escrever o código e um
compilador para transformar o código em um arquivo executável.

No ano de 1985 ele criou o FSF (Free Software Foundation – Fundação


Software Livre) para o desenvolvimento e manutenção do sistema operacional
GNU, cuja receita provem de doações e das vendas de CD-ROM com software
livres.

Inicialmente a fundação desenvolveu o interpretador de comandos BASH


(Bourne Again Shell), cujo nome surgiu de mais uma brincadeira dos
programadores com o interpretador de comandos do Unix (Bourne Shell),
desenvolveu diversos programas que poderiam ser rodados em Unixes
proprietários, mesmo sem existir o sistema GNU completo. Finalmente em
1990 o sistema GNU estava praticamente completo, no entanto faltava
desenvolver o kernel (núcleo), programa que interage directamente com o
hardware do computador, uma parte essencial para qualquer sistema
operacional. O núcleo que está sendo desenvolvido pelo GNU foi chamado de
HURD e actualmente se encontra na versão 0.2.

Em 1991, Linus Torvalds, do Departamento de Ciência da Computação da


Universidade de Helsinki na Finlândia, criou um núcleo compatível com o Unix
(utilizando o GCC), baseado no Minix, um sistema operacional desenvolvido
pelo professor Andy Tannenbaum para fins educacionais. Após a criar a versão
0.02 do núcleo, que recebeu o nome de Linux, Linus disponibilizou o código
fonte na Internet, pedindo que programadores o ajudassem a melhorar o
programa.

Em 1992, o kernel Linux foi incorporado aos programas GNU, gerando um


sistema operacional livre e completo, que recebeu o nome de GNU/Linux,
embora hoje seja mais conhecido como apenas Linux. O GNU/Linux executa
diversos programas Unix e continua evoluindo como um sistema operacional.

O processo de criação de um software livre se inicia com o surgimento da


primeira versão do código, com sua posterior publicação pelo autor ou
coordenador, na Internet. Alguns usuários e também desenvolvedores de
software melhoram o código e o retornam ao coordenador. Este absorve as
alterações e reinicia o ciclo.

Com o aumento do tamanho dos projetos surgiram sites centralizadores dos


softwares livres entre eles The Apache Group, Mozilla.org, Openoffice.org,
Linux Online. Nestes sites os programadores podem transferir os códigos
fontes. comunicar erros e falhas, apresentar correcções e novos recursos,
trocar experiências e realizar documentação.
9
1.3.1 - Conceito de Software Livre e Proprietário

O conceito de software livre foi desenvolvido, inicialmente, por Richard


Stallman no início dos anos 80. Tudo começou quando Richard trabalhava no
Laboratório de inteligência Artificial do MTI e a impressora que ele utilizava
quebrou, sendo necessário adquirir urna nova impressora. Para continuar a
realizar seu trabalho precisava conhecer o funcionamento desta nova
impressora, no entanto suas solicitações ao fabricante para que este liberasse
os códigos fontes do equipamento foram negadas. A partir deste momento
Stallman passou a pensar em urna forma de tornar acessíveis os programas e
códigos, surgindo a ideia de software livre.

A filosofia do software livre está baseada em quatro conceitos básicos:


o A liberdade de executar o programa, para qualquer propósito.
o A liberdade de estudar como o programa funciona, e adaptá-lo para as
suas necessidades. O acesso ao código-fonte é um pré-requisito para
esta liberdade.
o A liberdade de redistribuir cópias de modo a ampliar as possibilidades de
acesso de pessoas e instituições a tais programas.
o A liberdade de aperfeiçoar o programa, e liberar os seus
aperfeiçoamentos, de modo que toda a comunidade se beneficie, sem
gastos adicionais.

Esses conceitos buscam garantir que o usuário possa executar, copiar,


estudar, modificar o software, visando sempre à liberdade de produção (ou
aperfeiçoamento) e utilização. Software livre pressupõe a liberdade de
utilização, por isso é melhor evitar termos como "de graça" ou "doado", pois
não se trata de uma questão de preço, mas sim de liberdade de acesso ao
código-fonte e de uso.

Entretanto, para que um programa seja Open Source, não significa que basta
deixar o seu código aberto. Segundo Lautert (2004), para se considerar
programa como software livre, os termos de distribuição deste devem estar de
acordo com os seguintes itens”:
Redistribuição livre – a licença não deve restringir a ninguém vender ou
doar o software, enquanto componente agregado de distribuição de
software que contenha programas provenientes de várias fontes. O
propósito desta condição, é o de dissuadir pessoas ou empresas de, a partir
de software livre, criarem programas que sejam registados ao abrigo de
licenças nos termos do copyright, típicas do software proprietário.
Acesso ao código fonte – o programa deve incluir o código fonte e deve
permitir a distribuição em forma de mesmo ou compilada. Se de alguma
forma o programa for distribuído sem o código fonte, deve haver uma forma
de explicar como obtê-lo sem nenhum custo associado. Esse tem que estar
numa forma que o programador possa modificá-lo e não é permitido que
seja ofuscado. Tendo acesso o código fonte do programa, torna-se mais
fácil obter o contributo de todos para que o programa possa evoluir mais
rápido.

10
Trabalhos derivados – os termos de licenciamento devem permitir as
modificações necessárias e trabalhos derivados do programa original e,
devendo ainda permitir que sejam distribuídos nos mesmos moldes da
licença do programa base. Está condição tem praticamente o mesmo
objectivo que o anterior, ou seja, contribuir para que o programa tenha uma
rápida evolução.
Integridade do código fonte do autor – a licença pode restringir a
distribuição do código fonte numa forma alterada somente no caso de
permitir a distribuição patch com o código, com o objectivo de alterar o
código fonte na hora de compilar o programa alterado. Nesse particular, a
licença deve explicitamente permitir a distribuição do software compilado,
do código-fonte modificado e pode requerer também que o trabalho
derivado tenha um outro nome ou número de versão diferente do original. O
propósito desta condição é de dar a conhecer aos utilizadores que é
responsável pelo software que usam.
Não discriminação contra pessoas ou grupos – os termos de
licenciamento do software livre não permitem qualquer tipo de discriminação
contra nenhuma pessoa ou grupo de pessoas. O objectivo desta condição
prende-se com o facto de muitos países manterem restrições de exportação
em relação a determinados tipos de software. Assim, qualquer programa
que se qualifique como software livre, não se encontra restringidos por
essas leis, embora as várias licenças façam referências à obrigatoriedade
dos utilizadores cumprirem as leis dos respectivos países, a própria licença
em si não restringe o uso e distribuição do software livre.
Não discriminação contra campos de estudo/acção – os termos de
licenciamento do software livre não permitem que sejam discriminados
qualquer área de estudo ou acção contra o uso deste tipo de software,
estejam esses campos de estudo/acção ligados quer a negócios, quer à
educação ou pesquisas. Prevenir que este tipos de solução não seja
impedido de ser utilizado de forma comercial, é o principal propósito desta
condição.
Distribuição da licença – os direitos associados ao programa têm que ser
iguais para todos a quem o programa for distribuído, sem a necessidade de
uma outra licença adicional. No entanto, os termos de licenciamento do
software livre, obrigam à inclusão explícita da licença original. Impedir que
este tipo de software seja tornado em proprietário de forma inadvertida é o
objectivo principal de condição.
Restrições a outros softwares – não se deve restringir que o programa
seja distribuído com qualquer outro software. Que dizer que os termos de
licenciamento não podem obrigar que outros programas distribuídos da
mesma forma sejam também software livre.
A licença não deve ser exclusiva de um produto – o principal objectivo
desta condição, é restringir que qualquer distribuição de software se
aproprie indevidamente dos direitos de programas de classe de software
livre, como forma de impedir o seu uso. Dito outra de forma, os direitos
conferidos pela licença de um programa não podem ser extintos através da
dependência de uma distribuição específica de software.
Neutralidade sobre tecnologias – nenhuma provisão da licença deve
esperar alguma tecnologia individual ou estilo de interface. Estes são os
requisitos necessários para que um programa seja considerado software
11
livre. Sendo assim, estes conceitos procuram garantir que o utilizador possa
executar, copiar, estudar, modificar o software, visando sempre à liberdade
de produção ou aperfeiçoamento e utilização. A liberdade de aperfeiçoar o
programa e liberar os seus aperfeiçoamentos, de modo que toda a
comunidade se beneficie, sem gastos adicionais faz com que o programa
tenha um crescimento mais acelerado, visto que todos estarão contribuindo
pela sua evolução

Já o software proprietário é regido por urna série de normas que visam limitar
o seu uso ao número de licenças adquiridas. São estabelecidas licenças pelas
quais é necessário pagar por cópia instalada, não sendo permitida a alteração
do código; ademais, é ilícita a livre distribuição do programa e normalmente
não se tem acesso ao código fonte destes programas.

Como a grande maioria dos softwares proprietários não possui o código aberto
não é possível personalizar o programa, verificar a qualidade do código,
realizar melhorias no programa e corrigir erros.

Os softwares livres mais conhecidos são: o sistema operacional LINUX, o


pacote de ferramentas para escritório OpenOffice, o editor de imagem GIMP, o
navegador de Internet Mozilla, etc.

O fabricante de softwares proprietários mais conhecido é a Microsoft com


programas como o Windows 95/98/NT/2000/XP, o pacote Microsoft Office, o
navegador Internet Explorer, etc.

1.3.2 - Licenças de Software Livre

Para se definir as regras para utilização de um software são utilizadas licenças,


por exemplo, caso se deseje proteger os direitos autorais utiliza-se o copyright,
assim como se podem colocar diversas restrições ao uso de determinado
software.

As licenças de software livre visam garantir a possibilidade de alteração e


distribuição do software, definindo as regras de utilização. Ao longa tempo
diversas licenças surgiram, apresentando de forma geral as seguintes
características:
o Proteger a identidade do autor;
o Distribuir os códigos fontes;
o Qualquer trabalho que inclua parte do software deve citar o autor;
o instalação do software em um número irrestrito de computadores;
o Não restringir a venda do software;

A seguir serão mostrados os tipos mais relevantes de licenças para softwares


livres.

1.3.2.1 - Licença GNU

12
O projeto GNU procura garantir a liberdade sobre o software, para isso existem
alguns tipos de licença criados pelo projecto.

Segundo Richard Stallman, o termo free software, pode causar confusão ao ser
interpretado como um software gratuito, para ele o termo free não está
relacionado ao preço, mas sim a liberdade de utilização do software. Ou seja, o
programa pode ser utilizado sem restrições, modificado, melhorado,
redistribuído gratuitamente ou cobrado.

Para alcançar os objetivos acima, existe a licença GNU GPL (General/ Public
Licence- Licença Pública Geral), que garante acesso ao código fonte do
programa, sendo assim possível personaliza-lo ou modifica-lo. O software pode
ser distribuído com ou sem custo, mas, ao contrário do software comercial, não
existem restrições para sua utilização, podendo o comprador utilizá-lo em um
número indeterminado de máquinas, redistribui-lo, modifica-lo ou até mesmo
cobrar pela cópia. Entretanto, caso algum pedaço de um software licenciado
pelo GNU seja utilizado, obrigatoriamente o novo programa deverá ser
licenciado conforme a licença GPL.

No entanto, existe urna alternativa para que bibliotecas do projecto GNU


possam ser utilizadas em um software comercial, é a licença LGPL (Library
Genera/ Public License - Licença Publica Geral de Biblioteca). Através dessa
licença, as bibliotecas desenvolvidas pela GNU podem ser livremente utilizadas
em aplicações comerciais, tendo como única restrição que o programa seja
capaz de aceitar actualizações das bibliotecas livres.

A GNU ainda possui urna licença especial para documentação, a GNU FDL
(Free Documentation License - Licença para documentação livre), que visa
assegurar que documentos, manuais, livros sejam livres, sendo permitido a
alteração, cópia e redistribuição de forma gratuita ou comercial.

1.3.2.2 - Licença BSD

A Licença BSD (Berkeley Software Distribution), foi criada pela Universidade de


Berkeley que desenvolveu o seu próprio sistema operacional Unix quando o
mesmo passou a ser comercializado pela AT&T. Esta licença impõe poucas
limitações, tendo como objetivo disponibilizar o desenvolvimento do software
para a sociedade e ao mesmo tempo permitir que um financiador privado faça
uso da pesquisa pra seus fins proprietários. Qualquer pessoa pode alterar o
programa e comercializá-lo como se fosse de sua autoria. Esta licença é
bastante utilizada pelos desenvolvedores comerciais como DEC e Sun, no
entanto, existem softwares gratuitos que o utilizam esta licença tais como os
sistemas operacionais FreeBSD e OpenBSD e os programas BINO, o Apache
e o Sendmail.

1.4 – Linux

O Linux e um sistema operacional criado em 1991 por Linus Torvalds na


universidade de Helsinki na Finlândia. E um sistema Operacional de código
aberto distribuído gratuitamente pela Internet. Seu código fonte É liberado
13
como Free Software (software livre) o aviso de copyright do kernel feito por
Linus descreve detalhadamente isto e mesmo ele não pode fechar o sistema
para que seja usado apenas comercialmente.

Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é
crime fazer copias para instalar em outros computadores, nos inclusive
incentivamos você a fazer isto. Ser um sistema de código aberto pode explicar
a performance, estabilidade e velocidade em que novos recursos são
adicionados ao sistema.

Para executar o Linux você precisa, no mínimo, de um computador 386 SX


com 2 MB de memória (para um kernel até a série 2.2.x) ou 4MB (para kernels
2.4 e superiores) e 40MB disponíveis em seu disco rígido para uma instalação
básica e funcional. O sistema segue o padrão POSIX que é o mesmo usado
por sistemas UNIX e suas variantes. Assim, aprendendo o Linux você não
encontrará muita dificuldade em operar um sistema do tipo UNIX, FreeBSD,
HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados
em cada sistema. O código fonte aberto permite que qualquer pessoa veja
como o sistema funciona (útil para aprendizado), corrija algum problema ou
faça alguma sugestão sobre sua melhoria, esse e um dos motivos de seu
rápido crescimento, do aumento da compatibilidade de periféricos (como novas
placas sendo suportadas logo após seu lançamento) e de sua estabilidade.

Hoje o Linux e desenvolvido por milhares de pessoas espalhadas pelo mundo,


cada uma fazendo sua contribuição ou mantendo alguma parte do kernel
gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e
também ajuda na coordenação entre os desenvolvedores.

O suporte ao sistema também se destaca como sendo o mais eficiente e rápido


do que qualquer programa comercial disponível no mercado. Existem centenas
de consultores especializados espalhados ao redor do mundo. Você pode se
inscrever em uma lista de discussão e relatar sua dúvida ou alguma falha, e
sua mensagem será vista por centenas de usuários na Internet e algum irá te
ajudar ou avisara as pessoas responsáveis sobre a falha encontrada para
devida correção.

1.5 - Linux e Software Livre (Open Source Software)

Actualmente, muito se ouve falar sobre Software Livre ou “Open Source


Software” (OSS). Para quem se move no domínio das Tecnologias de
Informação (TI), seja como utilizador, seja como profissional, será difícil hoje
poder ignorar o que se designa por Open Source Software. O seu produto
porventura “mais emblemático”, o Linux, é referido frequentemente nas
publicações de informática. O Linux é um sistema operativo desenvolvido
integralmente como software livre, que começa a ser difundido e utilizado.
Como referido anteriormente, foi criado em 1991 por Linus Torvalds e conta
actualmente com uma legião de programadores e defensores empenhados. A
sua aceitação deve-se em muito às suas características de software aberto e à
sua prestação a nível de segurança e robustez. Este fenómeno merece as
atenções das grandes empresas analistas, que referem tendências de
14
crescimento significativas. O interesse nas soluções de software livre tornou-se
ainda inquestionavelmente global. Vários países, regiões e organismos referem
o recurso a este tipo de soluções nas suas directivas estratégicas. Tal é o caso,
a mero título de exemplo, da Alemanha, Suíça, Espanha, China, Austrália,
Brasil, Comunidade Europeia, Estado do Texas. Alguns países vêem no OSS
uma oportunidade importante de desenvolvimento local de uma indústria de
software, tal como se verifica no Brasil, China, Coreia do Sul, Japão, Chile ou
Malásia. Mas é de salientar que ainda permanece em muitos casos uma
enorme confusão sobre o que é de facto o Open Source Software, quais as
oportunidades para com a sua utilização, quais as vantagens e fraquezas, que
critérios objectivos devem comandar à sua adopção.

1.6 - Vantagens e desvantagens associadas a utilização do Linux como


software livre

Devido a diferentes formas de desenvolvimento, podem retirar-se muitos


benefícios no uso do Linux em detrimento do software proprietário, todavia, a
sua utilização também implica riscos. São várias e conhecidas as vantagens do
Linux. Por ser software livre, recebe constantemente o contributo de uma
dedicada comunidade de programadores, o que se reflecte na sua rápida
evolução e na sua construção sólida. Por outro lado, este facto torna-o gratuito
fazendo dele uma alternativa muito viável em relação aos sistemas
proprietários cujo custo das licenças é bastante alta. O Linux partilha várias
características comuns com o sistema Unix, sendo este um sistema com uma
reputação elevada.

Outro factor que torna o Linux uma solução viável, é a sua prova dada da sua
superioridade ao nível de sistemas em rede e Internet fazendo com que
actualmente seja um dos sistemas mais seguros e robusto, utilizado em larga
escala por grandes companhias de prestação de serviços nessa área.

1.6.1 – Vantagens

O Linux tem cada vez mais ganho credibilidade por ser um sistema muito
flexível, seguro e sobre tudo muito estável. É por isso que muitas empresas
tem vindo a apostar seriamente na sua adopção. A IBM por exemplo é uma das
empresas que mais investimento tem feito no uso de Linux, sendo com ajudas
financeiras, parcerias e desenvolvimento de programas. A INTEL é outro
exemplo de grandes empresas que também tem apostado fortemente no seu
uso. Para além disso, várias outras empresas sejam elas pequenas ou médias
estão cada vez mais adoptando o Linux como sistema padrão pelo simples
facto de ser seguro e por possuir mais estabilidade que os outros sistemas,
como é o caso do Windows.

1.6.1.1 – Flexibilidade
Partindo do princípio de que o Linux pertence a comunidade OSS e que o seu
código fonte é livre, conclui-se que podemos copiá-lo, modificá-lo de modo a
ajustar as reais necessidades pessoais ou organizacionais. Assim, à medida

15
que uma pessoa ou uma organização tenha a necessidade de introduzir novas
funcionalidades no seu programa pode fazer sem problemas.

1.6.1.2 - Custo de licenciamento


Este, afigura-se como uma das grandes vantagens em relação ao software
proprietário, tendo em consideração que o Linux pode ser obtido gratuitamente
ou a um custo relativamente baixo. Desta forma, quando se compara o custo
de licenciamento para vários utilizadores e computadores, entre o software livre
e software proprietário, as vantagens do primeiro em relação ao segundo,
tornam-se aparentes.

É de notar, que o custo de licenciamento não é o único factor de peso a ser


analisado no Custo Total de Propriedade (TOC). O TOC tem por objectivo,
identificar os custos exactos da manutenção de uma aplicação ou de um
sistema, ponderando factores como manutenção, custo de licenças entre
outros.

De acordo com Bacic (2003), um servidor Windows 2000 totalmente


configurado com servidor de Web, e-mail, ferramentas de desenvolvimento de
base de dados, apresenta um custo cerca de 60 ou mais vezes superior ao seu
equivalente em Linux, com todas as funcionalidades descritas. É de salientar
ainda, que o custo do desenvolvimento do software livre é menor que o custo
do software proprietário.

1.6.1.3 - Inexistência de problemas derivados da licença


Outro dos grandes benefícios do Linux, é facto de poder ser instalado o número
de vezes que se quiser, sem ter a preocupação de correr o risco de transgredir
a lei. Esta constitui uma grande chance para que as organizações deixassem
de disponibilizar partes importantes dos seus recursos financeiros para a
aquisição de mais licença (claro, para as que ainda não deixaram de pagar).
Uma outra vantagem que isto traz, é o facto de poderem também deixar de
estar sujeitos às alterações das formas de licenciamento que por vezes
acontece com o software proprietário. Por último, mas não menos importante,
isso fará com que as organizações evitem os custos com o próprio controlo de
licença, já que nas de grandes dimensões esse constitui um problema de difícil
controlo.

1.6.1.4 - Escalabilidade
Normalmente, as organizações começam com sistema moderado, mas
esperando sempre que este cresça à medida das suas necessidades e que
esse crescimento não tenha um custo muito elevado. Neste particular, o Linux
é extremamente viável uma vez que o seu código é aberto o que permite uma
grande facilidade para a optimização do trabalho tanto nas grandes como nas
pequenas plataformas. Assim, qualquer empresa que usa o Linux, pode
implementar um sistema em software livre e aumentá-la à medida das suas
necessidades.

1.6.1.5 - Interoperabilidade com os sistemas existentes

16
Para a maioria das organizações, o aspecto mais importante e relevante do
Linux, prende-se com a sua capacidade de coexistência com outros sistemas
no caso, os proprietários da Microsoft. É de notar, portanto, que o Linux
promove interoperabilidade em dois sentidos. Primeiramente porque o seu
código fonte é disponibilizado abertamente, o que facilita bastante outras
aplicações no processo de interação, analisar o código para saber como em
que formato os dados devem entrar ou sair. Outro aspecto a destacar é que o
Linux para além dessa capacidade de coexistir com sistemas proprietários,
reconhece ainda os seus protocolos de comunicação como por exemplo o
TCP/IP, Appletalk, IPX, etc.

1.6.1.6 - Segurança
Pelo facto do seu código se encontrar disponível, permite que as falhas e
vulnerabilidades sejam detectadas de forma rápida, tornando o software mais
seguro. Estudos demonstram que a maioria dos servidores violados por
ataques remotos, são baseados em software proprietário. Um estudo realizado
pela organização Attrition2, constatou que 73% dos servidores adulterados
tinham sistema operativo proprietário, 21% Linux e 6% com diferentes versões
de BSD. Ainda nesse particular, refira-se que a primeira empresa seguradora a
fornecer apólices de seguro contra ataques a servidores, a J.S Wurzler
Underwriting Manager, cobra entre 5 a 15% a mais nas apólices dos clientes
cujos servidores sejam baseados em sistemas proprietários. Portanto, os
prémios de seguro mais baratos que esta seguradora oferece são para os
servidores baseados em Linux.

1.6.1.7 - Design a prova de vírus


O sistema operativo Linux, apresenta dois níveis bem demarcados de privilégio
de utilizador e se sistema. Isto, prende-se com o facto de um utilizador normal
ou uma aplicação desse mesmo tipo de utilizador não dispõem de privilégios
necessários para apagar ficheiros de sistemas ou ficheiros de outro utilizador.
Nesse caso, o administrador que também é conhecido como super utilizador ou
ainda simplesmente “root”, é único que realmente tem essas permissões.
Estas, são algumas das vantagens que o Linux apresenta e que devemos levar
em sempre em consideração. Seguidamente serão apresentadas algumas
desvantagens associadas à sua utilização.

1.6.2 – Desvantagens

Mesmo com todas as vantagens descritos nos pontos anterior, o Linux


apresenta também algumas desvantagens. Como acima referido, este sistema
operativo enfrenta alguns fantasmas, a maioria deles relacionados com a sua
curta duração de vida em comparação com os sistemas proprietários.

1.6.2.1 - Possibilidade de proveniência duvidosa


Quando se faz o uso de Linux ou qualquer outro software livre, existe a
possibilidade de certas aplicações poderem ser provenientes de círculos de
desenvolvimento pequenos que não tenha captado o interesse dos
programadores experientes, dando assim origem em aplicações concebidas e,
consequentemente, pouco fiáveis, que os gestores dos sistemas informáticos

17
devem certificar-se previamente da proveniência do software. Todavia, para
que um projecto deste tipo seja bem sucedida, é necessário que desperte o
interesse de uma vasta comunidade de programadores. Portanto, o Linux tem
melhorado bastante nesse aspecto, dando provas que leva os seus utilizadores
a não duvidarem da sua proveniência.
1.6.2.2 - Risco de fragmentação
Um outro aspecto que constitui um factor de risco para a comunidade do
software livre e Linux tem a ver com possibilidade de incompatibilidade de
versões. Dado que o Linux também se trata software livre e o seu código fonte
é sempre disponibilizado, existe essa possibilidade de surgir fragmentação de
projectos, o que acabaria por resultar em versões incompatíveis. Segundo
Lautert (2004),” o núcleo do sistema operativo Linux ainda não fragmentou “.
Isso, talvez devido à aceitação da estrutura de liderança do projecto, à
permanência no projecto dos mesmos programadores e à forma de
licenciamento GPL que elimina as motivações económicas pela fragmentação.

1.6.2.3 - Problemas de documentação


Esta é uma das outras grandes desvantagens apontadas ao Linux e ao
software livre em geral. Para muitos, este surge, regra geral de meios
altamente técnicos em que a documentação mínima é requerida. Tem em
consideração que este factor é tido como um inconveniente na adopção destes
tipos de software, por parte de pessoa e organizações que não possuem
grandes conhecimento técnicos, têm levado a cabo um grande esforço no
sentido de melhor documentar o software livre na sua generalidade. Contudo,
em alguns casos como é o do Linux, a realidade não é a falta de documento,
mas sim a superabundância da mesma, o que dificulta a sua procura em
termos de especificidade.

Existe alguns projectos que tem feito um esforço no sentido de proporcionar o


acesso centralizado à documentação deste tipo de software. Ainda que esses
projectos disponibilizam informações online, está de facto, constitui a forma
mais flexível e dinâmica de disponibilizar serviços desta natureza. Assim
sendo, a maior possibilidade de procura de informações através da mineração
de dados, algo que certamente um conjunto de documentos na sua forma física
não permite fazer com a mesma facilidade. Existe também dados físicos sobre
o Linux, havendo, portanto, editores que se especializam na oferta de
documentos referentes estes tipos de software. Neste particular, a empresa
Publishers O ́Reilly Associatesmerece um destaque especial por proporcionar
um impressionante número de manuais sobre o Linux e software livre.

1.6.2.4 - Problemas de segurança


Se para muitos o Linux apresenta um esquema de segurança muito forte,
alguns ainda não acreditam tanto nesse factor. O facto do seu código ser livre
leva muitos a acreditarem que isso, pode conduzir a que as suas falhas se
tornem mais aparentes, daí que alguns consultores de segurança de redes
informáticas, entre eles algumas empresas especializadas, se manifestem
contra o seu uso, advogando portanto, que a melhor política de segurança em
relação ao software é a segurança pelo seguro. Contrariamente a estes, outros
profissionais ligados à área defendem que a segurança de um sistema não
depende do segredo do seu código fonte. Aparentemente, existem muitas
18
vantagens relacionadas com um sistema de código fonte livre, uma vez que
este é constantemente aperfeiçoado através da exposição, revisão e análise do
mesmo e até de ataques contra ele penetrados pois, desta forma todas as
falhas detectadas, rapidamente são colmatadas, deixando a cada dia o sistema
mais seguro.

1.6.2.5 - Problemas de suporte técnico


Até a relativamente pouco tempo, as possibilidades para obtenção se suportem
técnico para o Linux e para toda a comunidade se software livre eram
escassos. Ou as organizações dispunham de pessoas versados no seu uso e
configuração, ou então a outra forma de obtenção desses recursos era através
da Internet e através de listas de correio electrónico. Ainda que essa última
forma parece ser algo ingénua, refira-se, no entanto, que é através dela que
várias pessoas e organizações têm recebidos sugestões rápidas e de
qualidade nesse domínio.

1.4.2 – Arquitectura geral

Figura 1 – Organização em camadas do Sistema Unix.

1.4.3 - Ambiente Gráfico

Sistema de janelas e aplicativos gráficos: GNOME, KDE, ICEWM, XFCE ...


• Múltiplos Desktops
Principais aplicativos
• Nautilus
• Navegador (Firefox, Galeon, Epiphany, Opera)
• OpenOffice
• GIMP
• Gaim, Skype, Amsn
• Gedit

19
Figura 2 – Arquitectura Linux
2. DISTRIBUIÇÕES

Ubuntu é uma distribuição Linux, que vale a pena estuda-lo. O que é uma
distribuição? O que é uma distribuição Linux

2.1 – Distribuição Linux

Distribuição e um sistema operacional Unix-like incluindo o kernel Linux e


outros softwares de aplicação, formando um conjunto. Distribuições (ou
“distros”) mantidas por organizações comerciais, como a Red Hat, Ubuntu,
SUSE e Mandriva, bem como projectos comunitários como Debian e Gentoo
montam e testam seus conjuntos de software antes de disponibiliza-los ao
público. Como o Linux e a maior parte dos softwares incluídos em distribuições
são livres, qualquer organização ou individuo suficientemente motivado podem
criar e disponibilizar (comercialmente ou não) a sua própria distribuição. Isso
faz com que hoje haja registro de mais de 300 distribuições ativamente
mantidas, embora menos de 20 delas sejam largamente conhecidas.

Figura 4 – Exemplo de distribuição

Algumas distribuições populares oferecem (como opção ou como seu único


modo de operação) a possibilidade de execução em modo Live CD, que
permite o uso integral do Linux sem instalação ou alteração dos dados
armazenados no disco rígido do computador: o sistema roda integralmente a
20
partir de um CD-ROM desde o momento em que o computador e ligado.
Exemplos de Live CDs bastante conhecidos são o alemão Knoppix e o
brasileiro Kurumin.

2.1.1 – Escolha de distribuição

O Linux evolui muito rapidamente, e os principais distribuidores tendem a


lançar versões novas a cada 3 ou 4 meses, ou pelo menos semestralmente.
Como em geral você pode obter o software gratuitamente ou a custo
baixíssimo, não faz sentido optar pela versão antiga – espere mais alguns dias,
e instale a mais recente.

Outro erro a ser evitado e optar por uma mini distribuição, “para ver como é
esse tal Linux“. De fato, existem mini distribuições de boa qualidade, que
podem ser instaladas na mesma partição que o Windows, e cujo download
pode ser bem menor do que uma distribuição completa. Mas em geral o que
você pode fazer com ela e limitado, e o suporte que você encontra na
comunidade usuária e mais restrito, porque são raros os usuários experientes
(portanto aptos a responder perguntas) que utilizam esse tipo de sistema.

Segue uma lista parcial de distribuições de Linux para facilitar sua escolha:
• Conectiva
• Kurumin
• Debian BR CDD
• Debian
• Fedora
• Gentoo
• Knoppix
• Mandriva
• Red Hat
• Slackware
• SUSE
• Ubuntu
• Yellow Dog Linux (para Mac)

Não é possível responder de forma ampla qual é a melhor distribuição de Linux


a melhor sempre será a que atender mais perfeitamente as suas necessidades.
A resposta depende do que você pretende fazer com o sistema, da sua
capacidade e interesse de administrar o sistema, e até mesmo de sua atitude
em relação a algumas questões políticas e filosóficas. A maior parte das
distribuições de Linux consegue disponibilizar o mesmo conjunto de serviços,
embora as vezes de maneiras bem diferentes. Algumas já vem com todos os
aplicativos e serviços incluídos nos CDs de instalação, outras exigem
downloads e instalações adicionais.

2.2 – Ubuntu

Ubuntu é uma distribuição Linux sul-africana e seu significado é “humanidade


para os outros” ou “sou o que sou pelo que nós somos”. Baseada na
distribuição Debian, Inclui a interface Gnome como padrão; KDE e XFCE são
21
utilizadas nas distribuições derivadas Kubuntu e Xubuntu. Hoje o Ubuntu é
amplamente utilizado por usuários comuns e pequenas e médias empresas.
Sua usabilidade tem melhorado cada vez mais, além disso, Ubuntu é gratuito e
qualquer problema de segurança é rapidamente resolvido pela comunidade de
desenvolvedores, o que o torna um sistema seguro e confiável. Uma gama
enorme de softwares, também livres, se encontram disponíveis para estes
usuários e contemplam uma boa parte de suas necessidades, porém, ainda há
muito o que evoluir.

2.2.1 - Surgimento do Ubuntu

Ubuntu surgiu no fim do ano de 2004 fruto da colaboração de uma comunidade


desenvolvedora, Canonical Ltda. Ubuntu é um sistema operacional de código
aberto e seu principal objectivo é que qualquer pessoa (usuário) possa utilizá-lo
sem dificuldades, independentemente de nacionalidade, nível de conhecimento
ou limitações físicas. Ubuntu não foi a primeira distribuição Linux a ser lançada,
mas foi a primeira que trouxe facilidades para o usuário comum, como
instalação automática de programas, pacotes de escritório (programas do tipo
Word, Excel e PowerPoint), além de outras facilidades de configuração do
sistema.

2.3 - Uso do Ubuntu

O uso do Ubuntu está cada vez mais difundido entre usuários comuns e
corporativos. Usuários comuns são aqueles que utilizam o Ubuntu como
sistema operacional no dia-a-dia, em casa, enquanto que usuários corporativos
são aqueles que utilizam o Ubuntu e suas ferramentas para desenvolver o
trabalho da empresa. É importante dizer que o uso do Ubuntu, porém não só
dele, por empresas tem um papel muito importante quando se fala servidores.
A maioria dos servidores de empresas são baseados em sistemas Linux, pois
são mais seguros e robustos para essa aplicação. Usuários comuns têm para
seu uso, programas de escritório, de visualização de mídia (som, foto e vídeo),
jogos e tudo que um usuário comum necessite de um computador. Enquanto
que usuários corporativos necessitam das mesmas ferramentas que o usuário
comum utiliza (programas de escritório, programas de gerenciamento de
sistemas 2 e etc.) porém, que execute com segurança e confiabilidade. E este
é um dos pontos fortes dos sistemas Linux no geral e do Ubuntu em particular.

2.3.1 - Organização dos arquivos

No Linux os sistemas de arquivos, são diferentes dos utilizados no Windows.


Enquanto nas versões Windows, temos os sistemas de arquivos FAT e NTFS,
no Linux temos principalmente os sistemas de arquivos do tipo EXT2, EXT3,
EXT4, swap, entre outros. A forma de organização dos arquivos e directórios
também ocorre de maneira diferente no Windows e Linux. Nos sistemas
operacionais Linux a estrutura de directórios e arquivos pode ser visto como
uma árvore, onde a raiz é o directório barra (/), as ramificações são os
subdirectórios (como os directórios /home/etc /root, etc.) e as folhas são os
arquivos. Na Figura 3 é possível ter uma visão geral desta estrutura.

22
Figura 3 - Estrutura de directórios padrão do sistema operacional Linux

Directório raiz (/) O directório raiz é equivalente a unidade C:\ do


Windows. Ele contém todos os demais subdirectórios que já vêm em
uma instalação padrão do sistema operacional, assim como os demais
que serão criados pelos usuários do sistema.
Directório dos executáveis do sistema (/bin) No directório /bin temos
os arquivos binários (executáveis) básicos do sistema operacional. Eles
podem ser utilizados através do terminal de comandos (geralmente o
bash) para acionar diversas funcionalidades do sistema. Exemplos de
comandos (arquivos executáveis) presentes neste directório: cd, ls, cat,
etc
Directório de carregamento do sistema (/boot) O directório /boot
armazena o núcleo do sistema Linux, isto é, o kernel e alguns arquivos

23
utilizados para o boot do sistema. Entre os gerenciadores de boot mais
conhecidos estão o Lilo e o Grub.
Directório dos dispositivos do sistema (/dev) No directório /dev estão
os dispositivos presentes no computador, representados através de
subdirectórios ou arquivos que apontam para os mesmos (como por
exemplo /dev/sda – representando o disco rígido, entre outros). Para
poder utilizar estes dispositivos de forma efetiva faz-se necessário
montar os mesmos, através de comandos específicos.
Directório de configurações do sistema (/etc) Neste directório (/etc)
são armazenados os arquivos de configuração do sistema. Estes
arquivos em sua grande maioria recebem a extensão “.conf”. De modo
geral os sistemas Linux e os programas que são instalados nele,
costumam criar os arquivos de configuração com o mesmo nome dos
serviços o que facilita a identificação dos mesmos.
Directório dos usuários (/home) O directório /home é destinado aos
usuários e seus perfis. Cada vez que um novo usuário é adicionado no
sistema operacional Linux uma pasta com seu nome de login é
adicionada como subdirectório no directório /home. Assim seus arquivos
pessoais são localizados nesta pasta.
Directório de pontos de montagem (/media) O directório /media, é o
ponto de montagem para os diversos dispositivos que temos presentes
em um computador, como discos rígidos, drives de CD e DVD, disco
removíveis (pen drives e HDs externos), entre outros. Uma vez
montados estes dispositivos, podemos acessar o seu conteúdo
normalmente, através do directório que contém os respectivos dados.
Directório de dispositivos opcionais (/mnt) O directório /mnt é uma
alternativa opcional ao directório /media. Caso preci-samos montar um
dispositivo que não tenha sido montado automaticamente em /media,
podemos utilizar uma combinação do comando “mount” e do directório
“/mnt” para montar determinado dispositivo e ter acesso a seu conteúdo.
Directório de recursos do sistema (/usr) Neste directório /usr ficam
armazenados grande parte dos aplicativos instalados no sistema, além
dos principais executáveis do sistema operacional, biblioteca dos
principais programas, entre eles os aplicativos gráficos.
Directório dos binários dos aplicativos (/usr/bin) O directório /usr/bin
é responsável por armazenar arquivos binários (executáveis) da maioria
dos aplicativos instalados no sistema operacional. Podemos verificar
onde um arquivo executável se encontra através do comando “which”,
via terminal de comandos do Linux.
Directório de biblioteca dos aplicativos (/usr/lib) Este directório
/usr/lib armazena as bibliotecas utilizadas pelos programas. Sua função
é semelhante ao directório C:\Windows\System32 do Windows Seven.
As extensões “.a” são ditas estáticas e pertencem a um programa
específico, enquanto as terminadas em “.so.versão” podem ser
utilizadas por diversos programas e são classificadas como
compartilhadas.
Directório temporário (/tmp) O directório /tmp armazena conteúdo
temporário de aplicativos, navegadores, instaladores, entre outros. Este
conteúdo fica disponível a todo o sistema e seus usuários e é apagado
cada vez que o computador é reiniciado ou desligado.
24
Directório do sistema de arquivos e de log (/var) O directório de logs
do sistema /var armazena informações gerais sobre determinado
comportamento de um programa. Estas informações ficam armazenadas
de modo que podemos saber em detalhes as operações realizadas por
um programa, bem como, informações gerais sobre o mesmo. No caso
de administrar e analisar determinado serviço, estes arquivos são de
extrema importância.

2.4 - Ferramentas de administração do sistema

O utilitário “System Settings” (configurações do sistema) do sistema


operacional Linux Ubuntu permitem ter acesso aos principais recursos de
configuração pessoal, de hardware e do sistema. Através dele podemos
personalizar nosso computador aplicando as configurações que necessitamos
em determinado momento.

Figura 4 - Acesso as configurações do sistema – Ubuntu

2. 4.1 - Principais comandos de administração do sistema operacional

Abordaremos de forma prática, os principais comandos Linux que podemos


utilizar para administrar o sistema operacional e realizar as rotinas que
necessitamos no dia a dia. Os comandos que serão apresentados abaixo são
baseados e testados nas distribuições Linux Ubuntu:

2.4.1.1 - Shell de usuário comum e root


A primeira noção de terminal de comandos que temos que aprender é quanto
ao usuário que está logado (com a sessão activa) actualmente no terminal de

25
comandos. Obtemos esta informação ao analisarmos as seguintes linhas
abaixo:
[steve@ubuntu~] $
[root@ubuntu ~] #

A linha 1 (“[steve@ubuntu~] $”) indica que o usuário actual é um usuário


comum, ou seja, com privilégios limitados no sistema, devido ao caractere “$”
estar presente em sua linha de comando.

A linha 2 (“[root@ubuntu ~] #”) indica que o usuário em questão é do tipo root


(semelhante a administrador), devido ao caractere “#” e que o mesmo tem
totais controles do sistema (usuário com o maior nível de privilégios do sistema
operacional).

2.4.1.2 - Comandos de sessão

Os comandos de sessão permitem ao usuário iniciar/terminar uma sessão ou


sair do shell (terminal de comandos). Observe os exemplos abaixo:

$ su
Password: (informe a senha do usuário root)

O comando “su” permite mudar o usuário logado, para o usuário administrador


(root), caso necessitamos executar algum comando como usuário privilegiado
(neste caso a senha do usuário root é necessária).

Para encerrar uma sessão de um determinado usuário conectado, digitamos:


$ logout

Para sairmos (encerrarmos) o shell de comandos devemos digitar comando:


$ exit

Veja abaixo uma lista de comandos úteis para reiniciar ou desligar o


computador via terminal de comandos:
$ reboot (reinicia o computador)
$ shutdown -r now (reinicia o computador imediatamente)
$ shutdown -h 5(desliga o computador após 5 minutos)
$ halt (desliga o computador)
$ Power off (desliga o computador)
$ init 0(desliga o computador)

Lembrando que os comandos acima devem ser digitados pelo usuário root.

2.4.1.3 - Comandos de navegação

Os comandos de navegação permitem deslocar-se pelos directórios,


subdirectórios e arquivos existentes no sistema operacional, bem como obter
informações:
$ pwd (exibe o directório corrente)

26
$ cd (muda de directório corrente)
$ ls (lista arquivos e directórios)

2.4.1.4 - Localização de arquivos

Muitas vezes queremos buscar um arquivo que em algum momento criamos,


utilizamos, mas não sabemos onde o mesmo se encontra armazenado no
nosso disco rígido. Para resolver este problema podemos utilizar um comando
específico (ou a combinação deste com outras opções) via terminal de
comandos do Linux:

$ find / -name teste1. txt


O comando em questão (find) procurará em todo o disco rígido (/) pelo nome
do arquivo (opção -name) qualquer arquivo que tiver o nome “teste1.txt”. Desta
forma é possível localizar sua exata localização.

2.4.1.5 - Manipulando arquivos e directórios

Para que possamos manipular arquivos e directórios de uma forma rápida e


objetiva, necessitamos saber os comandos que mais são utilizados para este
fim.

$ mkdir pasta (cria um directório chamado de “pasta”)


$ rm -rf pasta/* (apaga somente o conteúdo do directório “pasta” mantendo a
mesma vazia)
$ rm -rf pasta (apaga todo o directório “pasta”, subdirectórios e arquivos
existentes)
$ cp –rf pasta /tmp (copia o conteúdo do directório “pasta” para dentro do
directório “/tmp”)
$ mv aula1.txt pasta (move o arquivo “aula1.txt” para dentro do directório
“pasta”)
$ mv aula3.txt teste.txt (renomeia o arquivo aula3.txt para teste.txt)

A prática dos comandos acima é fundamental para que tenhamos um


conhecimento sobre a forma de manipular tais comandos, suas opções, etc.

2.4.1.6 - Informações do sistema

Às vezes necessitamos saber informações dos sistemas, seja para instalar um


aplicativo, fazer uma atualização, entre outros. Existem comandos simples que
uma vez executados, podem trazer as informações que estamos buscando.
Vejamos, alguns deles:
$ date (exibe data e hora atual)
$ cal (exibe o calendário atual)
$ hostname (exibe o nome do computador)
$ uptime (exibe a quanto tempo o sistema operacional está em funcionamento,
desde a última reinicialização)
$ uname (exibe informações sobre o kernel, processador, plataforma de
hardware e sistema operacional).

27
Conclusão

O rápido crescimento do sistema operativo de código fonte livre ou Open


Source Software (OSS), quase que obriga também organizações e instituições
a serem levados por essa corrente.

Esses sistemas são aqueles que têm distribuição gratuita. O mais famoso
dentre esses sistemas é com certeza o Linux. Basta que o usuário instale esse
sistema livre na máquina e assim poderá usá-la sempre problemas. Muitos
acreditam que os computadores já vêm da loja com o Windows, mas na
verdade quando você compra a sua máquina pode escolher se compra ou não
o sistema operacional junto. Dessa forma você paga pelo sistema operacional
também na hora da compra. Com o sistema livre você não terá esse gasto,
mas preciso ter bem claro que ele não será exatamente como um sistema
pago. Além disso, é um pouco complicado conseguir compatibilidade entre os
programas de sistemas livres e Windows, por exemplo. Essa falta de
compatibilidade é proposital em grande parte dos casos para evitar que os
usuários migrem para os sistemas livres. Dentre vários sistemas livres, o
Ubuntu da Linux, tem sido um dos mais usados, através das vantagens em
geral que ele engloba.

28
Bibliografia

Cardoso, A. (2000). O paradigma do software livre – Linux Manual, nº1,


Julho/Agosto

STALLMAN, Richard. Linux e o sistema GNU. Disponfvel em


<http://www.geocities.com/College Park/U nion/3590/linuxgnu .html>. Acesso
em Abril de 2021.

Lautert , F (2004) – Open Source: História, fundamentos, presente e futuro


disponível em:http://www.jelb.org.br/~filipe/artigos/openSource.pdf <consultada
em Abril de 2021>

CAMPOS, Augusto. O que é uma distribuição Linux. BR-Linux. Florianópolis,


março de2006. Disponível em <http://br-linux.org/faq-distribuicao>. Consultado
em [2021].

Bach, M. J. The Design of the Unix Operating System, Prentice-Hall, 1986.

Antunes, Bruno E. M. (2004). O futuro de Linux – disponível em:


http://deinix.dei.uc.pt/zine/2/02-FuturoDoLinux.pdf - <consultada em Abril de
2021>

CAMPOS, Augusto. O que é Linux. BR-Linux. Florianópolis, março de


2006.Disponível em <http://br-linux.org/linux/faq-linux>. Consultado em [data da
suaconsulta].

Basic, Nicolas M. (2003). O software livre como alternativa ao aprisionamento


tecnológico imposto pelo software proprietário – disponível em: http://www.rau-
tu.unicamp.br/nou-rau/softwarelivre/document/?view=107 - <consultada em
Março de 2021>

HAUBEN, Ronda. Unix History. Disponivel em


<http://www.unixsup.com/unixlinux/historiaunixin.html>. Acesso em Abril de
2021.

Branco, Rodrigo R. (2000). Apostila Treinamento Avançado Em Linux –


disponível em: http://www.firewalls.com.br/files/apostilaLinux.doc - <consultada
em Abril de 2021>

STALLMAN, Richard. Projeto Gnu. CIPSGA -Camite de Incentivo a Produçao


do Software Gratuito e Alternativo. Disponfvel em: <http://www.cipsga.org.br>.
Acesso em Março de 2021.

29
Lautert , F (2004) – Open Source: História, fundamentos, presente e futuro –
disponível em:http://www.jelb.org.br/~filipe/artigos/openSource.pdf -
<consultada em Abril de 2021>

MENDONÇA, Tales Araujo; MARTINI, Luciano Andress. GNU Linux – Aprenda


a operar o sistema na prática. Santa Cruz do Rio Pardo, SP: Viena, 2009.

Publicado por brain em Sáb, 2006-03-25 19:35. :: Documentação [http://br-


linux.org/linux/taxonomy/term/13]

Ubuntu-br. Brasil, 2010. Disponível em <http://ubuntu-br.org/ubuntu>. Acesso


em: Março 2021.

30
ANÉXOS

31

Você também pode gostar