sábado, 25 de setembro de 2010

Linux

Guia Introdutório do Linux 
Por: Cícero Julião



Introdução
Se você está iniciando sua vida no Linux, pode sentir a necessidade de ajuda em pontos aparentemente simples. Este artigo será o primeiro de uma série que o ajudará a ficar mais confortável neste maravilhoso ambiente. Faremos uma tradução livre do Linux User's Guide, abordando os temas principais, afim de oferecer a você as principais ferramentas do Linux.
Quem precisa deste artigo?
Você acabou de adquirir o Linux de alguma forma (CD, net, etc) e precisa saber o que fazer agora? É usuário de outros sistemas, mas quer aprender a usar o Linux? Então este artigo será de grande ajuda.
Veremos os principais comandos do Linux e alguns comandos mais avançados. Aplicativos muito úteis também serão abordados e como adquirir tais programas. Usamos o Debian/Ubuntu como uso pessoal, mas qualquer distribuição será funcional com as instruções dadas aqui.
Vamos supor algumas coisas durante este artigo:
  • Esperamos que você tenha os conhecimentos básicos no uso de computadores pessoais;
  • Obviamente deve possuir uma distribuição Linux para seu uso;
  • Crie uma conta normal para uso no Linux (não use como super-usuário);
  • E tenha paciência, afinal nem tudo se aprende em um dia.
Também não é necessário ter medo de errar. Faça backups (cópias dos dados) de seus arquivos importantes e divirta-se! Se complicar as coisas ou tudo "parar de funcionar", ainda assim estamos longe de grandes problemas: basta reinstalar as coisas e recomeçar.
Sugerimos que leia o artigo enquanto tiver tempo para usar na prática o que será dito aqui. Afinal, é com o uso que a aprendizagem será consolidada.

Para começar nossa viagem, saiba como tudo começou.
Um pouco de História
Na início da década de 70, fruto de necessidade original dos Laboratórios Bell, surgiu um sistema operacional chamado UNIX. Em 1973, após o surgimento da linguagem de programação "C", o UNIX foi reescrito nessa linguagem. Logo, embora sem tanta empolgação no campo acadêmico, ganhou força no mundo dos negócios.
Já o Linux foi escrito por Linus Torvalds, e muitas são as pessoas que vêm colaborando com o seu desenvolvimento desde então. Está sob a licença de uso da GNU General Public License (GPL). Esta é uma licença escrita pela Free Software Foundation (FSF). Falando em termos simples, você tem o direito de cobrar o quanto quiser por sua cópia, mas não pode impedir a outra pessoa de distribuir gratuitamente. A licença também diz que qualquer um que modificar o programa também deve lançar esta sua versão sob a mesma licença.
Graças à legião de colaboradores ao redor do mundo, os bugs que porventura surgem no Linux são rapidamente eliminados. Pessoas de todas as áreas colaboram, algumas com larga experiência em programação e hardware.
Saiba que há softwares comerciais para Linux. Em grande parte, são programas que já existem para o ambiente Windows migrando para o Linux.

"Tudo" sendo dito, vamos por a mão na massa. 

Dando início
Logo após ligar  o computador e todo o início se der normalmente, basta você digitar seu "Login" (sua identificação no sistema) e senha. Haverá um diretório com "seu nome". Este diretório conterá seus arquivos pessoais, que fica em /home/usuário, onde "usuário" é o seu "Login".
O terminal
Vamos falar sobre como usar algumas coisas no terminal. Ao acessamos o sistema, veremos algo parecido com isso:

/home/fulano33br>
Isto é o que chamamos de "prompt". Em inglês, "prompt" é a "deixa" para fazer algo, como em teatro quando um ator recebe uma "deixa". É realmente assim aqui, pois você está recebendo a "deixa" para digitar um comando para o sistema realizar algo.
Todo comando no Linux é uma seqüência de letras, números e caracteres. Alguns comandos válidos são "mail", "cat", "ls". Além disso o Linux tem a característica conhecida como "case-sensitive", i.e., ele difere letras minúsculas de maiúsculas. Portanto os comando Cat, CAT, cat e CaT são comandos diferentes. Na prática, é difícil encontrar comandos como estes, usando tal característica. De todo modo, digite tudo certinho, ok?
Vamos começar a usar os comandos?

Digite "ct". Você provavelmente verá algo parecido com a seguinte mensagem:

/home/fulano33b>ct
ct: comando não encontrado
/home/fulano33br>
Você foi informado que não há programa com o nome "ct". Agora digite "cat". Surgirá uma linha em branco. Digite algo, e tecle enter. O que acontece? A linha é repetida logo abaixo. Simples, não? Você usou seu primeiro comando. Para finalizar o "cat", tecle "Ctrl + D" e volte para o prompt.
Quer aprender melhor sobre o comando "cat" (ou qualquer outro comando)? Digite "man cat". Você verá algo que começa mais ou menos assim:
CAT(1) User Commands CAT(1)
NAME
cat - concatenate files and print on the standard output
SYNOPSIS
cat [OPTION] [FILE]...
DESCRIPTION
Concatenate FILE(s), or standard input, to standard output.
(...)
Você entrou na página de manual do comando cat. É um página completa sobre como usar este comando. É claro, não espere entender tudo. Esta página assume que você possui algum conhecimento sobre o Linux. Mas tudo bem! Quanto mais ler, mais você aprende. Tente usar este comando, o "man", com os outros que você aprenderá com o tempo. Certamente será muito útil no decorrer do seu aprendizado.

Antes de continuar, digite o comando "clear". Este comando "limpará" o terminal. Estamos apenas limpando a bagunça :). Aproveite este comando e veja como o "man" pode ser útil. Digamos que você esteja aprendendo sobre um comando, o clear por exemplo. Se você digitar "man -k clear" você verá uma lista de todos os comandos onde a palavra "clear" aparece em sua descrição ou nome. Isto é muito útil, principalmente quando você está procurando por algo, mas não lembra exatamente seu nome. Você deve ter notado o "-k" na frente do comando man. É isto mesmo: alguns comandos permitem que você tenha opções de como ele trabalhará. Isto é, de fato, muito comum. 
Organizando as coisas
Como tudo em nossa vida, nossos arquivos no computador devem ser organizados. E organizamos isso em diretórios. Como ver o que há neles? Com o comando "ls".

O comando "ls" é um dos mais importantes. Ele lista os arquivos e diretórios. Digite "ls" no terminal e veja o que ocorre. Agora digite "ls -F". A opção "-F" faz você ver quais itens são diretórios (terão uma barra invertida no final), quais são arquivos, quais são arquivos especiais, etc.
Do terminal você também pode criar diretórios. Basta usar o comando "mkdir". Como exemplo, digite "ls -F" e veja o conteúdo do diretório atual. Agora digite:

diretorio-teste
Digite novamente "ls -F". O que aconteceu? Apareceu um novo diretório chamado "diretorio-teste". Simples assim.

Para remover um diretório, use um comando similar ao mkdir: o rmdir. Faça similar ao mkdir: "rmdir diretorio-teste" removerá o diretório anteriormente criado. Para usá-lo desta forma, só um lembrete: o diretório deve estar vazio.
Como disse no início, este é um artigo MUITO introdutório. Outros artigos continuarão este, seguindo os passos iniciais de quem se aventura pela primeira vez pelos caminhos Linux. 

