Você está na página 1de 39

Linuxdozero porFernandoMercs

Linux do zero
www.mentebinaria.com.br
Linuxdozero porFernandoMercs

EstematerialestlicensiadosobaCreativeCommons3.0(BY).Vocpodedistribuireusareste
materiallivremente,desdequemantidososcrditosdoautororiginal.Maisdetalhesem
http://creativecommons.org/licenses/by/3.0/br/

Autor:FernandoMercs(fernandoemmentebinaria.com.br)
Primeiraverso:setembrode2008
Verso:1.1(publicadaemoutubrode2008)
Linuxdozero porFernandoMercs

ndice

Captulo1
1.1Opapeldosistemaoperacional................................................................................................1
1.2BrevehistriadoLinux..................................................................................................................1
1.3Opapeldokernel........................................................................................................................2
1.4DistribuiesGNU/Linux...............................................................................................................2

Captulo2
2.1Planejamentoeinstalao.........................................................................................................3
2.2Particionamento...........................................................................................................................3
2.3Sistemasdearquivos....................................................................................................................4
2.4Gerenciadoresdeincializao..................................................................................................6
2.5Pacotes..........................................................................................................................................7

Captulo3
3.1Obsicodosistema....................................................................................................................8
3.2Estruturadediretrios..................................................................................................................8
3.3Nveisdeoperao.....................................................................................................................8
3.4Operaesbsicasdoshell.......................................................................................................9

Captulo4
Hardwareedrivers...........................................................................................................................15
4.1Comandosdegerenciamentodehardware.........................................................................15
4.2Osistema/proc..........................................................................................................................17
4.3Mdulos.......................................................................................................................................19

Captulo5
Gerenciamentodepacotes...........................................................................................................20
5.1DPKG............................................................................................................................................20
5.2RPM..............................................................................................................................................21
5.3APT................................................................................................................................................21
5.4YUM..............................................................................................................................................23
5.5Tarballs.........................................................................................................................................23

Captulo6
Controledeacesso.........................................................................................................................25
6.1Usuriosegrupos.......................................................................................................................25
6.2Arquivosediretrios...................................................................................................................27

Captulo7
Montagemeformataodemdias.............................................................................................29
7.1Partiesdedisco......................................................................................................................29
7.2Disquetes.....................................................................................................................................30
7.3Cds/DVDs....................................................................................................................................30
7.4MdiasUSB...................................................................................................................................30

Captulo8
Configuraoderede....................................................................................................................31
8.1Comandosdeconfigurao...................................................................................................31
8.2Arquivosdeconfigurao.......................................................................................................32
Linuxdozero porFernandoMercs

Captulo9
Ambientegrfico............................................................................................................................34
9.1ServidoresX................................................................................................................................34
9.2Gerenciadoresgrficos...........................................................................................................34

Smboloseconvenesutilizadosnaapostila

Paraotimizarotextodaapostila,algunssmboloseconvenesforamutilizados:

negritoUsadoparachamaraatenoparadeterminadapalavra.
ItlicoUsadoparanomesdecomandos,pacotesearquivosemgeral.
#Evidenciaumcomandoquedeveseriniciadopelousurioroot(administradordosistema).
$Evidenciaumcomandoquepodeseriniciadoporumusuriocomum.

Exibeumadicaouinformaotilsobreoassuntoemcontexto.
Linuxdozero porFernandoMercs

Captulo1OPapeldosistemaoperacional

O sistemaoperacional(SO)detmumpapelbsiconoconceitodoscomputadores:criaruma
interfaceentreohardwareeousurio.Seupropsitoestabelecerumambienteparaqueo
usuriopossaexecutarprogramas(software).OSOprecisaoferecerumambienteconveniente
paraousodoPCe,emsegundoplano,eficiente.

Umsistemacomputacionaldivididoemquatropartesbsicas,ordenadasdonvelmais
altoparaomaisbaixo:ousurio,ossoftwares,oSOeohardware.

oSOquemgerenciaohardwaredoPCealocaseusrecursosparaqueosprogramasos
utilizem.Porsuavez,osprogramasfornecemumainterfaceparaquensosutilizemos.

ProgramarumSOsignificaescreverumsoftware(porqueoSOnodeixadeserum
software)emlinguagemqueohardwareentenda.Essalinguagemalinguagemdemquinaeo
hardwarequedeveentendlaomicroprocessador.

AinteraoLinguagemdemquinaxMicroprocessador

Oprocessador(oumicroprocessador)umcomponenteeletrnico.Ecomotodosos
outroscomponenteseletrnicos,elesentendepulsoseltricos.Portanto,alinguagemque
capazdedizeralgoaomicroprocessadorobinrio,quetemapenasdoiscomandos:0e1,ou
seja,ausnciaoupresenadeenergiaeltrica.

Claroquehumanamenteinvivelcriarumprogramasomentecomzeroseuns.Porisso,o
sistemahexadecimalfoiutilizadoparaprogramaromicroprocessador(jquequalquernmero
hexapodeserconvertidoembinrio)eposteriormente,umalinguagemdeprogramao
chamadaAssembly(oulinguagemdemontagem).Todososcomandosdestalinguagempossuem
equivalentesemhexadecimal,queporsuavez,possuemequivalentesembinrio,queenfim,
tornampossvelacompreensoporpartedomicroprocessador(lembreseque,nestecontexto,
binrionadamaisqueausnciaoupresenadeenergia).

1.1BrevehistriadoLinux

HalgunsanosumsistemaoperacionalchamadoUNIXfaziamuitosucesso,masera
proprietrio(ecaro).Umprofessoruniversitriodesenvolveuumaversoreduzida,masde
cdigoabertodestepotentesistemaechamouadeMINIX.Comoonomesugere,um
miniUNIX.EsteSOdeveriaserutilizadoemfaculdadesparafinsdeestudo,somente.Foiento
queumdosuniversitriosusuriosdoMINIXresolveucriarseuprprioSO,combasenoMINIXena
tentativadeimplementarasmelhoresfunesdoUNIX,squegratuitamente,surgiuoFreeUNIX.
EsteestudanteeraLinusTorvaldsquelogoapsdedivulgarseuFreeUNIXrecebeuumaordem
judicialporcausadonomeescolhido(lembresequeoUNIXproprietrio),masissonoera
problema.Bastavamudaronome.SurgeentooLinux1.0.

Eosprogramas?EledesenvolveuoncleodoSO(conhecidotambmcomokernel),que
sabiagerenciarohardwaremasquesoftwareexistianapocaparaLinux?Arespostanenhum,
claro.Eleentoresolveuportar(adaptarocdigofonteerecompilar)pequenossoftwaresquej
funcionavamnoUNIXenoMINIX.Umdelesfoiobash(uminterpretadordecomandos)eooutro
foiogcc(ocompiladorCdoUNIX).

1
Linuxdozero porFernandoMercs

1.2Opapeldokernel

Comomencionadoanteriormente,oLinuxumkernelenoumSO.Lembresequepor
definioumSOdeveinteragircomohardwareeousuriomassemnenhumprograma,comoo
usuriointerage?Nomnimonecessriouminterpretadordecomandos,comoo
COMMAND.COMdoantigoMSDOSeobash,quefoiportadoparaoLinux.Seexistemformasde
seinteragircomestekernel,porviadeprogramas,asimnomeamosoconjuntodeSistema
Operacional.

1.3DistribuiesGNU/Linux

