conceitos básicos linux

31
Sistema Operacional LINUX

Upload: rafalucas2015

Post on 13-Sep-2015

253 views

Category:

Documents


0 download

DESCRIPTION

Conceitos Básicos de Linux

TRANSCRIPT

Sistema Operacional LINUX

Histria do Linux

O ncleo Linux foi desenvolvido pelo programadorfinlandsLinus Torvalds, inspirado no sistemaMinix. O seucdigo fonteest disponvel sob a licenaGPL(verso 2) para que qualquer pessoa o possa utilizar, estudar, modificar e distribuir livremente de acordo com os termos da licena.

GNU General Public License(Licena Pblica Geral),GNU GPLou simplesmenteGPL, a designao da licena parasoftware livre idealizada porRichard Matthew Stallmanem 1989, no mbito do projetoGNUdaFree Software Foundation(FSF).

A GPL alicenacom maior utilizao por parte de projetos de software livre, em grande parte devido sua adoo para o projeto GNU e o sistema operacionalGNU/Linux. O software utilizado para administrar o contedo daWikipdia coberto por esta licena, na sua verso 2.0 ou superiores.

Em termos gerais, a GPL baseia-se em 4 liberdades:

1. A liberdade de executar o programa, para qualquer propsito (liberdade n 0)

2. A liberdade de estudar como o programa funciona e adapt-lo para as suas necessidades (liberdade n 1). O acesso ao cdigo-fonte um pr-requisito para esta liberdade.

3. A liberdade de redistribuir cpias de modo que voc possa ajudar ao seu prximo (liberdade n 2).

4. A liberdade de aperfeioar o programa, e liberar os seus aperfeioamentos, de modo que toda a comunidade se beneficie deles (liberdade n 3). O acesso ao cdigo-fonte um pr-requisito para esta liberdade.

Kernel (Ncleo)O termoLinuxrefere-se aoncleo(emingls:"kernel") dosistema operativo. O termo tambm usado pelos meios de comunicao e usurios para referir-se aos sistemas operacionais baseados no ncleo Linux agregado a outros programas. Segundo Tanenbaum e Silberschatz, um ncleo pode ser considerado o prprio sistema operativo, quando este definido como um gerenciador de recursos dehardware.

