Cesar H. Kállas - opensrc@gmx.net

Curso GNU/Linux

Realização

CAECOMP – InfoJunior

Puc Campinas - 2003

Capítulo 1

Introdução	2

O Linux	4

Mascote do Linux – TUX	6

Projeto GNU	6

Software Livre	9

O que o GNU/Linux oferece	11

Multiusuário	11

Multitarefa	11

Código Aberto (GPL)	12

Custo	12

Sistema gráfico	13

Distribuições	13

LSB (Linux Standard Base)	15

Como obter documentação e ajuda	15

Páginas de Manual	16

Documentos HOWTO's	16

Documentação de Programas	17

Páginas Internet de Referência	17

Listas de discussão	18

1

Introdução

Nos anos 50, quem dissesse que Rockefeller um dia perderia toda a sua fortuna seria tido como um louco. Um cidadão da década seguinte não conseguiria imaginar nada mais assombroso que a TV em preto e branco. Imagine então com o computador.

Os anos 80's e 90's viram surgir um dos maiores impérios empresariais de todos os tempos, dirigido por um pacato sujeito chamado William Henry Gates III, que veio a tornar-se o homem mais rico do mundo.

Sr. Gates conseguiu o feito graças a uma de suas invenções, um programa de computador que facilitava a operação desses intrincados aparelhos. As inegáveis qualidades da criação de Bill Gates foram notadas no mundo todo, e seu programa, chamado Windows, dominou 90% das máquinas em atividade.

Desde simples usuários, passando por programadores e analistas, chegando aos gerentes, todos só enxergavam uma solução para todos os problemas propostos pela computação: aquela que vem daquela empresa, diga-se Microsoft.

Haviam naquela naquela época (e ainda há) outras opções de sistemas (Unix, Xenix, BSD, por exemplo), mas eram de custos inacessíveis, além de não ser aquilo que todo mundo sonhava. Todos procuravam alguma alternativa que fosse confiável, barata, adequada à situação, à prova de falhas e extensível para futuras mudanças de realidade. Até que um dia...

Mais propriamente no mês de Agosto de 1991, um pacato e jovem geek de 21 anos de idade, iniciou o projeto "LINUX". Seu nome: Linus Torvalds, então estudante de Ciência da Computação da Universidade de Helsinque, capital da Finlândia, um mero "nerd".

Linus Torvalds

Usando o Assembly, Linus iniciou cortando (hacking) o kernel como um projeto particular, inspirado em sua paixão pelo Minix, um pequeno sistema UNIX, desenvolvido por Andy Tannenbaum.

O estudante universitário desejava desenvolver uma versão do Unix que rodasse em micros PC AT e compatíveis, mas que fosse diferente dos sistemas Unix já existentes, cujo preço era exorbitante para o usuário comum.

Linus chegou a divulgar a idéia num newsgroup de que participava (sem êxito...) e embalado pelo projeto, programou sozinho a primeira versão do kernel Linux (núcleo do sistema operacional).

Ele se limitou a criar, em suas próprias palavras, "um Minix melhor que o Minix" ("a better Minix than Minix").

Até que numa calma manhã do dia 05 de Outubro de 1991, Linus anunciou a primeira versão "oficial" do Linux, versão 0.02 .

Depois de finalizar o kernel, Linus deu ao seu filhote o rumo que desencadeou seu grande sucesso: passou a distribuir o código-fonte do kernel pela Internet (comp.os.minix) para que outros programadores pudessem aprimorar o sistema.

Ele colocou a seguinte mensagem:

"Você suspira por melhores dias do Minix 1.1, quando homens serão homens e escreverão seus próprios "device drivers"? Você está sem um um bom projeto e está morrendo por colocar as mãos em um S.O. no qual você possa modificar de acordo com suas necessidades? Você está achando frustrante quando tudo trabalha em Minix? Chega de atravessar noites para obter programas que trabalhem correto? Então esta mensagem pode ser exatamente para você?

Como eu mencionei a um mês atrás, estou trabalhando em uma versão independente de um S.O. similar ao Minix para computadores AT-386.

Ele está, finalmente, próximo ao estágio em que poderá ser utilizado (embora possa não ser o que você esteja esperando), e eu estou disposto a colocar os fontes para ampla distribuição. Ele está na versão 0.02..., contudo, eu tive sucesso rodando bash, gcc, gnu-make, gnu-sed, compressão, etc. nele."

Assim, várias empresas e programadores de todo o planeta contribuíram com seus conhecimentos para melhorar o Linux.

