Página anterior Voltar ao início do trabalhoPágina seguinte 

 

Qual a diferença entre Linux e Unix?

Linus Torvalds, quando criou o Linux, criou ele nos padrões "POSIX", que é o mesmo padrão que os UNIX usam. É por esse mesmo uso do padrão POSIX que o Linux é parecido com o UNIX. Além do mais, existem vários tipos de UNIX, que têm seu código-fonte fechado, e pago. Uma resposta mais completa para esta pergunta foi feita pelo Fernando M. Roxo:

Limpo, claro e definitivo: O Linux não é UNIX. O Linux é um UNIX. O UNIX foi um sistema criado e registrado pela Unix Lab. Todos os sistemas baseados naqueles códigos são chamados de uma forma geral de UNIX.

Linux foi escrito desde o inicio pelo Linus Torvalds e não contém nenhuma linha de código do UNIX. Mas o Linux foi escrito para ser conforme o padrão POSIX, que deve ser o padrão da API (Application Programming Inteface) Unix, que em última análise pode ser resumido (forçando um pouco a barra) como sendo as chamadas do sistema. Por isto se diz que o Linux é um Unix (não UNIX). Tem uma diferença sutil aí.

Por causa da API POSIX, do conjunto de utilitários (FSF/GNU em sua maioria) e do uso do X-Window (XFree) o Linux é tão parecido com o UNIX que existem empresas que usam o Linux para desenvolver para UNIX que não seja o dela mesma (por exemplo a IBM).

As Distribuições

Voltando mais um pouco ao escopo do que é Linux, podemos ressaltar que o Linux é o sistema operacional, ou seja, o kernel (núcleo). Mas o que é um sistema operacional sem programas? Para que haja um uso dos recursos que o sistema operacional pode oferecer, os programadores vão criando aplicações e utilitários que vão dar o gostinho ao usuário.

O papel das distribuições é isso: empacotar o Linux. O que as distribuições fazem é reunir os programas disponíveis com o kernel, e deixar o sistema pronto para o uso. Sem as distribuições não haveria a popularização do Linux, pois seria um grande trabalho o usuário instalar o sistema puro, e depois compilar os programas deixando-os compatíveis.

Existem inúmeras distribuições existentes por esse mundo afora. Mas há sempre as distribuições mais conhecidas, que são as mais atuantes no mercado. Elas são: Slackware, Conectiva Linux, Debian, Red Hat Linux, SuSE, Mandrake. Cada um tem suas características bem marcantes. E se fôssemos discutir aqui quais as vantagens de cada uma em relação a outra, não conseguiríamos. A escolha da distribuição é uma escolha a gosto.

Meu micro suporta Linux?

Basicamente, para você usar o Linux, você precisará de no mínimo um 386. Isso mesmo, o Linux roda em 386! É claro que para um uso amplo de todos os programas e o sistema X-Window (gráfico), você terá de ser mais exigente com seu hardware... Mas todos os computadores compatíveis com a arquitetura Intel são suportados pelo Linux (e também outros tipos de arquiteturas como por exemplo o Alpha).

Para a memória RAM, você irá precisar de no mínimo 2MB de RAM. É recomendável ter 8Mb acima para rodar o servidor X. E seguindo a mesma filosofia do que falei antes, sempre é bom você ter mais para usar tudo rápido e sem perder a paciência :) Espaço em disco? Depende muito. As distribuições atuais disponibilizam até 6 CDs recheados de programas, que podem simplesmente acabar com o espaço do seu disco em alguns minutos! Uma instalação básica do Linux, apenas com o básico mesmo, dá 10MB. Eu acredito que 1GB seja suficiente para colocar todo tipo de coisa que você vai usar (e até coisa que você nem vai usar).

Só como curiosidade, aqui em casa, eu já rodei meu Linux nos seguintes computadores: Primeiro num Pentium 100, com 24MB de RAM, e 1GB de espaço em disco. Rodei também num 386 (nem me pergunte quantos Mhz é porque eu não faço a mínima idéia :) com 8MB de memória RAM, num HD de 256MB. E por último em um Celeron 300 com 32MB de RAM e 1GB de espaço em disco. Atualmente eu estou usando em um K6-II 550, com 64MB de RAM, e 10GB de espaço no HD.

Outra dúvida muito comum é: O Linux roda em laptops? Sim! Roda muito bem e suporta bem os dispositivos PCMCIA... Não tem absolutamente nada com o que se preocupar.

Por que eu devo confiar no Linux?