A funo do Kernel ser a interface entre o Hardware e os sistemas de gerenciamento de tarefa se aplicativos. Ele serve de ponte entre aplicativos e o processamento real de dados feito a nvel de hardware. As responsabilidades do ncleo incluem gerenciar os recursos do sistema (a comunicao entre componentes dehardwaree software.

Compilando o Kernel

No kernel, voc poder configurar a base do sistema. Tudo o que voc precisa para ter devices funcionando est no Kernel. Por exemplo, nele que se configura portas paralelas, sistemas de arquivos, placas de rede, etc.

A verso atual do Kernel a 2.2.14. O primeiro nmero indica a verso de desenvolvimento, como um software normal, que comeou com 0 (2 seriam 200% pronto, do projeto original). O segundo nmero indica o progresso do desenvolvimento. Se este segundo nmero for par, indica que uma verso estvel. Se for mpar, cuidado, pois uma verso instvel e somente use-a se voc for ajudar no desenvolvimento do Kernel. J o ltimo nmero indica as correes de erro desde o 0 (o 14,neste caso, indica que houveram 14 correes de erro desde o 2.2.0).

Arquitetura

O Linux umncleo monoltico: as funes do ncleo (escalonamento de processos,gerenciamento de memria, operaes deentrada/sada, acesso aosistema de arquivos) so executadas noespao de ncleo. Uma caracterstica do ncleo Linux que algumas das funes (drivers de dispositivos, suporte rede, sistema de arquivos, por exemplo) podem ser compiladas e executadas comomdulos(emingls:LKM -loadable kernel modules), que so bibliotecas compiladas separadamente da parte principal do ncleo e podem ser carregadas e descarregadas aps o ncleo estar em execuo.

ProcessosUm processo uma instncia de um programa em execuo. Todo processo no Linux tem um pai (processo criador) e um nmero identificador (PID - Process Identity). O pai de todos os processos em um ambiente Linux oinit, cujo PID 1. Este processo criado pelo processo 0, que um encadeamento (thread) do prprio ncleo. O processoinitir permanecer em execuo at o desligamento do sistema e sua funo monitorar e criar os processos que implementam as camadas exteriores do sistema operacional.

Os processos so criados pela chamadas de sistemafork()(processos tradicionais ouheavy weight) eclone()(processos leves oulight weight). Para otimizar a criao de processos tradicionais, o Linux usa o recurso decopy-on-write: quando um processo filho criado, ele compartilha as mesmas pginas de memria do pai. Quando um dos dois tenta escrever na memria, gerada uma interrupo para o ncleo, que ento copia o contedo das pginas de memria para novas molduras de pginas e estas so atribudas ao processo que efetuou a escrita.

Para manter um ambiente multitarefa e possibilitar o multiprocessamento, o Linux mantm algumas estruturas importantes, das quais podemos citar duas: (i) o descritor do processo (task_struct), que contm todas as informaes relativas ao processo; (ii) uma fila (runqueue) de processos por processador. Quando o sistema possui mais de um processador, o agendador do Linux faz o balanceamento de carga entre as filas.

Escalonamento

Para um compartilhamento justo, do processador entre os processos, o Linux usa duas classificaes para avaliar qual a prioridade de um processo, sendo estas: (i) determina a responsividade do processo (tempo real, interativo, em segundo plano); (ii) verifica se o processo usa muito tempo de processador (CPU-bound) ou faz muitas operaes de entrada e sada (I/O-bound).

Essas duas classes so razoavelmente independentes. Um processo pode executar em segundo plano (umdaemon, por exemplo) e ser consumidor de recursos de entrada e sada (um servidor de banco de dados, por exemplo) ou usar muito tempo de processador (tal como, um compilador). Um processo que executa operaes em tempo real foi assim definido pelo seu programador, mas o agendador do Linux necessita fazer uma anlise heurstica para saber se um processo interativo ou est executando em segundo plano.

O Linux utiliza um sistema de prioridades, no qual um processo que possui prioridade maior tem precedncia sobre um de prioridade menor, para obter o processador. A identificao da prioridade de um processo pode ser esttica ou dinmica e varia de 1, a maior prioridade, a 139, a menor. Os nmeros 1 a 99 so atribudos a processos de tempo real e 100 a 139 so atribudos a processos tradicionais (interativos e segundo plano).

Um processo classificado em "primeiro a entrar, primeiro a sair" firtst-in, first-outFIFO) ou "todos contra todos" (Round-RobinRR) e somente ser retirado do processador nos seguintes casos: (i) Fim de execuo;(ii) Para ser substitudo por um processo de maior prioridade; (iii) Executar uma operao de bloqueio; (iv) Espontaneamente;(v) RR e esgotou seuquantumde processamento.

Um processo tradicional tem inicialmente atribuda uma prioridade esttica (em geral 120) que determina o seuquantumde processamento, mas pode ter uma prioridade dinmica, que o valor analisado pelo agendador quando percorrer a lista de processos para determinar qual ir usar o processador. A prioridade dinmica pode alterar o valor da prioridade esttica em 5 pontos, para mais (penalidade) ou para menos (bnus), dependendo do passado do processo. O passado ir beneficiar o processo se o mesmo ficou muito tempo fora do processador (sleep time). Caso este tempo seja pequeno, o processo ser penalizado.

A estrutura anterior pode ser modificada a partir do lanamento do ncleo 2.6.23 ou posterior, com a introduo do "escalonador completamente justo" (emingls:completely fair schedulerCFS).

Gerenciamento de memria

O Linux utiliza memria virtual, que possui, pelo menos, 4 funes bsicas:

(i) assegurar que cada aplicao (processo) tenha seu prprio espao de endereamento, comeando em zero-problema de relocao5960;

(ii) proteo de memria, para impedir que um processo utilize um endereo de memria que no lhe pertena60;

(iii) compartilhamento de memriaprocessos diferentes podem compartilhar cdigo ou dados;60 (iv) possibilitar que uma aplicao utilize mais memria do que a fisicamente existente (essa a funo mais bvia).

Seu cdigo divide-se em duas partes. Uma dependente da arquitetura, onde so definidos o endereamento virtual e fsico, o tamanho de pgina e o tratamento das tabelas de pginas. Na parte independente ficam o controle de alocao e liberao de memria e o esquema de substituio pginas.

O Linux utiliza tamanhos de pginas de acordo com a arquitetura. Os processadores x86 utilizam pginas de 4 KiB (padro), 2 MiB (caso seja utilizado o recurso de Extenso de Endereo de Pgina (emingls:Page Address ExtensionPAE) da Intel) ou de 4 MiB. Nas arquiteturasRISCo tamanho padro de 8 KiB, mas no o nico.