Mais que um sistema operacional, o Linux é a representação prática de uma nova filosofia de distribuição e produção de software. O Linux é um software livre, (é um prazer dizer isso), seu código fonte ainda está completamente aberto, para que programadores de todo planeta possam modificá-lo. Há alguns anos, ninguém ousaria prever algo desse tipo. Como pode alguém pode gastar horas e mais horas em um trabalho para depois largá-lo na Internet, sem controle, sujeito às mais diferentes alterações?

O que alguns julgavam a ruína, provou ser o grande trunfo do Linux.

A lógica é simples: distribua um produto de graça, deixe que os consumidores façam nele as alterações que quiserem, e assim você terá algo pulsante, em constante e inexorável evolução. Esse foi o segredo: trabalho cooperativo e voluntário. Linus distribuiu seu trabalho sem cobrar nada e em troca, exigiu que os outros programadores envolvidos no projeto fizessem o mesmo. Por isso é livre. A união fez a força - fez o LINUX.

O Linux, atualmente, tem recebido apoio de várias empresas como Netscape, Corel, Sun, Borland, Intel e Oracle, IBM. Todas usam Linux e desenvolvem produtos para Linux. Ele tem ganho aceitação e propaganda no mundo inteiro. Em 1997, 105 computadores Alpha Digital com Linux, ligados em rede, renderizaram as cenas do filme "Titanic", durante 3 meses, ininterruptamente. Em quase todas as grandes empresas do mundo, há pelo menos um sistema Linux instalado.

O Linux

O Linux foi criado tendo por base o padrão POSIX (Portable Operating System Interface Unix), esse padrão foi desenvolvido pelo IEEE (Institutos de Engenheiros Elétricos e Eletrônicos), para uniformizar as características do sistema Unix.

Sendo assim, podemos dizer que o Linux é um UNIX, mas não que ele é UNIX. Veja bem, Unix é um marca registrada do Unix Lab. Todos os sistemas baseados de alguma forma nele, são chamados de Unix, porém não é o Unix em si, somente baseado.

Em 1983, Richard Stallman fundou a Free Software Foundation (FSF), cujo o projeto, GNU (Gnu is not Unix), tinha por finalidade criar um clone melhorado e livre do sistema operacional Unix, mas que não utiliza-se seu código-fonte.

Nessa época, vários esforços independentes para desenvolver clones do UNIX estavam em andamento. O Dr. Andrew Tanenbaum desenvolveu o Minix como instrumento de ensino, baseando no processador Intel 8086, por ser comum e barato. Entretanto, o 8086 não dispunha de memória virtual e só endereçava 1MB de cada vez. Isso era uma enorme barreira para um sistema operacional moderno, multitarefa. Por isso, desde o início o Minix estava limitado a ser um instrumento de ensino.

Linus Benedict Torvalds percebeu que que o Intel 80386 era o único microprocessador capaz de executar um clone do Unix. Além disso, ainda que o 80386 não fosse barato, ele era o único disponível. Sua opção por esse processador foi correta, garantindo futuramente que seu desenvolvimento ganhasse novos voluntários.

O Linux foi então inicialmente desenvolvido para PCs baseados em CPUs x86 (como 386/486/Pentium, etc), porém atualmente existem versões para computadores Alpha da DEC, Sparcs da SUN, CPUs M68000 (semelhantes a Atari e Amiga), MIPS, PowerPCs (tais como iMac...), S/390 (IBM), I64 (Intel Itanium) e PDAs.

O Linux faz tudo o que você poderia esperar de um Unix moderno e completo. Suporta multitarefa real, memória virtual, bibliotecas dinâmicas, redes TCP/IP, nomes de arquivos com até 255 caracteres e proteção entre processos (crash protection), além de muitas outras funcionalidades que deixariam esta lista extensa demais.

Um grande atrativo que o Linux oferece é o fato de poder trabalhar tanto como servidor de aplicações quanto como estação de trabalho, sem que haja necessidade de grandes modificações no seu sistema.

Posso até fazer uma bela analogia com o Windows: Sabe aquela garota linda que passa por você todas manhãs junto com uma outra que você nem presta atenção? Depois de conhecer as duas você acaba se apaixonando pela outra por ela ser confiável (fiel), robusta (saudável :)) e inteligente. Enquanto a bonita é flácida, burra, e muda de opinião a cada cinco minutos, sem contar que ela tem um tique esquisito, que os médicos dizem que é uma tal de sindrome de GPF).

Cronologia

