4. Módulo Intermediário Introdução Estaremos aprendendo como editar um arquivo, configurar um pouco mais o sistema. Entender o que são servidores. Saber comandos intermediários, para a manipulação e configuração de um Linux. Colocarmos o nosso linux como gostariamos que ele ficasse.
5. Módulo Intermediário Editores de Texto No modo texto, prompt temos como editar, criar arquivos de configuração, ou até mesmo arquivos comuns para o nosso dia a dia. Estaremos aprendendo um pouco sobre os editores de texto mais comuns entre as ditribuições Linux.
6. Módulo Intermediário vim O vim vem de ,"vi" é a sigla para " V isual I nterface". O vim é um dos editores de textos mais utilizados no mundo Unix. Em alguns sistemas, existe um link simbólico (/bin/vi) apontando para o /usr/vim. Em outros, o /bin/vi é o executável, só que executa diretamente o vim. Muita gente acha que usa vi, mas na verdade utiliza o vim, e eles têm algumas diferenças.
7. Módulo Intermediário Modo de inserção do vim Para identificar o modo (estado) do vim, basta visualizar o rodapé da tela. $ vim => Abre o vim vazio, sem nenhum arquivo e exibe a tela de apresentação. $ vim arquivo => Abre o arquivo de nome "arquivo".
8. Módulo Intermediário Modo de inserção do vim Ao executar o vim, ele inicia diretamente em modo de comando. Para comprovar, é só olhar na última linha (rodapé) e não vai haver nada lá. Isso quer dizer que você não conseguirá escrever nada, pode digitar a vontade que só vai ouvir beeps. Para começar a escrever, pressione "i" ou a tecla “INSERT” em seu teclado. O vim entra em modo de inserção, que você comprova (como falado anteriormente) pelo rodapé da tela, onde fica a seguinte marcação: - - -- INSERT --
9. Módulo Intermediário Comandos vim Suponha que você já digitou o bastante, e quer salvar, por segurança. Pressione a tecla ESC para voltar em modo de comandos. E veja os comandos para salvar/sair: :w => Salva o arquivo que está sendo editado no momento. :q => Sai. :wq => Salva e sai. :x => Idem. ZZ => Idem. :w! => Salva forçado. :q! => Sai forçado. :wq! => Salva e sai forçado.
10. Módulo Intermediário nano Fácil e intuitivo, o editor de texto nano é um clone do pico, um editor de e-mail imbutido no pine. Todas as funções e acessibilidade usando algumas combinações de teclas que estão no rodapé.
11. Módulo Intermediário nano No rodapé do editor há os comandos necessários e para aprender a usá-lo. Uns 15 minutos de dedicação serão suficientes!
12. Módulo Intermediário nano Onde: ^C: Ctrl + C ^X: Ctrl + X etc Os mais utilizado são o Ctrl + O que é para gravar, e o Ctrl+X onde sai do editor.
13. Módulo Intermediário Entendendo um arquivo .sh Os arquivos .sh são na verdade arquivos de shell script, onde podemos programar em shell, fazer scripts, ou até mesmo arquivos de leitura para outros programas.
14. Módulo Intermediário Arquivo .sh Estaremos fazendo um programinha para mostrar a data e hora atual do nosso computador. Crie um arquivo com o comando touch e com o nome de data.sh, edite ele com um editor de sua preferência, e escreva: # /bin/bash date Salve o conteúdo, e dê permissão de execução para ele com o comando chmod +x date.sh. Depois podemos chamar o nosso novo programa com ./date.sh. Pronto aparecerá a saída do comando date.
15. Módulo Intermediário Explicações Quando colocamos # (tralha) é para comentário, ou seja quando estamos querendo comentar uma linha de um arquivo com bash, e na próxima linha está o comando date. Quando damos o comando chmos +x date.sh, estamos colocando a permissão de execussão no nosso arquivo. Para executar qualquer programa em bash que ainda não está no diretório de execussão /bin temos que colocar o ./nomeprograma para que ele seja executado.
16. Módulo Intermediário Identificando hardware pelo Sistema Operacional Quando não sabemos quais são as placas do computador que estamos mexendo e queremos configurar seus devidos hardwares, como fazemos? Com linux é possivel saber quais placas o computador está utilizando como placa de vídeo, placa de som, placa de rede, etc. Temos um comando que nos auxiliar neste ponto.
17. Módulo Intermediário Comando lspci É um comando do herdado do sistema operacional Unix, este comando imprime informações detalhadas dobre todos os dispositivos PCI do sistema.
19. Módulo Intermediário Opções lspci v: Exibi informações mais detalhadas sobre todos os dispositivos. -vv: Exibe mais detalhes. Este nível inclui tudo consideradas útil. -n: Mostrar PCI vendedor e dispositivo códigos como números em vez de observar na lista do PCI ID. -x: Mostrar os hexadecimais (os primeiros 64 bytes ou 128 bytes para CardBus pontes). -b: Bus - cêntrica vista. Mostrar todos os endereços e números de IRQ como visto pelas placas sobre o barramento PCI ao invés de como ela é vista pelo kernel.
20. Módulo Intermediário O que é um módulo. Para estarmos falando dos módulos temos que falar antes do kernel, para podermos estar diferenciando eles.
21. Módulo Intermediário Kernel O kernel faz o controle dos periféricos do sistema e para isto ele deve ter o seu suporte incluído. Para fazer uma placa de som Sound Blaster funcionar, por exemplo, é necessário que o kernel ofereça suporte a este placa e você deve configurar seus parâmetros (como interrupção, I/O e DMA) com comandos específicos para ativar a placa e faze-la funcionar corretamente. Suas versões são identificadas por números como 2.0.36, 2.0.38, 2.1.10, 2.2.12, as versões que contém um número par entre o primeiro e segundo ponto são versões estáveis. Usar versões instáveis não quer dizer que ocorrerá travamentos ou coisas do tipo, mas algumas partes do kernel podem não estar testadas o suficiente ou alguns controladores podem ainda estar incompletos para obter pleno funcionamento.
22. Módulo Intermediário Módulos São partes do kernel que são carregadas somente quando são solicitadas por algum aplicativo ou dispositivo e descarregadas da memória quando não são mais usadas. Este recurso é útil por 2 motivos: Evita a construção de um kernel grande (estático) que ocupe grande parte da memória com todos os drivers compilados e permite que partes do kernel ocupem a memória somente quando forem necessários.
23. Módulo Intermediário Módulos Os módulos são carregados automaticamente quando solicitados através do programa kmod ou manualmente através do arquivo /etc/modules , insmod ou modprobe.
24. Módulo Intermediário Comando kmod Este é o programa usado para carregar os módulos automaticamente quando são requeridos pelo sistema. Ele é um daemon que funciona constantemente fazendo a monitoração, quando verifica que algum dispositivo ou programa está solicitando o suporte a algum dispositivo, ele carrega o módulo correspondente.
25. Módulo Intermediário Comando lsmod Lista quais módulos estão carregados atualmente pelo kernel. O nome lsmod é uma contração de ls+módulos - Listar Módulos. A listagem feita pelo lsmod é uma alternativa ao uso do comando cat /proc/modules.
26. Módulo Intermediário Saída do comando lsmod Module Size Pages Used by nls_iso8859_1 8000 1 1 (autoclean) nls_cp437 3744 1 1 (autoclean) ne 6156 2 1 8390 8390 2 [ne] 0
27. Módulo Intermediário Explicação da saída do comando A coluna Module indica o nome do módulo que está carregado, a coluna Used mostra qual módulos está usando aquele recurso. O parâmetro (autoclean) no final da coluna indica que o módulo foi carregado manualmente (pelo insmod ou modprobe) ou através do kmod e será automaticamente removido da memória quando não for mais usado. No exemplo acima os módulos ne e 8390 não tem o parâmetro (autoclean) porque foram carregados pelo arquivo /etc/modules. Isto significa que não serão removidos da memória caso estiverem sem uso.
28. Módulo Intermediário Comando insmod Carrega um módulo manualmente. Para carregar módulos que dependem de outros módulos para que funcionem, você duas opções: Carregar os módulos manualmente ou usar o modprobe que verifica e carrega as dependências correspondentes. insmod [módulo]
29. Módulo Intermediário Comando rmmod Remove módulos carregados no kernel. Para ver os nomes dos módulos atualmente carregados no kernel digite lsmod e verifique na primeira coluna o nome do módulo. Caso um módulo tenha dependências e você tentar remover suas dependências, uma mensagem de erro será mostrada alertando que o módulo está em uso.
30. Módulo Intermediário Comando modprobe Carrega um módulo e suas dependências manualmente. Este comando permite carregar diversos módulos e dependências de uma só vez. O comportamento do modprobe é modificado pelo arquivo /etc/modules.conf . modprobe [módulo]
31. Módulo Intermediário Arquivo /etc/modules A função deste arquivo é carregar módulos especificados na inicialização do sistema e mantê-los carregado todo o tempo. É útil para módulos de placas de rede que precisam ser carregados antes da configuração de rede feita pela distribuição e não podem ser removidos quando a placa de rede estiver sem uso (isto retiraria seu computador da rede). Seu conteúdo é uma lista de módulos (um por linha) que serão carregados na inicialização do sistema. Os módulos carregados pelo arquivo /etc/modules pode ser listados usando o comando lsmod.
32. Módulo Intermediário Procedimento de Configuração Antes de estarmos configurando, qualquer dispositivo, os módulos devem estar levantados. O módulo é equivalente ao driver, que seria o programa que converssa com o dispositivo internamente (sistema - placa), sem ele não dá para configurar os dispositivos. Logo após de levantar o módulo ( driver ) podemos configurar o dispositivo que gostariamos como placa de som, placa de vídeo, placa de rede...
33. Módulo Intermediário Diretório /proc É o sistema de arquivos do Kernel do GNU/Linux. Ele oferece um método de ler, gravar e modificar dinamicamente os parâmetros do kernel, muito útil para curiosos e programas de configuração.
34.
35.
36. Módulo Intermediário Diretório /boot Este diretório contém a imagem do kernel e tudo o que for necessário ao processo de boot. Se estiver utilizando o Boot Loader Grub, terá um diretório chamado Grub. Esses g er enciadores de partida são programas que carregam um sistema operacional e/ou permitem escolher qual será iniciado. Normalmente este programas são gravados no setor de boot (inicialização) da partição ativa ou no master boot record (MBR) do disco rígido.
37. Módulo Intermediário Configuração lilo O LILO (Linux Loader) é sem dúvida o gerenciador de partida padrão para quem deseja iniciar o GNU/Linux através do disco rígido. Ele permite selecionar qual sistema operacional será iniciado (caso você possua mais de um) e funciona tanto em discos rígidos IDE como SCSI.
38. Módulo Intermediário Arquivo de configuração Os dados para a criação do novo setor de boot que armazenará o gerenciador de partida são lidos do arquivo /etc/lilo.conf. O arquivo /etc/lilo.conf é dividido em duas seções: Geral e Imagens. A seção Geral vem no inicio do arquivo e contém opções que serão usadas na inicialização do Lilo e parâmetros que serão passados ao kernel. A seção Imagens contém opções especificas identificando qual a partição que contém o sistema operacional, como será montado inicialmente o sistema de arquivos, tabela de partição, o arquivo que será carregado na memória para inicializar o sistema, etc.
39. Módulo Intermediário Arquivo de configuração boot=/dev/hda1 #Instala o LILO em /dev/hda1 compact install=menu map=/boot/map message=/etc/lilo.message #mensagem que será mostrada na tela default=1 #Carrega a Imagem especificada por label=1 como padrão vga=normal #usa o modo de video 80x25 ao iniciar o Linux delay=20 #aguarda 2 segundos antes de iniciar a imagem padrão lba32 #permite quebrar o limite de 1024 cilindros na inicialização prompt #mostra o aviso de "boot:" logo que o LILO é carregado
40. Módulo Intermediário Continuação image=/vmlinuz #especifica o arquivo que contém a primeira imagem root=/dev/hda1 #partição onde a imagem acima esta localizada label=1 #identificação da imagem de disco read-only #monta inicialmente como somente leitura password=12345 #Usa a senha 12345 restricted #somente quando iniciar com o parâmetro single other=/dev/hda2 #especifica outro sistema que será carregado table=/dev/hda #a tabela de partição dele está em /dev/hda label=2 #identificação desta imagem de disco password=12345 #pede a senha antes de iniciar este sistema
41. Módulo Intermediário Configuração do lilo Após criar seu arquivo /etc/lilo.conf , execute o comando lilo e se tudo ocorrer bem, o LILO será instalado
42. Módulo Intermediário Configuração do Grub O GRUB ( Grand Unified Boot Loader ) é mais uma alternativa como gerenciador de boot e apresenta alguns recursos extras com relação as outras opções disponíveis. Por utilizar o padrão Multiboot ele é capaz de carregar diversas imagens de boot e módulos. O GRUB também permite buscar imagens do kernel pela rede, por cabo seriais, suporta discos rígidos IDE e SCSI, detecta toda a memória RAM disponível no sistema, tem interface voltada para linha de comandos ou menus de escolha, além de suportar sistemas sem discos e terminais remotos.
43. Módulo Intermediário Instalando na MBR Um método simples de adicionar o GRUB para gerenciar seu MBR (Master Boot Record) é rodando o seguinte comando (como superusuário): # /sbin/grub-install /dev/hda Este comando grava o GRUB no MBR do primeiro disco e cria o diretório /boot/grub onde estarão os arquivos necessários para o seu funcionamento. Neste ponto o GRUB já está instalado e quando você reiniciar seu computador irá se deparar com uma linha de comandos, onde terá que carregar a imagem do kernel manualmente.
44. Módulo Intermediário Instalando o Grub Copie este arquivo para o diretório /boot/grub com o seguinte comando: # cp /usr/share/doc/grub/examples/menu.lst /boot/grub
45. Módulo Intermediário Arquivo de Configuração # Note que você pode usar o caracter '#' para fazer comentários. # Se após 30 segundos nenhuma tecla for pressionada, carrega a imagem padrão. timeout 30 # Define a primeira imagem como padrão. default 0 # Caso a imagem padrão não funcione carrega a imagem definida aqui. fallback 1 # Define as cores que serão usadas no menu. color light-cyan/black white/blue # Permite utilizar uma senha. password minha-senha-secreta password minha-senha (hd0,0)/boot/grub/secret.conf # Para boot com o GNU/Hurd title GNU/Hurd root (hd0,0) kernel /boot/gnumach.gz root=hd0s1 module /boot/serverboot.gz
46. Módulo Intermediário Continuação # Para boot com o GNU/Linux title Linux 2.4.16 # Pede a senha configurada em "password" antes de carregar esta imagem. lock root (hd0,0) # Atente as opções passadas diretamente para o kernel (vga, mem, etc.). kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 mem=512M ramdisk=0 # Para boot com o Mach (obtendo o kernel de um disquete) title Utah Mach4 multiboot root (hd0,2) pause Insira o disquete agora!!! kernel (fd0)/boot/kernel root=hd0s3 module (fd0)/boot/bootstrap # Para boot com FreeBSD title FreeBSD 3.4 root (hd0,2,a) kernel /boot/loader
47. Módulo Intermediário Continuação # Para boot com OS/2 title OS/2 root (hd0,1) makeactive chainloader +1 chainloader /boot/chain.os2 # Para boot com Windows 9x, ME, NT, 2000, XP. title Windows 9x, ME, NT, 2000, XP unhide (hd0,0) rootnoverify (hd0,0) chainloader +1 makeactive # Para instalar o GRUB no disco rígido. title = Instala o GRUB no disco rígido root = (hd0,0) setup = (hd0) # Muda as cores. title Mudar as cores color light-green/brown blink-red/blue
48. Módulo Intermediário Linha de comando Grub A maioria dos comandos usados no arquivo de configuração menu.lst são válidos aqui e muitos outros estão disponíveis. Mesmo usando os menus de escolha você pode utilizar a linha de comandos, bastando para isso seguir as instruções no rodapé da tela onde o GRUB nos informa que podemos digitar e para editar as entradas de boot ou c para ter acesso a linha de comandos (lembre-se que pressionar <ESC> faz com que você volte aos menus de escolha). Agora, com acesso a linha de comandos, você pode verificar os comandos disponíveis pressionando duas vezes a tecla <TAB>. Note que você também pode utilizar esta tecla para completar nomes de comandos bem como parâmetros de alguns comandos.
49. Módulo Intermediário Comandos Grub cat = Este comando permite verificar o conteúdo de um arquivo qualquer, o qual deve estar gravado em um dispositivo ligado a sua máquina. Ex.: grub> cat (hd0,0)/etc/passwd cmp = Este comando é utilizado para comparar dois arquivos. Ex.: grub> cmp (hd0,0)/arquivo1 (hd0,0)/arquivo2 configfile = Carrega um arquivo de configuração do GRUB. Ex.: grub> configfile (hd0,0)/boot/grub/menu.lst displayapm = Mostra informações sobre APM. displaymem = Mostra informações sobre a memória RAM.
50. Módulo Intermediário Comandos Grub find = Permite encontrar um arquivo. A saída deste comando disponibiliza o nome completo do caminho para o arquivo e a partição onde o mesmo está localizado. Ex.: grub> find stage1 help = help "comando" para ver a ajuda. Ex.: help color install = Instala o GRUB, embora não seja recomendado o uso deste comando diretamente, pois é possível esquecer ou trocar facilmente um parâmetro e sobrescrever a tabela de partições de seu disco. Ex.: install (fd0)/grub/stage1 d (fd0) (fd0)/grub/stage2 p (fd0)/grub/menu.lst
51. Módulo Intermediário Comandos Grub setup = Você pode usar este comando para instalar o GRUB. Note que sua sintaxe é menos complexa do que a usada em install. Ex.: grub> root = (hd0,0) grub> setup = (hd0) quit = Abandona a linha de comandos do GRUB. reboot = Reinicia o computador. boot = Efetua o boot. Suponha o Linux instalado em (hd0,0), podemos passar os seguintes comandos na linha de comandos para efetuar o boot de uma imagem do GNU/Linux: grub> root (hd0,0) grub> kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 grub> boot
52. Módulo Intermediário Compactadores Estaremos falando dos arquivos compactados, temos algumas extensões: . gz - Arquivo compactado pelo gzip. Use o programa gzip para descompacta-lo. .bz2 - Arquivo compactado pelo bzip2. Use o programa bzip2 para descompacta-lo. .zip - Arquivo compactado pelo programa zip. Use o programa unzip para descompacta-lo. .tar.gz - Arquivo compactado pelo programa gzip no utilitário de arquivamento tar. Para descompacta-lo, você pode usar o gzip e depois o tar ou somente o programa tar usando a opção -z. .tar.bz2 - Arquivo compactado pelo programa bzip2 no utilitário de arquivamento tar. Para descompacta-lo, você pode usar o bzip2 e depois o tar ou somente o programa tar usando a opção -j.
53. Módulo Intermediário Comando zip Utilitário de compactação compatível com pkzip (do DOS) e trabalha com arquivos de extensão .zip. Possui uma ótima taxa de compactação e velocidade no processamento dos arquivos compactados. zip [ opções ] [ arquivo-destino ] [ arquivos-origem ]
54. Módulo Intermediário Parâmetros arquivo-destino Nome do arquivo compactado que será gerado. arquivos-origem Arquivos/Diretórios que serão compactados. Podem ser usados curingas para especificar mais de um arquivo de uma só vez. opções -r : Compacta arquivos e sub-diretórios.
55. Módulo Intermediário Comando unzip Descompacta arquivos .zip criados com o programa zip. Este programa também é compatível com arquivos compactados pelo pkzip do DOS. unzip [ opções ] [ arquivo.zip ] [ arquivos-extrair ] [ -d diretório ]
56. Módulo Intermediário Parâmetros arquivo.zip Nome do arquivo que deseja descompactar. Podem ser usados curingas para especificar mais de um arquivo para ser descompactado. arquivos-extrair Nome dos arquivos (separados por espaço) que serão descompactados do arquivo .zip. Caso não seja especificado, é assumido * (todos os arquivos serão descompactados).
57. Módulo Intermediário Comando tar Na verdade o tar não é um compactador e sim um "arquivador" (ele junta vários arquivos em um só), mas pode ser usado em conjunto com um compactar (como o gzip ou zip) para armazena-los compactados. É comum encontrar arquivos com a extensão .tar, .tar.gz, .tgz, .tar.bz2, .tar.Z, .tgZ, o primeiro é um arquivo normal gerado pelo tar e todos os outros são arquivos gerados através tar junto com um programa de compactação (gzip (.gz), bzip2 (.bz2) e compress (.Z). tar [ opções ] [ arquivo-destino ] [ arquivos-origem ]
58. Módulo Intermediário Parâmetros arquivo-destino É o nome do arquivo de destino. Normalmente especificado com a extensão .tar caso seja usado somente o arquivamento ou .tar.gz/.tgz. arquivos-origem Especifica quais arquivos/diretórios serão compactados. opções -c : Cria um novo arquivo .tar -t : Lista o conteúdo de um arquivo .tar -u : Atualiza arquivos compactados no arquivo .tar -j : Usa o programa bzip2 para processar os arquivos do tar -v : Mostra os nomes dos arquivos enquanto são processados. x : Extrai arquivos gerados pelo tar -z : Usa o programa gzip durante o processamento dos arquivos.
59. Módulo Intermediário Exemplos tar -czf index.txt.tar.gz index.txt - O mesmo que o exemplo de arquivamento anterior, só que agora é usado a opção -z (compactação através do programa gzip). Você agora pode notar digitando ls -la que o arquivo index.txt foi compactado e depois arquivado no arquivo index.txt.tar.gz (você também pode chama-lo de index.txt.tgz que também identifica um arquivo .tar compactado pelo gzip) tar -xzf index.txt.tar.gz - Descompacta e desarquiva o arquivo index.txt.tar.gz criado com o comando acima. tar -cjf index.txt.tar.bz2 index.txt - Arquiva o arquivo index.txt em index.txt.tar.bz2 compactando através do bzip2 (opção -j). tar -xjf index.txt.tar.bz2 - Descompacta e desarquiva o arquivo index.txt.tar.bz2 criado com o comando acima.
60. Módulo Intermediário Comando bzip2 É um novo compactador que vem sendo cada vez mais usado porque consegue atingir a melhor compactação em arquivos texto se comparado aos já existentes (em conseqüência sua velocidade de compactação também é menor; quase duas vezes mais lento que o gzip). Suas opções são praticamente as mesmas usadas no gzip e você também pode usa-lo da mesma forma. A extensão dos arquivos compactados pelo bzip2 é a .bz2 bzip2 [ opções ] [ arquivos ]
61. Módulo Intermediário Parâmetros arquivos Especifica quais arquivos serão compactados pelo bzip2. Caso seja usado um -, será assumido a entrada padrão. Curingas podem ser usados para especificar vários arquivos de uma só vez. Opções -d : Descompacta um arquivo. -f : Força a compactação, compactando até mesmo links. -l [arquivo] : Lista o conteúdo de um arquivo compactado pelo bzip2. -r : Compacta diretórios e sub-diretórios. -c [arquivo] : Descompacta o arquivo para a saída padrão. -t [arquivo] : Testa o arquivo compactado pelo bzip2.
62. Módulo Intermediário Ajuda pelo sistema 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]
63. Módulo Intermediário Parâmetros 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.
64. Módulo Intermediário Modo de Navegação 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).