Pergunta muito fácil de se responder, inclusive eu vou responder bem grosseiramente: Ele é bom! :) O Linux tem ganhado credibilidade cada vez mais por ser um sistema seguro, estável, e confiável. É muito difícil (senào quase impossível) que o Linux em si dê um crash. Só para ter uma idéia, nestes 4 anos em que uso Linux, só obtive no máximo 3 travamentos! Por que estes travamentos? Bem, um foi na época em que exploraram uma falha no kernel e criaram o teardrop (um exploit que travou as coisas aqui), e os outros dois foi por causa de um problema na placa mãe :) Quer dizer, já aconteceu algumas outras vezes de minha interface travar, mas eu dei um telnet e um ping na máquina através de outra na rede, e ela respondia. Geralmente isso acontece comigo no Quake, quando eu mando conectar em algum nome de host que não existe, o SVGAlib (biblioteca que o Quake usa) simplesmente para de funcionar e você não tem mais como teclar algo ou mudar de tela... Mas tive a certeza que não foi o sistema que travou e sim o SVGAlib que travou meu teclado e monitor :)

Empresas cada vez mais estão apostando no Linux. A IBM é uma das empresas que mais está investindo pesado no Linux, sendo com ajuda financeira, parcerias e desenvolvimento de programas. A Intel é outra empresa que também está ajudando muito, investindo bastante nos desenvolvedores do sistema. Além disso, várias outras pequenas ou médias empresas estão cada vez mais adotando o Linux como sistema padrão pelo simples fato de que ele funciona melhor e mais estávelmente que outros sistemas como o Windows. Pode ser que você ache que isto tudo conversa fiada, mas o Linux é bem estável mesmo! Já vi sistemas Linux ligados por vários meses sem nem sequer dar um reboot na máquina. Inclusive aqui em casa eu consegui deixar o meu Linux ligado por 23 dias, pena que faltou luz e o computador desligou (buá não tenho nobreak :~().

Basicamente é isso. Você tem de confiar no Linux porque ele é bom e tá acabado. E só tende a melhorar, antigamente não havia nem uma interface gráfica muito boa e usável para quem está iniciando na computação. Hoje temos o GNOME e KDE que são duas ótimas interfaces gráficas para quem está engatinhando. São coisas que fazem o Linux valer a pena!

1.7. O que é GPL?

Se você já ouviu falar bem de Linux, com certeza já deve ter ouvido falar nesta sigla. GPL significa General Public License (ou traduzindo grosseiramente: Licença Pública Geral), e foi criada pela Free Software Foundation. A grande maioria dos programas que vêm nas distribuições Linux são de código-fonte aberto, e usam esta licença. Uma licença serve para proteger o seu código quando ele for lançado para o público.

A licença GPL permite que o autor do código distribua livremente o seu código... Outras pessoas podem simplesmente pegar este código, modificar à suas próprias necessidades e usar à vontade. O único requerimento é que a pessoa que modificou deve lançar o código modificado em GPL e manter também o seu código aberto (e não apenas distribuir os binários). Isso tudo cria uma comunidade de desenvolvedores onde toda a ajuda é mútua, e você pode pegar várias idéias de outros desenvolvedores simplesmente olhando o código deles. Além disso, você pode aproveitar e poder ajudar o desenvolvedor, criando correções e mandando-as para o autor.

É com essa licença que o kernel do Linux é liberado. É assim que o kernel tem seu desenvolvimento feito por várias e várias pessoas em todo o mundo. Estas pessoas pegam livremente o código-fonte do kernel, analizam-no e procuram por erros. Se encontrarem erros, escrevem correções e mandam para o Linus Torvalds. E não só correções, mas desenvolvedores também fazem novas implementações ao kernel e mandam para o Linus Torvalds organizar tudo. E é assim que temos hoje em dia este grande e bem feito e organizado kernel do Linux! É assim que a filosofia GPL funciona, e funciona muito bem para criar uma comunidade de desenvolvedores justa! Eu pessoalmente apóio e muito a licença GPL, que para mim é simplesmente perfeita. Vivas à Free Software Foundation por criar esta licença! E vivas para os desenvolvedores que a utilizam para seus códigos! :)

Você pode obter a licença GPL nos seguintes endereços:

Outras licenças que é interessante ver:

Primeiros contatos com o Linux

O início

A inicialização do Linux é muito importante... Primeiro porque você está iniciando o melhor sistema existente, segundo porque as mensagens que aparecem durante o boot serão muito úteis na hora de executar algumas tarefas no Linux: tais como montar dispositivos (partições, cd-roms), ver o que está sendo iniciado automaticamente, o que está sendo reconhecido pelo kernel, e outras coisas mais que com certeza veremos mais à frente.