LinusTorvaldsusoumuitosprogramasdeumaempresachamadaFreeSoftware
Foundation,quesonhavaemdesenvolverumsistemaoperacional,mascomeouo
desenvolvimentopelosprogramasenopelokernel.AFSFiniciouumprojetochamadoGNU,
ondedesenvolveuvriosaplicativosgratuitoseLinusosusouparadistribuirjuntocomoseukernel
Linux.DesdeentoelejtinhaumSO,masemtroca,onomefoiGNU/Linux.EsteoSO.Linuxo
kernel,puramente.

Rapidamenteempresas,universidadesegruposdeprogramadorescomearamaanexar
seusprpriosprogramasaokerneledistribuiroconjunto.SurgementoasdistribuiesGNU/Linux,
queavanamathoje.Em2006ositeDistroWatch(http://distrowatch.com)japontavamaisde
350distribuiesLinuxativas.ExemplosdetradicionaisdistribuiesLinuxsooSlackware,oRed
Hat,oDebianeoSUSE.

AbaixoumalistacomasprincipaisdistribuiesLinuxeseusrespectivossitesoficiais.

ArchLinuxwww.archlinux.org
DebianGNU/Linuxwww.debian.org
DamnSmallLinuxwww.damnsmalllinux.org
FedoraCorefedoraproject.org
Gentoowww.gentoo.org
Knoppixwww.knoppix.de
Kuruminwww.guiadohardware.net/kuruminlinux
LinuxMintwww.linuxmint.com
Mandrivawww.mandriva.com
OpenSUSEwww.opensuse.org
RedHatwww.redhat.com
Slackwarewww.slackware.com
SUSEwww.novell.com/linux
Ubuntuwww.ubuntu.com

2
Linuxdozero porFernandoMercs

Captulo2Planejamentoeinstalao

P araummelhoraproveitamentodosistema,essencialplanejarsuaimplementao.OLinux
provumsistemamuitoflexvelquepodeserinstaladoemvriasarquiteturasfacilmentemas,
sefeitoumplanejamentoantesdaimplementao,podeficaraindamelhor.Umbomexemplo
dissooesquemadeparticionamentoeconsumodememria,quepodemgerarresultados
desagradveissemalplanejadosouignorados.

2.1Particionamento

Naimplementaodetodosossistemasoperacionais,raramenterecomendvelque
utilizemossomenteumapartioe,sedesejarmaissegurana,altamenterecomendvelque
usemosmaisdeumdiscorgido.NoLinuxnodiferente,inclusive,criarumapartioextrapara
amemriavirtual(swap)obrigatrio.

Swapfile(ouarquivodetroca)oarquivousadoparasimularmemriaRAM.NoWindows
2000esuperiores,eleficanoraizdapartiodosistemaechamasePagefile.sys.Emverses
antigasdoWindows,eleficanodiretriodeinstalaodoWindowsechamaseWin386.swp.J
noLinux,todaumapartioutilizadacomoreadetrocaeestapartiochamaseswap.

UmdetalheinteressantequeoWindowsusaoarquivodepaginao(umoutronome
paraoarquivodetroca/memriavirtual)desdeainicializaodosistema.Suaotimizao
baseadanaregradeprioridadedeusodosdados,ouseja,sehumdadoemmemriaqueno
utilizadopormuitotempo,estevaiparaoswap,paraliberarmemriafsica.Oproblemaque
quandoestedadoprecisarseracessado,elevaiterdeserrecuperadodoswap,queestnoHD,
paraamemriaRAMnovamente.ComooHDmuitomaislentoqueamemriaRAM,huma
grandeperdadeperformance.JoLinux,sutilizaoswapseamemriafsicaestivertotalmente
cheia.Comodesvantagem,amemriapodeficarcheiadedadosquevocnovaimaisutilizar
nasessoatual(porescolhasua,poisolixosempreremovido).

OLinuxgerenciaosdispositivosdearmazenamentonomeandoosnoformato/dev/xdy,
ondexsubstitudopelotipododispositivo(sparadispositivosSATA,SCSIoumemriasflashe
hparadispositivosIDE).Oysubstitudoporumaletraquevariaalfabeticamentedeacordo
comaposiododispositivonaplacame(IDEprimria,secundria,slave,master,portaSATA0,
1,etc).Porexemplo,umHDIDE,conectadoIDEprimriadaplacameserreconhecido
como/dev/hda.SefosseumdispositivoSATAconectadoportaSATA0,esteseriao/dev/sda.

Aspartiessoacessadasnoformato/dev/xdyn,ondenonmerodapartio,de
acordocomsuaposionoHDeseutipo.Parapartiesprimrias,osnmerosvariamde1a4,j
queosHDsspodemterquatropartiesprimrias.Paraaslgicas,de5emdiante.

Porexemplo,asegundapartioprimriadeumHDIDEqueestconectadoIDE
secundriaser/dev/hdb2.JaprimeirapartiolgicadeumHDSATA,naportaSATA0sera
/dev/sda5.Ospendrivesseguemamesmalgica,maselesgeralmentetmumaspartioe
sosemprereconhecidoscomodispositivosSATA/SCSI.SevoctiverumHDSATAcomduas
partiesprimrias(/dev/sda1e/dev/sda2),apartiodoseupendrivesera/dev/sdb1.

Asmdiaspticas(CDROM,DVD,etc)nopodemserparticionadas.Portanto,seuacesso
sdependedobarramentoaoqualestconectado(IDE,SATAouSCSI).Porexemplo,umdrive
DVDRWnaposioslavedaIDEprimriaseracessadopor/dev/hdb.

Abaixo,umatabelaquerelacionaosHDsesuasparties:

3
Linuxdozero porFernandoMercs

Priorida Partiesprimrias/ Parties


Barramento Posio Nome
de acesso lgicas
/dev/hda1
/dev/hda5
/dev/hda2
IDE Primria Master /dev/hda /dev/hda6
/dev/hda3
etc...
/dev/hda4
/dev/hdb1
/dev/hdb5
/dev/hdb2
IDE Primria Slave /dev/hdb /dev/hdb6
/dev/hdb3
etc...
/dev/hdb4
/dev/hdc1
/dev/hdc5
/dev/hdc2
IDE Secundria Master /dev/hdc /dev/hdc6
/dev/hdc3
etc...
/dev/hdc4
/dev/hdd1
/dev/hdd5
/dev/hdd2
IDE Secundria Slave /dev/hdd /dev/hdd6
/dev/hdd3
etc...
/dev/hdd4
/dev/sda1
/dev/sda5
/dev/sda2
SATA/SCSI 0 /dev/sda /dev/sda6
/dev/sda3
etc...
/dev/sda/4
/dev/sdb1
/dev/sdb5
/dev/sdb2
SATA/SCSI 1 /dev/sdb /dev/sdb6
/dev/sdb3
etc...
/dev/sdb4

Agoraquejsabemoscomoosdispositivossonomeados,podemosdefinirasparties
paraainstalaodosistema.OmnimoqueoLinuxexigeparaserinstaladosoduasparties
(umaparaosistemaraizeoutraparaoswap).Massevocquiserqueseusarquivospessoais
fiquemnumapartioseparada(oquepodesermuitotil),bastacriarumapartioamaise
montarnelaodiretrio/home.Nosepreocupesevocnosouberoqueo/home,muito
menosoquemontagem.Veremosissomaisadiante.

Nestecursobsico,noabordaremosoparticionamentomaiscomplexo,quepodeexigir
maisdecincopartiesnodisco.Esseesquematilparaservidoresesistemasdealto
desempenhoeconfiabilidademasfogedonossoescopo.

2.2Sistemasdearquivos

NomundoLinux,sistemasdearquivospodemaparecerdeduasmaneiras:oconjuntode
regrasparaarmazenardadosnumapartioouosdiretriosmontveisnestasparties(como
o/eo/home).Nestaseo,trataremosdoprimeirocaso.

Voccertamentejouviufalaremformatao.Estapalavravemdaidiadecriarum
formato,ouseja,definirumsistemadearquivosenodeapagar.

Hdoistiposdeformatao:algicaeafsica.Aextintaformataofsicaserviapara
preenchertodosossetoresdeumdiscorgidocomzeros,incluindoseuMBR(MasterBootRecord
ouSetorprincipaldeinicializao)erecalculararelaoCHS,querelacionacilindros,cabease

4
Linuxdozero porFernandoMercs

setores.Jalgica,queaquemaisusamos,somenteaplicvelsparties(enoaodisco)
eserveparacriarumfilesystemnapartiodesejada.Sehouverarquivosnestapartio,elesno
seroapagados,masficaroinacessveisporqueforamgravadosutilizandoofilesystemanteriore
onovonoosconhece.

porestemotivoquedadosdeumapartioformatadoslogicamente
podemserrecuperados:Osdadosnosoapagados.Aformataos
defineumfilesystemeestaoperaofeitanoinciododiscoenono
discointeiro.

OLinuxpodeserinstaladoemmuitossistemasdearquivosdiferentes.Algunsexemplosso
ext2,ext3,ReiserFS,XFSeJFS.Abordaremosaquiosfilesystemext3eoReiserFS,porseremosmais
comuns.

OReiserFSmaisrpidoqueoext3namaioriadoscasosetambmfazcomquearquivos
pequenosocupemmenosespaodoqueocupariamnumsistemaext3.Ambospossuemuma
tecnologiaderecuperaodearquivosemcasodefaltadeenergiachamadajournaling,que
consisteemcriarumtipodelog(registrodeocorrncias)parapoderrecuperaroarquivodepois
deumafalhaeltricaoudesligamentorepentinoporqualqueroutromotivo.

Estesfilesystemssobaseadoseminodes,quesopequenosarquivosquearmazenam
informaessobrecadaarquivonosistema.Essasinformaessochamadasdemetadados.

Oinodedeumarquivoumconjuntodemetadadosquedefine,porexemplo,osatributos
doarquivo,quemodono,ahoradesualtimamodificao,aspermissesdeacessoaeste
arquivo,dentreoutrasinformaes.

Agoraimaginequevocdigitouumtextoemandousalvar.Nesteexatomomento,o
fornecimentodeenergiafoiinterrompido.Oarquivonofoisalvomasseuinodesim.Issogerar
umainconsistncianoseufilesystem.

Ojournalingconsisteemfazeratualizaesdosmetadadoseregistrlasemumlog,antes
queosdadossejamsalvos.Ouseja,aoclicaremSalvar,primeirooinodefoicriado,depoiso
journalingentrouemaoeregistrounologqueosmetadadosdoarquivoforamalteradoseque
asituaoanteriorquetaismetadadosnemexistiam.Quandoaenergiaforrestabelecida,a
condioanteriordoarquivo(inexistente)serrestaurada.Vocperdeuoquesalvou.Fato.Mas
manteveofilesystemconsistente.

Oext3fazjournalingnosmetadadosenosdados.JoReiserFS,somentenosmetadados.

Oext3reserva5%doespaototaldapartioparacontrole,enquantooReiserFSreserva
aproximadamente33MB,independentedotamanhodapartio.

Pararesolverinconsistncias,umcomandotilofsck(filesystem
checker),equivalenteaochkdsk/scandiskdoWindows.Eledeveser
rodadocomorootecomapartiodedestinodesmontada.Sua
sintaxe#fsck<partio>(noformato/dev/xdyn).

5
Linuxdozero porFernandoMercs

2.3Gerenciadoresdeinicializao

AlgumtemquedizerparaoBIOS(BasicInput/OutputSystem)queexisteumkerneldeSO
numapartioespecficaeestealgumumgerenciadordeboot.NomundoLinux,hdois
gerenciadoresamplamenteutilizados:oLILO(LinuxLoader)eoGRUB(GRantedUnified
Bootloader).Ambostambmpossuemacapacidadedeinicializaroutrossistemasoperacionais
taiscomoWindows,FreeBSDeoutros.

EstesbootloaderspodemserinstaladosnoMBR(MasterBootRecord)ounoprimeirosetor
deumapartioprimria.

OLILOconsisteemtrspartes:ogerenciadordebootemsi,umarquivodeconfigurao
(/etc/lilo.conf),umarquivodemapeamento(/boot/map)quecontmalocalizaodokernel,e
ocomandolilo,queloarquivodeconfiguraeseutilizaestasinformaesparaatualizaro
arquivodemapeamentoe/ou(re)instalarogerenciadordeboot.

OGRUBtemalgumasvantagensemrelaoaoLILO.Umadelasquesevocinstalar
umanovaversodekernel,noprecisarreinstalarogerenciadordeboot.Outraqueem
desastresoGRUBofereceumainterfacedetexto,queaceitacomandosdemanuteno.Estes
somuitoteispararecuperarogerenciadordebootemcasodefalhas.

AssimcomooLILO,oGRUBtambmdivididoempartes.Soelas:

stage1parteexecutvelqueresidenoMBRounoprimeirosetordapartio.Estaparte
necessriaporqueaparteprincipaldoGRUBmuitograndeparacabernumsetors.Este
estgio1usadoparatransferiraexecuoparaoestgio1.5ou2.

stage1.5carregadosomenteseosistemaexigir.Esteestgioespecficoparacadasistemade
arquivosqueoGRUBpodecarregar.Porexemplo,oarquivo/boot/grub/reiserfs_stage1_5o
executveldoestgio1.5paraofilesystemReiserFS.

stage2esteexecutvelaparteprincipaldogerenciadordeboot.Elequemexibeomenu,
chamaoinitrd,carregaokernel,etc.

AbaixoomenudoGRUBinstaladonumPCsomentecomoDebianGNU/Linux:

UmpontoimportantetratandosedoGRUBqueeletemsuaprpriaconvenoe

6
Linuxdozero porFernandoMercs

nomenclaturaparaasparties,ondedizqueoprimeirodiscorgidohd0(independentedo
discoserIDE,SATAouSCSI).Osegundoserohd1eassimpordiante.

Paraasparties,bastaacrescentarumavrgulaseguidadeumnmeroeportudoentre
parnteses.Assim,aprimeirapartiodoprimeiroHDa(hd0,0).Asegundapartiodeste
mesmoHDa(hd0,1)eassimpordiante.Seguindoestalgica,vocseriacapazdedefinircomo
oGRUBchamaaterceirapartiodeumsegundoHD?Sevocrespondeu(hd1,2),parabns!Se
errou,releiaotrechoacimaporqueesteconceitoessencialparausaroGRUB.

OarquivodeconfiguraodoGRUBficaem/boot/grub/menu.lsteseuarquivodemapas
o/boot/grub/device.map.

Emnossocurso,adotaremosoGRUBcomogerenciadordeboot.Parasabermaissobreele,
consulteoartigoTudosobreoGRUBnoendereowww.mentebinaria.com.br/index.php?
option=com_content&task=view&id=62&Itemid=5

2.4Pacotes

NomundoLinux,aformanaqualbaixamososprogramasebibliotecassoarquivos
especiais,chamadosdepacotes.OsdoistiposdepacotesexistentessooDEBeoRPM.O
primeirofoicriadoparaoDebianeosegundo,paraoRedHat.Noentanto,imensaa
quantidadededistribuiesqueosutilizamjquetudoqueseguealicenaGNU/GPLpodeser
reutilizadolivremente.

Porexemplo,parabaixarosoftwareWireshark,paraLinux,umadasopesbaixaro
pacoteDEB(seestivermosusandoumadistribuiobaseadanoDebian).Outraopobaixaro
pacoteRPM(nocasodedistribuiesbaseadasnoRadHatouSlackware).Depoisdisso,basta
instalaropacotecomogerenciadordepacotes,queveremosnocaptulo5.

UmaopomaisavanadabaixarocdigofontedoWiresharkecompillo.Todosesses
mtodosserovistosnocaptulo5masacompilaodeprogramasexigeconhecimentosforado
escopobsicodesteSO.

7
Linuxdozero porFernandoMercs

Captulo3Obsicodosistema

O Linuxpossuimuitasparticularidadesteisesuaoperaoconscienteessencialparaa
seguranadosistema.Nestecaptuloveremosoquechamodebsicotcnico.Preste
bastanteatenonelepoisapartirdaquivocvaiprecisardetodososconceitosbemslidosem
suamente.

3.1Estruturadediretrios

ArvoredediretriosdoLinux,assimcomotodarvoredomundo,temorigemnaraiz.Este
diretrioraizrepresentadopelocaractere/.

Cadadiretriopossuiumafunoespecfica,queveremosagora:

/raizdosistema.Todososdiretriosabaixososubdiretriosdeste.
/binArmazenaarquivosexecutveis(tambmconhecidoscomobinrios).
/bootContmokerneleosarquivosquegerenciamoboot.
/cdromumlink(atalho)paraodiretrio/media/cdrom.
/devMantmosarquivosusadosparaconexocomosdispositivosdehardware.
/etcCentraliza(quase)todasasconfiguraesdosprogramas.
/homeArmazenaosarquivospessoaisdousurio.comooMeusdocumentosdoWindows.
/initrdCriaumramdiskparacarregarokernel.
/libArmazenaasbibliotecas,conhecidascomolibs,quesoequivalentessDLLsdoWindows.
/lost+foundMantmarquivosrecuperadosapsfalhas.Equivalentesaos.CHKdoWindows.
/mediaPontodemontagensparamdiasremovveis,somente(disquetes,pendrives,CDROM...)
/mntPontodemontagensparaHDs.
/optArmazenaprogramasquenosonativosdadistribuio.
/procNoarmazenaarquivosesimrefernciasinformaesqueokernelproduzemtempo
real.
/rootO/homedousurioroot.Mantmseusarquivospessoaisseparadosdosdeoutrosusurios.
/sbinArmazenaosexecutveisquesorootpodeutilizar.
/srvArmazenaarquivoscompartilhados,dewebsites,servidoresFTP,etc.
/sysNestediretriomontadoumfilesystemchamadosysfs,queokernelutiliza.
/tmpContmarquivostemporrios.Estetemseucontedoexcludoacadainicializao.
/usrMantmamaioriadosdadosdosistema,emmodosomenteleitura.
/varArmazenadadosvariveis,comologsespooldeimpresso.

LembresequevocdeveconhecercadadiretriodaestruturadediretriosdoLinux.Este
umassuntomuitoimportantequeoacompanharemtodaajornadadeaprendizado.

3.3Nveisdeoperao(runlevels)

NoLinuxexistem7runlevels,quevode0a6.Soeles:

0desligado
1monousurio
2multiusurio
3multiusuriocomrede
4reservadolocal
5multiusuriocomambientegrfico
6reinicializao
Orunlevel0oestadodesligado.Assim,sevocmandarseusistemaoperarnorunlevel0,
eledesligar.Parecebobo,masnecessrioparaodesligamentodosistema.

8
Linuxdozero porFernandoMercs

Orunlevel1paramanutenonosistemaessuportaqueumusurioefetueloginno
sistema.Logicamente,esteusuriooroot,oadministradoretodopoderosodomundoLinux.

Orunlevel2permitequeoutrosusuriostambmfaamlogin,massomenteloginlocal.

Orunlevel3diferedo2porquetambmpermiteologinremotoeacessorede.

Orunlevel4ummodoondesoadministradorlocaldosistemapodeinteragir.Eledifere
sedorunlevel1empoucosdetalhes.

Orunlevel5usadoquandoseestusandooambientegrfico.

Orunlevel6reiniciaosistemaesegueamesmalgicadeimportnciaqueorunlevel0.

Ocomandoquealteraorunlevelatualoinit.Esuasintaxe:

#init<runlevel>

Experimentealternarentreosrunlevelsmassaibamassaibaqueas
distribuiesDebianbasednorespeitamestepadro.NoDebian,os
runlevelsde2a4soidnticosao5.

3.4Operaesbsicasnoshell

Antescomear,vamosdefiniroqueumshell.Esteumsoftwareinterpretadorde
comandosquerodasobreokernelLinux.ummeiodecomunicaoentrevoceokernel.Um
dosshellsmaisusadosnomundoLinuxatualmenteoBASH(BourneAgainSHell)eneleque
concentraremosnossosestudos.Esteexecutvelestlocalizadoem/bin/bash.Umalistacom
todososshellsdisponveisemsuadistribuiomantidaem/etc/shells.Senoestiversatisfeito
vocpodeinstalarouremovermaisshells,deacordocomseugostoounecessidade.

Jsabemosoqueumshell,agoravamosexplorarascaractersticasinternasdoBASHque
otornamumapoderosalinguagemdeprogramaoeeternoaliadoaoadministradorouusurio
dosistemaLinux.

OBASHpossuicomandosinternos(tambmchamadosdebuiltins),comorotinasdeloop,
seleoecondio.Nestecurso,abordaremososcomandosbsicosenoabordaremosobash
scripting(programaodescriptscomBASH).

Asintaxepadrodoshell:

$comando<parmetros>

Percebaoespaoentreosdois.Primeirodigitamosocomandoedepoissuasopes
(tambmchamadasdeparmetros).Porexemplo,paralistarocontedodeumdiretrio
podemoscomandar:

$ls
Massequisermosumalistadetalhada,temosqueinformaralgumparmetroqueo
comandolspermita.Oparmetrolpodeserusadoassim:

9
Linuxdozero porFernandoMercs

$lsl

Outroimportanteassuntosoosmetacaracteres(*,?e[]).Seelesestiverempresentesna
linhadecomando,oshellosinterpretadaseguinteforma:

*ocorrnciadequalquercaractereemqualquerquantidade.
?ocorrnciaqualquercaracterenico.
[]ocorrnciadeumintervalopersonalizado.

Porexemplo,paralistartodososarquivosquecomecemcomapalavramente,usamos:

$lsmente*

Sequisssemossomenteosarquivosqueterminamemmente,usamos:

$ls*mente

Agora,osquecontenhamapalavramente:

$ls*mente*

Paralistarosarquivosqueterminamemmenteseguidodeumnicocaracterequalquer:

$lsmente?

Paralistaosarquivosquetenhamseunomenoformato<nmero>mente,usamos:

$ls[09]mente

Agoravamosveralgunsdosprincipaiscomandos,queusaremosbastante:

cat
Estecomandoequivalenteaotype,doMSDOS.Elerecebecomoentradaumarquivoeexibe
seucontedonasadapadro(stdout)que,pordefinio,ateladomonitor.

Noexemploacima,ocontedodoarquivoperlprint.pl,queestnodiretrio
/home/fernando/scriptsexibidonatela.

ls
Estecomandolargamenteutilizado.Elelistaocontedodeumdiretrio.

10
Linuxdozero porFernandoMercs

Noexemploacima,mostreiousodolscomosparmetrosmaiscomuns:

lexibeumalistadetalhada.
aexibetambmosarquivosocultos.
hformatomaisamigvelnostamanhosdosarquivos.

mkdir
Criadiretrios.

11
Linuxdozero porFernandoMercs

rmdir
Removediretrios.

cp
Copiaarquivosetambmdiretriosinteiros(comoparmetroR).

rm
Removearquivosoudiretriosinteiros(comoparmetroR).

12
Linuxdozero porFernandoMercs

tail
Exibeasltimas10linhasdeumarquivo(muitotilparachecarlogs).

df
Exibeestatsticasdautilizaodosdiscosrgidos.Oparmetrohorientaocomandoaexibir
unidadesdegrandezamaisamigveis(Kparaquilobytes,Mparamegabyteseassimpordiante).

free
Exibeestatsticasdautilizaodememria.Oparmetromexibeasadaemmegabytes.

halt
Desligaosistema.

13
Linuxdozero porFernandoMercs

reboot
Reiniciaosistema.

fgrep
Esteumfiltrorpido,quepodeserutilizadoparafiltrarocontedodeumarquivo,deacordo
comumaocorrncia.

cd
Entranumdiretrio.

echo
Usadoparaexibirumtextoestticoouocontedodeumavarivel.

AvarivelPATHnoLinux,assimcomonoWindowsumavarivelde
ambientequearmazenaoscaminhosconhecidosparaosprogramas
executveis.Graasaela,podemosdigitarumcomandousando
somenteseunomeaoinvsdocaminhocompleto.Semela,o
comandolsdeveriasercomandadonaformacompleta:/bin/ls.

ExistemcentenasdecomandosnoLinux,cadaumcomdezenasdeopes.Umalista
bemcompletapodeserencontradaemwww.oreillynet.com/linux/cmd

14
Linuxdozero porFernandoMercs

Captulo4Hardwareedrivers

U madasgrandesvantagensdesteSOterumgerenciamentodehardwaremuitobem
definido,oquefacilitaaconsultasinformaesdosdispositivosdehardware.ParaoLinux,
tudoumdispositivo(device,emingls).Paraverocontedoatualdamemria,porexemplo,
bastacomandar#cat/dev/mem.Snoespereentender,porquenohtextopurona
memria.

Analiseocontedododiretrio/devetenteidentificaroutrositensdehardware.

4.1Comandosdegerenciamentodehardware

Jfalamosdoscomandosdfefree,masexistemoutrosquefacilitamavidanahoradeconsultar
informaesouconfiguraritensdehardware.Soeles:

lspci
FamosocomandoquelistatodososdispositivosconectadosaobarramentoPCIdoPC.

ObarramentoPCIocentronervosodosmicrocomputadoresatuais.
Neleestoconectadosquasetodososdispositivos.Noconfunda
barramentoPCIcomslotsPCI.Asplacasnessesslotstambmesto
conectadasestebarramento,maselejexistedentrodoPC.

15
Linuxdozero porFernandoMercs

lsusb
ListaosdispositivosconectadosaobarramentoUSB.

dmidecode
Ofereceumaextensalista,comdetalhadasinformaessobrecadaitemdehardwarenoPC.Esta
listatograndequeseuusomaiscomumespecificandooitemdesejadocomoparmetro
t.

16
Linuxdozero porFernandoMercs

4.2Osistema/proc

Almdestescomandos,temosumaoutrafontedeinformaoqueosistemadearquivos
/proc.EstepodenosfornecerpreciosasinformaessobreohardwaredoPC.Vejaalguns
exemplos:

Informaessobreomicroprocessador:

Informaesdeusodasinterrupes(IRQs):

17
Linuxdozero porFernandoMercs

InformaesdeusodosendereosdeE/S:

Informaessobreaspartiesdosistema:

Algunsprogramasnonativoscomoolshw,hwinfoeomemtest86+
tambmpodemserteisnagernciadehardware.EmsistemasDebian,
elespodemserinstaladofacilmentepelosrepositriosAPTcomo
comando#aptgetinstalllshwhwinfomemtest86+.

18
Linuxdozero porFernandoMercs

4.3Mdulos

Osdrivers,noLinux,sousadosatravsdemdulos.Naverdade,podemosdizerqueos
driverssochamadosdemdulos.Namaioriadoscasos,oLinuxjvemcomosmdulos
necessriosparareconheceregerenciargrandepartedosdispositivosdehardwaremaspode
acontecerdeumdispositivonotermdulonativonosistemaparaseufuncionamento.Neste
caso,htrsalternativas:

Algunsfabricantesoferecemmdulosprcompilados(emformadepacote)para
download.Bastabaixloeinstallo(vocvercomoinstalarpacotesnocaptulo5).

Seosfabricantes,ouatmesmoterceiros,ofereceremocdigofontedomdulopara
download,vocterquebaixarotarball(cdigofontecompactado),descompactar,
compilarestemduloecarregloemmemria.

OutraopousarodriverdeWindowsparaestedispositivo,comalgumsoftwareLinux
quepermitaesterecurso(ndiswrapperumdeles,massparaplacasderede).

Novamosabordaracompilaodemdulospoisumassuntomaiscomplexoenose
encaixaemumcontextodecursobsicodeLinux.Nosepreocupecomissoporagorapoisa
maioriadoshardwareexistentesjsosuportadospeloLinuxnativamenteeatendncia
aumentarcadavezmaisestalistadehardwarescompatveis.;o)