O endereamento virtual dividido em espao do usurio e espao doncleo. O primeiro privativo de cada processo, com incio no endereo lgico zero e terminando no endereo determinado pela macroPAGE_OFFSET. O espao doncleo nico e comea depois do espao do usurio. Na arquitetura x86PAGE_OFFSETdetermina um valor de 3 GiB para o espao do usurio e 1 GiB para o espao doncleo.

O cdigo do Linux carregado no incio do espao do ncleo, sendo seguido pela rea fisicamente mapevel (mem_map, estrutura que indexa as pginas fsicas e as pginas propriamente ditas). Na arquitetura x86, os ltimos 128 MiB do espao do ncleo so reservados para alocao de memria no contgua e memria alta, limitando a memria fsica enderevel pelo Linux, na compilao padro, a 896 MiB.

Um endereo virtual no Linux , dividido em 5 campos: diretrio de pginas (PGD), diretrio superior de pginas (PUD), diretrio intermedirio de pginas (PMD), tabela de pginas (PTE) e deslocamento (offset). A arquitetura x86 possui um espao de endereamento de 32 bits; quando so utilizadas pginas de 4 KiB (o padro) o PUD e o PMD no so utilizados; o PGD e o PTE usam 10 bits cada, e o deslocamento usa 12 bits.

O esquema de substituio de pginas no Linux usa o algoritmo LRU (por aproximao) mantendo duas listas de envelhecimento (emingls:aging). A primeira (active_list) contm as pginas atualmente em uso (as pginas mais recentemente referenciadas estaro mais prximas do incio da lista) e a segunda (inactive_list) contm as candidatas a paginao (emingls:page out).

A paginao para disco pode ocorrer sob demanda, quando algum processo solicitar pgina e no houver alguma disponvel. Neste caso, a pgina no final da listainactive_list liberada. Entretanto, existe um processo chamadokswapd, inicializado pelo ncleo, que verifica, periodicamente, o nmero de pginas livres. Caso este nmero seja menor quepages_low,kswapd acordado para liberar pginas. Se o valor chegar apages_min,kswapdentra num regime sncrono para agilizar a liberao. Quando o valor de pginas livres atingirpages_high,kswapdvai dormir.

Sistema de arquivos

O gerenciamento de arquivos no Linux baseia-se num esquema de vrios nveis, onde a camada principal o VFS (Virtual File System), que esconde da aplicao as caractersticas dos diversos sistemas de arquivo reconhecidos pelo Linux. Quando uma aplicao solicita uma operao sobre algum arquivo, essa solicitao encaminhada para o VFS, que reenvia a solicitao para um dos SA registrados.

O VFS utiliza uma estrutura chamada superbloco para manter as informaes referentes aos diversos sistemas de arquivos montados (tipo, ponto de montagem, dispositivo de bloco utilizado, arquivos abertos). Tambm utilizaindex-nodeouns-i, semelhantes aos ns-i do Ext2, com as informaes sobre os arquivos (permisses, blocos utilizados, dono, etc.).

Os sistemas de arquivos registrados no VFS podem ser classificados em 3 grupos: (i) dispositivos de blocos (Ext2,Ext3,Ext4,Reiserfs,XFS,VFAT); (ii) associados a rede (NFS,SMB); (iii) dispositivos especiais (procfs, tempfs). Todos esses sistemas podem ser carregados como mdulos.

O Ext2 est deixando de ser o padro de sistema de arquivos utilizado no Linux, particularmente por sua deficincia quando ocorre uma pane. Neste caso, o sistema operacional deve executar uma varredura completa para verificar o estado do sistema (fsck). Outros sistemas foram criados para resolver essa deficincia, utilizando um recurso chamadojournaling, que a utilizao de um registro (log) de alteraes (journal). Os sistemas de arquivos desse tipo mais importantes so: Ext3, Ext4, Reiserfs, XFS e JFS.

Processo de inicializaoO processo de inicializao do ncleo do Linux composto por diversas etapas. Antes da inicializao propriamente dita, o sistema computacional deve ser inicializado. O sistema possui um software embarcado em uma posio fixa de memria para iniciar o carregamento do ncleo. Em sistemas convencionais, o processo de inicializao ocorre com o carregamento da BIOS e inicializao do hardware. A BIOS, por sua vez, realiza a leitura do primeiro setor do disco (MBR) contendo o carregador de inicializao (bootloader). Os carregadores de inicializao mais comuns para computadores pessoais so o GRUB e LILO. O carregador de inicializao carrega a imagem do ncleo do Linux e do sistema de arquivos temporrio em memria (opcional). O arquivo de imagem do ncleo Linux autocompactado e geralmente apresenta a nomenclaturabzImage-verso. O arquivo de disco RAM, que contm o sistema de arquivos temporrio, geralmente apresenta a nomenclaturainitrd-verso.img.