É indispensável que você observe as mensagens de boot atentamente... Mas tem um probleminha, se tudo passa muito rápido, ou você quer consultar as mensagens de boot depois (e não quer ter de reiniciar a máquina pra ver...), existe um comando que mostra as mensagens de boot do kernel. Este comando é o dmesg, ele vai mostrar o processo de boot do kernel todo sem problemas.

Logo após todas as mensagens de boot, você será presenteado com uma tela de login do usuário. Como veremos mais adiante, o Linux é multi-usuário, ou seja, suporta vários usuários. Dependendo da configuração usada na instalação, esta tela de login pode ser em modo gráfico ou texto. É aqui que começa o nosso uso no sistema!

Na instalação você deve ter escolhido uma senha para o root, e deve também ter criado um usuário normal (se não criou, é recomendável que você criasse, mas isso podemos fazer depois). Logue-se como root ou como usuário normal usando o nome do usuário e a senha escolhida. Você ou cairá na interface gráfica, ou na texto (dependendo da distribuição)... Mas antes de usar vamos entender mais conceitos? É o que trataremos nas seções à seguir.

Multi-tarefa e multi-usuário

O Linux é multi-tarefa e multi-usuário, mas o que isso quer dizer? Multi-tarefa é a capacidade que o sistema tem de executar várias tarefas de uma só vez, dividindo assim o uso da memória. Enquanto multi-usuário é a capacidade do sistema lhe dar com várias pessoas ou usuários, cada um com suas preferências, cada um com seus arquivos, suas permissões e assim por diante.

Como um exemplo de multi-tarefa, podemos citar que você pode consultar um arquivo texto que está no diretório X, enquanto acessa o disquete, e o CD-ROM, tudo ao mesmo tempo. Ou seja, você faz as coisas, mas não fica preso somente a elas, pode executar outras tarefas enquanto uma já estiver sendo executada. Todos os sistemas atuais são multi-tarefa, então este conceito não deve ser muito novo para você. Um exemplo de sistema que não é multi-tarefa é o DOS (ugh).

É muito importante destacar o multi-usuário do Linux. Tudo vai ser dividido por usuários, e junto com essas divisões haverá também as restrições. Há um usuário principal no Linux, chamado root. Este usuário pode acessar, controlar, e fazer tudo no sistema. Enquanto os usuários normais só poderão acessar seus documentos, ou os que o sistema (root) permitir. Uma ética importante para o Linux é nunca usar o usuário root... Então é recomendável que você crie um usuário primeiro e use ele, só utilize o root para tarefas administrativas! Por que isso? O usuário root tem o poder em tudo, inclusive de fazer muita besteira no sistema... Você não quer fazer besteira, ou quer? :)

A interface texto (Console)

A interface texto do Linux é indispensável para o uso do sistema. É nesta interface que você vai encontrar uma quantidade enorme de utilitários e comandos que irão lhe ajudar na administração do dia a dia. Se a tela de login for no modo texto, você se logará e logo após será presenteado com o interpretador de comando, onde você poderá mexer realmente no sistema. A interface texto não é tão amigável como a gráfica, mas certamente tem suas utilidades, e é recomendado que todos os usuários não fiquem só presos a interface gráfica, e que conheçam bem o modo texto. Outro nome que podemos dar à interface texto é console.

Então vamos ao que interessa, o modo texto é dividido inicialmente em 6 telas, em cada tela poderá se logar um usuário. Experimente apertar a combinação de teclas ALT+F1, ALT+F2, ..., ALT+F6. Isto o levará para os consoles 1, 2, 3, 4, 5 e 6. A partir do 7, o Linux reserva especialmente para as interfaces gráficas funcionarem. Como o Linux é um sistema multi-tarefa e multi-usuário, você pode se logar em todos ao mesmo tempo, com quaisquer usuários. Você pode por exemplo se logar como root no console 1 para qualquer emergência, e ficar usando um usuário normal no console 2.

Lembre-se sempre que a interface texto é o poder do Linux! Você pode estar se perguntando como pode conviver com o ambiente texto, mas eu posso te garantir que você convive muito bem. Existem vários programas para o modo texto que você provavelmente vai querer usar... Você vai poder usar IRC (BitchX), WWW (lynx ou links), ICQ (licq ou micq), visualizar imagens (zgv), jogar joguinhos (quake, overkill, dopewars), editar arquivos (vi, pico ou joe), e um monte de coisas mais. A interface texto do Linux, ao contrário da do DOS, é bem poderosa :) Vá se acostumando com a idéia de querer usar ela.