Ano	Evento
1969	Criação do Unix na AT&T.
1974	O Unix é distribuído nas Universidades. É montado o cenário para o surgimento em todo o mundo de programadores de sisteamas altamentes capacitados.
1983	Richard Stallman cria a Free Software Foundantion.
1984	O X Window é criado no MIT.
1988	Criação do Minix.
1990	Linus Torvalds assisti sua primeira aula de linguagem C.
1991	Linus Torvalds inicia o desenvolvimento do Linux.
1992	A versão 0.0.1 é discutida na internet. É lançada a versão 0.95 do Linux. A Yggdrasil lança a primeira distribuição em dezembro.
1993	Yggdrasil libera a produção da distribuição com o linux
1994	É lançada a versão 0.99pl5 do Linux. É lançado o Xfree86. A Yggdrasil lança a primeira versão em CDROM. Red Hat, Slackware e outras distribuições surgem.
1995	Surge a primeira versão modularizada do Linux
1996	Caldera lança a versão 1.0 com o Netscape incluso.
1997	A Conectiva lança a primeira distribuição brasileira do Linux, Baseada no Red Hat.

Mascote do Linux – TUX

O símbolo oficial do sistema é o pinguim. Há várias interpretações para o motivo da escolha deste símbolo, mas o fato é que Linus teve bastante contato com pinguins em uma viagem ao sul da Austrália, e isto deve ter influenciado bastante

Uma das prováveis explicações seria que o simpático pingüim teria sido criado por Larry Ewing em meados de 1996, depois de um concurso de logotipos para o sistema operacional. A simpática criaturinha criada por Ewing venceu quase por aclamação de toda a comunidade.

A idéia do pingüim foi casualmente sugerida pelo próprio Linus Torvalds, depois de mencionar publicamente que os achava engraçadinhos. Quando o concurso estava em andamento, Linus havia sugerido que o pingüim deveria ser gordinho e com um ar de satisfação depois de empanturrar-se com peixes. Para Linus, um pingüim como logotipo daria mais liberdade às pessoas que quisessem usar materiais relacionados ao sistema operacional. Outra razão que Linus salientou é que, usando algo parecido com o pingüim dá às pessoas a oportunidade de fazer modificações.

Exatamente como acontece hoje, quando encontramos diferentes variantes do pingüim em boxes das distribuições espalhadas por todo o mundo. O nome Tux é uma variante de tuxedo, mais conhecido entre nós como smoking. E, para quem não sabe, há um Tux, em carne e osso, no Zoológico de Bristol, na Inglaterra.

Projeto GNU

Por Richard Stallman

Muitos usuários de computador utilizam uma versão modificada do sistema GNU (18k caracteres) todos os dias, sem perceberem. Através de uma peculiar reviravolta dos fatos, a versão do GNU que é largamente utilizada hoje é mais conhecida como "Linux'', e muitos usuários não estão a par de sua conexão com o Projeto GNU.

Há realmente um Linux; é o núcleo (kernel), e essas pessoas estão utilizando-o. Mas você não pode usar um núcleo sozinho; um núcleo só é útil como parte de todo um sistema operacional. Linux é normalmente utilizado em combinação com o sistema operacional GNU: o sistema é basicamente GNU, com Linux funcionando como núcleo.

Muitos usuários não estão totalmente a par da diferença entre o núcleo, que é o Linux, e todo o sistema operacional, que eles também chamam "Linux''. O uso ambíguo desse nome não promove o entendimento.

Programadores geralmente sabem que Linux é o núcleo. Mas desde que eles também já ouviram todo o sistema ser chamado "Linux'', eles muitas vezes visualizam uma história que corresponde ao nome. Por exemplo, muitos acreditam que, assim que Linus Torvalds terminou de escrever o núcleo, seus amigos procuraram por outros programas livres e, por nenhuma razão em particular, praticamente tudo necessário para criar um sistema similar ao Unix já estava disponível.

O que eles acharam não foi nenhum acidente - foi o sistema GNU. O software livre disponível compôs um sistema completo porque o Projeto GNU já estava trabalhando desde 1984 para criar um. O Manifesto GNU (31k caracteres) definiu o objetivo de criar um sistema livre similar ao Unix, chamado GNU. O Anúncio Oficial do sistema GNU também ressalta alguns dos planos originais para o sistema GNU. Quando o Linux foi escrito, o sistema já estava quase acabado.

A maioria dos projetos de software livre tem por objetivo desenvolver um programa em particular para uma tarefa em particular. Por exemplo, Linus Torvalds escreveu um núcleo similar ao Unix (Linux); Donald Knuth escreveu um formatador de textos (TeX); Bob Scheifler escreveu um sistema de janelas (X Windows). É natural medir a contribuição deste tipo de projeto pelos programas específicos que vieram daquele projeto.

Se tentássemos medir a contribuição do projeto GNU dessa forma, o que concluiríamos? Um distribuidor de CD-ROM percebeu que em sua "distribuição Linux'', software GNU era o maior contingente único, por volta de 28% de todo o código-fonte, e isso incluía alguns dos componentes essenciais sem os quais não poderia haver sistema. O Linux representava por volta de 3%. Assim, se você for escolher um nome para o sistema baseadom em quem escreveu os programas no sistema, a escolha simples mais apropriada seria "GNU''.