Com o ncleo em memria, o controle de execuo repassado para o ncleo. A inicializao do ncleo comea com a execuo de rotinas bsicas de configurao de hardware e a autodescompactao da imagem por meio de rotinas no incio do arquivo. Em seguida, a funostart_kernel chamada e executa a inicializao e configurao dos dispositivos, escalonadores, consoles, entre outros. Por fim, aps carregar o disco RAM, executa a funo que inicializa o primeiro processo, oinit. Oinitcoordena a inicializao e configurao dos servios do sistema operacional. Em sistemas embarcados, oinitpode corresponder a um simples cdigo para iniciar os dispositivos.

Principais caractersticas no Linux

Multiusurio: Permite que vrios usurios possa rodas o sistema operacional, e no possui restries quanto a licena. Permite vrios usurios simultneos, utilizando integralmente os recursos de multitarefa. A vantagem disso que o Linux pode ser distribudo como um servidor de aplicativos. Usurios podem acessar um servidor Linux atravs da rede local e executar aplicativos no prprio servidor.

Multiplataforma: O Linux roda em diversos tipos de computadores, sejam eles RISC ou CISC

Observao: RISC e CISC refere-se arquitetura do processador.Multitarefa: Permite diversos programas rodem ao mesmo tempo, ou seja, voc pode estar imprimindo um carta para sua vov enquanto trabalha na planilha de vendas, por exemplo.Multiprocessador: Permite o uso de mais de um processador, J discutiam h muitos anos, a capacidade do Linux de poder reconhecer mais de um processador e inclusive trabalhar com SMP, clusters de mquinas, na qual uma mquina central controla os processadores das outras para formar uma s mquina.

Protocolos: Pode trabalhar com diversos protocolos de rede (incluindo o TCP/IP que nativo Unix).Sistema de arquivos: Suporta diversos sistemas de arquivos, incluindo o HPFS, DOS, CD-ROM, Netware, Xemix, Minix, etc.

O Kernel do Linux tambm distribudo sob a GNU (GeneralPublicLicense)Comando locate

Quando no se conhece o nome completo do comando ou arquivo que se busca, pode-se facilmente encontr-lo atravs do comando locate. Este comando utiliza uma base de dados para localizar todos os arquivos no sistema. Normalmente esta base construda automaticamente toda noite, desde que o Linux esteja ativo. Caso isso no ocorra possvel cri-la atravs do comando (executado como super usurio root):

Comando FdiskCom ofdiskpodemos criar novas parties em um disco, at 4 parties primrias e inmeras parties lgicas, dependendo somente do tamanho do disco (levando em conta que cada partio requer um mnimo de 40MB). Tambm podemos modificar ou deletar parties j existentes ou recm criadas no disco.

Antes de criar uma nova partio, modificar ou deletar, voc vai precisar dar uma olhada em todas as parties que existem no disco. Ento para esta misso vamos usar o "fdisk -l", como abaixo:

Arvore de Diretrios/opt: opcionalmente o software instalado armazenados aqui.

/bin: Arquivos executveis (binrios) de comandos essenciais pertencentes ao sistema em que so usados com freqncia.

/boot: Arquivos estticos de boot de inicializao (boot-loader)

/dev: Arquivos de dispositivos de entrada/sada

/etc: Configurao do sistema da mquina local com arquivos diversos para a administrao de sistema.

/home: Diretrios local (home)dos usurios

/lib: Arquivos das bibliotecas compartilhadas usados com freqncia.

/mnt: Ponto de montagem de partio temporrios

/root: Diretrio local do superusurio (root)

/sbin: Arquivos de sistema essenciais

/tmp: Arquivos temporrios gerados por alguns utilitrios

/usr: Todos os arquivos de usurios devem estar aqui (segunda maior hierrquia)

/var: Informao varivelGerenciadores de Boot

LILO

O LILO o carregador de inicializao do Linux. O LILO tambm fornece os recursos de inicializao dual que pode permitir que voc escolha o sistema operacional a ser ativado no momento da inicializao.

Voc pode fazer isso no Master Boot Record ()ou no primeiro setor de sua partio-raiz.