A interface gráfica (X-Window)

A interface gráfica vem crescendo cada vez mais no Linux. O que permite que o Linux tenha estes recursos gráficos todos é o servidor X (X-Window). Em todas as distribuições Linux é incluído o Xfree86, um servidor X totalmente gratuito para Linux/Unix. Mas o servidor X é apenas quem vai fornecer o recurso de gerar a interface gráfica. Para que haja um desktop, é necessário também a existência de um gerenciador de janelas (ou Window Managers) que são programas que usam a biblioteca do X-Window para gerar as aplicações, as janelas, a aparência do modo gráfico no Linux.

Por exemplo, o WindowMaker é um gerenciador de janelas, ele usa a biblioteca do X-Window para gerar suas janelas e seus programas, como o dock. Sem um gerenciador de janelas, é inútil se usar um servidor X, pois ele rodará, mas o usuário não poderá fazer nada nele. Quer ver? Experimente executar o comando X. Irá se abrir uma interface gráfica, com o mouse, mas o usuário não vai ter controle nenhum. Para finalizar esta seção aperte CTRL+ALT+BACKSPACE (combinação de teclas que encerra forçadamente o servidor X).

Iremos falar muito das interfaces gráficas mais adiante, por enquanto ficaremos aprendendo como mexer no console, que é a parte mais emocionante e a que mais se aprende.

Estrutura de diretórios no Linux

A raiz do Linux fica no diretório "/", e dentro deste diretório existem vários outros, cada um significando uma coisa. Vamos aqui aprender o significado de cada um para sabermos onde usar as coisas, e onde colocar os arquivos adequadamente e organizadamente. A estrutura de diretórios no Linux é basicamente dividida assim:

Diretório

Significado

/bin

Arquivos executáveis que são usados pelo sistema freqüentemente. Aqui encontramos por exemplo os interpretadores de comandos (bash, ash, etc), o df, chmod, date, kill, dmesg, pwd, ls, e muito mais. São os comandos essenciais :)

/boot

Neste diretório ficam os arquivos de boot, como os mapas de boot e as imagens do kernel.

/dev

Este é um diretório que carrega consigo todos os arquivos-dispositivos.

/etc

Arquivos de configuração do Linux. Este é o diretório que carrega todas as configurações dos principais (senão todos) os programas do Linux. Ele contém por exemplo os arquivos de usuários e senhas, arquivos de inicialização, configurações de rede, e mais uma bolada de configuração pra deixar qualquer um doido.

/home

Diretório dos usuários. Cada usuário tem um diretório dentro deste diretório :)

/lib

Algumas bibliotecas essenciais para o funcionamento do Linux, e também os módulos do kernel.

/proc

Este é um diretório especial, ele contém informações que o kernel gera.

/root

É um diretório HOME. Só que aqui é o do usuário administrador (root).

/sbin

Executáveis poderosos, que só podem ser executados pelo root. Aqui se encontram programas para checkar e criar sistemas de arquivos, optimizar o uso do HD, configurar dispositivos, gerenciar módulos do kernel, etc.

/tmp

Diretório temporário. Neste diretório, vários utlitários criam arquivos que só serão usados por um tempinho, e depois descartados. Não há nenhuma informação importante aqui, pois pode ser acessado por qualquer usuário.

/usr

Um dos maiores diretórios, este contém as bibliotecas e arquivos gerais dos vários programas instalados no sistema.

/var

Informações variáveis que estão sempre em constante mudança, como arquivos de logs, travamentos, informações, etc.

Cada diretório tem seus subdiretórios com muita coisa para explorar. Você pode ir já dando uma olhada para ver como tudo é organizado.

O interpretador de comandos

Pronto. Você acaba de se logar no sistema, o que fazer agora? A primeira coisa que você tem de saber é o com o que você está usando: um interpretador de comandos. Você estará num prompt parecido com alguns destes:

songoku:/home/hugo$

[hugo@songoku hugo]$

etc

Você está dentro de um interepretador de comandos, que no caso é o bash. O interpretador de comandos é um mediador entre o usuário e a máquina. Você digita algum comando, e o interpretador lê o que você digitou e executa a tarefa correspondente. Sem um interpretador de comandos, não haveria possibilidade de o usuário interagir com o sistema. Os interepretadores mais comuns são: sh, bash, ash, csh e tcsh. Na maioria dos casos, você estará usando o bash (que na minha opinião é realmente o melhor!).