Linux, e agora?
A grande vantagem do Linux frente a outros sistemas está no fato de poder usá-lo desde os desktops até o servidor em todo o ambiente de trabalho. E como isso é possível? Linux suporta quase todos os serviços que um usuário necessita. Por exemplo, um administrador pode instalar Linux em um PC e usar para processar textos, navegar na internet, trocar arquivos e jogar games off e on-line. Isto é possível por meio de pacotes incluídos na distribuição ou em pacotes baixados da net. Isto além do fato de estar disponível em diversas arquiteturas.
Instalar o Linux para um usuário comum é agora (quase) tão fácil como qualquer outro sistema operacional. A maioria das distros já oferecem conjuntos de softwares totalmente funcionais, como processadores de textos, e-mail, navegador da internet, transferência de arquivos, suporte à impressão, apresentações, e quase todos os tipos de programas oferecidos por sistemas concorrentes. Linux e usuário comum: cada vez mais próximos.
Processador de Textos e Planilhas Eletrônicas
Um PC com um sistema da Microsoft pode usar o Microsoft Word como processador de texto, enquanto um sistema Linux pode usar o BrOffice - ou uma grande quantidade de outros programas equivalentes. Usando Linux em vez de Windows, alguns problemas podem surgir quando usar o processador de texto e precisar transferir de uma máquina para outra com Windows, tendo em vista a incompatibilidade de tais softwares. Mas os incansáveis trabalhadores open source têm vencido essa barreira, gerando programas cada vez mais compatíveis, à revelia dos sistemas concorrentes.
Em algumas empresas, as planilhas têm papel central no ambiente de trabalho. Com o Linux, os usuários podem criar planilhas profissionais de alta qualidade, com programas como BrOffice Calc, Kspread, ou tantos outros disponíveis. Com tais programas, o Linux é capaz de prover a compatibilidade necessária com outros programas usados em outros sistemas. Mais uma vez, o Linux tem vantagens no uso empresarial.
Web e E-mail
Usuários Linux podem navegar na net tão facilmente como 'navegam' por seus arquivos pessoais em suas próprias máquinas. Mas alguns problemas podem surgir, tendo em vista que alguns sites são projetados tirando proveito de características específicas de determinado navegador.
Se um determinado browser não compreende uma determinada informação, ele provavelmente não exibirá a página de maneira correta, pelo menos em parte. Mas com a popularidade do Linux em crescimento, é esperado que os desenvolvedores para a web projetem os sites cada vez mais 'universais', afastando-se de especificações para determinado navegador.
Muitos programas gerenciadores de e-mail estão disponíveis, como o Kmail. Embora eles funcionem bem para a maioria dos usuários, talvez ocorram os mesmos problemas relacionados com os navegadores web. No entanto, os programas disponíveis em Linux já são robustos o suficiente para lidarem com a grande maioria das operações, tornando relativamente suave as atividades na área. 
Servidores: DNS
O Linux é tipicamente usado como servidor no ambiente empresarial, em vista de sua grande estabilidade e inteireza como sistema operacional. Como o Linux é um sistema 'derivado' do UNIX, pode realizar quase todas as atividades de um servidor UNIX. E como o MS Windows provê muitos serviços similares, pode-se usar o Linux para realizar tais tarefas em vez de sistemas Microsoft.
Além disso, como o Linux é bastante estável, é bastante útil para clusters de companhias maiores e de serviços críticos. É especialmente usado para aplicações da net serviços tais como DNS, firewall, e-mail, proxy, FTP, servidor de impressão, dentre muitos outros.
Quando você instala um servidor Linux, o DNS (Domain Name System) é uma das muitas opções disponíveis. DNS 'resolve' nomes de sistemas para endereços IP. Isso é um serviço importante, porque permite que usuários conectem máquinas usando nomes em vez de um estranho código IP, que pode facilmente ser esquecido.
Este serviço consiste em dados DNS, servidores DNS, e protocolos de internet para retornar dados dos servidores. Arquivos fontes são disponibilizados para cada host pelo diretório DNS, usando arquivos-texto especiais, organizados em zonas. Zonas são mantidas em servidores autorizados que distribuem por toda a net, que respondem às solicitações de acordo com protocolos de rede DNS.
A maioria dos servidores possuem autoridade para algumas zonas, e a maioria dos servidores apenas para algumas poucas zonas. Mas grandes servidores têm autoridade para dezenas de milhares de zonas. Por quebrar o DNS em zonas menores e então em domínios, o 'peso' sobre as máquinas é diminuído. Isto também facilita a organização da internet, pois não há necessidade de concentrar toda informação em um único servidor.
Tendo em vista a configuração hierárquica, uma organização pode estabelecer um servidor DNS para controlar o acesso à rede organizacional, o que pode ser feito com um servidor Linux.
Servidor Web
Enquanto DNS resolve um nome para um endereço IP, permitindo que usuários se conectem à net, um servidor web provê a página web. O software mais popular que usuários Linux para oferecer as páginas web é o Apache Web server. Apache existe para prover um software de nível comercial capaz de prover HTTP, um padrão para criação de documentos serem visto na net.
Servidor de E-mail
E-mail é um dos serviços mais importantes para o usuário final. Existem vários softwares para auxiliar nesta tarefa, como o Sendmail. O Linux também suporta produtos comerciais.
Servidor de Arquivos
O Linux é uma plataforma excelente para prover acesso a sistemas de arquivos, podendo ser locais ou remotos. Servidores de arquivos são uma necessidade nos nossos dias para ambientes empresariais, tendo em vista a facilidade dos usuários comuns acessarem com segurança seus dados em um ambiente centralizado. Este servidor de arquivos podem ser solicitados por outro Linux, UNIX, Microsoft, Apples, etc.
A possibilidade de usar o Linux como um servidor de arquivos em rede é comparável ao UNIX. UNIX usa o Network File System (NFS) para montar um sistema de arquivos remoto e tratá-los como se tais arquivos ou diretórios fossem locais. O Linux usa um pacote de softwares NFS, que inclui comandos e daemons (programas auxiliares) para NFS, Network Information Service (NIS), e vários outros serviços.
Trabalhar com NFS normalmente exige que cada sistema seja configurado para acessar cada recurso com um arquivo de configuração. A inclusão de NIS no Linux permite que o servidor mantenha os arquivos de configuração para a rede inteira. Isto torna a administração dos recursos da rede mais fácil, porque apenas os arquivos NIS devem ser atualizados, e não todo o cliente. É natural esperar que o Linux ofereça serviços para outros clientes Linux ou UNIX, mas e o que dizer de clientes Windows?
A Microsoft criou o protocolo Server Message Block (SMB) , que oferece a condição de trocar arquivos e recursos. SMB foi criado para ser usado em uma pequena rede local (LAN), não oferecendo sustentação para grandes redes. Em vista disso, a Microsoft criou o Common Internet File System (CIFS), baseado em SMB e também em Network Basic Input Output System (NetBIOS).
Para que o Linux trabalhe junto a clientes Microsoft, é preciso ou que um software 'tradutor' esteja rodando em cada cliente ou que o software Linux para rede compreenda os protocolos Microsoft. Surge então o Samba, um programa criado por Andrew Tridgell, que permite a clientes Linux se comunicar com recursos Microsoft usando o protocolo SMB. Samba é open source, e pode ser encontrado em www.samba.org.
Servidor de Firewall
Um firewall protege os recursos de uma rede privada de um acesso não-autorizado de uma rede externa. Um firewall típico é geralmente criado em um roteador, ou um computador colocado especialmente para isso, que age como uma porta de entrada-saída para separar a rede externa da rede interna.
Isto cria um caminho seguro, onde apenas requisições autorizadas são permitidas para a entrada na rede interna. Uma máquina barata usando Linux com uma conexão com uma rede externa e outra com a rede interna pode ser usada como um firewall.
O Linux oferece muitos recursos para criar firewall, com ipchains, Netfilter. Firewalls são muito importantes, e devem ser constantemente atualizados e testados. Claro, a qualidade do serviço de um firewall é tão boa quanto a habilidade de quem o administra. 
Linux versus outros Sistemas Operacionais
Como já sabemos, o Linux é um sistema multiusuário real e possui capacidade de multiprocessamento. Portanto, sai-se bem quando comparado com outros sistemas. A prova maior é seu uso crescente ao redor do mundo, como visto nos casos abaixo.
Uso na Web: O Google é um ótimo exemplo da habilidade do Linux de competir com outros sistemas. O Google é um sistema de busca que 'domina' a net, e roda sob um cluster Linux. Cerca de 60 por cento dos servidores Web rodam Apache, que é completamente suportado por Linux, oferecendo toda a eficiência e confiabilidade de um servidor UNIX. Suas habilidades são tantas, que é usado tanto como servidor como desktop.
Instalação: A instalação de um sistema Linux é comparável a outros sistemas Mac, Windows, etc. Todos esses sistemas oferecem uma interface amigável, que permite a instalação do sistema operacional com muito pouca intervenção do usuário. O fato da Microsoft incluir um número relativamente grande de drivers para suporte inicial já na instalação torna o Windows mais atrativo para usuários não-especialistas, dando uma certa vantagem nesta área. Porém a distância não é lá tão grande, e aqueles já iniciados podem inclusive realizar pela linha de comando, recebendo uma variedade de opções deveras interessante.
Estabilidade: Após a configuração, a estabilidade do sistema operacional é uma questão claramente relevante. Como o Linux é 'tipo-UNIX', recebe muitos benefícios advindos de tal sistema. O UNIX sempre foi considerado um dos mais estáveis sistemas operacionais, e o Linux é evidentemente do mesmo nível esperado. Os sistemas Microsoft são normalmente considerados menos estáveis; mas vem avançando em busca de conquistar confiabilidade. É evidente, porém, que UNIX e Linux são considerados a melhor escolha para serviços que exijam estabilidade.
Novas tecnologias: Como o Linux é suportado por uma gigantesca comunidade de voluntários, novos drivers e novas tecnologias têm sido rapidamente absorvidos, embora nem sempre esta regra seja seguida. Por exemplo, em alguns dispositivos 'made for Windows', problemas podem realmente surgir. No entanto, a comunidade sempre corre por fora, buscando o melhor suporte possível. E enquanto outros sistemas frequentemente abandonam o suporte para hardware antigo, o Linux continua a prover aplicações úteis para tais.
Custo: Finalmente, e talvez o caso mais importante, o custo de 'todos' os sistemas operacionais é um ponto vital. O Linux é livremente distribuído, e pode ser instalado em muitos desktops ou servidores da forma que o usuário desejar. A Microsoft de forma perene tem usado uma licença unitária para licenciar seus sistemas, cujos usuários são 'forçados' rotineiramente a re-licenciar para adquirir novas versões. Claramente, o Linux é o forte vencedor neste ponto, pois mesmo com distribuições suportadas por profissionais remunerados, o custo é absurdamente menor quando comparado com outros sistemas. É claro que o custo da licença não é o único: há o suporte, treinamento, etc. Mas, a longo prazo, todos os sistemas são mais ou menos 'dispendiosos', enquanto o Linux leva a uma economia interessante. Quando somado ao seu desempenho, Linux é o primeiríssimo lugar.
Distribuições e Pacotes
Nem todo serviço ou aplicação estão disponíveis em todas as distribuições. Se o programa não está disponível em uma, é normalmente oferecido na internet. Os pacotes de softwares são necessários e úteis para todo usuário. Abaixo segue uma lista com alguns sites que oferecem tais pacotes.
  • http://www.apache.org
  • http://www.abiword.org
  • http://www.konqueror.org
  • http://www.linux.org
  • http://www.linuxdoc.org
  • http://koffice.kde.org

Nenhum comentário:

Postar um comentário