Se voc est estiver executando umsistema operacional, como o OS/2 ou WindowsNT, que possui seu prprio carregador de inicializao, talvez que ira escolher a ltima opo. Mais informaesMBR: o primeiro setor de um disco inicializvel o registro MBR (Master Boot Record). O registro MBR contm as informaes de parties do disco inicializvel. Cada disco tem uma partio Ativa. A partio Ativa contm um setor de inicializao, que a etapa seguinte no processo de inicializao. Se o disco no tiver uma partio Ativa, ele no inicializvel e o BIOS passa para o disco seguinte na ordem de inicializao ou mostra um erro se nenhum disco tiver uma partio ativa.Outro gerenciador de Boot utilizado para carregar o sistema operacional Linux se chama GRUB.

Entre seus principais recursos est a capacidade de trabalhar com diversos sistemas operacionais, como o Linux, o Windows e as verses BSD, e seu consequente suporte a vrios sistemas de arquivos, como o EXT2, EXT3, ReiserFS, FAT, FFS, entre outros.

GRUBGRUB a sigla paraGRandUnifieldBootloader. Trata-se de um gerenciador de boot. Entre seus principais recursos est a capacidade de trabalhar com diversos sistemas operacionais, como o Linux, o Windows e as verses BSD, e seu consequentemente suporte a vrios sistemas de arquivos, como o ext2, ext3, reiserfs, FAT, FFS, entre outros.

Um dos motivos mais bvios para o GRUB ser usado sua capacidade de permitir que o usurio escolha um dos sistemas operacionais instalados em seu computador. Em outras palavras, o GRUB capaz de trabalhar com "multiboot". Alm disso, esse gerenciador tambm capaz de "bootar" sistemas em discos SCSI ou mesmo carreg-los atravs de imagens disponveis em rede.

Instalao do GRUB

Muitas distribuies Linux permitem a adio do GRUB no computador durante a instalao do sistema. No entanto, se voc j tem o Linux instalado em sua mquina, a instalao do GRUB no complicada (e geralmente deve ser feita atravs de um usurio com privilgios de administrador).

Supondo que seu sistema conte com o recurso apt-get, d o seguinte comando:

apt-get install grub

Quando esse processo for concludo, crie uma pasta de nome grub em /boot e, em seguida, d o comando update-grub para que o arquivo menu.lst seja criado:

mkdir /boot/grub

update-grubConfigurao do GRUBGeralmente, o GRUB faz uso do arquivo /boot/grub/menu.lst para definir e carregar sua configurao (um detalhe importante: dependendo da distribuio, o GRUB pode usar outro diretrio e outro nome de arquivo, como grub.conf ou menu.conf). Nele, a primeira coisa que chama a ateno sua forma de trabalhar com os discos rgidos do computador. Ao invs de referenciar esses dispositivos como /dev/hda1, /dev/hda2, etc, ele o faz atravs dos termos (hd0,0), (hd0,1) e assim por diante. O GRUB chama o HD principal do computador dehd0(enquanto o Linux o chama dehda). Um disco secundrio recebe o nome dehd1(o Linux o chama dehdb). Para trabalhar com as parties do HD, o GRUB as referencia atravs de um nmero inserido aps uma vrgula. Assim, a primeira partio recebe o nmero 0 (zero) -hd0,0-, segunda partio atribudo o nmero 1 -hd0,1- e assim por diante. importante frisar que, nesse caso, o GRUB no faz distino entre discos IDE e SCSI.default 0timeout 5fallback 1splashimage=(hd0,1)/grub/splash.xpm.gztitle Fedora Core (2.6.9-1.667)root (hd0,1)kernel /boot/vmlinuz-2.6.9-1.667 ro root=/dev/hda2initrd /boot/initrd-2.6.9-1.667.img

title Windows XProotnoverify (hd0,0)makeactivechainloader +1A primeira linha -default 0- indica ao GRUB qual sistema operacional inicializar caso o usurio no faa nenhuma escolha. No exemplo, ele vai "bootar" o Fedora Linux, pois o nmero 0 faz referncia ao primeiro sistema listado no arquivo.A linha preenchida comtimeout 5determina o tempo (em segundos) que o usurio ter para escolher um sistema operacional para inicializar.

Por sua vez, a terceira linha (nem sempre usada) -fallback 1- indica ao GRUB qual sistema inicializar caso o carregamento da primeira opo falhe por algum motivo. Esse recurso especialmente til quando h mais de dois sistemas operacionais instalados no computador.