Mas nós não concordamos que esta é a maneira correta de considerar a questão. O projeto GNU não foi, não é, um projeto para desenvolver pacotes específicos de software. Não foi um projeto para desenvolver um compilador C, apesar de o termos fazido. Não foi um projeto para desenvolver um editor de textos, apesar de termos desenvolvido um. O objetivo do Projeto GNU era desenvolver um sistema operacional livre similar ao Unix.

Muitas pessoas fizeram grandes contribuições para o software livre no sistema, e todos eles merecem crédito. Mas a razão pela qual temos um sistema - e não somente uma coleção de programas úteis - é porque o Projeto GNU se definiu para fazer um. Nós fizemos uma lista de programas necessários para compor um sistema livre completo, e nós sistematicamente achamos, escrevemos, ou encontramos pessoas para escrever tudo na lista.

Nós escrevemos componentes principais, essenciais mas não excitantes, como o montador (assembler) e o editor de ligação (linker), porque não é possível ter um sistema sem eles. Um sistema completo necessita mais do que simplesmente ferramentas de programação; o Bourne Again SHell, o interpretador PostScript Ghostscript, e a biblioteca GNU C são igualmente importantes.

Por volta do início dos anos 90 nós agrupamos todo o sistema à parte do núcleo (e nós ainda estamos trabalhando em um kernel, o GNU Hurd, que executará em cima do Mach). Desenvolver esse núcleo tem sido bem mais difícil do que esperávamos, e nós ainda estamos trabalhando em sua finalização..

Felizmente, você não precisa esperar por ele, porque o Linux está funcionando agora. Quando Linus Torvalds escreveu o Linux, ele completou a última grande lacuna. Pessoas puderam então colocar o Linux junto com o sistema GNU para compor um sistema livre completo: um sistema GNU baseado em Linux (ou sistema GNU/Linux, para simplificar).

Colocar os dois componentes juntos parece simples, mas não foi uma tarefa trivial. A biblioteca GNU C (chamada glibc para simplificar) precisou de mudanças substanciais. Integrar um sistema completo como uma distribuição que funcionasse "fora da caixa'' foi também um trabalho grande. Requereu resolver o problema de como instalar e iniciar o sistema (boot) - um problema que ainda não resolvemos, porque ainda não atingimos esse ponto. As pessoas que desenvolveram as várias distribuições de sistema deram uma contribuição substancial.

À parte do GNU, um outro projeto desenvolveu um sistema livre similar ao UNIX. Este sistema é conhecido como BSD, e foi desenvolvido na Universidade da Califórnia em Berkeley. Os desenvolvedores do BSD foram inspirados a fazer seu trabalho como software livre seguindo o exemplo do Projeto GNU, e ocasionalmente encorajaram os ativistas do GNU, mas seu trabalho real teve pouca relação com o GNU. Sistemas BSD hoje utilizam algum software GNU, assim como o sistema GNU e suas variantes utilizam algum software BSD, mas, olhando-os como um todo, eles são dois sistemas diferentes que evoluíram separadamente. Um sistema operacional livre que existe hoje é quase com certeza ou uma variante do sistema GNU ou um tipo de sistema BSD.

O Projeto GNU suporta os sistemas GNU/Linux assim como o sistema GNU - mesmo com fundos. Nós financiamos a reescrita das extensões da biblioteca GNU C relacionadas ao Linux, para que agora elas estejam bem integradas, e os novos sistemas GNU/Linux usam a versão corrente da biblioteca sem modificações. Nós também financiamos um estágio inicial do desenvolvimento do Debian GNU/Linux.

Nós utilizamos sistemas GNU baseados em Linux hoje para a maioria do nosso trabalho, e nós esperamos que você também os use. Mas por favor não confunda o público por utilizar o nome "Linux'' de forma ambígua. Linux é o núcleo, um dos principais componentes essenciais do sistema. O sistema como um todo é mais ou menos o sistema GNU.

Software Livre

"Software Livre" é uma questão de liberdade, não de preço. Para entender o conceito, você deve pensar em "liberdade de expressão", não em "cerveja grátis".

"Software livre" se refere à liberdade dos usuários executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software. Mais precisamente, ele se refere a quatro tipos de liberdade, para os usuários do software:

A liberdade de executar o programa, para qualquer propósito (liberdade no. 0)

A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade no. 1). Aceso ao código-fonte é um pré-requisito para esta liberdade.

A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade no. 2).

A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade no. 3). Acesso ao código-fonte é um pré-requisito para esta liberdade.