19
Linuxdozero porFernandoMercs

Captulo5Gerenciamentodepacotes

C onformeditoantes,umpacoteprcompiladopodeserdotipoDEBouRPM.Asformasde
gerenciamentodestesdoistiposdepacotessodiferentes.Oprimeirogerenciadoporum
programachamadoDPKG.Osegundo,porumprogramaquetemomesmonomedotipo,ou
seja,RPM.

5.1DPKG(DebianPacKaGe)

EsteogerenciadordepacotesnativodoDebian,queutilizamosparainstalaros
pacotes.debbaixadosdainternetouadquiridoatravsdeoutrosmeios(CDROM,etc).Sua
sintaxe:

#dpkg<opes>nomedopacote.deb

AsopesmaiscomunsdoDPKGso:

PpacoteRemoveumpacoteinstaladoetodososseusarquivosdeconfigurao.
LpacoteMostraquaissoeondeestotodososarquivosqueopacotecriounosistema.
lListatodosospacotesinstaladosedesinstalados.
ipacoteInstalaumpacote.deb.
IpacoteExibeinformaessobreumpacote.
cpacoteExibeoquesercriadopelopacote.tilparasaberoqueseralteradoemseu
sistema,antesdainstalaodopacote.

importantelembrardasbibliotecas(libraries)nestemomento,umavezquemuitos
pacotesnecessitamdebibliotecasparasereminstalados.Porexemplo,opacotevi,umclssico
editordetextos,dependedeumabibliotecachamadalibdl.so.2.Seelanoestiverinstalada,no
serpossvelinstalarovi.Essarelaochamasedependnciadepacotes.Emnossoexemplo,
pararesolveresteproblema,bastabaixaropacotelibdl.so.2.debeinstalloantesdovi.Masese
opacotelibdl.so.2.debdependerdeoutralib,quenoestinstalada?Bem,nestecasovocter
queinstalla.