A quarta linha simplesmente contm informaes para carregar as configuraes grficas (como imagem de fundo) para quando o GRUB exibir as opes de sistema operacional disponveis.

Repare que neste arquivomenu.lsta lista de sistemas operacionais mostrada depois da quarta linha de configurao. O primeiro sistema da lista o Fedora Linux:

title Fedora Core (2.6.9-1.667)root (hd0,1)kernel /boot/vmlinuz-2.6.9-1.667 ro root=/dev/hda2initrd /boot/initrd-2.6.9-1.667.imgA primeira linha acima mostra o ttulo que o sistema recebe no GRUB. esse nome que ser exibido quando o GRUB mostrar a lista de sistemas operacionais que o usurio pode escolher. Pode-se usar qualquer frase depois detitle. Obviamente, informe algo relacionado ao sistema operacional em questo.

A segunda linha -root (hd0,1)- informa ao GRUB onde o sistema operacional est instalado. No exemplo, ele se encontra na segunda partio do HD. A palavraroottem a funo de indicar que aquela a partio principal do sistema (ou a partio-raiz) e que, portanto, dever ser montada.

A terceira e a quarta linha informam ao GRUB okernela ser carregado e possveis parmetros. Neste caso,roindica que a partio deve ser montada inicialmente com permisses apenas de leitura.

Na parte do arquivo que trata do Windows XP, a sintaxe a mesma. No entanto, a segunda linha recebe o parmetrorootnoverifyao invs deroot, pois a montagem de partio no se aplica ao Windows. Orootnoverify usado porque esse parmetro no tenta fazer nenhuma montagem.

Tipos de pacotes de software

main

Contm software que so distribudos gratuitamente e apoiado pela equipe do Ubuntu. Grande parte deste software esta disponvel quando voc instala o Ubuntu via CDROM.

restricted

Contm software que comum a muitos sistemas Linux, tambm tem suporte da equipe do Ubuntu, mas no podem ser licenciados como software livre.

universe

So pacotes que no podem ser licenciados como software livre. Os softwares universe no tem garantia de segurana, e correo.

multiverse

Contm software que no atende o conceito de software livre. Softwares multiverse no tem qualquer suporte, e cabe a voc determinar validade do licenciamento, suporte etc.

Distribuio LINUX

Uma Distribuio Linux (ou simplesmente distro) composta do ncleo Linux e um conjunto varivel de software, dependendo de seus propsitos. Essa coleo de software livre e no-livre, criada e mantida por indivduos, grupos e organizaes de todo o mundo, incluindo o grupo Linux. Indivduos como Patrick Volkerding, companhias como a Red Hat, a SuSE, a Mandriva e a Canonical, bem como projetos de comunidades como o Debian ou o Gentoo, compilam softwares e fornecem a usurios diversos sistemas completos, prontos para instalao e uso em Computador domstico, laptops, computadores servidor, handhelds, telefones celulares, conforme a utilizao da licena de software.

Algumas distribuies

Ubuntu, Slackware, Debian, Suse, Mandriva, Kurumin, Red Hat e Fedora

Configurando partio de disco

Fdisk: a ferramenta Linux padro para a configurao de parties de disco e est disponvel para cada distribuio de Linux.Disk Druid: Ferramenta de gerenciamento de partio de disco prpria do Red Hat para facilitara instalao.Mount Point: Indica onde a partio aparecer em sua estrutura de diretrio Linux. Voc precisa ter pelo menos uma partio montada como /.

Uma partio de swap: O Linux precisa de uma partio separada para usar para swap. Isso necessrio quando voc utiliza toda a sua RAM fsica e o sistema operacional precisa criar memria virtual para continuar funcionando.

Arquivos de Configurao do Sistema o diretrio /etc

adduser.conf- Este arquivo possui a configurao padro dos comandosaddusereaddgroup.

adjtime- Este arquivo possui o fator de correo para o RTC (real time clock, ou seja, relgio de tempo real).

at.allow- Este arquivo possui a lista dos usurios que podem usar o comandoat. Se este arquivo no existir, todos os usurios tm permisso. Se este arquivo estiver vazio, apenas o root pode executar o comandoat.

at.deny- Este arquivo possui a lista dos usurios que no podem usar o comandoat. Se o arquivo/etc/at.allowno existir, verificada a existncia do arquivoat.denye todos os usurios no mencionados no mesmo, recebem permisso para executar o comandoat.

bash.bashrc- Este arquivo possui as funes e osaliasesdisponveis a todos os usurios do sistema. As letrasRCno nomebashrcsignificaRun Control File(arquivo de controle de execuo).