Um programa é software livre se os usuários tem todas essas liberdades. Portanto, você deve ser livre para redistribuir cópias, seja com ou sem modificações, seja de graça ou cobrando uma taxa pela distribuição, para qualquer um em qualquer lugar. Ser livre para fazer essas coisas significa (entre outras coisas) que você não tem que pedir ou pagar pela permissão.

Você deve também ter a liberdade de fazer modifcações e usá-las privativamente no seu trabalho ou lazer, sem nem mesmo mencionar que elas existem. Se você publicar as modificações, você não deve ser obrigado a avisar a ninguém em particular, ou de nenhum modo em especial.

A liberdade de utilizar um programa significa a liberdade para qualquer tipo de pessoa física ou jurídica utilizar o software em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem que seja necessário comunicar ao desenvolvedor ou a qualquer outra entidade em especial.

A liberdade de redistribuir cópias deve incluir formas binárias ou executáveis do programa, assim como o código-fonte, tanto para as versões originais quanto para as modificadas. Está ok se não for possível produzir uma forma binária ou executável (pois algumas linguagens de programação não suportam este recurso), mas deve ser concedida a liberdade de redistribuir essas formas caso seja desenvolvido um meio de cria-las.

De modo que a liberdade de fazer modificações, e de publicar versões aperfeiçoadas, tenha algum significado, deve-se ter acesso ao código-fonte do programa. Portanto, acesso ao código-fonte é uma condição necessária ao software livre.

Para que essas liberdades sejam reais, elas tem que ser irrevogáveis desde que você não faça nada errado; caso o desenvolvedor do software tenha o poder de revogar a licença, mesmo que você não tenha dado motivo, o software não é livre.

Entretanto, certos tipos de regras sobre a maneira de distribuir software livre são aceitáveis, quando elas não entram em conflito com as liberdades principais. Por exemplo, copyleft (apresentado de forma bem simples) é a regra de que, quando redistribuindo um programa, você não pode adicionar restrições para negar para outras pessoas as liberdades principais. Esta regra não entra em conflito com as liberdades; na verdade, ela as protege.

Portanto, você pode ter pago para receber cópias do software GNU, ou você pode ter obtido cópias sem nenhum custo. Mas independente de como você obteve a sua cópia, você sempre tem a liberdade de copiar e modificar o software, ou mesmo de vender cópias.

"Software Livre" Não significa "não-comercial". Um programa livre deve estar disponível para uso comercial, desenvolvimento comercial, e distribuição comercial. O desenvolvimento comercial de software livre não é incomum; tais softwares livres comerciais são muito importantes.

Regras sobre como empacotar uma versão modificada são aceitáveis, se elas não acabam bloqueando a sua liberdade de liberar versões modificadas. Regras como "se você tornou o programa disponível deste modo, você também tem que torná-lo disponível deste outro modo" também podem ser aceitas, da mesma forma. (Note que tal regra ainda deixa para você a escolha de tornar o programa disponível ou não.) Também é aceitável uma licença que exija que, caso você tenha distribuído uma versão modificada e um desenvolvedor anterior peça por uma cópia dele, você deva enviar uma.

No projeto GNU, nós usamos "copyleft" para proteger estas liberdades legalmente para todos. Mas também existe software livre que não é copyleft. Nós acreditamos que hajam razões importantes pelas quais é melhor usar o copyleft, mas se o seu programa é free-software mas não é copyleft, nós ainda podemos utilizá-lo.

Às vezes regras de controle de exportação e sansões de comércio podem limitar a sua liberdade de distribuir cópias de programas internacionalmente. Desenvolvedores de software não tem o poder para eliminar ou sobrepor estas restrições, mas o que eles podem e devem fazer é se recusar a impô-las como condições para o uso dos seus programas. Deste modo, as restrições não afetam as atividades e as pessoas fora da jurisdição destes governos.

Quando falando sobre o software livre, é melhor evitar o uso de termos como "dado" ou "de graça", porque estes termos implicam que a questão é de preço, não de liberdade. Alguns temos comuns como "pirataria" englobam opiniões que nós esperamos você não irá endossar. Veja frases e palavras confusas que é melhor evitar para uma discussão desses termos. Nós também temos uma lista de traduções do termo "software livre" para várias línguas.

Finalmente, note que critérios como os estabelecidos nesta definição do software livre requerem cuidadosa deliberação quanto à sua interpretação. Para decidir se uma licença se qualifica como de software livre, nós a julgamos baseados nestes critérios para determinar se ela se segue o nosso espírito assim como as palavras exatas. Se uma licença inclui restrições impensadas, nós a rejeitamos, mesmo que nós não tenhamos antecipado a questão nestes critérios. Às vezes um requerimento de alguma licença levanta uma questão que requer excessiva deliberação, incluindo discussões com advogados, antes que nós possamos decidir se o requerimento é aceitável. Quando nós chegamos a uma conclusão sobre uma nova questão, nós frequentemente atualizamos estes critérios para tornar mais fácil determinar porque certas licenças se qualificam ou não.