Adependnciadepacotespodegerarumtrabalhorduoeainda,seumalibraryfor
removida,ospacotesquedependemdelairoparardefuncionar.Porisso,gerenciarbemas
dependnciasumatarefaimportantssimanomundoLinuxeessatarefacabiavoc,ata
chegadadoAPT,queveremosmaisadiante.

Algunspacotesaosereminstaladosexibemtelasdeconfiguraoondeousurioseta
vriasopesparaofuncionamentodopacoteemquesto.Todavia,depoisqueaconfigurao
finalizadavocpodedesejarvoltarnelaparamudaralgo.ParaissoexisteumvariantedoDPKG
chamadodedkpgreconfigureesuasintaxe:

#dpkgreconfigure<nomedopacote>

Lembresesemprequeeleexiste!

20
Linuxdozero porFernandoMercs

5.2RPM(RedHatPackageManager)

EsteogerenciadordepacotesnativodoRedHatmasfoiadotadoemmuitas
distribuiescomoSlackwareeSUSE.

Suasintaxe:

#rpm<opes>nomedopacote.rpmOUnomedopacote

AsopesdoRPMmaiscomunsso:

ipacoteinstalaumpacoteRPM.
qamostraospacotesinstalados.
epacoteremoveumpacote.
Fpacoteatualizaumpacoteinstalado.
Upacoteatualizaumpacoteinstalado.Seestenoestiverinstalado,instalao.

