Ao iniciar um sistema Linux, geralmente muitas informações aparecem na tela. Estas informações são o que chamamos de mensagens do kernel. Estas mensagens mostram o que está sendo carregado na memória do sistema, como por exemplo dispositivos de disco, CDs, drivers de rede, entre outros. Estas mensagens são muito importantes, pois no futuro irão ajudar a diagnosticar problemas, ver o que está sendo reconhecido pelo kernel, entre outras coisas mais.
Pode ser que em sua distribuição de escolha, as mensagens não apareçam, ou então uma janela gráfica aparecerá no lugar. Neste caso, para visualizar as mensagens de boot posteriormente, utilize o seguinte comando:
$ dmesg
Todas estas mensagens do kernel também são gravadas no arquivo /var/log/messages, mas este arquivo só pode ser lido pelo administrador do sistema (root).
Logo após as mensagens de kernel, o init entra em ação. O init é o encarregado de iniciar todos os serviços da distribuição, como serviços de impressão, fontes, configurações de teclado e mouse, interfaces de rede, entre muitos outros. Para fins de informação, estes scripts de serviços se encontram geralmente no diretório /etc/init.d.
É importante observar a inicialização do Linux para ver se está tudo ok, se os serviços não deram erros ou se algo que não é preciso está sendo iniciado.
Login e Linha de Comando
Após todas as mensagens de boot, o sistema irá pedir uma tela de login de 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.
Na instalação, geralmente se escolhe uma senha para o root e também é criado um usuário normal. Logue-se como root ou como usuário normal usando o nome do usuário e a senha escolhida. Neste curso, a senha do usuário root é poder e o usuário normal é o eitch, com a senha digital. Novamente, dependendo da sua configuração inicial de distribuição, você irá acessar a interface gráfica ou o console (modo texto).
Se você está no modo gráfico, primeiro vamos trabalhar no modo texto. Aperte a combinação de teclas: CTRL+ALT+F1. A tela de login no modo texto será apresentada, logue-se com o usuário eitch. Feito o login, você estará logado e receberá um prompt de comando, o qual chamamos de shell:
eitch@maquina:~$
ou
[eitch@maquina ~]$
A diferença entre tipos de prompts variam de distribuição para distribuição. No caso acima, o primeiro campo de cada prompt representa o usuário, que no nosso caso é “eitch”. O segundo campo especifica o nome da máquina, que no exemplo são respectivamente aluno1 e aluno2 (portanto, duas máquinas diferentes). O terceiro campo é o diretório em que o usuário se encontra, no nosso caso o “~”, que significa o diretório padrão do usuário.
O último caracter do prompt, que no nosso caso é o “$”, significa que tipo de usuário você é e tem apenas duas possibilidades: “$”, que significa usuário normal; e “#”, que significa super-usuário (root). O modo com que o prompt é apresentado pode ser controlado através da variável de shell PS1.
O modo texto, por padrão nas distribuições, está disponível em 6 telas diferentes. Em cada uma das telas é possível abrir uma “sessão” de usuário. Experimente apertar a combinação de teclas CTRL+ALT+F1, CTRL+ALT+F2, CTRL+ALT+F3, [...] até CTRL+ALT+F6. Isto o levará para os consoles de número 1, 2, 3, 4, 5 e 6. A partir do 7, o Linux reserva especialmente para as interfaces gráficas funcionarem.
Apesar de parecer rudimentar, o ambiente texto possui tudo o que é preciso para usar um sistema operacional. Dependendo do que se usa, é completamente viável utilizar o sistema sem uma interface gráfica. Podemos utilizar o links para navegar na Web, ler e-mails com o mutt, editar textos com o vi, emacs ou nano, criar tarefas automatizadas com o shell-script e muito mais.
Modo Gráfico
Inicialmente, o Linux como todo UNIX tinha como interface principal entre o usuário e o sistema um terminal texto, o chamado console. Ao longo do tempo, foram desenvolvidas várias soluções que implementavam uma interface gráfica, com o conceito de mouse e janelas. Apesar disso, as pessoas não costumavam usar as interfaces gráficas dos sistemas Unix e por isso nunca houve uma grande aceitação.
Com a popularização do Linux por ele ser um software livre e estar disponível para toda a Internet, alguns ambientes gráficos promissores começaram a aparecer. Em todas as distribuições Linux é incluído o X.org, um servidor X totalmente gratuito e de código-aberto. O servidor X é quem vai fornecer o recurso de gerar a interface gráfica e conversar com a placa de vídeo, monitor e dispositivos de entrada como teclado e mouse. Para que haja um desktop, é necessário também a existência de um gerenciador de janelas.
Os gerenciadores de janelas são responsáveis por gerar as janelas, controlar o comportamento das mesmas (minimizar, maximizar…), agrupar e gerenciar as telas dos programas, fornecer temas gráficos para o ambiente ficar mais agradável, entre outros. Os gerenciadores de janelas utilizam as bibliotecas gráficas do servidor X para gerar suas janelas. Sem um gerenciador de janelas, é inútil se usar um servidor X.
Se você estiver no modo texto e o servidor X estiver ativo, aperte a combinação de teclas CTRL+ALT+F7 para ir ao modo gráfico. Como dito anteriormente, o Linux por padrão reserva os terminais 7 em diante para o modo gráfico. Se existisse um outro ambiente gráfico sendo executado (o que é possível), ele poderia estar também no terminal 8, podendo ser acesso através da combinação de teclas CTRL+ALT+F8.
Caso aconteça algum problema no servidor X, ou alguma configuração que você fez estiver errada e algo ficar inacessível, a combinação de teclas CTRL+ALT+BACKSPACE mata o servidor X, forçando a saída de todos os programas do gerenciador de janelas e voltando ao modo texto.
Dentro do ambiente gráfico, pode-se executar programas como navegadores de Internet, leitores de e-mail, suíte de escritório, jogos, editores de imagens, entre muitos outros programas que já vem no Linux. É possível também executar uma janela de terminal, que seria o equivalente a se logar no modo texto.
Conceito de Multi-Usuário
Como você pôde notar através das possibilidades de login, o Linux é o que chamamos de multi-usuário. Para um sistema ser multi-usuário, ele deve ser capaz de abrir sessões de vários usuários simultâneamente. Foi o que ocorreu anteriormente, quando pudemos nos logar em 6 terminais textos diferentes, com usuários distintos, e uma vez no ambiente gráfico.
Apesar de que no começo podemos nos logar “apenas” em 7 lugares diferentes, pode-se muito bem criar outras formas de login e aumentar esse número. Por exemplo, ao utilizar o utilitário ssh para acesso remoto, temos a possibilidade de nos logar com quantos usuários quiser, pois cada conexão é um login diferente.
Sabendo disso, podemos afirmar também que em termos de sistema operacional, tudo dentro do Linux é multi-usuário. Cada usuário tem seus arquivos, seus diretórios e seus programas. Cada um pode executar tarefas diferentes e simultâneamente. Isso é o que chamamos também de ser multi-tarefa.
Por exemplo, você pode consultar um arquivo texto que está em um certo diretório, enquanto outro usuário acessa um CD-ROM, enquanto outro navega pela Internet, tudo ao mesmo tempo. Apesar deste conceito parecer comum, em tempos passados haviam sistemas mono-tarefas e mono-usuários, onde só se podia executar uma coisa de cada vez, com apenas um usuário.
É importante ressaltar que com essa divisão por usuários, os arquivos e programas também terão restrições. O usuário principal do Linux é chamado de root e ele é o usuário que pode acessar, controlar e fazer tudo no sistema: o administrador. Enquanto os usuários normais só poderão acessar seus documentos e executar apenas algumas aplicações, o root poderá fazer tudo, inclusive definir quais usuários poderão fazer o quê.
Uma prática comum e importante no Linux é nunca utilizar o usuário root, a não ser que seja para tarefas realmente administrativas que requerem o root. É recomendável que você crie um usuário comum e use-o para as tarefas do dia-a-dia. Como todos nós podemos cometer erros, cometendo um erro como usuário normal não fará mal algum ao sistema como um todo, já que só o root pode alterá-lo.
O usuário de uma sessão geralmente é identificado pelo seu UID (User ID): um número único que identifica o usuário. Este número é geralmente associado com um nome de usuário. Uma vez logado no sistema, uma maneira de descobrir posteriormente quem é o seu usuário é utilizando o comando id:
$ id
uid=1002(eitch) gid=1002(eitch) groups=1002(eitch)
Localizações e Diretórios
Quando se faz login com um usuário no Linux, o usuário “cai” no seu diretório, que chamamos de diretório HOME. Por exemplo, ao se logar com o usuário eitch, o usuário ao abrir uma shell vai estar localizado no diretório /home/eitch. Apesar disso não ser muito visível no ambiente gráfico, em um terminal é bastante importante.
O conceito de pastas e diretórios, no Linux, segue em forma de uma única árvore hierárquica. Ou seja, tudo parte de uma raiz, que seria o tronco da árvore, e a partir desta raiz vão haver os diretórios e sub-diretórios. A raiz do Linux é o diretório “/”, então todos os diretórios dentro dele vão começar com o símbolo “/”.
Por exemplo, o diretório HOME do usuário eitch é /home/eitch,. Vamos supor que existam outros usuários dentro do sistema, um chamado aluno, outro chamado usuario e outro chamado professor. Escrevendo em forma de árvore, seria o mesmo que:
Raiz (/)
\-home
\-eitch
\-documentos
\-programas
\-aluno
\-usuario
\-professor
\-bin
\-tmp
Note que dentro do diretório /home/eitch, temos os diretórios documentos e programas. Dentro do /home temos os diretórios eitch, aluno, usuario e professor (diretórios HOME de usuários). Dentro da raiz (/) temos outros diretórios além do home: bin, tmp.
Estes últimos diretórios fazem parte do padrão de uma distribuição Linux, definido pelo FHS, discutido anteriormente. Cada diretório dentro da raiz tem uma função distinta, então podemos dizer que a estrutura de diretórios no Linux é dividida da seguinte forma:
- /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, cp, mv e muito mais. São os comandos essenciais, utilizados por todos os usuários.
- /boot
Arquivos de inicialização, como os mapas de boot, arquivos do gerenciador de boot e as imagens do kernel Linux que são carregados logo após a inicialização do computador.
- /dev
Referências aos dispositivos do sistema. O conteúdo deste diretório não é composto por arquivos comuns, mas sim arquivos especiais que representam dispositivos, como partições em discos, cd-rom, terminais, portais seriais, entre outros.
- /etc
Configurações do sistema e suas aplicações. Contém todos os arquivos de configuração dos principais (senão todos) programas do sistema. Por exemplo: arquivos de usuários e senhas, scripts de inicialização, configurações de rede, configuração do modo gráfico, entre outros.
- /home
Diretório dos usuários. Uma espécie de casa para cada usuário colocar seus arquivos e programas, separados do resto do sistema.
- /lib
Bibliotecas essenciais para o funcionamento do sistema (como a biblioteca C, bibliotecas do sistema de arquivos, entre outros), além dos módulos do kernel.
- /media
Ponto de montagem para dispositivos removíveis como pen-drives e cds.
- /mnt
Ponto de montagem genérico.
- /opt
Diretório utilizado para aplicações de terceiros, que não seguem o padrão de hierarquia do Linux e não são suportados pela distribuição em forma de pacotes.
- /proc
Diretório especial que contém pseudo-arquivos (não existem na verdade) com informações sobre os processos do sistema e o hardware do computador.
- /root
O diretório HOME do usuário root, administrador do sistema.
- /sbin
Parecido com o /bin, porém com utilitários do sistema que geralmente só podem ser manipulados pelo usuário root. Exemplos: fsck, ifconfig, depmod, etc. Apesar dos usuários comuns geralmente terem acesso à estes executáveis, os programas deste diretório só tem poder completo se forem executados como root.
- /sys
Informações sobre todo o hardware e dispositivos do computador, fornecido pelo kernel.
- /tmp
Diretório temporário, onde os programas e usuários criam arquivos com informações que podem (e devem) ser removidas logo após o seu uso. Neste diretório, todos os usuários (independente do nível) podem criar e remover arquivos.
- /usr
Esta é uma sub-hierarquia. Enquanto a raiz pode ser considerada para os programas essenciais ao sistema, o /usr pode ser considerado a hierarquia para os programas opcionais de uma distribuição Linux. Ele contém diretórios como bin, sbin e lib, aos quais seguem o mesmo padrão da raiz, só que para estes programas específicos, ao invés dos programas considerados essenciais do sistema.
- /usr/local
Uma outra hierarquia, da mesma forma que o /usr, só que para programas de terceiros, instalados manualmente, fora dos padrões da distribuição. Geralmente os programas que são compilados e instalados manualmente vão parar por aqui.
- /var
Contém informações variáveis, ou seja, que estão mudando a todo momento. Exemplos disso são dados de bancos de dados, caches de servidores proxy, arquivos de lock, e-mails e logs do sistema.
- /var/log
Contém os logs do sistema e suas aplicações. É o ponto de partida para começar a identificar um problema no sistema, então é muito bom lembrar dele.
Buscando Ajuda
O que você faz quando está confuso com algum comando? Ou não entendeu bem o funcionamento de um certo programa? Ou quer se aprofundar mais em um assunto dado no treinamento? As distribuições Linux contam com vários meios de se obter ajuda e resolver problemas. Caso você não tenha sempre disponível alguém para perguntar, que tal perguntar aos recursos oferecidos no sistema e na Internet?
As páginas de manual
Ao se deparar com algum comando novo, você não sabe como ele funciona, quais são seus parâmetros, o que ele faz exatamente? Há uma maneira bem fácil de entender melhor e de forma detalhada os comandos: com as páginas de manual (man pages). Cada comando tem sua página de manual e dentro destas páginas há uma descrição do comando, para que ele serve, quais são seus parâmetros, bugs conhecidos, quais são seus autores, arquivos e outros comandos relacionados. Para acessar uma página de manual, utilize 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 todos os seus parâmetros e funções. Este recurso é muito bom porque o usuário consegue uma ajuda bem rápida e precisa, além de servir como uma referência sempre disponível no sistema.
Nas páginas de manual, é possível utilizar as setas para navegar no documento para cima e para baixo, utilizar as teclas PgUp e PgDown para paginar, o comando /pesquisa para pesquisar por uma palavra no documento e a tecla q para sair.
Documentos disponíveis
Um recurso muito bom para ser utilizado são as várias documentações do Linux. Se você tiver instalado toda a documentação do sistema, poderá encontrá-los no diretório /usr/share/doc. Neste diretório você encontra os arquivos de documentação de todos os pacotes instalados no sistema. Podemos encontrar também os HOWTOs, que ensinam a fazer algo em específico. Também há os FAQs que respondem às dúvidas frequêntemente perguntadas pelos usuários e alguns históricos de listas de discussões.
Sobre os HOWTOs, o site oficial para todos os HOWTOs relacionados ao Linux é o The Linux Documentation Project, disponível no endereço: http://www.tldp.org.
Ler a documentação é indispensável para o aprendizado de novos conceitos e na especialização de certos recursos que o Linux pode oferecer. Apesar da grande maioria dos documentos estarem em inglês, há também vários deles traduzidos para o Português do Brasil.
Comandos para Ajuda
Além do comando man podemos contar com uma série de outros comandos que ajudam no dia-a-dia. Temos o comando 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 (atualizado todo dia de madrugada pelo sistema, ou pelo comando updatedb como root). Há também o whatis que procura no banco de dados (criado pelo comando makewhatis) algum comando relacionado a uma certa palavra. Estes comandos vão certamente ser companheiros nas horas de aperto.
Sites e Fórums
A Internet se provou um ambiente bastante propício para a troca de informações. Seguindo o conceito do software livre, o conhecimento também deve ser compartilhado! E é isto o que acontece em uma grande lista de sites sobre Linux. No Brasil, podemos citar alguns sites como referência:
- BR-Linux – http://br-linux.org – Blog de notícias sobre software livre, tecnologia e Linux.
- Dicas-L – http://www.dicas-l.com.br – Site com dicas diárias sobre software livre e Linux.
- Guia FOCA Linux – http://focalinux.cipsga.org.br – Manuais detalhados sobre Linux.
- Softwarelivre.org – http://www.softwarelivre.org – Site do Projeto Software Livre Brasil.
- VivaOLinux – http://www.vivaolinux.com.br – Site com tutoriais, artigos e fóruns sobre Linux.
- Guia do Hardware – http://www.guiadohardware.net – Site com vários tutoriais, artigos e fóruns sobre Linux e outros assuntos da Informática.
Listas de discussão
Listas de discussão são muito utilizadas no mundo todo. Com elas podemos tirar dúvidas, conversar e trocar e-mails com uma grande quantidade de pessoas. É um recurso bastante usado principalmente pelos projetos de programas e distribuições, além de grupos de usuários.
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, tentar encontrar alguém que saiba a resposta para a sua dúvida. Mas lembre-se sempre de ser educado, escrever o bom português e perguntar de maneira adequada. Algumas listas de discussão em português:
- Debian User Portuguese – http://lists.debian.org/debian-user-portuguese
- Linux-BR – http://linux-br.conectiva.com.br/mailman/listinfo/linux-br
- Fedora Users BR – https://www.redhat.com/mailman/listinfo/fedora-users-br
- Grupo de Usuários Slackware Brasil – http://groups.google.com/group/slack-users-br/web/welcome
- Ubuntu-BR – https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
- PSL-BR – http://listas.softwarelivre.org/mailman/listinfo/psl-brasil
0 comentários :
Enviar um comentário