O que o GNU/Linux oferece

A seguir descreveremos algumas das características mais importantes do Linux, que o tornam um sistema estável, versátil e confiável.

Multiusuário: Isto significa que o Linux instalado em uma máquina pode ser utilizado por mais de um usuário, seja na mesma máquina ou através de terminais remotos ligados a esta máquina. Tudo isso com privacidade, já que o acesso a cada arquivo ou diretório pode ser configurado (individualmente ou em grupos, como veremos mais a frente). Cada usuário tem acesso ao sistema através do login (entrada no sistema), mediante o uso de senha. Por questões de segurança no Linux não é permitido (por vias normais) que alguém tenha acesso à máquina sem possuir autorização, ou seja, é necessário estar cadastrado no sistema para poder acessá lo, ao contrário de outros sistemas.

Multitarefa: O Linux trabalha com multitarefa real, ou seja, ele pode gerenciar diversas tarefas sendo executadas "ao mesmo tempo" pela máquina. Para gerenciar estas tarefas, o Linux trabalha com o conceito de processos, nome dado a cada programa (ou parte dele) que está "rodando" na máquina. Cada vez que executamos um programa, serão criados um ou mais novos processos no kernel, separados dos demais, os quais serão gerenciados pelo Linux.

Quando inicializamos a máquina e o kernel do Linux está carregado, o próprio kernel já cria o primeiro processo, que é chamado init. Ao logarmos na máquina, o programa de login cria um processo para o usuário, que é a interface de linha de comando. A partir daí, o usuário pode criar novos processos, isto é, "rodar" programas.

É importante notar que um processo só pode ser criado a partir de outro (com exceção do primeiro). Ao processo de origem dá se o nome de "processo pai" e ao processo originado, chamamos "processo filho".

Outro conceito importante é a "morte" de um processo. Um processo pode ser "morto" por outro processo, e existe um mecanismo que mantém o processo pai informado sobre seus processos filhos que existam ou deixem de existir.

O principal aspecto que deve ser considerado, portanto, é que cada processo roda em um ambiente independente, de modo que se por algum motivo qualquer, seja necessário "matar" um processo, isto não irá afetar os demais processos (exceto os processos filhos). Desta forma, os serviços disponibilizados pela máquina em questão continuariam sendo utilizados normalmente, sem maiores problemas.

Código Aberto (GPL): O Linux não é um software de domínio público, mas é distribuído sob a licensa GPL (General Public License), que preserva a disponibilidade do seu código fonte. Ou seja, o código fonte do Linux deve estar sempre disponível para qualquer um. Alguém pode cobrar pela cópia do Linux, se desejar, desde que, com isso, não limite a distribuição do mesmo.

Por ser um software aberto, alertas para qualquer possível problema de segurança ou falha nos programas são distribuídos imediatamente pela Internet em busca de soluções, não sendo necessário esperar meses para que um fabricante ou desenvolvedor crie uma solução.

O Linux segue o modelo de desenvolvimento aberto e, por isso, cada nova versão disponibilizada ao público é considerada como um "produto de qualidade", pois qualquer um pode examinar e melhorar o código fonte.

Custo: O custo do Linux varia de acordo com o que você espera obter. É possível obter o Linux pela Internet, pagando apenas o acesso (para fazer o download). Se você tiver acesso pela internet gratuita, o custo será zero. Se você optar por adquirir uma distribuição completa do Linux, receberá os CDs com os programas, manuais impressos e normalmente terá direito a um determinado tempo de suporte técnico gratuito.

Um ponto importante é que nestas distribuições completas incluem não só o sistema operacional, mas também uma infinidade de programas e aplicativos, inclusive pacotes "office", ferramentas gráficas, compiladores, servidores de aplicações, servidores de Internet, servidores de banco de dados, ERP, etc, tornando seu custo irrisório se comparado à quantidade de programas adquiridos.

Existem algumas "versões econômicas" de distribuições, bem mais baratas que as completas, nas quais você recebe apenas alguns CDs, não recebe os manuais impressos (ou nem todos eles) e normalmente não tem direito a suporte técnico. Vale ressaltar que geralmente os CDs das distribuições Linux trazem os manuais em formato texto, html ou postscript, portanto, nesta situação pode ser uma boa idéia adquirir uma "versão econômica", principalmente se for para uso doméstico.

Sistema gráfico: O X-Window um sistema gráfico de janelas que roda em uma grande faixa de computadores, máquinas gráficas e diferentes tipos de máquinas e plataformas Unix. Pode tanto ser executado em máquinas locais como remotas através de conexão em rede.