OexemploabaixoinstalaopacotedoJavanosistema:

Percebaqueadicioneioparmetrovnestecomando.Elecolocao
RPMemmodoverbose(detalhado)eseuusoencorajadoemtodasas
operaesenosnainstalaodepacotes.

5.3APT(AdvancedPackageTool)

EstaameninadosolhosnoquedizrespeitoaogerenciamentodepacotesnoDebian.
EleumfrontendparaoDPKGmastambmtemfunesprprias.Asprincipaisfacilidadesque
eleofereceso:

OAPTseconectaaosservidoresdesuadistribuio,baixaopacoteparavoceoinstala.
Issotudocomumalinhadecomando.Issoeliminaotrabalhodeprocurarumpacote.deb
nainternet,baixareinstalarviaDPKG.

Resolveasdependnciasautomaticamente.Assim,nocasodainstalaodovi
apresentadaquandofalamosdoDPKG,alibdl.so.2seriainstaladaautomaticamenteao
instalarovi,assimcomotodasasoutrasdependncias.

Mantmumalistalocalcomtodosospacotesdisponveisparadownloadqueconstamnos
repositriosdesuadistribuio,oquepermiteumabuscamuitootimizada.

Poderemoverospacotesporcompleto,semcomprometeraestabilidadedosistema,uma