crontab- Este o arquivocrontabdo sistema, ou seja, este o arquivo que armazena as tarefas agendadas do sistema.

default- Este diretrio armazena a configurao padro de alguns comandos dos sistema.

fstab- Este arquivo mostra os dispositivos de hardware disponveis no sistema (isto no significa que estejam montados) e usado peloswaponemountdurante o processo de inicializao do sistema.

group- Este arquivo possui as definies dos grupos do sistema. Existe uma entrada no arquivo para cada grupo de usurios do sistema com as seguintes informaes: nome do grupo, senha do grupo (se houver), nmero deGID(group identification) e a lista dos usurio que pertencem a esse grupo. Por exemplo, a linha abaixo mostra a entrada criada emetc/grouppara o gruposysque temGIDigual a 3 e que possui trs membros:root,bineadm.

sys:x:3:root,bin,adm

gshadow- Este arquivo possui as senhas criptografadas dos grupos do sistema. Apenas oroot(administrador do sistema) tem permisso para acessar o arquivo/etc/gshadow. O comandogrpconv usado para criar o arquivogshadowa partir do arquivo/etc/group, enquanto o comandogrpunconvexecuta a operao inversa.

host.conf- Este arquivo configura a ordem de procura dos nomes das mquinas.

hostname- Este arquivo possui o nome da mquina.

hosts- Este arquivo possui os endereos e os nomes das mquinas da rede.

hosts.allow- Este arquivo possui a lista das mquinas que possuem autorizao para acessar os servios de rede colocados disponveis na mquina.

hosts.deny- Este arquivo possui a lista das mquinas que no podem acessar os servios de rede colocados disponveis na mquina.

init- Este diretrio contm os arquivos de configurao inicializados pelo processoinit.

init.d- Este diretrio contm os scripts usados na inicializao do sistema nos diferentes nveis de execuo (runlevels).

issue- Este arquivo usado como tela de inicializao, no modo texto, dos usurios do sistema. Normalmente, este arquivo mostra o nome e a verso do sistema operacional.

issue.net- Este arquivo usado como tela de inicializao em um login remoto (por exemplo,telnet).

ld.so.cache- Este arquivo possui as informaes sobre as bibliotecas compartilhadas do sistema.

ld.so.conf- Este arquivo possui a lista dos diretrios onde so armazenadas as bibliotecas compartilhadas.

login.defs- Este arquivo possui a configurao padro utilizada pelo comandouseraddna criao de novas contas de usurios.

manpath.config- Este arquivo possui a lista dos diretrios onde as pginas do manual on-line (comandoman) devem ser procuradas, alm de definir a ordem em que a pesquisa por uma pgina do manual feita.

mke2fs.conf- Este arquivo possui a configurao padro usada pelo aplicativo domke2fspara formatar sistemas de arquivos.

modules- Este arquivo possui os nomes dos mdulos dokernela serem carregados na inicializao do sistema.

motd- O nome deste arquivo acrnimo para"Message Of The day", ou seja, "mensagem do dia". Ele pode ser usado pelo administrador para enviar mensagens aos usurios do sistema. Omotd um simples arquivo texto cujo contedo exibido pelo processologinaps um login bem sucedido, antes doshellser executado.

mtab- Este arquivo possui a lista dos sistemas de arquivos que esto montados noLinux.

mtools- Este o arquivo configurao do pacotemtools.

passwd- Este arquivo possui a lista de usurios do sistema. Existe uma entrada no arquivo para cada usurio do sistema com as seguintes informaes: nome, senha (caso se useshadow password, as senhas criptografadas so armazenadas em/etc/shadow), nmero deUID(user identification), nmero deGID(group identification), informaes sobre o usurio, o diretriohomedo usurio e oshellpadro do usurio. Por exemplo, a linha abaixo mostra a entrada criada em/etc/passwdpara o usurioalunoque tem UID e GID iguais a 1001.

aluno:x:1001:1001::/home/aluno:/bin/bash

As informaes sobre o usurio (nome, telefone, local de trabalho, etc) so includas com os comandosadduserechfne visualizadas com o comandofinger.

printcap- Este arquivo possui a configurao das impressoras do sistema.

profile- Este arquivo possui a definio padro do ambiente do sistema, pois abriga as configuraes para todos os usurios. Normalmente, a configurao de aliases e funes feita no arquivobash.bashrc

profile.d- Este diretrio possui as definies usadas pelos usurios.