Nota-se que o gnu/linux é capaz de ser executado (normalmente usado em servidores) apenas usando o modo texto. Porém em desktops, é grande a necessidade do uso gráfico.

Centenas de programas para todas finalidades, e em sua maioria de livre distribuição.

Estabilidade

Permissão de arquivos

Eterno aprendizado

Memória virtual

Suporte aos protocolos tcp/ip, ipx, appletalk e netbios.

Segurança

Distribuições

Distribuição é o nome dado a um conjunto de programas constituído por um kernel do Linux e uma variedade de outros softwares para esta plataforma, chamados "pacotes", normalmente distribuídos de uma forma personalizada pela empresa ou grupo distribuidor.

Cada distribuição tem suas particularidades, umas são mais amigáveis, outras menos, outras são mais fáceis de instalar ou atualizar, outras mais complicadas. Estas distribuições geralmente desenvolvem programas instaladores e configuradores personalizados, de forma a tornar mais fácil e amigável as tarefas no GNU/Linux, porém o núcleo do sistema (kernel) é o mesmo para todas elas.

Principais distribuições:

Slackware Linux – www.slackware.com

Desenvolvida por Patrick Volkerding

Red Hat – www.redhat.com

Michael Tiemann (Red Hat CTO) co-founds Cygnus Solutions

Conectiva – www.conectiva.com.br

Distribuição brasileira

Debian GNU/Linux – www.debian.com

SuSE Inc. - www.suse.com

Mandrake – www.mandrake.com

Essas são as principais distribuições GNU/Linux no mercado.

LSB (Linux Standard Base)

O Linux Standard Base é um conjunto de padrões cujo objetivo é compatibilizar e padronizar as diversas distribuições GNU/Linux, permitindo que qualquer software escrito para o GNU/Linux seja executado em qualquer distruibuição de acordo com o padrão LSB. Este ajudará a coordenar esforços para recrutar desenvolvedores de software a converter e a escrever produtos para o GNU/Linux. Vide www.linuxbase.org .

Como obter documentação e ajuda

Dúvidas são comuns durante o uso do GNU/Linux e existem várias maneiras de se obter ajuda e encontrar a resposta para algum problema. O GNU/Linux é um sistema bem documentado, provavelmente tudo o que imaginar fazer ou aprender já esta disponível para leitura e aprendizado.

Uma das principais vantagens que o usuário tem em utilizar o GNU/Linux é a oportunidade de sempre estar aprendendo, não diretamente sobre ele mesmo, mas tudo o que se relaciona com a informática.

Perguntas frequentes que usuários novatos de GNU/Linux se fazem é como obter maiores informações sobre o sistema. Felizmente a quantidade de documentação sobre GNU/Linux é enorme. Ao mesmo tempo que esta quantidade de informação é reconfortante, para os iniciantes este mesmo fato pode ser desestimulante. Afinal de contas, por onde começar?

Acesse os fóruns que você encontrou, eles são uma fonte valiosa de informações vinda de pessoas que passaram por varias etapas no aprendizado do GNU/Linux.

Quando fizer uma pergunta procure não usar apenas letras maiúsculas. Isso equivale a gritar com os outros. E você não gosta que gritem com você, não é mesmo ?

Evite perguntar "Qual a melhor distribuição ?". Essa pergunta vai, com certeza, gerar um volume de discussões que podem não lhe responder exatamente o que você quer saber. No fundo, a sua verdadeira duvida é: "Qual distribuição eu vou gostar mais ?". Isso apenas você pode responder. Na maior parte das vezes a resposta que você vai ter será algo como "A melhor distribuição é aquela que se adaptar melhor a você.

A resposta para suas perguntas pode ser encontrada no famoso oráculo, o google. No google existe uma opção específica de pesquisa relacionada ao GNU/Linux, aonde a maioria das suas perguntas podem ser respondidas. Vide www.google.com.br/linux .

Mas não paramos por aqui, veja abaixo as inúmeras maneiras de conseguir ajuda e documentação:

Páginas de Manual

As páginas de manual acompanham quase todos os programas GNU/Linux. Elas trazem uma descrição básica do comando/programa e detalhes sobre o funcionamento de opção. Uma página de manual é visualizada na forma de texto único com rolagem vertical. Também documenta parâmetros usados em alguns arquivos de configuração.

A utilização da página de manual é simples, digite:

man [seção] [comando/arquivo]

onde:

seção

É a seção de manual que será aberta, se omitido, mostra a primeira seção sobre o comando encontrada (em ordem crescente).

comando/arquivo

Comando/arquivo que deseja pesquisar.

A navegação dentro das páginas de manual é feita usando-se as teclas:

q - Sai da página de manual

PageDown ou f - Rola 25 linhas abaixo

