Você está na página 1de 24

Sistema

Operacional
LINUX

Histria do Linux
O ncleo Linux foi desenvolvido pelo programador finlands Linus Torvalds,
inspirado no sistema Minix. O seucdigo fonte est disponvel sob a
licena GPL (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 GPL ou
simplesmente GPL, a designao da licena para software livre idealizada
por Richard Matthew Stallman em 1989, no mbito do projeto GNU da Free
Software Foundation (FSF).
A GPL a licena com maior utilizao por parte de projetos de software livre,
em grande parte devido sua adoo para o projeto GNU e o sistema
operacional GNU/Linux. O software utilizado para administrar o contedo
da Wikipdia 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 prrequisito 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 termo Linux refere-se ao ncleo (em ingls: "kernel") do sistema 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 de hardware.

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 de hardware e 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 um ncleo monoltico: as funes do ncleo (escalonamento de
processos, gerenciamento de memria, operaes de entrada/sada, acesso
ao sistema de arquivos) so executadas no espao 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 como mdulos (em ingls: 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.

Processos
Um 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
o init, cujo PID 1. Este processo criado pelo processo 0, que um
encadeamento (thread) do prprio ncleo. O processo init ir 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 sistema fork() (processos

tradicionais ou heavy weight) e clone() (processos leves ou light weight). Para


otimizar a criao de processos tradicionais, o Linux usa o recurso de copy-onwrite: 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 (um daemon, 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, firstout FIFO) ou "todos contra todos" (Round-Robin RR) 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 seu quantum de processamento.

Um processo tradicional tem inicialmente atribuda uma prioridade esttica (em


geral 120) que determina o seu quantum de 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"
(em ingls:completely fair scheduler CFS).

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 relocao59 60 ;

(ii) proteo de memria, para impedir que um processo utilize um


endereo de memria que no lhe pertena 60 ;

(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 (em ingls: Page
Address Extension PAE) da Intel) ou de 4 MiB. Nas arquiteturas RISC o
tamanho padro de 8 KiB, mas no o nico.
O endereamento virtual dividido em espao do usurio e espao do ncleo.
O primeiro privativo de cada processo, com incio no endereo lgico zero e
terminando no endereo determinado pela macro PAGE_OFFSET . O espao
do ncleo nico e comea depois do espao do usurio. Na arquitetura
x86 PAGE_OFFSET determina um valor de 3 GiB para o espao do usurio e 1
GiB para o espao do ncleo.
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 (em ingls: 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 (em ingls: 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
chamado kswapd, inicializado pelo ncleo, que verifica, periodicamente, o
nmero de pginas livres. Caso este nmero seja menor
que pages_low, kswapd acordado para liberar pginas. Se o valor chegar
a pages_min, kswapd entra num regime sncrono para agilizar a liberao.
Quando o valor de pginas livres atingir pages_high, kswapd vai 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


utiliza index-node ou ns-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 chamado journaling, 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 inicializao
O 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 nomenclatura bzImage-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 funo start_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, o init. Oinit coordena a inicializao e
configurao dos servios do sistema operacional. Em sistemas embarcados,
o init pode 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 Fdisk
Com o fdisk podemos 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 varivel

Gerenciadores 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 informaes
MBR: 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.
GRUB
GRUB a sigla para GRand Unifield Bootloader. 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-grub

Configurao do GRUB
Geralmente, 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 de hd0 (enquanto o Linux o chama


de hda). Um disco secundrio recebe o nome de hd1 (o Linux o chama de hdb). 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 0
timeout 5
fallback 1
splashimage=(hd0,1)/grub/splash.xpm.gz
title Fedora Core (2.6.9-1.667)
root (hd0,1)
kernel /boot/vmlinuz-2.6.9-1.667 ro root=/dev/hda2
initrd /boot/initrd-2.6.9-1.667.img
title Windows XP
rootnoverify (hd0,0)
makeactive
chainloader +1
A 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 com timeout 5 determina 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 arquivo menu.lst a 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/hda2
initrd /boot/initrd-2.6.9-1.667.img
A 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
de title. 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
palavra root tem 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 o kernel a ser carregado e
possveis parmetros. Neste caso, ro indica 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 parmetro rootnoverify ao invs de root, pois
a montagem de partio no se aplica ao Windows. O rootnoverify 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
comandos adduser e addgroup.
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
comando at. Se este arquivo no existir, todos os usurios tm permisso. Se
este arquivo estiver vazio, apenas o root pode executar o comando at.

at.deny - Este arquivo possui a lista dos usurios que no podem usar o
comando at. Se o arquivo /etc/at.allow no existir, verificada a existncia do
arquivo at.deny e todos os usurios no mencionados no mesmo, recebem
permisso para executar o comando at.
bash.bashrc - Este arquivo possui as funes e os aliases disponveis a todos
os usurios do sistema. As letras RC no nomebashrc significa Run Control
File (arquivo de controle de execuo).
crontab - Este o arquivo crontab do 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
pelo swapon e mount durante 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
de GID (group identification) e a lista dos usurio que pertencem a esse grupo.
Por exemplo, a linha abaixo mostra a entrada criada em etc/group para o
grupo sys que tem GID igual a 3 e que possui trs membros: root, bin e adm.
sys:x:3:root,bin,adm
gshadow - Este arquivo possui as senhas criptografadas dos grupos do
sistema. Apenas o root (administrador do sistema) tem permisso para acessar
o arquivo /etc/gshadow. O comando grpconv usado para criar o
arquivo gshadow a partir do arquivo/etc/group, enquanto o
comando grpunconv executa 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
processo init.
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
comando useradd na criao de novas contas de usurios.
manpath.config - Este arquivo possui a lista dos diretrios onde as pginas do
manual on-line (comando man) 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
do mke2fs para formatar sistemas de arquivos.
modules - Este arquivo possui os nomes dos mdulos do kernel a 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. O motd um simples arquivo texto cujo


contedo exibido pelo processo login aps um login bem sucedido, antes
do shell ser executado.
mtab - Este arquivo possui a lista dos sistemas de arquivos que esto
montados no Linux.
mtools - Este o arquivo configurao do pacote mtools.
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 use shadow password, as senhas
criptografadas so armazenadas em/etc/shadow), nmero de UID (user
identification), nmero de GID (group identification), informaes sobre o
usurio, o diretriohome do usurio e o shell padro do usurio. Por exemplo, a
linha abaixo mostra a entrada criada em /etc/passwd para o usurioaluno que
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 comandos adduser e chfn e visualizadas com o
comando finger.
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 arquivo bash.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 ao runlevel X esto armazenados no diretrio rcX.d. Os arquivos
que comeam com a letra S (Start) correspondem a servios que devem ser
inicializados no runlevel correspondente, enquanto os arquivos que comeam
com K (Kill) indicam os scripts que devem ser executados na finalizao do

sistema. O ltimo script a ser executado na inicializao o /etc/rc.local que


apenas retorna o valor zero informando que o sistema foi inicializado com
sucesso. Para saber mais sobre os nveis de execuo do sistema, veja init.
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 o root pode
acessar o sistema. Este arquivo usado pelo processo login para verificar se o
terminal considerado seguro para acesso do root.
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 dos shells que 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 diretrio skel so copiados para o diretriohome do usurio durante
o processo de criao da conta do usurio (comando adduser).
sudoers - Este arquivo define a poltica de privilgios para os usurios, ou seja,
como o comando sudo pode ser utilizado.
O sudoers permite 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 usurios maria e pedro possuem os privilgios definidos para
PROFESSORES.
# User alias specification
User_Alias PROFESSORES = maria, pedro

Quem pode executar como CHEFE pode assumir os privilgios dos


usurios root e operator.
# Runas alias specification
Runas_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 specification
Host_Alias LAB1 = 128.138.243.0
Host_Alias LAB2 = 128.138.53.0
Os comandos especificados por FIM so shutdown e reboot
# Cmnd alias specification
Cmnd_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 usurio teresa pode executar qualquer comando nas mquinas da rede
128.138.243.0.
teresa LAB1 = ALL
O usurio joao pode executar os comandos shutdown e reboot em qualquer
mquina.
joao ALL = FIM
O usurio carlos pode executar nas mquinas da rede 128.138.53.0 qualquer
comando do diretrio/usr/local/laboratorios/ como se fosse o usurio operator.
carlos LAB2 = (operator) /usr/local/laboratorios/
Os usurios maria e pedro podem executar qualquer comando em qualquer
mquina sem precisar fornecer senha.

PROFESSORES ALL = NOPASSWD: ALL


O Usurio frederico pode executar qualquer comando em qualquer mquina
como se fosse o usurio operator e sem precisar fornecer senha.
frederico ALL = (operator) NOPASSWD: ALL
O usurio roberto pode executar qualquer comando como se fosse os
usurios root ou operator nas mquinas da rede 128.138.243.0 e pode
executar os comandos shutdown e reboot nas 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 sistema X.

Você também pode gostar