Só uma nota... Nos prompts do Linux, quando se acaba com o símbolo "$", isto quer dizer que você está logado com um usuário normal. Se você estiver logado com o root, ao invés do símbolo "$", no final do prompt existirá o símbolo "#".

Você pode ir testando seu interpretador de comandos executando comandos simples, ou fazendo scripts shell, ou o que seja. Caso você queira usar outro interpretador de comandos, você pode mudar a entrada no arquivo /etc/passwd para o usuário, ou pode simplesmente executar a shell dentro de uma shell. Por exemplo, se você digitar csh, você entrará nesta shell. Quando quiser sair da shell, utilize o comando exit (ou logout, ou também apertando CTRL+D). Experimente testando todas os interpretadores que citamos aqui.

Documentação

As páginas de manual

O que você faz quando está confuso com algum comando? Não sabe como ele funciona, quais são seus parâmetros, o que ele faz, e essas coisas... No Linux há uma maneira bem fácil de entender melhor e detalhadamente os comandos. Este método são as páginas de manual (manpages). Cada comando tem sua página de manual, e dentro desta há a descrição do comando, para que ele serve, quais são seus autores, quais são seus parâmetros, bugs conhecidos, arquivos e outros comandos relacionados, etc. Para acessar uma página de manual, você utiliza o seguinte comando:

$ man comando

Por exemplo, se você está com dúvida sobre o comando ls, simplesmente digite man ls, e aparecerá um manual falando apenas deste comando, com seus parâmetros e tudo mais. Este recurso é muito bom porque o usuário consegue uma ajuda bem rápida.

Documentos disponíveis

Um recurso muito bom de ser utilizado são as várias documentações do Linux. Se você tiver instalado toda a documentação, você poderá encontrá-los no diretório /usr/doc. As distribuições mais atuais estão começando a colocar estes documentos no /usr/share/doc. Dentre estes vários documentos, podemos citar os HOWTOs, que são documentos que ensinam a fazer alguma coisa em específico. Também há os FAQs que respondem a dúvidas freqüêntemente perguntadas pelos usuários, e alguns históricos de listas de discussões.

Ler a documentação é indispensável para o aprendizado de novas coisas, e na especialização de certos recursos que o Linux pode oferecer. A maioria dos documentos estão em inglês, mas também há varios traduzidos para a língua portuguesa através do projeto LDP-BR (Linux Documentation Project Brasil), localizado no endereço http://ldp-br.conectiva.com.br. RTFM! Err.. o que é isso? Bem, Read The Fine Manual :)

Comandos de ajuda

Além do comando man podemos contar com uma série de outros comandos que ajudam no dia a dia. Temos o info, que é semelhante ao man, traz informações sobre um certo comando. O comando locate procura por arquivos que estão incluídos no banco de dados do updatedb (Se você executar o comando updatedb, ele vai varrer seu disco e vai colocar todos os nomes dos arquivos no banco de dados, para o locate consultar depois). Há também o whatis que procura no banco de dados algum comando relacionado a uma certa palavra (para criar o banco de dados de comandos, digite makewhatis). Estes comandos vão certamente ser companheiros nas horas de aperto.

Listas de discussão

Lista de discussão é um recurso muito usado no mundo todo. Aqui no Brasil temos várias listas de discussões relacionadas com o Linux. Podemos citar dentre elas a lista de discussão linux-br. A lista linux-br é a mais movimentada do Brasil, e pode ser acessada no endereço http://linux-br.conectiva.com.br.

Se você tem alguma dúvida que não conseguiu resolver lendo as páginas de manual, ou lendo os HOWTOs, os FAQs e ou até mesmo procurando em sites pela Internet, o recomendado é você ir para as listas de discussão ver se alguém sabe a resolução do seu problema. Mas lembre-se sempre de ser educado e perguntar com jeito! Lembre-se que são pessoas de boa vontade que irão te ajudar :)

Hugo Cisneiros
hugo[arroba]devin.com.br



 Página anterior Voltar ao início do trabalhoPágina seguinte 



As opiniões expressas em todos os documentos publicados aqui neste site são de responsabilidade exclusiva dos autores e não de Monografias.com. O objetivo de Monografias.com é disponibilizar o conhecimento para toda a sua comunidade. É de responsabilidade de cada leitor o eventual uso que venha a fazer desta informação. Em qualquer caso é obrigatória a citação bibliográfica completa, incluindo o autor e o site Monografias.com.