21
Linuxdozero porFernandoMercs

vezqueasdependnciassogerenciadas.

Comtodosessesrecursos,snosrestavercomooAPTfaztudoisso.Paracomear,emum
sistemaquetenhaoAPTinstalado,existeumarquivo/etc/apt/sources.list.Esteoarquivode
fontes,ondeficamosendereoseopesdosrepositrios(sitesHTTPeFTPquemantmos
pacotesdesuadistribuioparadownload).Umexemplodeumsources.listsegueabaixo:

AsintaxegeraldoAPT:

#aptget/cache<ao><nomedopacote>

Seguealistadecomandosmaisusados:

aptgetupdateAtualizaalistalocaldepacotesdisponveis.Estecomandoloseusources.listem
buscadeendereosderepositriosdepacotes.Entoelebaixaumarquivocompactadoque
contmumalistaemtextocomosnomes,versesedescriodetodosospacotesquecada
repositriopossui,paraarmazenaremcachelocal.

aptgetupgradeAtualizaospacotesinstaladosnosistema,combasenoseucachelocal.Isso
querfizerqueseumpacotepresentenoseusistemaestnumaversoanterioraomesmopacote
listadonocachelocal,estecomandoirbaixaronovopacoteeinstallo,substituindooantigo.

aptgetdistupgradeAtualizaosistemaemsi,instalandonovasversesdekernel(sedisponveis)
eoutroscomponentescrticos.

aptgetinstall<pacote>Instalaumpacoteetodasassuasdependncias.

aptgetremove<pacote>Removeumpacoteinstalado.

aptgetremovepurge<pacote>Removeumpacoteinstaladoetodososseusarquivosde
configurao.

aptcachesearch<expresso>procuraporumpacoteondeonomeouadescriocasecom
aexpressoinformada.Porexemplo,paraprocurarprogramasqueeditemimagensvocpode
usar$aptcachesearchimageeditor.Vejaoexemplodeumabuscapelapalavrawireshark:

aptcacheshow<pacote>Exibeinformaessobreopacoteemquesto.

22
Linuxdozero porFernandoMercs

aptcachedepends<pacote>Exibeasdependnciasdopacote.

Sempreatualizeseucachelocaldepacotescomocomandoaptget
updateantesdeinstalarumnovopacoteparacertificarsedequeest
usandoaltimaversodisponvelnorepositriodesuadistribuio.

5.4YUM(YellowDogUpdaterModified)

Estegerenciadordepacotestambmgerenciaasdependnciasautomaticamenteeseu
funcionamentobemsimilaraodoAPT.Omotivodeeucitlonestaapostilaqueele
largamenteutilizadopeloFedoraCore.

Suasintaxe:

#yum<ao><pacote>

Aes:

listMostraospacotesdisponveisnosrepositrios.
search<expresso>procuraporumpacoteondeonomeouadescriocasecomaexpresso
informada.
install<pacote>instalaumpacote.
updateAtualizaosistema.
info<pacote>Exibedetalhessobreopacote.

5.4Tarballs

Umtarballumarquivocompactadoeempacotadoquecontmumcdigofontedeum
programa,umMakefileealgumadocumentao.Umadasvantagensdesedistribuirumsoftware
nesteformatoqueelepodeserutilizadoemqualquerdistribuio(diferentedeumpacoteDEB
ouRPM,quenecessitaserusadonadistribuiocorretaparaoqualfoifeito).Essavantagemexiste
porqueocdigofontedosoftwareestnotarball.Adesavantagemprtica,logicamente,ter
decompilarestecdigoparacomearausaroprograma.

Muitosadministradoresdesistemapreferemcompilartodosossoftwares
deseussistemasparaobterummelhordesempenhoeremoverou
adicionaropesealteraesnocdigofonteantesdacompilao.

Geralmenteaextensodotarball(apesardeoLinuxignorarextenses).tar.gzou.tgz.

AextensousadaparadizeraousurioqueumarquivoempacotadocomoTARe
compactadocomoGZip.umaestticatil.

Paradescompactaredesempacotarumtarball,geralmenteusamosoprprioprograma
tar,daseguintemaneira:

$tarxvzf<tarball.tar.gz>
Estecomandovaicriarumdiretriocomomesmonomedotarball,queconteros
arquivosdescompactadosenodecorrerdadescompactao,ocaminhocompletodecada

23
Linuxdozero porFernandoMercs

arquivocriadoexibidonatela.

Abaixoumexemplodedescompactaodeumtarball:

Aofinaldadescompactao,voctertodoocdigofontedoprogramaepoder
compilloparauso.Noentanto,antesdisto,vocdeveterinstaladosocompiladornecessrioe
todasasdependnciasqueestecdigofonteexige.Estaumatarefaminuciosa,queno
abordaremosnestecursobsico,massaibaquepossvel.;o)

24
Linuxdozero porFernandoMercs

Captulo6Controledeacesso
EsteumassuntoprazerosodomundoLinux.graasssuaspermissesquevrusemambientes
Linuxsoinviveis,queaseguranareforadaequeaestabilidadedosistemagarantida.

Cadaarquivoediretriopossuiumconjuntodepermisses(leitura,escritaeexecuo)
quecontrolamoseuacessoapartirdetrsfontes(dono,grupoeoutros).Entenderesses
conceitosessencial.

6.1Usuriosegrupos

OsusuriosdoLinuxsoarmazenados,porpadro,noarquivo/etc/passwdenquantoos
grupos,em/etc/group.

Umtrechoexemplodeumarquivopasswdmostradoabaixo.

Paraentenderaestruturadessearquivo,precisamossaberoquecadavalorseparadospor
doispontossignifica.Analiseabaixo:

login:senha:UID:GID:Informaesdiversas:diretrioinicial:shellinicial

Ocampologin,comoonomesugere,onomequeousuriodigitaparaentrarnosistema.O
camposenhasegueamesmalgica,masobviamenteexisteumacriptografiaparaproteoda
senhadousurio.UID(UserIDentifier)eGID(GroupIDentifier)sonmerosqueosistemausapara
identificarosusuriosegrupos.OndeestInformaesdiversas,podemaparecerinformaes
queforamatribudasaousurionomomentodesuacriao,comoonomecompleto,nmeros
detelefone,etc.Odiretrioinicialdefineocaminhoondeousurioestarquandofizerlogin
(geralmenteseudiretriopessoalem/home).Eporfim,oshellinicialdefinequalshellousurio
vaireceber,porpadro,logoapslogarsenosistema.

Vocdeveterpercebidoquealgunsusuriostmumshellparalogin
definidocomo/bin/false.Esteumshellespecial,queimpedequalquer
loginnele.Issosignificaqueousurioqueestivercomesteshellpadro
setadonoconseguirlogarnosistema.

25
Linuxdozero porFernandoMercs

Oscomandosmaiscomunsparasegerenciarusuriosegruposso:

adduser<usurio>
Adicionausuriosaosistema.

useradd<usurio>
Similaraoadduser,masnopedesenhaparaousurio,nemcriadiretriohomeparaomesmo.

userdel<usurio>
Removeumusurio.

passwd<usurio>
Alteraasenhadeumusurio.Oprpriousuriopodeusarestecomando,seoadministradordo
sistemapermitir,paraalterarsuaprpriasenha.

su<usurio>
Trocaseuusurioatualparaousurioespecificado.necessriosaberasenhadousuriode
destino.

sudo
Qualquercomandoprecedidodesteexecutadocomoroot.Parafuncionar,ousurioatualdeve
estarconfiguradonoarquivo/etc/sudoers.

w
Mostraquaisusuriosestologadosnosistema.

addgroup<grupo>
Adicionaumgrupovazioaosistema.

groupdel<grupo>
Removeumgrupomasnoremoveosusurriosquepertencemaele.

26
Linuxdozero porFernandoMercs

6.2Arquvosediretrios

Depoisdeconhecersobreosusuriosegrupos,agoraestudaremosefetivamenteas
permissesdearquivos.Cadaarquivooudiretriopossuitrsconjuntosdepermissesque
relacionamseaodono,grupoeoutros,respectivamente.Essesconjuntossoconstitudosdetrs
permissesquesoadeler,deescreveredeexecutarepodemsercombinadas.Paraentender
melhor,acompanheoexemploabaixo:

Concentresenalinhareferenteaoarquivofirst.c.Acolunadepermissesaprimeirae
mostraoseguinteconjuntodecaracteres:rwrr.Essassoaspermissesdoarquivoeesses
caracteresdizemtudoqueprecisamossabersobreelas.Depoistemosonomedodonodo
arquivo,quenestecasofernando.Logoaps,onomedogrupodestearquivo,quenestecaso
users.

Oprimeiroconjuntodetrscaracteresdepoisdohfeninicialrepresentaaspermissesdo
donodoarquivo.Osprximostrscaracteresrepresentamaspermissesdogrupoeosltimastrs,
dosoutrosusurios.

Apermissorsignificaleitura(read).
Apermissowsignificaescrita(write).
Apermissoxsignificaexecuo(execute).

Aausnciadealgumapermissoindicadaporumhfen().

Assim,aspermissesdestearquivopodemserrepresentadasnatabelaabaixo:

Dono Grupo Outros


rw(leescreve) r(sl) r(sl)

Oformatosemprerwx,nestaordem.Destaforma,volteimagemeanaliseaspermisses
doarquivoarping2.06.tar.gz.Vocdevesercapazdeinterpretlas.

Umaoutraformaderepresentaodaspermissesdeumarquivousandoanotao

27
Linuxdozero porFernandoMercs

octal(quevaide07).Paraestarepresentao,aspermissesr,wexpossuemvalores
correspondentes,dasegundamaneira:

r w x
4 2 1

Pararepresentaraspermissesnesteformado,somamososvalorescorrespondentes.Por
exemplo,noarquivofirst.cquefoiusadonoexemploanterior,aspermissessorw(dono),r
(grupo)er(outros).Sesomarmosestesvaloresseparadamenteparadono,grupoeoutrostemos:

r+w=2+4=6
r=4
r=4

Agoraconcatenamososresultados,oquenosdonmero644.Portanto,podemosdizer
queaspermissesdestearquivoso644.Paratreinar,obtenhaapermissoemoctaldoarquivo
arping2.06.tar.gz.

Ocomandoquemudaaspermissesdeumarquivooudiretrioochmod:

$chmod<permisses>arquivo

Porexemplo:

$chmod440meuarquivo

Ocomandoacimadefinirqueodonodoarquivopodesomenteler(4),assimcomoo
dono.Josoutros,nopodemnada(0).

Voctambmpodealteraraspermissesdeumdiretrioetodooseucontedocoma
opoR:

#chmodR763scripts/

Ocomandoacimafazcomquetodososarquivosdodiretrioscriptseseussubdiretrios
recebamaspermissesabaixo:

Onmero7defineleitura(4),escrita(2)eexecuo(1)paraodono.
Onmero6defineleitura(4)eescrita(2)paraogrupo.
Onmero3defineescrita(2)eexecuo(1)paraoutros.

Altimapermisso(3ouwx)noscolocanumasituaointeressante.Osoutrospodem
escrevereexecutarosarquivosmasnopodemllos.Serqueissodcerto?Bom,naverdade
dcertosim.Destejeito,outrospoderoapagararquivosmassemverseucontedoeno
poderoexecutloporqueaexecuoprecisadepermissodeleitura.

Acostumesecomaspermissesnoformatooctalpoissolargamente
utilizadasedepoisquevocseacostumar,ficarfcilutilizlas.

Haindacomandosparasealterarodonoeogrupodosarquivosediretriosquesoo
chowneochgrp,respectivamente.

28
Linuxdozero porFernandoMercs

Captulo7Montagemeformataodemdias

T odamdiadearmazenamentoprecisasermontadanosistemaoperacionalparaserutilizada.
Montarsignificaatribuirumpontodemontagem(umdiretrio)paraqueosdadosdamdia
possamseracessadosatravsdele.Assim,sevoccriarumdiretriochamado/minha_partioe
montarasuasegundapartionele,bastaentrarnestediretrioparaverosdadosdasua
partio.

Amontagemfeitacomocomandomount.Suasintaxe:

#mountt<filesystem><mdia><ponto_de_montagem>

7.1Partiesdedisco

Paramontarumapartio/dev/sdb1FAT32nodiretrio/mnt/sdb1,fazemos:

#mkdir/mnt/sdb1
#mounttvfat/dev/sdb1/mnt/sdb1

Oprimeirocomandoscriouodiretrioenquantoosegundorealizouamontagemno
diretriocriado.Agorasuapartiodeveestaracessvelnestediretrio.

Algumasopesdefilesystemsparaoparmetrotsovfat,reiserfs,ext3,ntfs,iso9660,
dentreoutras.Comande#manmountparaverumalistacompleta.

NOTA:Vocpodeusarocomandomanprecedendoqualquercomandoquetiverdvidapara
lerseumanual.

Inversamente,temosumcomandoparadesmontagemdemdiasqueoumount:

#umount/dev/sdb1

Ocomandoacimadesmontarapartio/dev/sdb1(independentedopontoondeela
estmontada).

29
Linuxdozero porFernandoMercs