PageUP ou w - Rola 25 linhas acima

SetaAcima ou k - Rola 1 linha acima

SetaAbaixo ou e - Rola 1 linha abaixo

r - Redesenha a tela (refresh)

p ou g - Inicio da página

h - Ajuda sobre as opções da página de manual

s - Salva a página de manual em formato texto no arquivo especificado (por exemplo: /tmp/ls).

Exemplo, man ls, man 5 hosts_access.

Documentos HOWTO's

São documentos em formato texto, html, etc, que explicam como fazer determinada tarefa ou como um programa funciona. Normalmente são feitos na linguagem SGML e convertidos para outros formatos (como o texto, HTML, Pos Script) depois de prontos.

Estes trazem explicações detalhadas desde como usar o bash até sobre como funciona o modem ou como montar um servidor internet

Documentação de Programas

São documentos instalados junto com os programas. Alguns programas também trazem o aviso de copyright, changelogs, modelos, scripts, exemplos e FAQs (perguntas frequêntes) junto com a documentação normal.

Seu princípio é o mesmo do How-to; documentar o programa. Estes arquivos estão localizados em:

/usr/doc/[programa].

Programa é o nome do programa ou comando procurado.

Páginas Internet de Referência

Existem boas páginas Internet Nacionais e Internacionais sobre o GNU/Linux. A maioria trazem documentos e explicações sobre configuração, instalação, manutenção, documentação, suporte, etc.

Estas páginas podem ser encontradas através de ferramentas de busca. Entre outras páginas, posso citar as seguintes:

http://www.linux.trix.net - Boletim diário com as noticias mais recentes sobre GNU/Linux, testes, redes, descrição/configuração/ avaliação de programas, entrevistas, downloads, dica do dia, mecanismo de busca no site, links, etc. Em Português.

http://www.linux.org - Página oficial do GNU/Linux mantida pela Transmeta (a empresa que Linus Torvalds vem trabalhando atualmente). Muita referência sobre GNU/Linux, distribuições, hardwares, softwares, downloads, etc.

http://www.guiadohardware.info/ - Ótimo portal sobre hardware e GNU/Linux, mantido por Carlos Morimoto, também idealizador do projeto Kurumin (distribuição).

http://focalinux.cipsga.org.br/ - O Foca GNU/Linux é um guia que traz desde explicações básicas sobre computadores e o sistema GNU/Linux até a administração e segurança do sistema. Os assuntos do guia são explicados em linguagem clara e organizados de forma linear e didática, evitando termos técnicos nos níveis iniciais, até que o usuário se habitue com sua utilização de forma gradual. Isto faz o guia indispensável para o usuário GNU/Linux iniciante ou os mais curiosos.

http://br.linuxchix.org/ - O LinuxChix Brasil, assim como o Projeto LinuxChix internacional é uma comunidade para mulheres que gostam de Linux, e para apoiar as mulheres na computação em geral. As participantes vão desde novatas à usuárias experientes, e incluem programadoras profissionais e amadoras, administradoras de sistemas e documentadoras técnicas.

http://www.rau-tu.unicamp.br/linux/ - É um sistema de perguntas e respostas, o usuário posta uma pergunta no site e diversos colaboradores respondem a pergunta. O site é dividido em tópicos.

Listas de discussão

São grupos de usuários que trocam mensagens entre si, resolvem dúvidas, ajudam na configuração de programas, instalação, etc. É considerado o melhor suporte ao GNU/Linux pois qualquer participante pode ser beneficiar das soluções discutidas. Existem milhares de listas de discussões sobre o GNU/Linux espalhadas pelo mundo, em Português existem algumas dezenas.

Algumas listas são específicas a um determinado assunto do sistema, algumas são feitas para usuários iniciantes ou avançados, outras falam praticamente de tudo. Existem desde usuários iniciantes, hackers, consultores, administradores de redes experientes e gurus participando de listas e oferecendo suporte de graça a quem se aventurar em instalar e usar o sistema GNU/Linux.

A lista de discussão funciona da seguinte forma: você se inscreve na lista enviando uma mensagem ao endereço de inscrição, será enviada um pedido de confirmação por e-mail, simplesmente dê um reply na mensagem para ser cadastrado. Pronto! agora você estará participando do grupo de usuários e receberá todas as mensagens dos participantes do grupo. Assim você poderá enviar sua mensagem e ela será vista por todos os participantes da lista.

Da mesma forma, você pode responder uma dúvida de outro usuário da lista ou discutir algum assunto, tirar alguma dúvida sobre a dúvida de outra pessoa, etc.

Não tenha vergonha de enviar sua pergunta, participar de listas de discussão é uma experiência quase obrigatória de um Linuxer.

16

Apostila Linux

2003-09-21T15:45:40