protocols-Este arquivo possui a lista dos protocolos Internet DARPA que esto disponveis para o subsistema TCP/IP.

rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d, rc6.d, rcS.d- Estes diretrios possuem links para os arquivos usados na inicializao do sistema. Os links dos scripts relacionados aorunlevel Xesto armazenados no diretriorcX.d. Os arquivos que comeam com a letraS(Start) correspondem a servios que devem ser inicializados norunlevelcorrespondente, enquanto os arquivos que comeam comK(Kill) indicam os scripts que devem ser executados na finalizao do sistema. O ltimo script a ser executado na inicializao o/etc/rc.localque apenas retorna o valor zero informando que o sistema foi inicializado com sucesso. Para saber mais sobre os nveis de execuo do sistema, vejainit.

rpc- Este arquivo possui a lista dos nmeros e respectivos nomes dos servios RPC (Remote Procedure Calls) que so usados na implementao de servios no modelo cliente-servidor.

securetty- Este arquivo possui a lista dos terminais (tty) nos quais orootpode acessar o sistema. Este arquivo usado pelo processologinpara verificar se o terminal considerado seguro para acesso doroot.

services- Este arquivo possui a lista dos servios de rede e suas respectivas portas segundo recomendaes da IANA (Internet Assigned Numbers Authorith).

shadow- Este arquivo possui as senhas criptografadas dos usurios do sistema.

shells- Este arquivo possui a lista dosshellsque o sistema suporta.

shutdown.allow- Este arquivo possui a lista de usurios autorizados a reinicializar o sistema com a combinao de teclasCTRL+ALT+DEL.

skel- Este diretrio possui os arquivos padro das contas de usurio. Os arquivos do diretrioskelso copiados para o diretriohomedo usurio durante o processo de criao da conta do usurio (comandoadduser).

sudoers- Este arquivo define a poltica de privilgios para os usurios, ou seja, como o comandosudopode ser utilizado.

Osudoerspermite criar quatro definies: quem pode usar o privilgio definido (user_alias), a quem pode substituir (runas_alias), em quais mquinas podem executar o privilgio definido (host_alias) e quais os comandos que podem ser executados (cmnd_alias). Abaixo so mostrados alguns exemplos.

Os usuriosmariaepedropossuem os privilgios definidos para PROFESSORES.

# User alias specificationUser_Alias PROFESSORES = maria, pedro

Quem pode executar como CHEFE pode assumir os privilgios dos usuriosrooteoperator.

# Runas alias specificationRunas_Alias CHEFE = root, operator

As mquinas de LAB1 esto na rede 128.138.243.0 e as mquinas de LAB2 esto na rede 128.138.53.0.

# Host alias specificationHost_Alias LAB1 = 128.138.243.0Host_Alias LAB2 = 128.138.53.0

Os comandos especificados por FIM soshutdownereboot# Cmnd alias specificationCmnd_Alias FIM = /usr/sbin/shutdown, /usr/bin/reboot

Para definir os privilgios, usa-se o seguinte formato:

User Host1 = [(Runas1)] Cmnd1 : Host2 = [(Runas2)] Cmnd2 : ...

A seguir so mostrados alguns exemplos de como definir privilgios usando as definies acima.

O usurioteresapode executar qualquer comando nas mquinas da rede 128.138.243.0.

teresa LAB1 = ALL

O usuriojoaopode executar os comandosshutdownerebootem qualquer mquina.

joao ALL = FIM

O usuriocarlospode executar nas mquinas da rede 128.138.53.0 qualquer comando do diretrio/usr/local/laboratorios/como se fosse o usuriooperator.

carlos LAB2 = (operator) /usr/local/laboratorios/

Os usuriosmariaepedropodem executar qualquer comando em qualquer mquina sem precisar fornecer senha.

PROFESSORES ALL = NOPASSWD: ALL

O Usuriofredericopode executar qualquer comando em qualquer mquina como se fosse o usuriooperatore sem precisar fornecer senha.

frederico ALL = (operator) NOPASSWD: ALL

O usuriorobertopode executar qualquer comando como se fosse os usuriosrootouoperatornas mquinas da rede 128.138.243.0 e pode executar os comandosshutdownerebootnas mquinas da rede 128.138.53.0.

roberto LAB1 = (CHEFE) ALL : LAB2 = FIM

terminfo- Este diretrio possui as descries dos terminais suportados pelo sistema.

X11- Este diretrio possui os arquivos de configurao do sistemaX.