Roteiro 3: Sistemas Linux arquivos e diretórios Objetivos Detalhar conceitos sobre o sistema operacional Linux; Operar comandos básicos de sistemas Linux em modo Texto; Realizar a manutenção de arquivos e diretórios; Ferramentas Necessárias vmware ou VirtualBox, Imagens de sistemas Linux Introdução Neste roteiro serão realizadas práticas com uso de máquinas virtuais voltadas para a utilização de sistemas Linux. O estudo sobre conceitos de sistemas Linux é importante para a compreensão da utilização de softwares através de linhas de comando e configuração dos mesmos através de arquivos texto, além de permitir a interação com um sistema operacional bastante seguro e líder no mercado em utilização como servidores. O sistema Linux sempre foi muito utilizado para instalações onde eram necessários servidores de rede e aplicações que necessitassem funcionamento constante. Existem várias versões do sistema Linux, mas todas seguem uma variante que é ramificada nas seguintes distribuições: Debian: conhecido pelos pacotes APT; Red Hat: Criadora dos pacotes RPM. Slakware: O mais parecido possível com UNIX; As demais distribuições seguem o padrão de cada distribuição citada, padronizando os gerenciadores de pacotes, estrutura de diretórios até a sua interface gráfica. O Linux Ubuntu, por exemplo, é uma destas distribuições que são padronizadas a partir da distribuição Debian e é utilizada por boa parte da comunidade de usuários de software livre. Atualmente a maioria das distribuições oferecem recursos para interagir com o sistema em formato visual, onde se pode executar várias tarefas da mesma forma que sistemas Windows como configurações, manutenção de arquivos, instalação de programas, etc. A Figura 1 ilustra a visualização da área de trabalho Linux. Figura 1 - área de trabalho Linux do Ubuntu Nos menus superiores, são encontrados aplicativos, ferramentas de sistema, gerenciamento de documentos, etc. Mas a parte gráfica de sistemas Linux nunca foi o seu foco, na realidade as principais tarefas, instalações, automatizações e demais tarefas sempre foram realizadas em modo texto. Uma das formas de interagir com o sistema via linha de comando é utilizando o terminal, encontrado no menu Aplicativos / Acessórios / Terminal. O terminal é um dos vários canais de comunicação com o sistema operacional Linux em modo texto, sendo possível de testarmos todos os comandos que são executados em linha de comando. A Figura 2 demonstra a tela de terminal sendo utilizada. Pág 7
Figura 2 - Terminal no linux ubuntu No terminal é necessário executar comandos para qualquer tarefa que seja necessária, alguns dos comandos se parecem com comandos utilizados no sistema MS-DOS, do windows. Um comando bastante utilizado é o comando ls, utilizado para listar o conteúdo de um diretório. Atenção: Em servidores Linux é comum realizar a manutenção e operação dos sistemas Linux utilizando o protocolo SSH (secure shell), onde é aberta uma sessão entre o cliente e o computador destino permitindo realizar qualquer comando que seria executado no computador de destino. A partir de sistemas Windows isto pode ser realizado com auxílio do software putty, que realiza a abertura da sessão. Os diretórios em Linux seguem um formato diferente para quem está acostumado a sistemas Windows, inclusive a forma de armazenar programas e dados de usuários não é a mesma, porém segue a mesma diretriz de separar os dados pessoais de usuários, por exemplo, no diretório /home, a figura Figura 3 ilustra a estrutura de diretório comum a maioria das distribuições Linux. Figura 3 - estrutura de diretórios linux Pág 8
Exemplo de alguns dos principais diretórios e as suas características: /etc Contendo os arquivos de configuração dos sistemas e dos programas instalados; /var contendo as filas de e-mail e impressão, que são muito manipuladas. Há também os arquivos de log, cujo conteúdo está em constante alteração e crescimento. /usr Programas, códigos fonte e documentação. O ciclo de alteração destes arquivos é longo. /tmp Espaço utilizado por programas. Uma partição distinta para /tmp impedirá que dados temporários ocupem todo o espaço no diretório raiz, causando travamento do sistema. Sendo assim não necessita de backup. /home Armazena os diretórios pessoais de usuários. Uma partição distinta ajuda a limitar o espaço disponível para usuários comuns. /media Contendo os pontos de montagem para mídias removíveis, como cd s, dvd s, etc. /tmp - Contendo os arquivos temporários gerados pelo sistema. Aqui são gravados quaisquer tipos de arquivos que podem ser excluídos futuramente ou que não possuem tanta importância para o sistema. Pág 9
Manipulação de diretórios e arquivos Uma das principais tarefas de um sistema operacional é permitir a manutenção de seus arquivos e diretórios. Em sistemas Linux existem comandos para fazer copiar, mover, listar conteúdos e também existem parâmetros de comandos que auxiliam o administrador a realizar tarefas mais complexas. Na Tabela 1 estão alguns comandos utilizados para realizar a manipulação de diretórios. OBSERVAÇÃO: Comando MKDIR RMDIR MV CP WGET Todos os comandos devem ser digitados em letras minúsculas Descrição Cria um diretório no local atual Remove o diretório selecionado (informando o nome após o comando) Move ou renomeia diretórios Copia um diretório Copia um arquivo a partir de um endereço URL para o diretório corrente Tabela 1 - comados para manipulação de diretórios Observação: Todos os comandos Linux, assim como no sistema MS-DOS podem consultar também um recurso de ajuda. Para isto é necessário utilizar o comando MAN NOMECOMANDO. Em sistemas Linux os comandos digitados são CASE SENSITIVE, ou seja, sensíveis a maiúsculas ou minúsculas, portanto devem seguir estritamente a sua sintaxe. Tarefas 1) Realizar o donwload da máquina virtual tiaomacale2.zip, disponível em ftp://192.168.200.3, descompactar o arquivo e inicializar a vm no vmware. a. Configure a vm para que execute sua rede em modo bridge; b. Com o comando ifconfig, verifique o ip de seu computador; 2) Com o comando man, determine a função dos seguintes comandos: Comando Significado Exemplo de uso (com 1 parâmetro + significado) rm cd pwd clear ls la ls l touch cat vi nomearquivo nano nomearquivo Ifconfig ping 3) No mundo Linux, operar computadores através de linhas de comando é muito comum. Qualquer tarefa pode ser realizada através um terminal de comandos. Para abrir uma sessão SSH (secure shell)e utilizar um terminal isto é possível com uso do software putty ou do próprio llinux. a. Faça o download do aplicativo para Windows putty, disponível em http://192.168.200.3/andre/ads/introd_inf/2012-1/softwares/putty.exe b. Abra o putty e configure uma sessão ssh direcionada para o ip de seu comptador; c. Abra outra sessão putty e abra uma sessão ssh direcionada para o endereço ip de seu colega; Pág 10
4) Todos os comandos utilizados para listar diretórios e criar ou editar arquivos podem ser utilizados diretamente do / (raiz do sistema). É recomendável que sejam feitos os comandos utilizando sempre o caminho completo utilizando a tecla TAB para realizar o auto completar dos comandos e diretórios digitados. a. Vá para o diretório raiz (/), acesse o diretório /tmp e crie um diretório de nome ads, vá para o diretório raiz novamente, crie a partir do raiz o diretório /ads/introducao Liste os diretórios do diretório /ads; b. Em /ads crie os diretórios logica, sistemasinf, matematica, organizacao; c. Com o comando touch, crie um arquivo com nome erp.txt No diretório /ads/sistemasinf; d. Copie o arquivo /ads/sistemasinf/erp.txt para /ads/introducao/impress.txt; e. Crie os seguintes arquivos /ads/introducao/power-point.txt, /ads/logica/java.txt; f. Utilizando o comando wget faça o download de 3 imagens quaisquer da internet para o diretório /tmp. g. Copie todas as imagens para o diretório /ads. 5) Assim como no Windows, os diretórios Linux podem ser copiados ou excluídos juntamente com o seu conteúdo interno. Para isto utilizam-se os parâmetros dos comandos de cópia. a. Copie o diretório /ads e todo o seu conteúdo para /ads-copia; b. Renomeie o diretório /ads-copia para /ads-remover; c. Remova o diretório /ads-remover juntamente com todo o seu conteúdo interno; 6) Os editores de arquivos são ferramentas muito úteis quando se trabalham em sistemas Linux, pois as configurações que delimitam o comportamento dos programas são baseadas em arquivos texto. Os editores Linux mais conhecidos são o nano (antigo pico) e o editor vi. Exemplo de edição de arquivo: nano nomearquivo. a. Editar com nano o conteúdo do arquivo /ads/logica e inserir nomes de 2 comandos java, salvar o arquivo em seguida; b. Visualizar o conteúdo do arquivo /ads/logica com o comando cat; c. Editar com nano o conteúdo do arquivo /ads/sistemasinf/erp.txt e sair do arquivo sem salvar. d. Editar com vi o conteúdo do arquivo /ads/sistemasinf/erp.txt e incluir 3 linhas com texto salvando o arquivo e saindo; e. Editar o arquivo /ads/introducao/linux.txt com nano, inserir o nome de 3 distribuições Linux salvar o arquivo. Referências Material disponível no mussum Livro Manual Completo do Linux Guia do administrador, Evi nemeth, Garth Snyder. Acessar a ajuda dos comandos referentes com uso do comando man nomecomando no terminal Linux; Vivaolinux home page, disponível em http://www.vivaolinux.com.br Guia LPI 1 -http://192.168.200.3/emmonks/ext_linux/material/guia%20lpi_101.pdf Pág 11