terça-feira, 10 de janeiro de 2012

[2012] Aula 2

Vamos agora para a aula 2 :)
Nesta aula usamos o material que se encontra disponível aqui.

Aqui na postagem eu só vou tratar de coisas interessantes que foram explanadas em aula e não constam nos slides :)
Em vermelho virá o título do slide e abaixo os comentários que foram feitos acerca de algum assunto tratado no slide de mesmo título. Os comentários...digamos...soltos, vou colocar no final isolados com asteriscos (*). Isso será um padrão daqui pra frente :)

Sistema de arquivo /proc
O que é DMA? Essa quem fez Arquitetura de Computadores sabe!!! (lalala) São canais de acesso a memória sem intervenção do processador. No Linux, os canais de DMA em uso no sistema podem ser visualizados através do comando cat /proc/dma. Veja mais sobre o comando cat aqui.

Dispositivos USB
Apesar da maior parte dos dispositivos de armazenamento USB serem detectados poucos segundos após serem plugados na máquina, é recomendável que os profissionais que atuam nesta área estejam preparados para acessar esses dispositivos manualmente, quando as ferramentas de detecção automática falharem ou para o caso de se depararem com equipamentos mais antigos (servidores e máquinas limitadas, por exemplo) que não usufruem das facilidades dos novos sistemas.

Manipulando os módulos do Kernel
E o kernel? O que é afinal? Em poucas palavras, o kernel é a base do sistema operacional que controla o hardware e faz a interação entre os aplicativos e a máquina.

E os módulos? São partes do kernel que são carregadas somente quando solicitadas por algum dispositivo ou aplicativo e descarregadas da memória quando não são mais necessárias, evitando a construção de um kernel que ocupe grande parte da memória. Podem ser carregados automática ou manualmente.
É uma forma de estender o kernel sem precisar recompilá-lo. Podem ser carregados estaticamente.
Veja mais aqui.

Algumas vezes, um módulo depende de outro para realizar determinadas operações. Se o módulo B depende de A, este deve ser carregado antes de ser possível carregar B. O comando insmod carrega um módulo sem verificar as dependências correspondentes. Da mesma forma, o comando rmmod remove módulos carregados sem verificar as dependências correspondentes. Para facilitar o gerenciamento de dependências o kernel provê o comando modprobe. Ao tentar carregar o módulo ms-dos, o mais apropriado é utilizar o comando modprobe, pois o módulo ms-dos depende do módulo fat e a tentativa de uso do comando insmod acarretaria em erro.

Por default o comando modprobe funciona de maneira similar ao comando insmod, carregando módulos. Quando for necessário descarregar módulos utilizando o comando modprobre usa-se o parâmetro -r (modprobe -r).

Passagem de parâmetros para o kernel
No disco rígido existe um setor chamado trilha 0 e nele está gravado o MBR (Master Boot Record) que significa Registro de Inicialização Mestre, onde são armazenadas informações sobre como está dividido o disco (no sentido lógico). Ao ser localizada uma partição ativa, os softwares boot loader (GRUB, LILO) se encarregam de inicializar o sistema. O LILO está em desuso por apresentar desvantagens que foram corrigidas no GRUB. Veja mais sobre o processo de inicialização aqui.

Configuração dos módulos do kernel
Os sistemas Red Hat geralmente utilizam o arquivo /etc/modules.conf para configurar os módulos do kernel, ao passo que os sistemas Debian utilizam o arquivo /etc/modprobe.d/something.conf. No Debian ainda é possível barrar módulos do kernel (módulo que cause problemas com seu hardware ou conflito de drivers)usando a sintaxe .blaclist=yes fazendo com que o módulo seja barrado em /etc/modprobe.d/blacklist.local tanto durante a instalação quanto para o sistema instalado.

Para ativar o módulo xfs durante a inicilização do sistema fizemos uma prática utilizando o comando vim /etc/modules, teclamos Insert para habilitar o modo de edição, digitamos xfs, em seguida digitamos :x para sair e salvar. Para visualizar se foi habilitado o xfs durante a inicialização utilizamos o comando lsmod | grep xfs.

Runlevels
Init é o primeiro processo a ser inicializado após o boot.

Diretório /etc
/etc/rc2.d/k10apache --> significa que no runlevel 2 será chamado o processo apache passando o parâmetro stop
/etc/rc2.d/s10apache --> significa que no runlevel 2 será chamado o processo apache passando o parâmetro start
O número após a letra k ou s indica a ordem na qual o script é executado. Scripts de menor valor numérico são executados primeiro.

O carregamento paralelo de scripts é possível quando os processos não possuem dependência entre si.

O comando shutdown
Veja mais sobre o comando shutdown aqui.

***************
Para se ter acesso ao manual dos comandos podemos usar (e vamos usar) os comandos comando man e comando info.

Um comando legal também é o apropos que faz uma busca e mostra todos os comandos que contenham determinada descrição.

Para listar hardwares disponíveis na máquina podemos usar o comando lshw

O comando less faz a paginação de saídas muito extensas exibindo uma tela por vez. Para redirecionar a saída de outro comando para o less efetuar a paginação, use o "|" (pipe) conforme exemplo "ls -l | less".
Veja também redirecionamento e pipe.

O comando grep procura por um texto dentro de um arquivo(s) ou no dispositivo de entrada padrão. Também pode ser usado em conjunto com pipe "|" para redirecionar a ssaída de outro comando para o grep. Exemplo: lsmod | grep xfs

Ctrl+C --> Cancela o processo em execução
Ctrl+L --> Limpa a tela do terminal
Tab --> Auto-completa o caminho ou nome
Reboot --> Reiniciar o sistema
***************

Assim encerrou a aula 2, fizemos algumas práticas rápidas com os comandos aprendidos para fixar e só. Ahhhhh, Rogério no final sorteou um aluno aleatoriamente para fazer uma apresentação de 10 minutos sobre um tema. O sorteado foi Rodrigo (o que me ajudou na aula de ontem) e ele vai falar sobre NTP. A apresentação será na aula da quinta (detalhe que eu entendi que seria na aula de amanhã). Pois bem, amanhã fico sabendo quando é afinal :D

Nenhum comentário:

Postar um comentário