7.2Disquetes

OsdisquetessoformatadosnosistemasdearquivosFAT12,oriundodoMSDOSesua
sintaxeparamontagem:

#mounttmsdos/dev/fd0/media/floppy

Nocasoacima,monteioprimeirodrivededisquete(/dev/fd0)nodiretrio/media/floppy.Seeste
diretrionoexistir,ocomandomountretornarumerroeamontagemnoserrealizada.

Aformataofsicadedisquetespodeserfeitacomocomandofdformat,assim:

#fdformat/dev/fd0

Vocpodeinstalaropacotedosfstoolsparaterdisponveisoscomandos
mkfs.vfatemkfs.msdos,quetambmformatamdisquetesdemaneira
lgica.

7.3CDs/DVDs

ParamontarCDROMouDVDROM,vocpodeusaroatalho/media/cdromdireto:

#mount/media/cdrom

Sepreferirusarasintaxegeraldocomandomount,useofilesystemqueestetipodemdia
utiliza,chamadoISO9660,destejeito:

#mounttiso9660/dev/cdrom/media/cdrom

7.4MdiasUSB

Conformecitadonoinciodocaptulo,asmdiasdearmazenamentoUSBso
reconhecidaspelosistemadamesmaformaqueosdiscosSATA/SCSI.Portanto,seuformatoser
/dev/sdxn,ondexumaletraapsoseultimodiscoSATA/SCSI(senohouverdiscodestetipo,
seraletraa)enonmerodapartiodoseupendrive,quegeralmente1.Logo,se
houverdoisHDsSATAnamquina,oacessoaopendriveservia/dev/sdc1.

Ofilesystemusadonaopotdomountvaidependerdotipodepartiodopendrive,
assimcomonaspartiesdeHDs.Porpadro,estesdispositivosvmdefbricacomuma
partioFAT32porquestesdecompatibilidadecomSOsdiferentes,utilizandotodooseu
espaodisponvelenovejorazoparaalterarisso.Nestecasoamontagemser:

#mounttvfat/dev/sdc1/media/pendrive

Logicamente,odiretrio/media/pendrivedeveexistir.

30
Linuxdozero porFernandoMercs

Captulo8Configuraoderede

O Linuxmuitopoderosoquandoestemrede.Suasferramentasderedenosajudama
diagnosticarproblemasemambientesmistosoupuramentedeoutrossistemasoperacionais.

OLinuxreconheceasplacasderedeethernetcomoeth0,eth1eassimpordiante.Jas
semfio,sochamadasdeath0(ouwlan0)eassimsucessivamente.

8.1Comandosdeconfigurao

Parachecarsuasconfiguraesderedeocomandoidealoifconfig.Apesardesua
semelhanaemnomecomoipconfigdossistemasWindows,oifconfigcapazdealteraras
configuraesdeIPdaplaca,desabilitla,adicionarmaisdeumIPnamesmaplaca(aliasdeIP),
alterardemaneiralgicaseuendereoMAC,dentreoutraspoderosasfunes.Algunsexemplos
deutilizaosoexibidosabaixo:

Noexemploacima,primeiroconfigureiainterfaceeth0comoIP192.168.0.2emscarade
24bits(255.255.255.0),usandoocomando#ifconfigeth0192.168.0.2/24.Depois,listeia
configuraodainterfaceeth0paracertificarmedequeestcomoIPquecoloquei
anteriormente.

Maisabaixo,configureiaeth0comoIP192.168.0.2emscarade8bits(255.0.0.0),utilizando
comando#ifconfigeth0192.168.0.2netmask255.0.0.0.Novamentelisteiaconfiguraodaeth0
paraveroresultado.

NotetambmqueoutrasinformaestaiscomoHWaddr(endereoMAC)eBcast
(endereodebroadcast)tambmsolistadascomocomandoifconfig.
Umoutrocomandomuitoutilizadoodhclient,queatualizaosendereosobtidosdeum

31
Linuxdozero porFernandoMercs

servidorDHCP(DynamicHostControlProtocol)presentenarede.Secomandadosemparmetros,
odhclientvairequisitarendereosparatodasasinterfacesderedeconfiguradascomoDHCP.Sua
sintaxepararenovaroIPdeumainterfaceespecfica:

#dhcpclient<interface>

Algumasdistribuiesnousamocomandodhclient.Nestecasovoc
podeusaroscomandospumpoudhcpcd.

8.2Arquivosdeconfigurao

AoalteraroIPououtraconfiguraocomoifconfig,taisalteraessserovlidasparaa
sessoatualdousurio,ouseja,sevocdeslogarerelogar,suasalteraesseroperdidas.Para
fazeralteraesdeformafixa,necessrioescrevernumarquivo.Seunomevaidependerda
distribuioutilizada.

NoDebianeseusderivados(Ubuntu,Kurumin,Knoppix,etc),oarquivoquemantmessas
configuraeso/etc/network/interfaces.Segueumexemplopraticamenteautoexplicativo,
abaixo:

JemsistemasbaseadosnoRedHat,osarquivosficamseparados.Existeumarquivopara

32
Linuxdozero porFernandoMercs

cadainterfacederede,todosnodiretrio/etc/sysconfig/network/.Nocasodaeth0,sero
/etc/sysconfig/network/ifcfgeth0.Segueumexemplo:

Comandostradicionaisderedecomoping,route,netstatenslookuptambmesto
presentes.

33
Linuxdozero porFernandoMercs

Captulo9Ambientegrfico

E mnossoltimocaptulo,abordaremosoambientegrfico,essencialmentenecessrioquando
setratadousodomsticodoLinux.

OambientegrficodoLinuxumacombinaoentreumservidor,umgerenciadorde
sesseseumgerenciador(oucliente)grfico.Parautilizarumambientegrficonecessrio
instalartodosessescomponentes.

9.1ServidoresX

Oservidorgrficoosoftwareresponsvelporcontrolarohardwaredemonitor,placade
vdeo,mouse,tecladoetodososdispositivosbsicosdeusonumambientegrfico.Configuraes
maisavanadascomofreqnciadevibraohorizontal,taxaderepetiodetecladoou
resoluesdeponteirosdemousetambmsodesuaresponsabilidade.

OsservidoresgrficosmaisconhecidossooXWindoweoX.Org.Estesegundouma
variaodoprimeiro,maselessoquaseidnticos.Visualmente,elesnopassamdeumatela
cinza,semconesoujanelas.Essasfunessoprovidaspelosgerenciadoresgrficos,que
veremosadiante.

9.2Gerenciadoresgrficos

OsgerenciadoresgrficosmaisfamosossooGnomeeoKDE.AmbosrodamsobreoX
WindowouX.Org.Masantesqueosgerenciadoresgrficossejamefetivamenteinicializados,
necessrioumgerenciadordesesso,quepodeseroXDM,oKDM,dentreoutros.Emresumo,um
ambientegrficonoLinuxformadopor:Servidorgrfico+Gerenciadordesesso+Gerenciador
grfico.

EmsistemasDebianbased,podemosinstalaroXWindowcomoseguintecomando:

#aptgetinstallxwindowsystem

Parainstalarogerenciadorgrfico(oqueincluiumgerenciadordesesso),use:

#aptgetinstallxfce4

EstecomandoinstalaroXFCE,umgerenciadormuitomaislevequeoGnomeouKDE,mas
commenosrecursos.

Feitaainstalaoeconfigurao,inicieoXcom:

$startx

34
Linuxdozero porFernandoMercs

Referncias

SistemasOperacionaisModernosAndrewS.Tanenbaum
DescobrindooLinux,NOVATECEribertoMotaFilho
LinuxinaNutshellO'Reilly

35