Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumario
Histrico.....................................................................................................................................................
4
Distribuiesmaisconhecidas:......................................................................................
......................6
Instalao...............................................................................................................................
....................7
Passo1)Bootcomocdromdeinstalao..................................................................................
..........8
Passo2)Escolheroteclado..............................................................................................
....................8
Passo4)Particionarodiscorgido.................................................................................
....................10
Motivosparaparticionamento:...................................................................................
...................10
Passo6)FormatandoaspartiesdeSWAP..........................................................................
............15
Passo7)Formatandoasoutrasparties......................................................................................
......17
Passo8)Definindoamdiaquecontmosarquivosdeinstalao....................................................18
Passo9)Escolhendoospacotesqueseroinstalados........................................................................19
Passo10)Escolhadolocaldokernel.................................................................................................
.21
Passo11)Geraododiscodeboot..............................................................................
.....................22
Passo12)Configuraodomodem..........................................................................................
..........22
Passo14)ConfiguraodoLILO..........................................................................................
.............23
Passo15)ConfiguraodoMouse.......................................................................................
..............24
Passo16)ConfiguraodaRede.....................................................................................
...................25
Passo17)ConfirmaodasconfiguraesdeRede....................................................................
.......26
Passo19)Configuraoprviadefonte............................................................................
.................27
Passo20)Escolhadotipodeatualizaodorelgiodamquina.....................................................28
Passo22)DefinirasenhadoAdministradordosistema(root).........................................................28
Passo23)Finalizandoainstalao.......................................................................................
..............29
IniciandooSistemaOperacional..........................................................................................................
...30
ComandosBsicos.......................................................................................................................
.......30
Mostrarodiretrioatual.....................................................................................
...........................31
Entrar/Sairdediretrios.....................................................................................................
............31
CriandoDiretrios..........................................................................................................................
31
CopiandoArquivoseDiretrios................................................................................
....................31
CriandoArquivosVazios...................................................................................................
............32
RemovendoDiretrios................................................................................................
...................32
RemovendoArquivoseDiretrios....................................................................
............................33
Movendo/RenomeandoArquivoseDiretrios................................................................
..............33
Comandotail........................................................................................................................
..........34
Comandocat.........................................................................................................
.........................34
Comandosort.....................................................................................................................
............34
Comandogrep......................................................................................................................
..........34
ComandosdePaginao.................................................................................................
...............35
Comandomore........................................................................................................................
.......35
Comandoless...................................................................................................................
..............35
DesligandooSistemaOperacionalLinux.....................................................................
................36
SejaumProfissionalAprendendocomProfissionais1
LinuxSystemAdministration
ReiniciandooSistemaOperacionalLinux.......................................................................
.............36
RedirecionamentodeEntradaeSaida...............................................................................................
......36
RedirecionamentodeSada..........................................................................................
......................38
RedirecionamentodeEntrada........................................................................................................
.....38
Comandosort.....................................................................................................................
...........39
Pipe.....................................................................................................................................................
.39
Metacaracteres................................................................................................................
....................40
EstruturadeDiretrios..................................................................................................
..........................42
Dispositivos................................................................................................................
.............................43
ConsolesVirtuais.................................................................................................................................
....45
EditoresdeTexto............................................................................................................
.........................45
Mtools...............................................................................................................................
.......................47
PaginasdeManuais............................................................................................................
.....................49
CriandoLinks......................................................................................................................
....................49
ComandosdeBusca...................................................................................................
.............................50
CompactaodeArquivos......................................................................................................
.................51
gzip:.........................................................................................................................................
...........51
bzip2:........................................................................................................................................
..........51
compress:...................................................................................................................
........................52
Empacotamento................................................................................................................
.......................52
zip:..................................................................................................................................................
....52
tar:...............................................................................................................................
.......................53
MontagemdeDispositivos....................................................................................................
..................54
Fdisk......................................................................................................................................................
...55
GerenciamentodeContasdeUsurios......................................................................
.............................57
Criar/AlterandoSenhaDeUsurio......................................................................
............................57
DeletandoUsurios............................................................................................................................
.58
AdicionandoGruposNoSistema....................................................................................
...................58
Mudandoodonodearquivosediretrios...........................................................................
...............59
Mudandoogrupodearquivosediretrios........................................................................................
.59
Mudandodonoegrupoaomesmotempo.............................................................................
.............59
PermissesdeArquivoseDiretrios...................................................................................................
....61
PadroDeCriao.............................................................................................................
.................62
GerenciamentodePacotesRPM.......................................................................................
......................67
PacotesTGZnoSlackware..........................................................................................................
............71
GerenciamentodeProcessos...............................................................................................
....................73
ProcessodeInicializaodaMquina...................................................................................................
..76
InstalaoeconfiguraodoGestordeIncioLILO..................................................................
............78
Passandoparmetrosparaokernelatravsdolilo.................................................................................
.80
ConfiguraesdeSegurana.................................................................................................
..................80
OprocessoINITnainicializaodosistema................................................................................
..........83
Nveisdeexecuo(Runlevel)........................................................................................................
..83
ComunicandocomoprocessoINIT
......................................................................................................................................................
.......85
OutrasfunesdoINIT.....................................................................................................
.................86
SejaumProfissionalAprendendocomProfissionais2
LinuxSystemAdministration
OArquivo/etc/inittab......................................................................................................
...................86
Odiretrio/etc/rc.d/...........................................................................................................................
.89
Arquivo/etc/issue..............................................................................................................
......................90
Arquivo/etc/nologin..................................................................................................................
..............90
Arquivo/etc/motd............................................................................................................
........................91
Arquivo/etc/securetty..............................................................................................................
................91
Comandosu........................................................................................................................
.....................93
InicializaodeServios...........................................................................................................
..............94
OArquivo/etc/login.defs..............................................................................................
..........................95
ProgramaoShell.........................................................................................................................
..........96
ProgramandonoLinux............................................................................
...........................96
Tiposdeinterpretadores..................................................................................................
.....96
UmScriptsimples................................................................................................
...............97
Utilizandoocomandobash...........................................................................................
.....................98
Sintaxe............................................................................................................
....................100
TiposdeVariveis....................................................................................................................
........100
Acessandovariveis......................................................................................................
....................101
Comandoecho..................................................................................................
.................101
Caracteredeescape....................................................................................................................
.......102
Passagemdeparmetros.............................................................................................
......................103
Parmetro.............................................................................................................................
....103
Leituradetecladoevariveis...................................................................................
.......................103
EstruturasdeDeciso(if)..........................................................................................
.......................104
Comandoexit................................................................................................................
....................106
Operadoresdecomparao......................................................................................................
.........106
Condiocase..........................................................................................................
.........................108
GerenciamentodeArquivosdeLOG...................................................................................................
..111
Formatosdearquivosdelogs..................................................................................................
..........111
GerandoLOGs......................................................................................................
............................111
ODaemonSyslogd...............................................................................................
............................112
ODaemonKlogd.......................................................................................................
.......................112
Osprincipaisdiretriosearquivosdelog....................................................................
......112
Controledecotasdedisco...........................................................................................
..........................114
Verificandosuporteacota...................................................................................
.............................114
Habilitandoquotaemumapartio........................................................................................
..........115
Configurandoquotadedisco.........................................................................................
...................115
Gerenciandoquotas...........................................................................................................
...............118
Definindoquotaparausurios......................................................................................
....................118
Definindoquotasparagrupo.........................................................................................
...................122
AgendadordeTarefas.....................................................................................................
.......................124
CRON.................................................................................................................................................
....124
Arquivosdeconfigurao......................................................................................................
..........125
Crontab....................................................................................................................................
.........127
Controlandooacessocron.........................................................................................................
.......129
SejaumProfissionalAprendendocomProfissionais3
LinuxSystemAdministration
Anacron(ParaRedHat)............................................................................................................
.......130
ConfiguraodosDispositivosdeHardware......................................................................
..................132
ConfigurandoimpressoracomCUPS..............................................................................
.....................132
ConfiguraoBsicadoServidorNFS.............................................................................
...................135
HabilitandooacessoremotoviaSSH(passoapasso)................................................................
.........138
CompilaodoKernel........................................................................................................
...................140
Mdulos...........................................................................................................................................
..140
ConfiguraoGRUB(Istoapenasumexemplo):..........................................................................145
ConfiguraodoLILO(Istoapenasumexemplo):.......................................................................146
SejaumProfissionalAprendendocomProfissionais4
LinuxSystemAdministration
Histrico
Em1965,algumasempresasseuniram(LaboratriosBelldaAT&T,GeneralEletriceMIT)
para desenvolver um novo sistema operacional chamado MULTICS, que se propunha a oferecer
serviosdetimesharing(TempoCompartilhado)parausogeral.
Timesharing:quandotodoprocessamentoefeitoporumcomputadorcentral,cujotempode
processamentoentocompartilhadopelosvriosusurios.
DevidosdificuldadesqueseencontraramnaconstruodoMULTICS,quesemostrouum
sistemamuitogrande,complexoeexigiarecursosdemaisparaoscomputadoresdapoca,aAT&T,
acabouseretirandodoprojeto,1969,paraquemaistardealgunsmembrosdaempresa,lideradopor
Ken Thompson, aproveitando a experincia ganha na construo do MULTICS, comearam a
trabalharporcontaprprianumsistemamenosrobusto,queacabouresultandonoUNIX.
AprimeiraversodoUNIXfoidesenvolvidaparaumcomputadorPDP7efoitotalmente
escritaemlinguagemassembly,em1971foiescritoparaumPDP11ejem1973foireescritopara
linguagemCpelocriadordalinguagem,DENISRITCHIE.
DevidoaofatodoUNIX,deestarescritonumalinguagemdealtonvel,OusodoUNIX
dentrodoLAB.BELLfoicrescendotanto,queacabousendocriadoumgrupodesuporteinternoao
sistema.NessamesmapocaaAT&Tforneciacpiasdocdigofonteasuniversidadesparafins
educacionais.
Comofornecimentodocdigofonte,vriascorporaesmodificaramoUNIXdeacordocom
suasnecessidadeselanaramsuaprpriaverso.
Em 1980,a Universidade daCalifrniaem Berkelyfoi financiadapeloDepartamento de
Defesa para desenvolver uma verso de UNIX voltada para os novos sistemas de computao
distribudaqueresultounosistemaBSD,nestapocaaMicrosoftlanouoXENIX,baseadaemmicro
computadorescompatveiscomoIBMPC. A Sun Microsystem desenvolveu o SunOS, que
introduziuoconceitodeNetworkFileSystem,NFS,quepossibilitaocompartilhamentodearquivos
pormquinasligadasemredelocal.
Noinciodosanos90,umalunodecinciadacomputao,LinusTorvalds,sepropsa
desenvolversistemaoperacional,melhorqueoS.O.queeleutilizavanafaculdade,MINIX,construdo
por AndewTanembaumparafinsdidticos.MelhorporqueoSOpropostoporeleutilizaria das
SejaumProfissionalAprendendocomProfissionais5
LinuxSystemAdministration
facilidadesdomodoprotegido(comomultitarefaememriavirtual)tambmoSOpropostono
carregariatodososseusdispositivosemmemria,vistoqueexisteanecessidadeapenasquandona
suautilizao.
Essesistema,batizadodeLINUXeevoluiuparaumaversodeUNIXsendodistribudopela
redenamodalidadefreeeopensource(cdigoaberto),naqualtantoocdigoexecutvelquantoo
cdigofontepodemserbaixadosedistribudosgratuitamentepelainternet.Comisso,oLINUXse
disseminourapidamenteehojeocupaumafatiaconsiderveldasgrandesemdiascorporaesem
todomundoalmdesurgirvriasversesdosistema(distribuies).
Existem grupos de pessoas, empresas e organizaes que decidem criar sua prpria
distribuio.Oqueumadistribuio?oKerneldoLinuxjuntocomoutrosprogramasessenciais
(como por exemplo, editores grficos, planilhas, bancos de dados, ambientes de programao,
formataodedocumentos,Jogos,etc).
Cadadistribuiotemsuasprpriascaractersticasde:comoosistemainstalado,oseu
objetivo, a localizao dos programas, nomes de arquivos de configurao, etc. E cabe o
desenvolvedordadistribuiodizerqueelaounoopensource.Maspraumsistemasercomercial,
ele tem que sofrer mudanasgigantescas,devidoo grandenumero de distribuiesopensource
distribuidaspelomundo.
Distribuiesmaisconhecidas:
SlackwareUSA
DebianUSA
SuseEUROPA(distribuiocomercializadavoltadaparaomercadocorporativo)
MandrakeUSA(muitorecursogrfico)
RedHatUSA(comercializada)
ConectivaBRASIL
OceanPacificASITICA
YellowDog
Kurumin(distribuioquerodaemCD)CaldeiraUSA
SejaumProfissionalAprendendocomProfissionais6
LinuxSystemAdministration
Fedora(versodoRedHat9)
Mandriva(ConectivacomMandrake)
AlgumasCaractersticasdoLinux:
livre,edesenvolvidovoluntariamenteporprogramadorescomoobjetivodecontribuioparaa
melhoriaecrescimentodestesistemaoperacional;
Convivemsemnenhumtipodeconflitocomoutrossistemasoperacionais(comooDOS,Windows,
OS/2)nomesmocomputador;
MultitarefaReal(Vriastarefasrodandoaomesmotempo);
Multiusurio(Vriosusurioslogadossimultaneamentenosistema);
Suporteanomesextensosdearquivosediretrios(suportaat255caracteres);
Nohanecessidadedesereiniciarosistemaapsamodificaodasconfiguraes;
Norequeridaumalicenaparaseuuso;
Suportavriossistemasdearquivos(EXT/2/3,NTFS,FAT/16/32,MINIX,etc...);
RodaaplicaesDOSeWindowsatravsdeemuladores(DOSEMU,WINE);
Vriosservidores(WEB,EMAIL,FTP,SAMBA,DNS,etc..)podemestarlocalizadosnomesmo
computador.
SejaumProfissionalAprendendocomProfissionais7
LinuxSystemAdministration
Instalao
Ainstalaopodeserfeitadediversasformas
CDROM;
HD;
REDE(utilizandoprotocolos);
NFS(NetworkFileSystem);
SAMBA(integramaquinaswindows);
HTTP(fazatransferenciadearquivospelobrowser)
FTP(Faztransferenciadearquivosmaiseficienteemaisrpida)
Reiniciaramquina,entrarnoSETUP,mudaroprimeirobootdamaquinaparaCDROM,salvare
sair.
NOTA:Estespassosdeinstalao,soexclusivosparaadistribuioSlackware.
Passo1)Bootcomocdromdeinstalao
Aoinserirodiscodebootnocdrom,selecioneaopodaBIOSparabootatravsdaunidade
deCDROM.Aoiniciarosistema,ateladebootdoslackwareirsolicitaraformadeinicializaro
sistema.Nestecasobastapressionar<enter>.
SejaumProfissionalAprendendocomProfissionais8
LinuxSystemAdministration
Passo2)Escolheroteclado
Apspressionar<enter>edefinirqualokernelserinicializado,serdisponibilizadaumatela
ondedevesedefinirqualolayoutdetecladoserutilizado.Nestecasobastadigitar<1>epressionar
atecla<enter>.
Naprximatelafoiescolhidootecladoabnt2comacentos.Apsaescolhadoteclado,ser
disponibilizadaumajanelaparatestedoteclado.Casootecladoestejacorreto,bastadigitar<1>e
pressionar<enter>.Casootecladoescolhidonosejaoideal,pressione<2>e<enter>eretornepara
ateladeescolhadeteclados.
SejaumProfissionalAprendendocomProfissionais9
LinuxSystemAdministration
Passo3)Logarnosistema
Apsaescolhadoteclado,sersolicitadoumlogindeusurioparacontinuarainstalaodo
sistemaoperacional.Nestecasobastadigitarrootepressionar<enter>.
Passo4)Particionarodiscorgido
Motivosparaparticionamento:
Segurana:Existemopesquedeterminamosmodosdefuncionamentodosistemadearquivos,e
conseqentementeoquepossvelfazercomosdadoslgravados.Diretrioscontendoarquivosdo
sistema, podem em grande parte funcionar em um modo que permite apenas leitura, evitando
destruiodosistemaatmesmoporusuriosprivilegiados.Outrosdiretrios,comooresponsvel
pelainicializaodosistema,noprecisamnemmesmoestardisponvelaosusurios.Aseparao
destesdiretriosempartiesseparadasgaranteestenvelextradecontroleesegurana.
Espaoemdisco:OfuncionamentonormaldeumsistemaLinuxdependedeumacertaquantidade
livredeespaoemdisco.Imaginequeumdeterminadoprocesso,ouusurio,foradecontrole,comece
apreencheroespaodisponvelemdisco.Estasimplesaocolocariaaestabilidadedosistemaem
SejaumProfissionalAprendendocomProfissionais10
LinuxSystemAdministration
cheque.Aodedicarumapartioparausuriosoudeterminadosprocessos(quetemnecessidades
legtimas de gravar dados), o sistema permaneceria sem modificaes em uma situao igual
apresentadaprimeiramente.
Velocidade:Casoseusistemapossuamaisdeumdisco,adistribuiodediferentesreasdosistema
entre os discos trar melhorias na performance do sistema. Imagine que voc est iniciando
automaticamenteumaplicativo(instaladoemumapartionoprimeirodisco)aoclicarsobreocone
deumdocumento(armazenadoemumaoutrapartio,emumoutrodisco).Osistemaconsegue
enviarordensdeleituradedadossimultaneamenteparaosdoisdiscos,quecolocamoaplicativoeo
documentoemmemriaemumtempomuitomenor.
Proteocontraerrosfsicos: Danosfsicosaodiscopodemcausaracorrupodosistemade
arquivos como um todo, dificultando ou impossibilitando a leitura de todos os dados nele
armazenados. A separao de reas em parties, e conseqentemente em sistemas de arquivos
diferentes,diminuioestragocausadoporumdanofsico.
Apsologin,devemoscriaraspartiesparaainstalaodonossosistema.Nesteservidorsero
criadas5parties,seguindoosseguintespassos:
a)acessarodisco
# fdisk /dev/hda
SejaumProfissionalAprendendocomProfissionais11
LinuxSystemAdministration
b)criandonovasparties
Command(mforhelp):n
c)definindoseapartioprimariaouextendida.Nonossocasoserprimria.Paraisto,bastadigitar
<p>.
Commandaction
eextended
pprimarypartition(14):
Apsescolherpartioprimria,sersolicitadoonmerodapartio.Nestecasodevemos
digitar<1>paraprimeirapartio.
Partitionnumber(14):
d)definindootamanhodapartio:logoapsaescolhadonmerodapartio,devemosdefinirqual
seropontoinicialdapartio.Nestecasobastapressionar<enter>.
Nota:Paraasnossasinstalaes,opontoinicialsempreserdefinidopressionandoatecla<enter>.
Firstcylinder(14870,default1):
Devemosdefiniragoraopontofinaldapartio.
Lastcylinderor+sizeou+sizeMor+sizeK(14870,default4870):+75M
e)criandopartioextendida.
Command(mforhelp):n
Devemosdigitar<e>elogoaps<2>paraindicaronmerodapartioextendida.
Commandaction
eextended
pprimarypartition(14):
SejaumProfissionalAprendendocomProfissionais12
LinuxSystemAdministration
e
Partitionnumber(14):2
Firstcylinder(104870,default10):
Devemospressionar<enter>paraselecionartodoorestantedodisco.
Lastcylinderor+sizeou+sizeMor+sizeK(104870,default4870):
f)criandoasegundapartiodosistema.
Command(mforhelp):n
Commandaction
llogical(1orover):
pprimarypartition(14):
Devemosescolher<L>delgica.
Firstcylinder(114870,default4870):
Lastcylinderor+sizeou+sizeMor+sizeK(114870,default4870):+256M
g)criandoaterceirapartiodosistema.
Command(mforhelp):n
Devemosescolher<L>delgica.
Commandaction
llogical(2orover):
pprimarypartition(14):
Devemosescolher<L>delgica.
Firstcylinder(434870,default4870):
Lastcylinderor+sizeou+sizeMor+sizeK(434870,default4870):+256M
h)criandoaquartapartiodosistema.
Command(mforhelp):n
Devemosescolher<L>delgica.
SejaumProfissionalAprendendocomProfissionais13
LinuxSystemAdministration
Commandaction
llogical(3orover):
pprimarypartition(14):
Devemosescolher<L>delgica.
Firstcylinder(754870,default4870):
Lastcylinderor+sizeou+sizeMor+sizeK(754870,default4870):+30000M
i)criandoaquintaeltimapartiodosistema.
Command(mforhelp):n
Devemosescolher<L>delgica.
Commandaction
llogical(4orover):
pprimarypartition(14):
Devemosescolher<L>delgica.
Firstcylinder(37234870,default4870):
Devemospressionar<enter>paraselecionartodoorestantedodisco.
Lastcylinderor+sizeou+sizeMor+sizeK(37224870,default4870):
Apsfinalizarasparties,devemosescolhertipodosistemadearquivos.Nestecasoiremos
mudarosistemadasparties5e6paraswap.
Definindootipodapartio5.
Command(mforhelp):t
Partitionnumber(18):5
Hexcode(typeLtolistcodes):82
Definindootipodapartio6.
Command(mforhelp):t
Partitionnumber(18):6
Hexcode(typeLtolistcodes):82
SejaumProfissionalAprendendocomProfissionais14
LinuxSystemAdministration
Apstodasasconfiguraespodemosvisualizarseestatudocorretoatravsdaopo<p>
Command(mforhelp):p
Disk/dev/hda:40.0GB,40060403712bytes
255heads,63sectors/track,4870cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEnd
Blocks
System
/dev/hda11 10
80293+
/dev/hda211
4870
39037950
/dev/hda511
42
257008+
Linuxswap
/dev/hda643 74
83
Id
82
257008+
Linux
82
Extended
Linux
swap
/dev/hda775
3722
29302528+ 83
Linux
/dev/hda83723
4870
9221278+
Linux
83
j)Salvartodasasconfiguraes.
Parasalvartodasasconfiguraesdevemosescolheraopo<w>.
Command(mforhelp):w
Callingioctl()torereadpartitiontable.
Syncingdisks.
Passo5)Iniciandoainstalaoatravsdosoftwaredeinstalaodoslackware
Devemosagoradigitar<setup>,parainiciarosoftwaredeinstalao.
SejaumProfissionalAprendendocomProfissionais15
LinuxSystemAdministration
Passo6)FormatandoaspartiesdeSWAP
Nestepasso,escolhadiretoa3opoADDSWAP.
Apsfeitaaescolhadapartioconfirmecom<yes>aformataodaspartiesdeSWAP.
SejaumProfissionalAprendendocomProfissionais16
LinuxSystemAdministration
Passo7)Formatandoasoutrasparties.
ApsotrminodaformataodaspartiesdeSWAP,teremosqueindicaremqualpartio
devemosinstalarapartioraiz(/).Nestecasodevemosescolherapartio/dev/hda8.
Na prximateladevemosconfirmarsedesejamosformatarapartioindicada.Devemos
confirmarpressionando<enter>.
Aprximatelasolicitaquensindiquemosqualotipodesistemasdearquivosqueiremos
utilizarparaestapartio.Nestecasovamosutilizarosistemadearquivosext3.
SejaumProfissionalAprendendocomProfissionais17
LinuxSystemAdministration
Apsestaescolhaumatelacomotamanhodosblocosdealocaodearquivosserdisponibilizada.
Devemosutilizaraopode4096blocks.
Apsaformataodapartioraiz,osoftwaredeinstalaoirretornarateladeescolhadas
parties.Escolhaapartio/dev/hda1edefinacomo/boot;partio/dev/hda7edefinacomo/var.
Passo8)Definindoamdiaquecontmosarquivosdeinstalao.
Apsaformataodetodasaspartiesoprogramadeinstalaodisponibilizadaumatela
ondedevemosinformarafontequecontmosarquivosparainstalao.Nestecasodevemosescolher
aprimeiraopo.
SejaumProfissionalAprendendocomProfissionais18
LinuxSystemAdministration
Logoapsdevemosdefinirseabuscapelamdiaautomticaoumanual.Nestecasodevemos
definircomomanual.
Passo9)Escolhendoospacotesqueseroinstalados
Aps o sistema detectar os arquivos de instalao, ser disponibilizada uma tela com os
aplicativosquepodemserinstalados.
SejaumProfissionalAprendendocomProfissionais19
LinuxSystemAdministration
Devemosescolhertodosospacotesdosgrupos:
[A]:basedosistemalinux
[D]:pacotesdedesenvolvimento
[F]:pacotescomalistasdeFAQ's
[K]:pacotesdedesenvolvimentodoKernel
[KDE]:pacotesdoambientegrficoKDE
[L]:pacotescomasbibliotecas
[N]:pacotesdosaplicativosderede
Apsaescolhadospacotes,serdisponibilizadaumatelacomotipodeinstalao,escolhaa
opomenu,epressione<enter>nasprximastelasdeconfirmaoeaguardaracpiadosarquivos.
SejaumProfissionalAprendendocomProfissionais20
LinuxSystemAdministration
Passo10)Escolhadolocaldokernel
Apsainstalaodospacotesescolhidos,umanovatelaserdisponibilizadaparaquepossa
mosinformarqualaordemdebuscapelokernel.Nestecasoiremosescolheraltimaoposkip.
SejaumProfissionalAprendendocomProfissionais21
LinuxSystemAdministration
Passo11)Geraododiscodeboot
Nestatelaserquestionadosedesejamoscriarumdiscodeboot.Nestecasonoiremoscriar
estediscodeboot.Iremosescolheraoposkip.
Passo12)Configuraodomodem
Nestateladisponibilizadaaconfiguraodomodem,casoeleexistanamquina.Nonosso
casoiremosmarcaraoponomodem,poisnoexistemodememnossoservidor.
Passo13)HabilitarHotPlug
Nesta tela devemos informar se queremos que o sistema linux ao inicializar carregue os
dispositivosHotPlugs(dispositivosUSBemgeral).Nestecaso,vamosmarcaraopo<yes>.
SejaumProfissionalAprendendocomProfissionais22
LinuxSystemAdministration
Passo14)ConfiguraodoLILO
Aprximateladeconfiguraoadolilo,nestecasovamosmarcaraoposimple.
Emseguida,umateladecomandosespeciaisparaoLILOsermostrada,nestenossocaso
vamossimplesmenteconfirmarcom<enter>
SejaumProfissionalAprendendocomProfissionais23
LinuxSystemAdministration
Apsaescolhadolilo,umanovatelamostraque devemosescolherondeolilodeverser
gravado.IremosgravlonaMBR,paraistobastamarcaraopoMBR.
Passo15)ConfiguraodoMouse
Nestaopodevemosescolherotipodomouseutilizado.Podemosmarcaraprimeiraopo,
mesmonotendoummousepresenteemnossamquina.Bastapressionar<enter>emps2.
SejaumProfissionalAprendendocomProfissionais24
LinuxSystemAdministration
Naprximateladevemosconfigurarseomouseserinicializadoemmodotexto.Nestecaso
vamosmarcaraopoyes.
Passo16)ConfiguraodaRede
A prximatelairpermitirquesejarealizadoaconfiguraodarede.Nestecasovamos
confirmarmarcandoaopo<yes>.
a)Naprimeiraopoiremosdefinironomedamquina.Nossocaso:server.
SejaumProfissionalAprendendocomProfissionais25
LinuxSystemAdministration
b)Naprximaopoiremosdefinirodominio:Nossocaso:3way.com.br
c)NaprximaopoiremosdefinircomoserconfiguradonossoendereoIP.Iremosutilizara
opostaticip.
d)InseriroendereoIP:192.168.0.1
e)Inseriramscaraderede:255.255.255.0
f)Inseriroendereodogateway:192.168.0.254
g)inseriroendereodoservidordenomesDNS:192.168.0.254
Passo17)ConfirmaodasconfiguraesdeRede
Nestetelabastaconfirmaroscampospreenchidos.
SejaumProfissionalAprendendocomProfissionais26
LinuxSystemAdministration
Passo18)Definindoosserviosquedeverosercarregadosaoiniciarosistema
Nestecasosomenteconfirmecom<enter>
Passo19)Configuraoprviadefonte
Nestecasomarqueaopo<No>.
SejaumProfissionalAprendendocomProfissionais27
LinuxSystemAdministration
Passo20)Escolhadotipodeatualizaodorelgiodamquina
Nestecasovamosmarcar<No>.
Passo21)EscolhadoFusoHorrio
NonossocasovamosescolheroAmrica/So_Pauloeconfirmarcom<enter>
Passo22)DefinirasenhadoAdministradordosistema(root)
Bastaconfirmarcom<enter>paradefinirasenhadoroot.
SejaumProfissionalAprendendocomProfissionais28
LinuxSystemAdministration
Passo23)Finalizandoainstalao
AinstalaodoSlackwareLinuxfoifinalizada,bastaconfirmarcom<enter>ereiniciaro
sistema,digitando<ctrl>+<alt>+<del>,oudigitandoreboot.
SejaumProfissionalAprendendocomProfissionais29
LinuxSystemAdministration
IniciandooSistemaOperacional
Parateracessoaosistema,entrecom:
login:<informarumlogindosistema>
password:<informarasenhadologin>
Apsologon,opromptdecomandosiniciado,eficaraguardandoporcomandosdigitadosporns
usurios,daseguinteforma:
[root@host/root]#
Onde:
root:Mostraousurioqueestlogadonosistema.
host:Mostraonomedamquina.
/root:Indicaodiretrioatual.
#:Indicaqueosuperusurioqueestlogado.
NOTA:Quandoqualquerusuriocomumestlogadonosistemaasuaindicaoocaractere$(almdonomedeusurio)como
alternativaaocaractere#.
ComandosBsicos
Nolinux,todososcomandosteroaseguinteforma:
[COMANDO][OPES][PARAMETROS]
Listarcontedodediretrios
Sintaxe:ls[opo][arquivo]
#lsa:listaarquivosocultos.
#lsl:listadetalhadamente;
#lsF:listamostrandootipodoarquivo
#lsla:listatodocontedododiretrionoformatolongo(detalhando).
SejaumProfissionalAprendendocomProfissionais30
LinuxSystemAdministration
Mostrarodiretrioatual
Sintaxe:pwd
#pwd
Entrar/Sairdediretrios
Sintaxe:cd[diretorio]
#cd/:entradentrododiretrioraizdosistema.
#cd../:voltaumnvel
#cd/bin
#cd/usr/bin:entradentrododiretrio/usr/bin.
#cd/etc/sysconfig/networkscripts/
#cd../../../(caminhorelativo)
#cd:retornaaodiretrioimediatamenteanterior
#cd~/oucd$HOME:retornaaodiretriodousurio(/home/fulano)
CriandoDiretrios
Sintaxe:mkdir[opo]<nomediretrio>
#mkdir3way:criaapasta3waynodiretrioatual.
#mkdirlinux:criaapastalinuxnodiretrioatual.
#mkdirp1/p2/p3/p4/:Erro!necessrioumaopo.
#mkdirpp1/p2/p3/p4/:p4dentrodep3queestdentrodep2queestdentro
dep1.
p:criarvoresdediretrios
#mkdird1d2d3:Socriadososdiretrios(d1,d2ed3)nomesmonvel.
CopiandoArquivoseDiretrios
SejaumProfissionalAprendendocomProfissionais31
LinuxSystemAdministration
Sintaxe:cp[opo]<origem><destino>
#cp/etc/passwd/root:copiaoarquivodesenhaspasswdparaodir./root.
#cp/root/passwd/root/passwd.bkp:copiaoarquivopasswdparapasswd.bkp
#cp/etc/shadow/etc/group/tmp:copiaosarquivosshadowegroupparaodir.
/tmp.
#cp/etc/*.conf/tmp:copiatodosarquivoscomextenso.confpara/tmp.
#cp/etc/*/tmp:copiatodosarquivos(nodiretrios)para/tmp.
#cpf/etc/*/tmp:copiatodosarquivoscomextenso.confpara/tmp.f=
forcaacpiadearquivos.Nocopiadiretrios.
#cprf/etc/*/tmp:copiatodoconteudododiretrio/etcpara/tmp.r=
cpiarecursiva.
Incluirarquivosediretrios
CriandoArquivosVazios
Usadoparacriararquivosdelog(usadoporaplicaes),porexemplo.
Sintaxe:touch[arquivo]oucat>[arquivo]
#touch~/arquivo.txt
#cat>~/teste.txt:PressioneCtrl+Dparasalvaesair.
RemovendoDiretrios
Sintaxe:rmdir[opo]<nomediretrio>
#rmdir3way:removeapasta3waynodiretrioatual.
#rmdir/etc:Erro!diretrionovazio.
#rmdirp1/p2/p3/p4/:Erro!necessrioumaopo.
#rmdirpp1/p2/p3/p4/:removearvoresdediretriosnaordemp4/p3/p2/p1
p:removeaspastasrelacionadas.
#rmdird1d2d3:removeosdiretriosd1,d2ed3donvelatual.
NOTA:Ocomandormdirnousadonapraticaporqueremoveapenasdiretriosvazios.Umaalternativaaestecomandoa
utilizaodocomandorm,mostradoabaixo.
SejaumProfissionalAprendendocomProfissionais32
LinuxSystemAdministration
RemovendoArquivoseDiretrios
Sintaxe:rm[opo]<arquivo/diretrio>
#rm/tmp/*.conf:removetodosarquivoscomextenso.confdodir./tmp.
Solicitaconfirmao.
#rmf/tmp/*.conf:foraaremoodetodosarquivos.confdodir./tmp.No
solicitaconfirmao(f).
#rmrf/tmp/*:removerecursivamente(r)todoocontedode/tmpsem
confirmao(f).
CUIDADO!Autilizaodocomandormcomaoporf,poisgeralmentemuitodificilrealizar
arecuperaodearquivosnosistemaLinux.
Movendo/RenomeandoArquivoseDiretrios
Sintaxe:mv<opo><origem><destino>
#mv~/teste.txt/tmp:moveoarquivoparaodir./tmp.(~/=indicao
diretriopessoaldousurio)
#mv/tmp/teste.txt~/:moveoarquivoparaodir.pessoaldousurio(~/)
#mv/tmp/shadow.:moveoarquivoparaodir.Atual(.)
#mv~/arquivo.txt~/arq.txt:renomeiaoarquivo.txtparaarq.txt
Visualizaodocontedodearquivos
Comandohead
visualizaasprimeiras10linhasdoarquivo,porpadro.
Sintaxe:head<opo><arquivo>
#head/etc/passwd:mostraas10primeiraslinhasdoarquivopasswdporpadro.
#headn20/etc/passwd:mostraas20primeiraslinhasdoarquivopasswd.
SejaumProfissionalAprendendocomProfissionais33
LinuxSystemAdministration
Comandotail
Visualizaasultimas10linhasdoarquivo,porpadro.
Sintaxe:tail<opo><arquivo>
#tail/etc/passwd:mostraas10ultimaslinhasdoarquivopasswdporpadro.
#tailn20/etc/passwd:mostraas20primeiraslinhasdoarquivopasswd.
#tailf/var/log/messages:ficalendooarquivoininterruptamente(f).Usada
paraarquivosdelog.
Comandocat
Estecomandopodeserutilizadoparacriararquivos,maseletambmpodeserutilizadoparamostrar
contedodearquivos,vejanoexemplo:
Sintaxe:cat<opo><nomedoarquivo>
#cat/etc/termcap:mostraocontedodoarquivo/etc/termcap.
#catn/etc/termcap:mostraocontedoecontaaslinhasdoarquivoincluindo
linhasembranco.
#catb/etc/termcap:idemaoanterior.Pormnocontalinhasembrancodo
arquivo.
Comandosort
Sintaxe:sort<opo><arquivo>
# sort d /etc/group : ordena as linhas do arquivo /etc/group na ordem de
dicionrio.(a,b,c,d,...,aa,ab,ac...)
#sortr/etc/group:ordenaaslinhasdoarquivo/etc/groupnaordeminversa
dedicionario.(z,x,v...;zz,zx,zv...)
Comandogrep
Procurapelaocorrnciadeumastringnoarquivoespecificado
Sintaxe:grep<opo><expresso><arquivo>
#grepingocidades.txt:procuraaslinhasdoarquivoqueaparecem
expressogoeindicaalinhaqueestesestonatela.
i=ignoraadiferenadetamanhodoscaracteres(g==G)
v=mostraaslinhasquenoapareceastring
SejaumProfissionalAprendendocomProfissionais34
LinuxSystemAdministration
c=mostraonmerodevezesquefoiencontradaaexpressoncolocaonmerodalinhaem
quefoiencontradaaexpresso.
Noexemploacimaoarquivocidades.txtexisteebuscadoocorrnciasdaslabagodentrodoarquivo.
ComandosdePaginao
Oscomandosdepaginaosonecessriosquandodesejamoslerumdeterminadoarquivo
pausadamente.Soeles:moreeless.
Comandomore
#more/etc/termcap:mostraocontedodoarquivotermcap.Ocomando
finalizadoautomaticamenteaoseufinal.
Estecomandopossuivriosrecursos:
[enter];andalinhaalinhanoarquivo;
[barradeespao]:andapginaapginanoarquivo;
[h]ou[?]:visualizaohelp;
[b]:retornaatelaanterior;
[q]:saidopaginadormore.
Comandoless
#less/etc/termcap:mostraocontedodoarquivotermcap.Ocomandono
finalizadoautomaticamenteaoseufinal,parasairpressione<q>.
Estecomandopossuivriosrecursos:
[enter];andalinhaalinhanoarquivo;
[barradeespao]:andapginaapginanoarquivo;
[h]:visualizaohelp;
[b]:retornaatelaanterior;
[q]:saidopaginadormore.
/nome:buscaapalavranomenoarquivo.
SejaumProfissionalAprendendocomProfissionais35
LinuxSystemAdministration
DesligandooSistemaOperacionalLinux
#halt:desligaosistemaimediatamente.
#shutdownhnow:desligaosistemaimediatamente.Enviaumamensagempratodos
osusurioslogadosnosistema.
#shutdownh30Ateno:OSistemaserdesligadodentrode30minutos!:
enviaamensagementreaspasduplasparatodosusurioslogados.
ReiniciandooSistemaOperacionalLinux
#reboot:reiniciaimediatamente.
#shutdownrnow:reiniciaimediatamente.Enviaumamensagempratodosos
usurioslogadosnosistema.(r==reboot)
#shutdownr30Ateno:oSistemaserreiniciadodentrode30minutos
#<Ctrl+Alt+Del>:reiniciaosistema.Essaopopodeserdesabilitadano
arquivo/etc/inittab.
RedirecionamentodeEntradaeSaida
Ocomputadorformadopordiversoscomponentes,muitasvezesconhecidoscomoperifricos,sendo
osseusprincipaisomonitoreoteclado,quesemestesnoteriasadaouentrada,respectivamente,
paraosistema.
Estesdoiscomponentesformamoprincipalmeiodecomunicaoentreusurioeocomputador,com
funesbemdistintasentreeles.Otecladoforneceaentradadeumdeterminadodadoinicialparao
sistema,eomonitorasadadainformao.
Existemoutrosmeiosdecomunicaoentreousurioeocomputador,masestassoasprincipais,
podemservirdeentradadedadosomouse(emdiversosprogramas,emmaioriagrficos),scanner,a
rede,CDROMoudisquete,ecomosada(almdomonitor)aimpressora,arede,CDROMou
disquete,existemmuitosoutrostantoparaaentradaquantoparaasada,masestessoos mais
SejaumProfissionalAprendendocomProfissionais36
LinuxSystemAdministration
conhecidos.
OssistemasUNIX,incluindooLinux,lidamcom3dispositivosbsicos:
Entradapadro,tambmconhecidoporSTDIN
Sadapadro,tambmconhecidoporSTDOUT
Sadadeerropadro,tambmconhecidoporSTDERR
Os sistemas UNIX tambm possuem um conceito interessante, onde tudo um arquivo. Este
conceitopermiteescreveremdispositivosexternosexatamentedamesmamaneiraqueseescreveem
arquivos.Conseqentemente,osdispositivosbsicosmencionadosacimasotambmarquivos.
Programas UNIX, incluindo o shell, lidam com arquivos atravs de descriptores, nmeros que
representamumdeterminadoarquivoqueestabertoparaleiturae/ouescrita.
Aentradapadro,asadapadroeasadadeerropadro,tambmpossuemestesdescriptores.Segue
umatabelacomoresumodestesdispositivos,incluindoonmerodosdescriptoresdearquivo.
Dispositivo
Apelido
NmerodoDescriptor MapeadoporPadro
deArquivo
Para:
Entradapadro
STDIN
Teclado
Sadapadro
STDOUT
Monitor
Sadadeerropadro
STDERR
Monitor
Ousodoredirecionamentomuitosimples,enquantoqueomonitoraformapadrodesadade
informaes,eotecladoaformapadrodeentrada,umoutroarquivooudispositivopodemassumiro
papeldestesdispositivosdeentradaesadapadro.
Executar determinadas operaes e direcionar o resultado para um arquivo pode ser bem mais
convenientequeterquecopilasmanualmentedatelaparaumarquivo.Ocontedodestesarquivos
(o resultado gerado por determinado comando), pode ento ser manipulado normalmente, sendo
SejaumProfissionalAprendendocomProfissionais37
LinuxSystemAdministration
possvel,porexemplo,apesquisadealgumvalor.
RedirecionamentodeSada
Umexemploderedirecionamentodesadautilizandoocomandolsla;estecomando,porpadro,
lista todo contedo contidos dentro do diretrio atual incluindo detalhes sobre cada arquivo ou
diretrioemostraoresultadonatela,certo?Aoinvsdeutilizarmosasadapadro,omonitor,do
comandolsla,iremosutilizarumarquivocomoalternativa.Paraissoutilizamosoredirecionadorde
sadaqueindicadocomumsinaldemaiorque,>.Vejaoexemplo:
#lsla>saida.txt
Observeque,comaexecuodestecomandonoapareceunenhumasadanomonitor,queasada
padro.Observetambmqueumarquivocomonomesaida.txtfoicriadanodiretrioatual.Executeo
comandocatsaida.txt,asadaqueeraparaaparecernatelafoiredirecionadaparaestearquivo.
RedirecionamentodeEntrada
Antesdeexemplificarumredirecionamentodeentrada,vamosfazeroseguinte:
Crieumarquivocomonomecidades.txtcontendoocontedo:Goinia,Anpolis,Damolndia,Nova
Era,Aparecida,Goiansia.Cadacidadeemumalinha!
Oarquivodeverficardaseguinteforma:
Goinia
Anpolis
Damolndia
NovaEra
Aparecida
SejaumProfissionalAprendendocomProfissionais38
LinuxSystemAdministration
Goiansia
Comandosort
Ordenaaslinhasdoarquivo.
Executeeverifiqueasadadocomando.
#sortcidades.txt
Apsavisualizaodocomandoacima,vamosverumexemploderedirecionamentodeentrada.Para
isso,podemosutilizarcomoentradaoarquivocidades.txtparaacriaodeumoutroarquivode
sada,porexemplo.Oredirecionamentodeentradaindicadocomumsinaldemenorque,<.
Vejaoexemplo:
#sort<cidades.txt>cidadessordenadas.txt
Ocomandoacimarecebeoarquivocidades.txtcomoentradaeredirecionaparaumarquivodesada,
cidadesordenadas.txt.
Pipe
Aidiaprincipaldousodocomandopipe("|")fazercomqueoscomandostrabalhememconjunto.
Umcomandotrabalhandosozinhogeralmentelimitadoquantosuafuncionalidade,revelandouma
outracaractersticadossistemasoperacionaisUNIX:faaapenasumacoisa,masfaaabem.
OspipesfacilitamotrabalhoemequipedosutilitriosUNIX.Nestecenrio,cadaaplicativoexecuta
determinadaoperaonoarquivo,epassaoresultadoparaoprximoutilitrio.Penseempipescomo
umalinhadeproduo,ondeasdeterminadasetapassorealizadaspordiferentesutilitriosUNIX.
SejaumProfissionalAprendendocomProfissionais39
LinuxSystemAdministration
Seexecutarmosocomandols/etcoresultadoquesermostradonasadapadro(monitor)sermuito
rpida.Parapausarasadadestecomandopodemosutilizaroscomandodepaginao(moreouless).
Vejaoexemplo:
#ls/etc|more
#ls/etc|less
Outroexemplo:
#catcidades.txt|grepigo
Ocomandocatcidades.txt,fazcomquesejamostrado,nasadapadro,todocontedodoarquivo
cidades.txt.Comautilizaodopipecomocomandogrep(|grep)fazcomqueasadanatelamostre
apenasaslinhasquecontenhaapalavrago.Nocaso,GoiniaeGoiansia.
Metacaracteres
Tmseosseguintesarquivosem/home/aluno:arq,arq1,arq2,doc,doc3edoc555.
*representaqualquerquantidadedequalquercaractere.
Exemplo:ls*
Resposta:arq,arq1,arq2,doc,doc3,doc555.
?representaumnicoequalquercaractere.
Exemplo:lsarq?
Resposta:arq1,arq2.
[]Indicaumalistadecaracteres.
Exemplo:lsdoc[123456789],oulsdoc[19]
Resposta:doc3
SejaumProfissionalAprendendocomProfissionais40
LinuxSystemAdministration
{}Indicaumaseqnciadecaracteres.
Exemplo:lsdoc{1,2,3,33,555}
Resposta:doc3,doc555.
SejaumProfissionalAprendendocomProfissionais41
LinuxSystemAdministration
EstruturadeDiretrios
Aestruturadediretriosorganizadaemformadeumarvore,paraumamelhororganizaodos
arquivosdeconfiguraodosistemaefacilitarabuscadosmesmos.Cadadiretriopossui uma
finalidade,soelas:
/:odiretrioraizdosistema.Todososoutrosdiretriosestoabaixodele.Osmaisimportantesso:
/bin: diretrio que contm todos os comandos do sistema operacional, caso um comando no
funcione,seuarquivonoestnodiretrioouoarquivoestcorrompidoouaindaocomandospode
serexecutadosomentepeloroot.
/boot:odiretrioquecontmokerneletodosarquivosnecessriosparaainicializao.
/dev:diretrioquecontmtodososarquivosdosdispositivosdehardwaredoS.O(pl.derede,vdeo,
hd,floppy,mouse,impressora,etc).
/etc:odiretrioquecontmosarquivosdeconfiguraolocaldamquina.Umadministradorde
umarede90%dotempoeleestarnestediretrio.
/home:odiretrioquecontemaspastasdetrabalhodetodosusurioscomunsdosistema.
/lib:diretrioquecontmasbibliotecasdosistemasoperacionallinux.
/mnt:diretriorecomendadoparaamontagemdosdispositivos(floppy,cdrom,etc)
/opt:diretriorecomendadoparainstalaodeaplicativos.semelhanteaodiretrios"Arquivosde
Programas"doWindows.
SejaumProfissionalAprendendocomProfissionais42
LinuxSystemAdministration
/proc:diretrioespecialdolinux.Nele,possuitodososprocessosemexecuodosistema.Este
diretrioficaarmazenadosomentememriavoltio(RAM),nofisicamentenodisco.
/root:odiretriodetrabalhodoadministradordosistema(superusurio).
/sbin:diretrioquecontmasferramentasdeconfiguraodosistema.Ex.:fdisk(particionador),fsck
(scandisk),mkbootdisk(criadiscodeboot),ifconfig(configurapl.derede),lilo(gerenciaordemde
boot),lspci(listaosdispositivosdehardwaredetectados),etc.
/tmp:diretrioquepossuiosarquivostemporriosgeradospelasaplicaes/utilitrios.
/usr: diretrio que contm os principais aplicativos do sistema (ambientes grfico, jogos, etc).
semelhanteapasta"windows"dowin98.
/var:possuiosarquivosvariveis,quemodificamcomopassardotempo(spooldeimpresso,arq.de
log,etc).
Dispositivos
Jverificamosquenodiretrio/devpossuitodososarquivosdeconfiguraodosdispositivosde
hardware,mascasopreciseconfigurarumaplacaderede,porexemplo,qualarquivo(dispositivo)
referenciar?Serocitadososprincipaisarquivosdeconfiguraodosdispositivosdehardware.So
eles:
PortasSeriais
Windows
Linux
COM1
ttyS0
COM2
ttyS1
COM3
ttyS2
SejaumProfissionalAprendendocomProfissionais43
LinuxSystemAdministration
PortasParalelas
Windows
Linux
LTP1
lp0
LTP2
lp1
DiscosFlexveis
Windows
Linux
A:
fd0
B:
fd1
HardDisk
Windows
Linux
C:
hda:masterIDE1
D:
hdb:slaveIDE1
E:
hdc:masterIDE2
F:
hdd:slaveIDE2
PlacadeRede
Windows
Linux
EthernetAdapter1
eth0
EthernetAdapter2
eth1
EthernetAdapter3
eth2
SejaumProfissionalAprendendocomProfissionais44
LinuxSystemAdministration
ConsolesVirtuais
PorserumSistemaOperacionalmultiusurioemultitarefa,olinuxtrabalhacomconsolesvirtuais,
quesonadamaisqueterminaisdetrabalho,sejaelegrficooutexto.Porpadro,existem6consoles
texto,e6consolesgrficas,comomostraabaixo:
<F1><F2><F3><F4><F5><F6><F7><F8><F9><F10><F11><F12>
||||
ConsolesTextoConsolesGrficas
Para alternar entre as consoles, texto ou grfica, basta pressionar simultaneamente as teclas
CTRL+ALT+Fx.Ondexumnmerode1a12,ouseja,F1F12.
Cada ambiente grfico, possui outros subambientes (4 precisametente), alm de diversos shells
(xterm)quefuncionacomoopromptdecomandosdowindows.Ouseja,olinuxsimulaoambiente
texto atravs de prompt de comandos que se chama xterm (esse nome pode variar entre as
distribuies).
Paracarregarumambientegrficodigite:startx.Sedesejarcarregarmaisde1ambientegrfico
digite:startx:2,casosejao2ambientegrfico;startx:3,casosejao3eassimpordiante.
EditoresdeTexto
Nolinuxhvrioseditoresdetexto,entreelesesto:
Joe
Elvis
Emacs
mcedit
vi
Qualutilizar?Isso,vocdecide.Omaisutilizadooviporqueelemaisrpido,eficienteepossui
vriosrecursos.
SejaumProfissionalAprendendocomProfissionais45
LinuxSystemAdministration
Parautilizarosrecursosdovi,digite:viarquivo.txt
Porpadro,aoiniciarovi,eleencontrasenomododecomandos,ouseja,paracomearaescrever
algumacoisanoarquivo,primeiroomododeescritadeveserhabilitado.Paraisso,qualquerumadas
teclas<i>,<insert>ou<o>podemserpressionadas.Paradesativaromododeescrita(ouativaro
mododecomandos)pressioneatecla<esc>.Outrainformaoqueinteressantecomentarmosque
oeditorvicasesensitiveoscaracteresmaisculossediferemdosminsculos,ouseja,apalavra
3way diferentede3WAY quesodiferentesde3Way.Essainformaoimportantequandose
desejalocalizaralgumapalavranotexto.
Agora,ativeomododeescritaeediteoarquivocomocontedo:
3waynetworkssoluesemTI.
SOLUESEMSISTEMASLINUX
Fone:32899311.
3waynetworkssoluesemTI.
SOLUESEMSISTEMASLINUX
Fone:32800123.
Agoravamoschecaralgumasdasfuncionalidadesdoeditordetextovi.Paraissopressione<esc>para
ativaromododecomandos.
Pressione:
:w=salvaoarquivo.
:q=saidoarquivo.
:wq=salvaoarquivoesai.
o=ativaomododeescritafazendoquebradelinha.
:q!=saidoarquivosemsalvarasalteraes.
:w!=salvaforado.Algunsarquivosorootnotempermissopragravar.
yy=copiaalinhaondeseencontraocursor.
pp=colalinhasqueestoembuffer.
dd=deletaalinhaondeseencontraocursor.
SejaumProfissionalAprendendocomProfissionais46
LinuxSystemAdministration
10yy=copiaas10primeiraslinhasabaixodocursor.
10dd=deletaas10primeiraslinhasabaixodocursor.
/3way=procuraasocorrnciasdapalavra"3way"notexto.
n=procuranovasocorrnciasdapalavra3waynotexto..
:!comando=executacomandosdentrodovi.Ex.::!ls/home
:50=caminhaparalinha50.
:1,ns/3way/3WAY=substituitodasasocorrnciasdalinha1alinhana
palavra3waypor3WAY.
:%s/Fone/Telefone=substituitodasasocorrnciasdapalavraFonepor
Telefone.
Mtools
MtoolssoferramentasDOSparaUNIX.Sservemparamanipulaodediscosflexveis.Paraa
utilizaodessaferramentaodiscoflexvelnodeveestarmontado. Paravisualizaroscomandos
suportadospelaferramentadigite:mtools.
Oscomandosmaisutilizadosso:
mtools:mostraquaisoscomandosexistentes.
#mtools
mdir:listaocontedododisco.
#mdira::listaocontedododisquete.
mcopy:copiaumcontedo.
#mcopy/etc/passwda::copiaoarquivopasswdparaodisquete.
#mcopya:\teste.txt/tmp/:copiadodisqueteoarquivoteste.txtparao/tmp.
mdel:apagaarquivosdentrododisquete.
#mdela:\teste.txt:apagadoa:oarquivoteste.txt
SejaumProfissionalAprendendocomProfissionais47
LinuxSystemAdministration
mmd<nomediretrio>:criadiretriosdentrododisquete.
#mmda:\3way:criaodiretrio3waynodisquete.
mformat:formataocontedododisquete.
#mformata:
mdeltree:deletaarvoredediretrios.
#mdeltree3way:apagaodiretrio3wayetodoseucontedo.
mmove:moveumarquivododisquete.
#mmovea:\passwda:\usuarios:moveoarquivopasswddodisquetepara
usuarios
mren:renomeiaarquivosdodisquete.
#mrenusuariospasswd
mtype:visualizaocontedodearquivocontidosnodisquete.
#mtypea:\passwd:mostraocontedodoarquivoa:\passwd
SejaumProfissionalAprendendocomProfissionais48
LinuxSystemAdministration
PaginasdeManuais
Permiteobterinformaessobreoscomandosnolinux.Representaumaajudaimportanteparaos
comandos.
Comandoman
Sintaxe:man<comando>:manuaisdeinformaessobreoscomandos.
#mancp:mostraomanualdocomandocp
Comandoinfo
Sintaxe:info<comando>:mostraomanualeletronicodeinformaessobreocomando.(mais
completoqueosman's.Possuiatualizaesmaisrescentes).
#infocp
Comandohelp
help:mostraumaajudadocomando.Mostrasomenteasopesparaocomando.
Sintaxe:<comando>help
#cphelp
CriandoLinks
Existemdoistiposdelinks:hardlinkesimboliclink.
Hardlink: Aocriarumhardlinkdeumarquivo,oarquivocopiadonodiretrioatualeacada
modificaoquefeitaemumdosarquivos(originalouhardlink)serrepercutida,tambm,no
arquivooposto.Porexemplo:Setemosoarquivo/tmp/testecomocontedotestedehardlink,eum
hardlinkqueapontepraessearquivo(queteromesmocontedo)qualquermodificaoqueser
feita,tantonoarquivotestecomonohardlinkserorepercutidasnoarquivooposto.Ouseja,seeu
abriroarquivo/tmp/testeeacrescentarafrase
SejaumProfissionalAprendendocomProfissionais49
LinuxSystemAdministration
Olamundoesalvar,aoabrirohardlinkesteteromesmocontedoqueseriatestedehardlink.
OlaMundo.
NOTA:Nopossvelcriarhardlinksdediretrios,somentedearquivos!
Sintaxedocomando:ln<arquivooriginal><nomedohardlink>
#ln/tmp/testehardlinkteste
SimbolicLink:Funcionacomoumatalhoparaoarquivo.
Sintaxedocomando:lns<arquivooriginal><nomedolink>
#lns/tmp/testeatalhoteste
s:indicaqueumlinksimblico.
ComandosdeBusca
Comandofind:localizastringsnolinux.
Sintaxe:find[diretrioondeiniciaabusca]<opo>[arquivo/diretrio]
# find / iname *lilo.conf* : busca uma string (name) (arquivo/diretrio)
lilo.conf apartir do diretrio raiz (/) do sistema. Ignorando o tamando
maiusculaseminsculas(i).
i:ignoramaiusculaseminsculas
name:indicaqueserbuscadoumastring.
#find/iname*lilo.conf*>saida.txt:gravatodasassadasdabusca
dentroarquivosaida.txt.
#find/iname*lilo.conf*2>erros.log:gravasomenteassadasdeerro
dentrodoarquivoerros.log.
#find/iname*lilo.conf*1>validas.log:gravasomenteassadasvlidas
dentrodoarquivovalidas.log.
Comandowhereis:localizastringsnolinux.
SejaumProfissionalAprendendocomProfissionais50
LinuxSystemAdministration
Sintaxe:whereis<palavraaserbuscada>
#whereispasswd:localizaastringpasswdnolinux.
Comando locate/updatedb: O comando locate utiliza um banco de dados. Para se utilizar esse
comando necessrio estar atualizando seu banco com os novos arquivos/diretrios que foram
criados.Paraistodeveseexecutarocomandoupdatedb(comoroot)
#updatedb
Sintaxe:locate<palavraaserbuscada>.
#locatepasswd:localizatodasasstringsquecontenhaapalavrapasswdno
BancodeDados.
CompactaodeArquivos
Olinuxpossuidiversosaplicativosparacompressodeaquivos,sendoquecadaumdelesutilizaum
algoritmodiferente.Entreelesesto:
gzip:
Ocomandogzipusadoparacompactar/descompactararquivos.Oarquivooriginalsubstitudopor
umarquivocompactadocomaextenso.gz
Sintaxe:
gzip<opes><arquivos>:compacta
gunzip<opes><arquivos.gz>:descompacta
#gzip/tmp/termcap:oarquivotermcapsercompactado.
#gunzip/tmp/termcap.gz:oarquivotermcap.gzserdescompactado.
bzip2:
Ocomandobzip2usadoparacompactar/descompactararquivos.Oarquivooriginalsubstitudopor
umarquivocompactadocomaextenso.bz2
SejaumProfissionalAprendendocomProfissionais51
LinuxSystemAdministration
Sintaxe:
bzip2<opes><arquivos>:compacta
bunzip2<opes><arquivos.bz2>:descompacta
#bzip2/tmp/termicap:Oarquivotermcapsercompactado.
#bunzip2/tmp/termcap.bz2:Oarquivotermcapserdescompactado.
compress:
Ocomandocompressusadoparacompactar/descompactararquivos.Oarquivooriginalsubstitudo
porumarquivocompactadocomaextenso.Z.Aferramentagzippodeserusadaparadescompactar
arquivoscomestaextenso.
Sintaxe:
compress<opes><arquivos>:compacta
uncompress<opes><arquivos.Z>:descompacta
#compress/tmp/shadow:Compactaoarquivoshadow.
#uncompress/tmp/shadow.Z:Descompadtaoarquivoshadow.Z
Empacotamento
zip:
Ocomandozipusadoparacompactareempacotararquivos.tilparaempacotamentodeuma
sriedearquivosparadistribuio.Nosubstituiosarquivosoriginaisapsoempacotamento.
Sintaxe:
zip<opes><arquivo_zip><arquivos>
unzip<opes><arquivo_zip>
#ziparquivo.zip/tmp/*:empacotatodosarquivosdo/tmpparaaquiivo.zip
#unziparquivo.zip:desempacotaoarquivoarquivos.zip
SejaumProfissionalAprendendocomProfissionais52
LinuxSystemAdministration
tar:
Permitecopiararquivosedepoisrestauralos,paraefeitodebackupdeseguranae/outransportede
dadosatravsdeummeiofsico(CD's,Floppy's,Fitas,etc...).
Ocomandotarpermitequecrie,atualizeourecuperebackups.
Sintaxe:tar<opo><arquivos>
#tarcvfarquivo.tar/tmp/*:empacotaosarquivosde/tmp.
c:criaumnovoarquivo.tar
v:mostraoqueestacontecendonatela.
f:indicaqueonomedoaquivoserespecificado(arquivo.tar)
#tartfarquivo.tar:listatodososarquivosempacotadosnoarquivo.tar
t:listaarquivosempacotados
f:indicaqueserespecificadoonomedoarquivo.
#tarxvfarquivo.tar:desempacotaoarquivo.tar
x:indicaqueoarquivoserdesempacotado.
#tarxvfzarquivo.tar.gz:descompactaedesempacotaoarquivo.tar.gz
x:indicaqueoarquivoserdesempacotado.
z:Indicaqueoarquivoestcompactadocomgzip
#tarcvfjarquivo.tar.bz2/tmp/*:empacotaecompactatodososarquivosdo
SejaumProfissionalAprendendocomProfissionais53
LinuxSystemAdministration
diretrio/tmpecriaumarquivo.tar.bz2.Utilizaobzip2paraacompactaodos
arquivos.
j:compactaoarquivo.tarcomobzip2(.bz2)
#tarxvfjarquivo.tar.bz2:descompactaedesempacotaoarquivo.tar.bz2
x:indicaqueoarquivoserdesempacotado.
j:Indicaqueoarquivofoicompactadocombzip2,antesdeempacotalo.
MontagemdeDispositivos
Comandomount:montadispositivosnolinux.
Sintaxe:mount<opo><dispositivo><pontodemontagem>
Comandoumount:desmontadispositivosnolinux.
Sintaxe:umount<opo><dispositivo><pontodemontagem>
#mount:mostraquaisosdispositivosestomontados.
#umounttvfat/dev/fd0/mnt/floppy:desmontaodispositivo
#mounttiso9660/dev/cdrom/mnt/cdrom:montaoCDROM
#umounttiso9660/dev/cdrom/mnt/cdrom:desmontaoCDROM
#mount/mnt/floppy:monta
#umount/mnt/floppy:desmonta
#mount/dev/fd0:monta
#umount/dev/fd0:desmonta
NOTA:Amontagem/desmontagemdos4ltimosexemplos,spossvelporqueexisteumarquivonolinux(/etc/fstab)quefaza
refernciaentreodispositivoepontodemontagem.Paravisualizarocontedodoarquivodigite:cat/etc/fstab.
#eject:desmontaodispositivo(/dev/cdrom)eabreagavetadecdrom.
SejaumProfissionalAprendendocomProfissionais54
LinuxSystemAdministration
#ejectt:fechaagavetadocdrom
Fdformat
Comandofdformat:formataodisquetefisicamente,noatribuindonenhumsistemadearquivosno
dispositivo.
Sintaxe:fdformat<opes><dispositivo>
#fdformat/dev/fd0:formataodispositivo/dev/fd0(disquete)
Mkfs
Aferramentamkfsutilizadaparacriarsistemasdearquivos(mkfs=makefilesystem)emum
dispositivo.
Sintaxe:mkfs<opes><sistemadearquivos><dispositivo>
#mkfstext3/dev/fd0
Fdisk
Autilizaodessaferramentapossveleditartabelasdepartiesnolinux.
Sintaxe:fdisk<opes><dispositivo>
Ofdiskumparticionadordedispositivos(HD,floppy,etc)noumrelocadordepartio.Quala
diferena?Umrelocadordepartionodestriaspartiesjexistentesnodispositivo,eleapenas
editaessasparties(aumenta,diminui,mudasistemadearquivo,etc);joparticionador,destri
todasaspartiescriadasnodispositivo.Porissousaremosofloppydisk,comoexemplo,paracriar
taisparties.
Abraofdisk.Paraissodigite
#fdisk/dev/fd0
Onde:fd0odispositivo(floppy)queseencontraem/dev.Odisquetedeveestardentrododrive!
SejaumProfissionalAprendendocomProfissionais55
LinuxSystemAdministration
Quandoaparecerlinhacomando(mparaajuda):significaqueocomandofoiexecutadocom
sucessoeofdiskestaberto,podendoagorautilizarasfuncionalidadesdofdisk.
Pressioneatecla<m>,logoapspressione<enter>pravisualizarasopesdofdisk.
comando(mparaajuda):m
Comando
Ao
alternaasopesdebootemcadapartio.
deletaumapartio.
listaostiposconhecidosdeparties
visualizaodohelp.
criaumanovapartio.
p=partioprimria.
e=partioestendida.
l=lgica.
listaatabeladepartiesexistentes.
saidofdisksemsalvar
mudaaidentificaodeumapartionosistema.
modificaaidentificaodasunidades.
fazverificaodatabeladeparties
gravaasmodificaesesai.
Vamoscriaralgumasparties.Paraissopressioneatela<n>denewparacriarumanovapartio
nodispositivofd0.
comando(mparaajuda):n
Comandoao
eestendida
ppartioprimria(14)
p
Nmerodapartio(14):1(1partioqueestamoscriando)
SejaumProfissionalAprendendocomProfissionais56
LinuxSystemAdministration
Escolhaocilindrodeinicio(180):<enter>selecionao1cilindro.
Escolhaoultimocilindro(180):+100K<enter>(Kemmaisculo)
Pressionepdeprintparavisualizaraspartiescriadas.
Paracriaroutraspartiesrepitaoprocessoacima,lembrandoquespodemsercriadas,nomximo,
4partiesnodispositivoseestasforemdotipoprimria.Paracriarmaisde4parties,crieuma
partioestendidaedentrodelacrienpartieslgicas,sendon<=12quandoodispositivoforoHD.
GerenciamentodeContasdeUsurios
OlinuxumS.O.Multiusurio,portanto,necessrioquetodososusuriossejamcadastradosno
sistema.
CriandoUsurios
Sintaxe:useradd<nomedousurio>ouadduser
#useraddaluno
Aoexecutarocomando,vriosarquivossomanipuladosouutilizados.Soeles:
1Ousurioadicionadonoarquivo/etc/passwd,/etc/shadowe/etc/group.
2criadoseudiretriopessoal/home/alunocomsuaspermissesdeacesso(drwx)
3 So copiados alguns arquivos do /etc/skel/ : .bashrc, .bash_profile, .bash_logout, para
/home/aluno.
Obs.:Aindaousurioalunonopodelogarnosistema.Ousurionopossuisenha!
Criar/AlterandoSenhaDeUsurio
Sintaxe:passwd<nomedousurio>
#passwdaluno
Aoexecutarocomandoserpedidoparaqueousurioentrecomasenha2vezes.Logoapsasenha
criptografadaeinseridanoarquivo/etc/shadow.
Paraumusuriocomumalterarsuasenhabastaefetuarologonnosistemaedigitarocomando
SejaumProfissionalAprendendocomProfissionais57
LinuxSystemAdministration
passwd,semnenhumparmetro.
Apenasorootpodeexecutarocomandopasswd<parmetro>,ondeparmetroonomedousurio
queorootdesejaalterarasenha.
DeletandoUsurios
Sintaxe:userdel<opo><nomedousurio>
#userdelaluno
Estecomandodeletaasentradasnosarquivos/etc/passwd,/etc/shadowe/etc/group.Estecomando
nodeletaapastapessoaldousurio/home/aluno.
#userdelraluno
Estecomandodeletaasentradasnosarquivos/etc/passwd,/etc/shadowe/etc/grouptambmremove
todaseudiretriodetrabalhorecursivamente.(rmrf/home/aluno)
AdicionandoGruposNoSistema
Maneirautilizadapeloadministradordosistemaparadefinirperfissemelhantesentreosusurios
cadastradosnosistema.
Sintaxe:groupadd<opo><nomedogrupo>
#groupaddcpd:Criaogrupocpdnosistema,desdequeelenoexista.
# groupadd f cpd :Cria o grupo cpd foradamente mesmo que ele j exista no
sistema.
Aoexecutarocomandogroupaddesteinsereaentradadonovogrupodentrodoarquivo/etc/group.
Paravisualizardigite:cat/etc/group.
Exemplodocontedodestearquivo:
SejaumProfissionalAprendendocomProfissionais58
LinuxSystemAdministration
...
cpd:x:507:
srh:x:508:
...
Paraindicarqueosusuriospertencematalgrupo,bastainserirnofinaldalinharelativaaogrupoo
nomedosusuriosseparadosporvirgula.Ex:
...
cpd:x:507:fulano,beltrano,maria,joao,rafael
srh:x:508:junior,jorge,claudio,jose
...
Mudandoodonodearquivosediretrios
Sintaxedocomando:chown<opo><novodono><arquivo/diretrio>
#chownfulanoarquivo.txt:mudaodonodoarquivoparafulano.
#chownbeltranodiretorio/:mudaodonododiretrioparabeltrano.
#chown R beltrano diretorio/ : muda o dono da arvore de diretrio
(recursivamente)parabeltrano.
Mudandoogrupodearquivosediretrios
Sintaxedocomando:chgrp<opo><arquivo/diretrio>
#chgrpcpdarquivo.txt:mudaogrupodoarquivoparacpd.
#chgrpsrhdiretoriosrh/:mudaogrupodapastadretriosrhparasrh.
#chgrp R cpd diretoriocpd/ : muda toda arvore do diretoriocpd para cpd
recursivamente.
Mudandodonoegrupoaomesmotempo
Sintaxedocomando:chown<novodono><:novogrupo><arquivo/diretrio>
#chownfulano:cpdarquivo.txt
#chownbeltrano:srhdiretoriosrh/
SejaumProfissionalAprendendocomProfissionais59
LinuxSystemAdministration
#chownRrafael:cpddiretoriocpd/
VerificandoInformaesdosUsurios
Comandoid
Sintaxe:id<opo><nomedousurio>
#idaluno:mostrainformaesdousurio(UID,GID,Gruposquepertence)
Comandofinger
Sintaxedocomando:finger<opo><nomedousurio>
#fingeraluno:mostrainformaesdousurio(Login,Nome,DiretrioPessoal,
Shell)
SejaumProfissionalAprendendocomProfissionais60
LinuxSystemAdministration
PermissesdeArquivoseDiretrios
Arespeitodesteassunto,devemossaberque:
Oroottempermissesparaacessar/modificarqualquerdiretrioouarquivonolinux.
Cada arquivo ou diretrio no linux est associado a um dono e um grupo com suas
respectivaspermissesdeacesso(r,w,x).
Paravisualizaraspermissesdeumarquivooudiretrionolinux,omelhorcomandoparasedigitar
ocomandolsl.
#lsl
rwrrL/SDDGTM/DHarquivo/diretrio
0123456789
Onde:
0:Indicaotipodoarquivo.Seumarquivocomum.Sedumdiretrio.
123:indicaaspermissesdodonodoarquivo(D)
456:indicaaspermissesdogrupodoarquivo(G).
789:indicaaspermissesdosoutrosusuriosdosistema.
L/SD:seLindicaonmerodelinksqueapontamparaoarquivoseSDindicaonmerode
subdiretriosdentrododiretrio.
D:indicaodonodoarquivo.
G:indicaogrupodoarquivo.
M/D:IndicaoMseDiaqueoarquivo/diretriofoicriado/modificado.
H:indicahoradecriaodoarquivo/diretrio.
Arquivo/diretrio:nomedoarquivo/diretrio.
Osmodosdeacessodearquivosediretriossointerpretadosdemaneiradiferente.Vejaatabela
abaixo:
SejaumProfissionalAprendendocomProfissionais61
ModosdeAcesso
LinuxSystemAdministration
Arquivos
Diretrios
Podelerocontedodoarquivo
Podevisualizarocontedodo
diretrio.
Podeeditaroarquivo
Podemodificarocontedodo
diretrio
Podeexecutaroarquivo
Podeentrarnodiretrio
PadroDeCriao
Todoarquivo/diretriosnolinuxpossuiumpadrodecriao,quechamadodeumask.Parasabero
padrodecriaodeseusarquivosdigite:umaskepressioneenter.Veremosqueopadrodecriao
0022(ignoreoprimeirozero).Issoindicaqueaspermissesiniciaissero:rwrrparaarquivose
drwxrxrxparadiretriossertratadomaisafrenteopadrodecriaoumask.
Paratermoscertezadisso,vamoscriarumarquivoeumdiretrio.Executeoscomando:
#toucharquivo.txt
#mkdirdiretorio
#lsl
Vejaaspermisses.Casoaspermissesnoforemsmesmascitadasacima,oproblemacomcerteza
estcomopadrodecriaodosarquivos.Verifiqueseoumask0022.Senofordigiteumask022
paratornaloeexecuteoscomandosnovamente.
AlterandoPermissesdeArquivoseDiretrios
Comandochmod
Sintaxe:chmod<opo><arquivo/diretorio>
Finalidade:permitirquealtereaspermissesdeumoumaisarquivosoudiretrios.
NOTA:Somenteosuperusurioouodonodoarquivo/diretriopodemalterarsuaspermisses.
Crieoarquivo:chmod.txt.Paraissoexecuteocomando:
SejaumProfissionalAprendendocomProfissionais62
LinuxSystemAdministration
#touchchmod.txt;lsl
Existemduasformasparaalteraraspermissesdearquivos/diretrios.Umautilizandosmbolos
parareferenciaraspermissesdodono,grupoeoutrosusurios.Essessmbolossorespectivamente:
u,g,o.Umaoutraformautilizandovaloresoctaisparafazeressasreferencias.
Smbolo
Descrio
indicapermissesdodonodoarquivo.
indicapermissesdogrupoparaoarquivo.
indicapermissesdosoutrosusuriosparaoarquivo.
indicatodos(u,g,o)
Operadores
Descrio
ConcedePermisso
RemovePermisso
AtribuiPermisso
Permisses
Descrio
Leitura
Escrita
Execuo
Oarquivochmod.txtcriadoanteriormentepossuiasseguintespermisses:rwrr.Vamosalterar
essaspermissespara:rwrw,ouseja,odonoeogrupopodemlereescrever(rw)eosoutros
nopodemfazernada,poiselesnopossuempermisso.Quandosedesejaalteraraspermissesde
umarquivooudiretriosimportantevisualizaraspermissesatuaisdeste(usandoocomandolsl)
parasaberoquedeveseracrescentadoe/ouretirado.
#lsl
#chmodg+w,orchmod.txt
A1opoacima(g+w)significaqueapermissodeescrita(w)estsendoacrescentada/concedida
(+)paraogrupo(g),entoogrupoalemdelerpoder,tambm,escrevernoarquivochmod.txt.
SejaumProfissionalAprendendocomProfissionais63
LinuxSystemAdministration
A2opo(or)significaqueapermissodeleitura(r),paraosoutrosusuriosdosistema(o),est
sendoremovida(),entoestesnoteropermissoparaexecutarnenhumtipodeoperaono
arquivochmod.txt.
Agoraaltereaspermissesdestearquivopara:rwrwrw,ouseja,odono,grupoeoutrospodem
ler/escrevernoarquivochmod.txt.
Algunsexemplospossveis:
#chmodo+rwchmod.txt
#chmodu+rw,g+rw,o+rwchmod.txt
#chmodo=uchmod.txt
#chmoda=rwchmod.txt
Exerccios:
1crieosseguintesarquivos:modo1,modo2,modo3emodo4.
2mudeaspermissesdestes,respectivamente,para:
a)rrrwx
b)rwrx
c)rwxx
d)rwrwrw
2forma:Utilizandovaloresoctais
Simbolo
ValorEquivalente
Por exemplo, temos o arquivo teste.txt com as seguintes permisses: rwrr. Que valor
representariaessaspermissesemoctal?Aresposta644.
Naspermissesdoarquivotexte.txt,sabemosqueu=rw,g=reo=r.Sabemostambmquer=4,w=2e
SejaumProfissionalAprendendocomProfissionais64
LinuxSystemAdministration
ox=1,entoserepararmosonumero644podemosperceberqueseusvaloresdepermissoparacada
tipodeusurio(u,g,o)foramsomados:
u=rw=4+2+0=6
g=r=4+0+0=4
o=r=4+0+0=4
u+g+o=644.
Ovalorzero(0)significaquenopossuemtipodeacesso(r)=(4+0+0).
Exerccios:
1qualvaloroctalrepresentaasseguintespermisses:
a)rwrrwx
b)rrwxrwx
c)rwrr
2crieosseguintesarquivos:teste1,teste2,teste3eteste4.Todosterosuaspermissesdaseguinte
forma:rwrr
3mudesuaspermisses,respectivamente,usandoomodooctal,para:
a)rwxrxw
b)rr
c)rwx
d)rwrwr
4executeocomandolsleanaliseaspermisses.
SejaumProfissionalAprendendocomProfissionais65
LinuxSystemAdministration
PadrodeCriao
umask
022==rwrr==644.Essesvaloresindicamasmesmaspermisses,mastotalmentediferentes.
Paradefiniropadrodecriao(umask)indicamososvaloresqueestofaltandonapermisso.Como
porexemplo:rwrrnaspermissesdodonoestfaltandoox=1,nogrupofaltamw=2ex=1,e
paraoutrosusuriosfaltamw=2ex=1nomesmo?Entopegamososvaloresqueestofaltando
queseria133.Comonopossvel,porpadro,definirapermissodeexecuo(x=1)paraarquivos,
entodecrementamosovalor1decadapermisso,ouseja,133111quenosdoresultadoiguala
022.
SejaumProfissionalAprendendocomProfissionais66
LinuxSystemAdministration
GerenciamentodePacotesRPM
EntendendoosPacotes
Namaioriadoscasos,umaplicativonoformadoapenasporumnicoarquivoexecutvel,massim
por um grande nmero de arquivos, como arquivos de traduo (potfiles), arquivos auxiliares,
arquivos de documentao e arquivos de configurao. Assim, bastante complexa a tarefa de
instalaodeumaplicativomanualmente;aindamaisdifcilamanutenodeseusarquivos.Muitas
vezesumanovaversodoaplicativotornaalgunsdeseusarquivosobsoletoseentooadministrador
dosistematemdeapagaroarquivoantigoparaevitarumacmulodearquivosinteis.Umpacote
um arquivo que, alm de conter os arquivos necessrios para a instalao de um determinado
aplicativo, contm tambm as informaes necessrias para que o gerenciador de pacotes possa
instalar,mantereremoverprogramas.
Umarquivotpicodepacoteseparececomoseguinte:emacs20.711cl.i386.rpm
Estes nomes de arquivos seguem um padro. Os nomes dos arquivos de pacotes RPM contm
informaessobreaversoeaarquiteturasquaissedestinam.Nocasoacima,oarquivodizquese
tratadopacotedo"Emacs",verso20.7,release11clequeelefoicriadoparaplataformaIntel386.
Todos os arquivosdepacotesRPMtmoformadoNomeDoPacoteversaorelease.arquitetura.rpm
parapermitirreconhecervisualmenteoarquivo.Vocpoderencontrartambmpacotescomnomes
noformatoNomeDoPacote
versao.src.rpm.Essespacotesnocontmosbinriosdeumaplicativoparasereminstaladosmassim
osseusarquivosfonteseso(nagrandemaioriadoscasos)independentesdearquitetura.
ApesardevriasdistribuiesdeLinuxutilizarempacotesdotipoRPM,issonosignificaqueeles
sejamiguaisequeumpacotefeitooriginalmenteparaumadistribuioirfuncionarperfeitamente
em outra. Alm dos arquivos que compem um determinado aplicativo, o pacote RPM contm
tambminformaesdecomoinstalar,emquelocalcopiarosarquivos,comoconfigurar,etc.Essas
informaes adicionais podem ser diferentes de uma distribuio para outra, ento, para evitar
problemas,oadministradordeveprocurarsempreutilizarpacotesfeitosespecificamenteparaasua
SejaumProfissionalAprendendocomProfissionais67
LinuxSystemAdministration
distribuio.
UtilizandooRPMpossvel:Instalar,Atualizar,RemovereConsultarpacotesnaBasedeDados
RPM.
InstalandoumpacoteRPM(opoi)
#rpmivhemacs20.711cl.i386.rpm
i:Indicaqueopacoteserinstalado.
v:Mostrainformaesdoprocessodeinstalao
h:Indicaaporcentagemdainstalaoutilizando#comoindicador.
A instalao depacotesfoidesenvolvidaparaseromaissimplespossvel,pormeventualmente
algunserrospodemocorrer.Soeles:
Pacotejinstalado:Irapareceramensagem:packagepacote.rpmjestinstalado!Paraignorara
mensagemeinstalaropacotenovamentevocdeveindicaressadecisoaoRPM.Paraissoacrescente
oparametroforceaocomando,comonoexemplo:
#rpmivhemacs20.711cl.i386.rpmforce
Arquivoscomconflitos:seexistirumarquivojinstaladoporoutropacote,apareceraseguinte
mensagem:Estepacotenopodeserinstalado...Paraignorarestamensagemeinstalaropacotedeve
seacrescentaroparmetroreplacefilesnocomando,comonoexemplo:
#rpmivhemacs20.711cl.i386.rpmreplacefiles
Dependncia:Opacote.rpmqueestsendoinstaladodependedeoutropacotepreviamenteinstalado.
Aparecer a seguinte mensagem: falha de dependncia: pacoteXYZ.rpm necessrio para
pacote.rpm.Paraignoraressamensagemdeveseusaroparametronodepsparainstalaropacote.rpm
semchecarasdependncias.
Observeoexemplo:
SejaumProfissionalAprendendocomProfissionais68
LinuxSystemAdministration
#rpmivhemacs20.711cl.i386.rpmnodeps
AtualizandoumpacoteRPM(opoUemmaiusculo)
#rpmUvhemacs20.711cl.i386.rpm
U:IndicaqueopacoteserAtualizado.
v:Mostrainformaesdoprocessodeinstalao
h:Indicaaporcentagemdainstalaoutilizando#comoindicador.
Aatualizaodeumpacote.rpmnormalmentefeitaparaumaversoposteriordaversoqueest
instalada,maspodeacontecerqueanovaversonosatisfazsuasnecessidades,entovocsabequea
versomaisantigadestepacotepossuiasfuncionalidadesdequevocprecisa,certo?entobasta
atualizaraversoatualparaaantigaqueseuproblemaresolvido!ok?Empartessim.Vejaabaixo.
ParaqueoRPMconcordeematualizarumaversomaisantigadopacote,vocdeveinformarao
RPM que a versoquedesejaAtualizarmaisantiga.Paraissovocdeveusaroparametro
oldpackage.Comonoexemplo:
#rpmUvhemacs20.711cl.i386.rpmoldpackge
DesintalandoumpacoteRPM(opoe)
#rpmeemacs
e:indicaqueopacoteserdesinstalado.Observequeparadesinstalarumpacotedeveser
informado apenas o NomeDoPadote "emacs". Isso porque o pacote j est instalado. Por isso
importanteconheceroformatopadrodeumarquivoRPM.
Seumoutropacoteinstaladodependerdopacotequeestsendodesinstalado,apareceroseguinte
erro:aremoodestepacotequebrariadependncia:pacote.rpmnecessrioparapacoteXYZ.rpm.
SejaumProfissionalAprendendocomProfissionais69
LinuxSystemAdministration
Pararemoverassimmesmo,acrescenteoparmetronodeps.
#rpmeemacsnodeps
ConsultandoumpacoteRPM(opoq)
#rpmqemacs:mostraapenasopacotecomonomeemacs.
#rpmqa|grepemacs:mostratodosospacotesquecontenhaonomeemacs.Este
omelhorcomando(entreestes)paraserutilizadoquandodesejaconsultarum
pacotejinstalado.
SejaumProfissionalAprendendocomProfissionais70
LinuxSystemAdministration
PacotesTGZnoSlackware
OspacotesTGZdoSlackwaresobemmaissimplesqueosoutrostiposdepacotes.Elessoarquivos
empacotadosecompactadosemformato.tar.gz,comaestruturadediretriosigualaodosistemae
algunsscriptsadicionaiscominformaessobreopacote.Vocpodeverocontedodoarquivo
justamentedescompactandoemumdiretrioqualquerquevoctenhacriado.
Alm disso, nesse tipo de pacote, no h resoluo automtica de dependncias (quer dizer, h
gerenciadorestratadosmaisafrentequefazemisso,masnodeumaformaperfeita).Vamosaprender
agoracomousaralgumascoisasessenciaisparaospacotesdoSlackware.
NoSlackware,vocpodeutilizarummenucentralizadoouutilizaroscomandosseparadospara
manipularospacotesdosistema.Paraacessaromenucentralizado,digite:
#pkgtool
Nomenu,vocpoderfazerdeterminadasaesdependendodaopoquevocescolher:
OpoAo
CurrentInstalatodososarquivospacotes(.tgz)dodiretrioatual(ondevocexecutouocomando
pkgtool).
OtherInstalatodosospacotescontidosemumoutrodiretrio(vocirespecificar)
FloppyInstalatodosospacotescontidosemumdisquetequevocfornecer
RemoveRemoveumpacotejinstaladodosistema(elelhedaralistadepacotes)
ViewMostraumalistadospacotesdosistemaeseusdetalhes
SetupConfiguraalgunspacotesquepossuemscriptspraisso
SejaumProfissionalAprendendocomProfissionais71
LinuxSystemAdministration
Opesdocomandopkgtool
Ouvocpodeutilizaroscomandosindividuaisparaessastarefas.Porexemplo,sevocquiserinstalar
umpacote.tgz,faa:
#installpkgpacote.tgz
Ocomandoinstallpkgapenasinstalaumpacote,mesmotendoumaversoantigadestemesmopacote
jinstalado.Nessecaso,sevocinstalarcomoinstallpkg,seusistemaficarcomduasversesdo
pacote.Paraevitarissoquandoforfazerumaatualizaodeversodeumcertopacote,faa:
#upgradepkgpacote.tgz
Pararemoverumpacotedosistema,use:
#removepkgpacote
Seporacasovoctiverproblemascomopacoteedesejadescompactlodeformacorretapara
analisar(oquepodernosermuitocomumenecessriofazer),vocpodeutilizarocomando:
#explodepkgpacote.tgz
Eessessooscomandosindividuais.Existetambmomakepkg,quecriapacotes.tgzdeforma
simples.
SejaumProfissionalAprendendocomProfissionais72
LinuxSystemAdministration
GerenciamentodeProcessos
Paracadaprocessoexistente,osistemaoperacionalforneceumcdigo(PID)queoidentificar.H
tambmumahierarquiadeprocessos,ouseja,umprocessopodechamaroutro,queporsuavezchama
umterceiro,eassimpordiante.
Um processo que executa em segundo plano chamado de processo "pai", e o novo processo,
chamadode"filho".
Comojfoidito,oLinuxumsistemamultitarefa,oquelhepermiteexecutarmaisdeumprocesso
ousistema.Portantopossvelterprocessosemprimeiroplano,chamadodeforeground,bemcomo
emsegundoplano,chamadodebackground.
Seromostradosaqui,algunscomandosparatrabalharcomprocessos,soeles:
Ocomandops:mostraosprocessosativosnosistema.
Sintaxe:ps[opo]
#psaux
a:mostratodososprocessos;
u:incluinalistaosusuriosehoradoiniciodoprocesso;
x:incluiprocessosnoassociadosaumterminal.
Ocomando kill: permitequeosuperusurioouosdonosdosprocessospossaeliminarprocessos
ativosnosistema.
Sintaxe:kill[opo][sinal][PID]
#killl:exibeossinaisquepodemenviarparaumprocesso.
Sinal:
(9)SIGKILL:Quandoenviadoparaumprocesso,terminaasuaexecuo.
SuponhamosqueexistaumprocessonosistemacomoPIDiguala3784,ouseja,oidentificadordo
SejaumProfissionalAprendendocomProfissionais73
LinuxSystemAdministration
processo3784.Paraqueoprocessosejaeliminado,deveseexecutarocomandokilldeformaqueo
sinalenviadoaoprocessoelimineo.Segueexemplo:
#kill93784
9:sinalparaeliminarumprocesso;
3784:Identificadordeumdeterminadoprocesso(PID).
Top
O comando topmostraosprocessosemexecuo( temporeal).Omesmocomandoapresenta
informaes sobre tempo ativo da mquina, quantidade de ususarios logados, porcentagem de
memria,processadoresistemautilizado.
#top
top08:36:38up20min,2users,loadaverage:0.00,0.00,0.00
Tasks:30total,1running,29sleeping,0stopped,0zombie
Cpu(s):1.7%user,0.7%system,0.0%nice,97.5%idle
Mem:482308ktotal,46464kused,435844kfree,4020kbuffers
Swap:1012016ktotal,0kused,1012016kfree,28692kcached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
1root90260260232S0.00.10:03.77init
2root80000S0.00.00:00.00keventd
3root1919000S0.00.00:00.00ksoftirqd_CPU0
4root90000S0.00.00:00.00kswapd
5root90000S0.00.00:00.00bdflush
6root90000S0.00.00:00.00kupdated
7root90000S0.00.00:00.00scsi_eh_0
8root90000S0.00.00:00.00scsi_eh_1
9root120000S0.00.00:00.00mdrecoveryd
10root90000S0.00.00:00.00kjournald
46root90000S0.00.00:00.00kjournald
72root90620620532S0.00.10:00.02syslogd
75root90460460404S0.00.10:00.03klogd
318root90000S0.00.00:00.00khubd
SejaumProfissionalAprendendocomProfissionais74
LinuxSystemAdministration
4665root90524524464S0.00.10:00.00inetd
4669root100160416041324S0.00.30:00.03sshd
4682root90600600516S0.00.10:00.00crond
4684daemon90688688596S0.00.10:00.00atd
4687root90286828641888S0.00.60:00.01sendmail
4690smmsp90244424321632S0.00.50:00.00sendmail
SejaumProfissionalAprendendocomProfissionais75
LinuxSystemAdministration
ProcessodeInicializaodaMquina
BIOS MBR(lilo/grub) KERNEL INIT GETTY LOGIN SHELL
QuandoligamosocomputadoroprimeiroprogramaquecarregadooqueestnaBIOS
(SETUP),esteprogramatestaosdispositivosdehardwarepresentes(HD,Mem.,CPU,Cdrom,etc).
Apsestestestes,aBIOScarregaoGestordeIncioqueestlocalizadonaMBR(primeiros1024
bytes)MasterBootRecordouSetordeBootMestre,quetemcomoobjetivocarregarokerneldo
SistemaOperacionalescolhidonalistadeS.O.mostradosnoGestordeIncio.OsGestoresdeIncio
maisconhecidossooGRUBeoLILO.
NOTA:DaquiemdiantevamossuporqueoGestordeIncioqueencontrasenaMBRoLILOeoSistemaOperacionalescolhido
pelousuriooLINUX.
AocarregaroLILOestepassaporduasfases.Aprimeiraexecutarosetordebootpara
permitiromultiboot,casoexistavrioskernelsdiferentes;easegunda carregaraimagemdo
kernelescolhido.NopontoqueoKERNELcarregado,eleassumeocontroledainicializaodo
sistema.Suaresponsabilidadedetectarosdispositivosdehardwaresuportadosporeleecarregar
seusmdulos.Apsterfeitotodaessatarefa,okernelpassaocontroleparaoINITqueporsuavez
irmontarossistemasdearquivossuportadospelokernel,inicializarosserviosbsicosdamquina
(serviosdomouse,rede,teclado,etc.(seriaos[OKs]queaparecemnatela))outrosserviosque
podemsercarregadosnainicializaodamquinaseriadosservidores:web,email,samba,entre
outroscasoestesestejaminstaladoseconfigurados,claro!
Apso INIT oprximopassoaexecuodo GETTY queporsuavezdisponibilizaatelade
LOGIN(mingettyparaomodotextoekdmdokde,gdmdognomeouxdmdoXFree86paraomodo
grfico)queporsuavezaguardaumainteraodousurioqueadigitaodologinesenha.Aps
serpassadaessasinformaesfeitoachecagemnosarquivos /etc/passwd e /etc/shadow. Casoos
dadosinformados(loginesenha)sejamcorretos,algunsoutrosarquivossolidos/executados.So
eles:
SejaumProfissionalAprendendocomProfissionais76
LinuxSystemAdministration
/etc/profile
ferramentas(MANPATH),configuraodepermisses,identificaodousurioedogrupo.Ele
indicadoparapassarcaminhosdeferramentasquesonecessriasamaisdeumusurio,evitando
assimaconfiguraopersonalizadaparacadausurio;
~/.bash_profile:arquivopessoalquetipicamentepossuioscaminhosdosbinriosdeusurioeou
ferramentas/scriptsquedevemserexecutadossomenteportalusurio;
~/.bashrc:estearquivoarmazenaasaliasesparacomandosnolinux(aliasessoapelidosparaos
comandos)quesurtemefeitosomenteparaousurioquepossuitalarquivo,ouseja,asaliasesdo
usurioXnosurtemefeitoparaousurioYeviceversa.
Aps a execuo destes trs arquivos nesta sequencia, ento disponibilizado um SHELL
(interpretadordecomandos)paraousurio.
SejaumProfissionalAprendendocomProfissionais77
LinuxSystemAdministration
InstalaoeconfiguraodoGestordeIncioLILO
LILO Linux Loader: o principal gestor de inicializao do Linux. Permite passagem de
configuraotantoemarquivosquantoporparametronainicializaodamquina.
Arquivodeconfigurao:/etc/lilo.conf
Estearquivopossuitodasasinformaesnecessriasparaainicializaodamquina,comoas
partiesativas,localparaumapossvelatualizaodolilo,localizaodasdiferentesimagensde
kernel,arquivoqueserapresentadoparaousurioaoiniciarolilo,entreoutrasfunes.
1passo:EditaroarquivodeconfiguraodoLILO.
#vi/etc/lilo.conf
01boot=/dev/hda
02map=/boot/map
02utilizadoparagravarosetordeboot,armazenaasopesdeboot.
03install=/boot/boot.b
03armazenaosdadosanterioresdaMBR.
04lba32
05message=/boot/message
06timeout=100
07image=/boot/vmlinuz
08root=/dev/hdaX
09label=linux
10paragarantiraconsistenciaeintegriadedodisco,casorodeofsck.
10readonly
11indicaapartioYdeoutroS.Oinstalado.
11other=/dev/hdaY
12nomequeserapresentadonomomentodaseleodoS.O.
12label=windows
13indicaapartioondeestarmazenadaatabeladeparties.
13table=/dev/hda
SejaumProfissionalAprendendocomProfissionais78
LinuxSystemAdministration
2passo:Criareeditaroarquivo/boot/message
#vi/boot/message
3passo:Paraescreverasopesdoarquivo/etc/lilo.confnosetordebootdigite:
#lilov
4passo:InstalaroLILOnaMBR:
#lilo
Inseriroutrosparmetrosnoarquivo/etc/lilo.conf:
prompt
foraainteraodousuriocomolilo.
default=linux
indicaaS.O.padroparasercarregado
timeout1200
tempoemdcimodesegundosparapoderescolheroS.O
vga=791
resoluo1024x768.
Oarquivoficardaseguinteforma:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32
message=/boot/message
vga=791
default=linux
prompt
timeout=1200
image=/boot/vmlinuz
root=/dev/hdaX
label=linux
readonly
SejaumProfissionalAprendendocomProfissionais79
LinuxSystemAdministration
other=/dev/hdaY
label=windows
table=/dev/hda
Passandoparmetrosparaokernelatravsdolilo
linuxsingle:permitequeoLinuxsejainiciadonomodomonousurio(init1).Esteomodode
manutenodosistema.
linuxinit=/bin/bash:indicaotipodeinterpretadordecomandosquedeverserutilizado.
linuxroot=/dev/hda9:indicaapartioemqueencontrasemontadoodiretrioraizdosistema.
Nestecasoapartio9doHDmasterqueencontrasena1IDEhda9.
ConfiguraesdeSegurana
Autilizaodogerenciadorlilopodecomprometeraseguranadosistemacasooadministradorno
saibaacorretaconfiguraodoseuarquivodeconfigurao/etc/lilo.conf,deixandoumalacunapara
queaspessoasmalintencionadasacessemosistema.Oparmetrolinuxsingle(oulinuxs)permitem
queaspessoasacessemosistemacomomonousurio(init1).Nestemodonosolicitadologine
senhadeadministradorparalogarnosistemacomoroot,bastaapenasdigitarlinuxsingleoulinuxs
paraacessarosistemaeterpermissesparafazeroquequiser(mudarasenhadoroot,deletaros
arquivosdeconfiguraodosistemacomoosarquivos/etc/passwde/etc/shadow,entreoutros).
Parabarraresteacessoutilizadooparmetro password=senha (quesolicitarumasenha
sempreapsaescolhadosistemaoperacionalasercarregado)Exemplo1;eoparametrorestricted
usadoemconjuntocomopassword=senha(fazendocomqueasenha,sejasolicitadaapenasparao
modomonousurio(linuxsingle))Exemplo2.
1password=123456passwordquesersolicitadosempreapsaescolhadoS.O.
2restricted
solicitaasenhasomenteparaomododemanuteno(linuxsingle)
SejaumProfissionalAprendendocomProfissionais80
LinuxSystemAdministration
Oarquivoficardaseguinteforma:
Exemplo01
Exemplo02
boot=/dev/hda
boot=/dev/hda
map=/boot/map
map=/boot/map
install=/boot/boot.b
install=/boot/boot.b
message=/boot/message
message=/boot/message
vga=791
vga=791
default=linux
default=linux
prompt
prompt
timeout=1200
timeout=1200
password=123456
password=123456
image=/boot/vmlinuz
restricted
root=/dev/hdaX
image=/boot/vmlinuz
label=linux
root=/dev/hdaX
readonly
label=linux
other=/dev/hdaY
readonly
label=windows
other=/dev/hdaY
table=/dev/hda
label=windows
table=/dev/hda
Quandoutilizadaestconfigurao(password)outraconfiguraodeseguranamuito
importanteparaimpedirqueosoutrosusuriosdosistematenhamacessodeleiturasobreoarquivo
/etc/lilo.conf. Para isso altere as permisses relativas ao grupo e outros usurios do sistema,
executandoocomandochmodcomosmodos600(rw).Fazendoassim,comqueapenasoroot
possalerealterarocontedodestearquivo.
#chmod600/etc/lilo.conf
Senhaparaumapartioespecfica
possvelsetarumasenhaparaumapartioespecficaouparaumdeterminadoSistema
SejaumProfissionalAprendendocomProfissionais81
LinuxSystemAdministration
Operacional.SuponhamosqueestejaminstaladosnamesmamquinaoWindowseoLinuxeo
arquivo/etc/lilo.conftenhaaseguinteconfigurao:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
lba32
message=/boot/message
prompt
timeout=100
image=/boot/vmlinuz
root=/dev/hda5
label=linux
readonly
other=/dev/hda1
label=windows
table=/dev/hda
de seu interesse bloquear o acesso ao Sistema Operacional Windows por exemplo, que est
instaladonapartiohda1.Entobastaacrescentaroparmetro password=senha dentrodasesso
outros(other),oarquivo/etc/lilo.confficardaseguinteforma:
...
...
...
other=/dev/hda1
label=windows
password=12345
table=/dev/hda
SejaumProfissionalAprendendocomProfissionais82
LinuxSystemAdministration
OprocessoINITnainicializaodosistema
Notequeapsdacargadosmdulosdokernel,ocontroledosistemapassaparaoprocesso
INIT.Oinitexecutadopeloprpriokernel,quandoexecutaoarquivo/sbin/init.
O INIT executatodososscriptslocalizadosnodiretrio/etc/rc.d/queso: rc,rc.local e rc.sysinit
(estesserodetalhadosmaisafrente),realizandoassimainicializaodetodoosistema.
Oinitrealizaasseguintesfunes:
Configuraobsicadosistema:cargadomapadeteclado,nomedehost,ativaodarea
deswap.
Configurao final dos Hardwares: usb, placa de rede, etc; carga de mdulos;
Configuraoderede:interfacesderede,roteadores,firewall;
Inicializaodosservios:configuraodosservidores;
Executaredisponibilizarasconsoles virtuais:quepromoveainteraodosusuriosno
sistema.
Nveisdeexecuo(Runlevel)
Osrunlevelssonveisouformasdeinicializaodosistemaoperacionallinux.
Cada nvel de execuo possui seus arquivos que sero executados para inicializao da
mquina.Cadanveldeexecuoidentificadoporumnmeroquevaide0a6(0123456).
NveisdeexecuoemdistrobaseadasnoRedHat(Conectiva,Mandrake,Suse,Fedora,Linux)
Nvel
Descrio
Desligaosistema(nuncadefinircomoinitdefault)
Monousurio
Multiusuriosemacessoarede
Multiusuriocomacessoarede
Noutilizado
SejaumProfissionalAprendendocomProfissionais83
LinuxSystemAdministration
Modogrfico
6
Reiniciaosistema(nuncadefinircomoinitdefault)
Osnveisde2a5diferementreasdistribuies.Porexemplo:noDebianonivel2porpadro
multiusuriocomsuportearedeenoRedHatonvel2porparomultiusuriosemsuportea
rede.
Parasaberonveldeexecuoatual,execute:
#runlevel
O INIT sempreseroprocessodenmero1dosistema,umavezqueoprimeiroaser
executado.
Visualizeasadadocomandopsdaforma:
#psaux|grepinit
NOTA: Este comando filtra apenas os processos que contm a palavra init na lista de processos do ps aux.
ObservequeoPIDnoprocessoinit[niveldeexecuo]iguala1.ouseja,eleoprimeiro
processoaserexecutadonosistema.
O INIT tambmumprocessomonitorador,poisnorespondea nenhumsinaldekill:
SIGKILL,executadoporkill9<PID>oupeloSIGTERMexecutadoporkill15<PID>.Portanto
sempreestarativo,eleopaidetodososprocessos.
#kill91
#kill151
#psaux|grepinit
NOTA:ObservequeoprocessoINITaindaestativo!
SejaumProfissionalAprendendocomProfissionais84
LinuxSystemAdministration
ComunicandocomoprocessoINIT
possvel comunicar com o processo init atravs do comando homnimo init ou pelo
comandotelinit.Observequeocomandotelinitumlinksimblicoparaoarquivoinitqueencontra
seem/sbin.Execute:lsl/sbin/telinitparavisualizar.
Sintaxedocomando:
#init<nveldeexecuo>
Demodoque,sedesejarcarregaroutronveldeexecuo,bastadigitarocomandoinitoutelinitda
seguinteforma:
#init5 carregaomodografico
#telinit3
carregaomogotexto
#runlevel
mostraonveldeexecuo
N53
Observequeocomandomostraonveldeexecuoanterioreoatual.Seonvelatualoque
foicarregadonoprocessodeinicializao,ouseja,nofoialteradocomocomandoinitoutelinit
apareceraletra'N'nolugardonvelanterior,daseguinteforma:
#runlevel
N3 casoonveldeexecuopadrosejaonvel3
Seonvelanteriorforonvel1(monousurio)apareceraletra'S'indicandoqueestavacomolinux
single.
#runlevel
S3 casoonveldeexecuoanteriorseja1
SejaumProfissionalAprendendocomProfissionais85
LinuxSystemAdministration
OutrasfunesdoINIT
Como foi falado anteriormente o init o nico processo que sempre est vivo; estas
caractersticasofazemonicocapazderealizarvriasoutrastarefasalmdainicializaodosistema,
sendo:
Monitoramentodosistema:algunsprocessospodemsermarcadoscomosemprevivosmasse
poralgumarazoesteprocessomorreoinittemaresponsabilidadedereexecutaroprocesso
tornandoo vivo novamente. Um bom exemplo de processo que no pode morrer so os
terminais,
pois
eles
que
do
acesso
ao
sistema.
OArquivo/etc/inittab
Aconfiguraodestearquivofeitaatravsdequatrocamposseparadospordoispontos(:).
identificao:niveisdeexecuo:ao:processo
1) identificao: representa a identificaoda linha.Oideal usarduas letras por questes de
compatibilidade,nasversesmaisrecentespodeseutilizarate4caracteres.Estevalortotalmente
arbitrrio,podendoserescolhidoqualquercombinaodecaracteres,desdequesejanico.
2) nveisdeexecuo:informaonveldeexecuo,casoocampoestejavazioserexecutadopara
todososnveis;sefor'S'indicaquedeveserexecutadosomentenonvelmonousurio.
SejaumProfissionalAprendendocomProfissionais86
LinuxSystemAdministration
3) ao:indicaotipodeaoqueserexecutada,asmaisutilizadasso:
Ao
Descricao
respawn
wait
once
initdefault
sysinit
powerfail
powerokwait
ctrlaltdel
Orespawnfazcomqueoinitreexecuteoprocessocasoelesejamorto.
Oinitaguardaporumadecisoanteriorparaprosseguir
Oprocessoserexecutadoapenasumavez,nainicializaodonvel.
Indicaonvelquedeveserinicializadoporpadro
Indicaoscriptdeinicializaogeraldosistema(/etc/rc.d/rc.sysinit)
OprocessoserexecutadoquandooinitreceberosinalSIGPWR(30),falhadeenergia.
Indicadorderestabelecimentodeenergia(chamadosomenteapsumpowerfail)
Indicaoprocessooucomandoqueserexecutadoapspressionarasteclasctrl+alt+del
processo:indicaoprocessooucomandoaserexecutado.
Segueabaixoocontedodoarquivo/etc/inittab:
#Defaultrunlevel.(Donotsetto0or6) Selecionaotipodonvelquedeveserexecutadopor
padro(initdefault)
id:3:initdefault:
#Systeminitialization(runswhensystemboots)Indicaqueoscriptrc.Sdeveserexecutado.Este
sersempreexecutadoesomenteumavez(sysinit),eapenasnainicializao,poispossuiinformaes
geraisquedevemsercarregadasparaqualquernveldeexecuo.
si:S:sysinit:/etc/rc.d/rc.S
#Scripttorunwhengoingsingleuser(runlevel1)Scriptutilizandoquandooliloenviaosinalde
inicializaonomodomonousurio.Estescriptsolicita asenhadousurioduranteoprocessode
inicializao.Tornaseumamedidadeseguranacontraataquesdeforabruta.(maisdetalhessobre
segurananoinittabnocursodeSeguranaemRedesLinux)
su:1S:wait:/etc/rc.d/rc.K
SejaumProfissionalAprendendocomProfissionais87
LinuxSystemAdministration
#ScripttorunwhengoingmultiuserScriptutilizadoparainicializarosrunlevels2,3,4e5.
rc:2345:wait:/etc/rc.d/rc.M
#Whattodoatthe"ThreeFingerSalute" estaaodefinidaparainformarqualcomando
executadoquandoasteclasCTRL+ALT+DELsoacionadas.
ca::ctrlaltdel:/sbin/shutdownt5rnow
Vamossubstituiralinhaatualpor:
ca::ctrlaltdel:echo"naoepossivelreiniciardestaformadigitereboot"
#Runlevel0haltsthesystemScriptqueexecutadoquandoonvel0solicitado.Nestenvelo
sistemaoperacionaldesligado.
l0:0:wait:/etc/rc.d/rc.0
#Runlevel6rebootsthesystemScriptqueexecutadoquandoonvel6solicitado.Nestenvel
osistemaoperacionalreiniciado.
l6:6:wait:/etc/rc.d/rc.6
#WhattodowhenpowerfailsquandooinitrecebeumsinalSIGPWR(30)deumprocessoque
monitoraumainterfaceserialligadadocomputadoraumnobreakdenominadoUPS(Uninterrupted
PowerSupplySuprimentoIninterrupitodeEnergia)eleexecutaocomandoshutdown.
pf::powerfail:/sbin/genpowerfailstart
#Ifpowerisback,canceltherunningshutdowncasoaenergiasejareestabelecidaoinitrecebe
umsinalSIGPWRalertandoquehumarquivochamado/etc/powerstatuscontendoapalavraOK.
Issosignificaqueaenergiaeltricavoltou.Entooshutdownanteriordevesercancelado.
pg::powerokwait:/sbin/genpowerfailstop
#casoaenergiasejareestabelecidaoinitrecebeumsinalSIGPWRalertandoquehumarquivo
chamado/etc/powerstatuscontendoapalavraOK.Issosignificaqueaenergiaeltricavoltou.Entoo
shutdownanteriordevesercancelado.
SejaumProfissionalAprendendocomProfissionais88
LinuxSystemAdministration
pr:12345:powerokwait:/sbin/shutdownc"Energiareestabelecida;Shutdown
Cancelado!"
#Thesearethestandardconsolelogingettiesinmultiusermodeindicaonmerodeconsoles
textoegrficoporpadro.Aslinhasqueestohabilitadasindicamonmerodeconsoletextoeas
linhascomentadas(#)ouquenoexistemindicamasconsolesgrficas.
c1:1235:respawn:/sbin/agetty38400tty1linux
c2:1235:respawn:/sbin/agetty38400tty2linux
c3:1235:respawn:/sbin/agetty38400tty3linux
c4:1235:respawn:/sbin/agetty38400tty4linux
c5:1235:respawn:/sbin/agetty38400tty5linux
c6:12345:respawn:/sbin/agetty38400tty6linux
#Estalinhaexecutadasomentequandoonveldeexecuoo4.Aexecuodestalinhafazcom
queogerenciadordelogindomodogrficosejacarregado.Dentrodoarquivoprefdm.Existem3
gerenciadoresdelogin,okdmdokde;ogdmdognomeeoxdmdaXfree86.
x1:4:wait:/etc/rc.d/rc.4
Apsamodificaodoarquivo/etc/inittabdeveseexecutarocomandoinitenviandoosinal
'q'paraoarquivoserlilonovamente,destaformanonecessrioreiniciaramquinaparaqueo
arquivoinittabsejacarregado.Ocomandodeveserexecutadodaseguinteforma:
#initq
Odiretrio/etc/rc.d/
Conhecendoosnveisdeinicializaodosistema,importantesaberoquecadaumdeles
fazem,ouseja,quetipodeservioselesvochamarequalmomentodefazlos.Cadanvelde
execuopossuiumdiretriocomseusarquivosparainicializao,sendoodiretrio/etc/rc.d/rc0.d/
paraonvel0,odiretrio/etc/rc.d/rc1.d/paraonvel1;/etc/rc.d/rc2.d/parao2eassimpordiante
atonvel6.Asuachamadafeitaapartirdoscript/etc/rc.d/rc.Squeexecutadopeloprocesso
INIT.
SejaumProfissionalAprendendocomProfissionais89
LinuxSystemAdministration
Liste o contedo do diretrio /etc/rc.d/rc3.d/ por exemplo. Observe que existem vrios
arquivoseestescomeamcomaletra 'K' oucomaletra 'S' paraindidarseoprocessodeveser
parado(kill)ouiniciado(start),respectivamente.Observetambm,queapsumadessasletraspossue
umnmeroquevariade00at99quedetermina aprioridadedeexecuodosarquivoscontidos
nestediretrio.
Paraestesserviospodemserutilizadasasferramentasntsysvechkconfignasdistribuies
baseadasemRedHat
NOTA:odiretriodecadanveldeexecuopodevariardedistribuioparadistribuio.Oexemploacimaretrataodiretriodas
distribuiesbaseadasemRedHat.
Arquivo/etc/issue
Estearquivocontmamensagemdecabealhoqueapresentadanateladelogindomodo
texto(mingetty).Paravisualizaroarquivodigite:
#cat/etc/issue(Estecomandoirapresentaraseguintesaida:)
SlackwareLinux
EntrecomLogineSenha.
Altereocontedodestearquivo!Agoraabraumaoutraconsoletexto(CTRL+ALT+F3por
exemplo).Observequeamensagemquevoccolocounoarquivo/etc/issueaparecenateladelogin.
Estearquivoutilizadoparaauxiliarosusuriosinformandooqueelesdevemfazernestatela.
Arquivo/etc/nologin
Estearquivoutilizadoquandooadministradordecidefazerumamanutenonoservidor.
Estearquivoimpedequeosusurioscomunsloguemnosistema.Porpadroestearquivonoexiste.
Semprequeaexistenciadelefornecessria,oadministradordevecrialomanualmentecomo
comandotouchporexemplo(touch/etc/nologin).Observequeafuncionalidadedessearquivo
vlidaapenasdentrododiretrio/etc.
SejaumProfissionalAprendendocomProfissionais90
LinuxSystemAdministration
Paratestarafuncionalidadedeste,executeocomando:
#touch/etc/nologin
Agoratentelogarnosistema(comcontadeusuriocomun).Observequeissonopossvel,
pormousurionosabeoqueestacontecendo,eleapenasnologa.Elepodepensarqueest
digitandoasenhaerradaouquesuasenhafoialterada.
Paraeliminaressaspossveisdvidasporpartedosusurios,oadministradordevedigitarum
textodentrodoarquivo/etc/nologin,informandoaosusuriosaindisponibilidadedosistema por
determinadomotivo.Paraissoexecute:
#vi/etc/nologin(Insiraumamensageminformativa).Porexemplo:
Arquivo/etc/motd
Estearquivousadoparapassaralgumainformaoapsologonparatodososusuriosdo
sistema,comoporexemplo:LOGINEFETUADOCOMSUCESSO!
Altereocontedodestearquivoevisualizesuasadaapsologon.
Arquivo/etc/securetty
SejaumProfissionalAprendendocomProfissionais91
LinuxSystemAdministration
Estearquivomantmasconsolesvirtuaisqueosuperusurio(root)podeefetuarlogonno
sistema. uma poltica de segurana que feita em servidores para impedir que pessoas que
eventualmenteconseguemdescobrirasenhaderootefetuemlogonnosistema.
Paraprevenirestasituao,abraoarquivo/etc/securetty,ecomentetodasaslinhasdeste
arquivousandoocaractere'#'.Casooptarpordeixaraconsoletty5(5consoleCTRL+ALT+F5),
porexemplo,descomentada,orootpoderlogarapenasnesta.
#vi/etc/securetty
Exemplodocontedo,comalgumasentradascomentadas:
#tty1
#tty2
#tty3
#tty4
...
#tty12
Noexemploacimaorootnoconseguirrealizarloginnasconsoles1,2,3e4.
Exerccio
Seforemcomentadastodasaslinhasdestearquivo,oquefazerparaefetuarologinnosistema
comacontaderoot,vistoquesuaentradaestbloqueada?
Essarespostabemsimples.Vocpodeefetuarologondesuacontapessoalnosistema,logo
apsexecutadoocomandosu<usurio>.Estecomandofarcomqueasenhado<usurio>
sejasolicitada.
Vamosfazerumteste.Sigaospassos:
7) Efetuelogonnosistemacomsuacontapessoa;
8) Agoradigite$suroot;
9) Agoradigiteasenhaderoot.Observequeagoraestlogadocomasenhaderoot;
10)Executeocomandoexitparavoltarcontaanterior.
SejaumProfissionalAprendendocomProfissionais92
LinuxSystemAdministration
Comandosu
Ocomandosuutilizadoparasepromovercomosendooutrousurionolinux.
Porexemplo:Vocestlogadonosistemacomofulanoedesejaacessarosistemacomobeltrano.No
necessariamentedeveserefetuadologoffdefulanoelogondebeltrano,bastautilizarocomandosu
beltranoelogoapsdigitarasenhaparaesteusurio.Assimqueterminardefazeratarefausandoo
usuriobeltrano,deveserdigitadoocomandoexitfazendocomqueologondebeltranoseja
encerrado,eretornado,ento,paraologonfulano.
Faaesteprocedimento.Crieduascontasdeusurioumafulanoeoutrabeltranocomsenhas
123.loguecomofulanoedepoissepromovacomobeltrano.Depoisexecuteocomandoexit.Observe
queacontadobeltranoencerradaeacontaatualfulano.
Este comando til quando so comentadas todas entradas no arquivo /etc/securetty
(apresentadoacima)esedesejaefetuaralgumaconfiguraonosistemacomacontaderoot.
SejaumProfissionalAprendendocomProfissionais93
LinuxSystemAdministration
InicializaodeServios
Olocaldosarquivosscriptsparainicializaodosserviosdiferedeumadistribuiopara
outra.NasdistribuiesbaseadasnoRedHat(Fedora,Conectiva,Suse,etc)osscriptsdeinicializao
dosserviosseencontramdentrododiretrio/etc/rc.d/init.d/ou/etc/init.d/,
jnoSlackwareelesficamdentrode/etc/rc.d/,porexemplo.
Estes servios so chamados tambm de daemons. Um servio ou um daemon
necessriamenteumprocesso,podendoser:serviosderedecomohttpd(servidordepginasWeb),
crond(agendadordetarefas),sendmail(servidorparaenviodeemails);ounocomonetwork
(configuraoderede)ekeytable(configuraodeteclado),gpm(serviodomouse),etc.
costumeincluiraletra'd'nofinaldonomedecadascriptparaindicarosdaemons,como
httpd(HTTPdaemonservidordepginasweb),named(namedaemonservidordenomesinternet),
etc.
Todosestesserviosoudaemonssopadronizadosdeformaquesuportamasopesstarte
stop;eopcionalmenteasopesstatus,restartereload.
Opo
Funcao
Iniciaodaemon/servio
start
Praodaemon/servio
stop
Praeinicializaodaemon/servio
restart
Recarregaoarquivodeconfiguraosempararodaemon/servio
reload
Exibeseostatusdodaemon/servioparado,rodando,travado,etc...
status
Nemtodososdaemonssuportamtodasasopescitadas.
SejaumProfissionalAprendendocomProfissionais94
LinuxSystemAdministration
#/etc/rc.d/rc.gpmstart
#/etc/rc.d/rc.inet1stop
#/etc/rc.d/rc.inet1start
OArquivo/etc/login.defs
Estearquivoarmazenaasprincipaisconfiguraesparaageraodosusurios(quandose
executaocomandoadduser<user>),indodesdeogerenciamentodesenha,atacriaododiretrio
padrodousurio.
Exemplodocontedodoarquivo:
MAIL_DIR/var/spool/mail localpadroparaosemaildosusurios.
PASS_MAX_DAYS
99999
PASS_MIN_DAYS0
nmerodediasparaautilizaodasenha
quantidademnimadediasqueousuriodever
ficarcomasenhasemalterala.
PASS_MIN_LEN
tamanhomnimodasenhaparausurioscomunsqdo
foralterada
PASS_WARN_AGE 7
diasrestantesqueousurioserinformadoda
expiraodasenha.
UID_MIN
500 InciodoUIDparausurioscomuns
UID_MAX
60000
GID_MIN
500 InciodoGIDparausurioscomuns
FimdoUIDparausurioscomuns
GID_MAX 60000
FimdoGIDparausurioscomuns
CREATE_HOMEyes
criadoodiretriohomenomomentodacriaodo
login
SejaumProfissionalAprendendocomProfissionais95
LinuxSystemAdministration
ProgramaoShell
ProgramandonoLinux
TodosossistemasoperacionaisdafamliaUnixpossuemshell(interpretadordecomandos)
programveis;ouseja,permiteacriaodescriptsinterpretados,comfuncionalidadesprximasde
umalinguagemcompleta,comoCouPascal.
Os scripts shell permitem ao administrador do sistema automatizar tarefas, criar novos
comandosparaoseuauxilio,entreoutrasvantagens.Asuautilizaomuitovariada,sendoqueele
estpresenteemtodoosistema,poisamaioriadosarquivosutilizadospelosistemasoscripts,assim
conhecerasuasintaxeecompreenderoqueelepodevirafazerdentrodeumarquivofundamental
paraoadministrador.
Nota:Ointuitodestematerialnoensinarprogramao,massimapresentarosdetalhesdescriptshell.Portanto,paraseterbom
proveito,necessrioqueoleitorconheaosfundamentosdelgicadeprogramao.
Tiposdeinterpretadores
ExistemvriostiposdeinterpretadoresparaosistemaLinux,sendoosprincipais:bash(mais
popularemaisutilizado),sh(oshnoexistemais,foisuperadoesubstitudopelobash,porisso,
geralmenteshumlinksimblicoparabash),csh(sintaxeparecidacomCeomaisutilizadono
UnixSolaris),tcsh(semelhanteaocsh,pormmaiscompleto).
Todososscriptscriadosdevemcomearcomumalinhadecomandoespecficainformandoao
sistemaoperacionalotipodeinterpretadordecomandosaserutilizado.Omaiscomumobash.
Onomedointerpretadoratualmenteutilizadoficaarmazenadoemumavariveldeambiente
chamadaSHELLoushell(dependerdointerpretador).Parasaberqualestsendoutilizado,basta
utilizarocomandoabaixo:
#set|grepishell
SHELL=/bin/bash
SejaumProfissionalAprendendocomProfissionais96
LinuxSystemAdministration
Nestecasoocomandoutilizado foi:setparalistarasvariveisdeambiente,opipe(para
concatenarasadadoltimocomandocomaentradadoprximo),grepparafazerafiltragemde
sadajuntamentecomaopoi(desativaocasesensitiveparaestafiltragem)eonomedavarivela
serpesquisadaeoomoresultadoobtidofoionomedointerpretadorutilizado,quenestecasoobash.
Quandoousuriopossuiuminterpretadordecomandoseumasenhavlidaeleestaptoa
fazerloginnosistema,pormalgumasvezesnointeressantequeelefaaacesso,masquepossua
umacontaparaacessaroutrostiposdeserviosdosistema,comointernet,SAMBAeoutrosservios.
Aremoodoacessoaosistemapodeserfeitanoarquivodeconfiguraodeusurios/etc/passwd,
devendoseralteradoovalordoltimocampode/bin/bash(ououtrointerpretador)para/bin/falseou
/bin/nologin.
Paraestematerialserutilizadoointerpretadordecomandosbash,poisalmdeseromais
comumasdistribueselemaissimplesparatrabalhar.
UmScriptsimples
Os scripts so arquivos regulares do sistema, no havendo necessidade de extenses
especficasoudetalhesamais,elefuncionasimplesmentecomasuapermissodeexecuoativada.
Aextensoseriausadaparadestacaroarquivocomoumscript.Umexemploseriaaextenso.sh
representandoshelloubash.
Oscomandosdentrodeumscriptpodemserosmesmosutilizadosemumalinhadecomando,
pois o arquivo lido de forma sequncial (de cima para baixo) e lido conforme seria digitado
diretamentepelousurio.Poderiasercriadoumscriptparaescreverumamensagemnatelaparao
usurioquandooscriptforexecutado,podemosfazeracessoabancodedadoscomooMySQL,filtrar
dadosdecomandosetc...
Iremosinicialmentegerarumscriptsimplescomocomandoecho,quepermiteescreverna
sadapadro,enviandoumamensagemsimples,como:OlMundo!
Exemplo:
SejaumProfissionalAprendendocomProfissionais97
LinuxSystemAdministration
Crie e edite um arquivo chamado script1.sh dentro do seu diretrio $HOME, com o seguinte
contedo:
#vi~/script1.sh
Contedo:
#!/bin/bash
echo"OlMundo!
Ocabealho#!/bin/bashserveparainformarotipodeinterpretadoraserutilizado.Casono
sejainformadootipodointerpretadornotemproblema.Aextenso.shnonecessria,masela
colocadaparafacilitarsuaindentificaopelousurio,quetambmpoderecorreraocomandofile.
Apsaediobastasalvaroarquivoealterarasuapermissoparaexecutvel:
#chmod755script1.sh
Paraexecutalo,existemvriasformasdiferentes:
Utilizandoocomandobash
#bashscript1.sh
OlaMundo!
Nestecasononecessrioalteraraspermissesdoarquivo,mastodavezequedigitadoo
comandobashabertoumprocessofilhosobreointerpretadorutilizado.
Passandotodoocaminhodesdeorazatonomedoarquivocomapermissodeexecuo:
#/tmp/script1.sh
OlaMundo!
SejaumProfissionalAprendendocomProfissionais98
LinuxSystemAdministration
Utilizandoocomando"pontoespacoscript"
#.script1.sh
OlMundo!
Utilizandoocomando./
Opontobarraserveparaindicaraosistemaqueoarquivoestlocalizadonodiretoriocorrente,
logoapseledeverserexecutdo,desdequeoarquivoestejacomapermissohabilitadaparaisso.
#./script1.sh
OlMundo!
NOTA:Nestedoisltimoscasosobrigatrioqueousurioestejadentrododiretrioondeestarmazenadooscriptshell.
Outrasopesdointerpretadorbash
Nomomentodaexecuopodemserfeitostestesparaverificarofuncionamentodoscripte
saberseelefoicorretamentecriado.Otestepodeserfeitopassandoumadasopesconformea
chamada.
Sintaxe:
#bash[opo]scriptshell
opo:
xapresentadoocomandoedepoisasuasada
napenasfazumtestedeverificao,nooexecuta.
vapresentatodooscriptedepoisoexecuta
Exemplo:
#bashxscript1.sh
SejaumProfissionalAprendendocomProfissionais99
LinuxSystemAdministration
echo"OlMundo!
OlMundo!
#bashnscript1.sh
#bashvscript1.sh
#!/bin/bash
echo"OlMundo!
OlMundo!
Sintaxe
Comentrios
Oscomentriosdentrodescriptssofeitosutilizandoocaractere#.Dopontodeondeele
estiverpresenteatofinaldalinhaserinterpretadocomocomentrio.Noscriptshellnoexiste
declarao paraumcomentrioemvriaslinhas,devendoomesmosercolocadoumaporuma,
portantonoexisteblocodecomentrios,comoemalgumaslinguagensdeprogramao.
Exemplo:
#!/bin/bash
#ProgramasimplesdeScriptShell
echo"OlMundo!"#ImprimeOlMundo!!
TiposdeVariveis
SejaumProfissionalAprendendocomProfissionais100
LinuxSystemAdministration
VarivelSimples
Avariveldentrodosistemaspodeassumirovalordestring.Suadeclaraosedno
momentodorecebimentodequalquervalor,deacordocomaestrutura:varivel=valor
Noprecisater";"aofinaldalinhaetambmnopodeterespaosentreavariveleosinal
deigual,eosinaldeigualeovaloraserrecebido.
Asregrasparaacriaosomuitosemelhantesoutraslinguagensdeprogramao,videos
seguintespontos:
1. Usarcaracteresalfanumricoseunderline;
2. Comearcomletraouunderline;
3. Nopodeconterespaosembrancoouacento.
4. Avarivelgeradadentrodoscriptapagadaaofinaldaexecuodomesmo.
Acessandovariveis
Ocontedodavarivelpodeserlidocomainserodosinal"$"antesdavarivel:$varivel
Exemplo:
Criarumnovoarquivochamadoscript2.shcomocontedo:
#!/bin/bash
Var=Testedecontedo"
echo$Var
Salveoarquivoeoexecute,asadaserocontedodavarivelVar.
Comandoecho
Como visto anteriormente o comando echo permite a escrita na sada padro, quando o
mesmonoredirecionadoparaumarquivo,dispositivo,etc.
SejaumProfissionalAprendendocomProfissionais101
LinuxSystemAdministration
Abaixoseromostradasalgumasopesdocomandoecho:
Opo:
nNopulaalinhaapsoecho
ePermiteousodoscaracteresdeescape(tabulao,quebradelinha,bip,etc).
Umexemplodousodasopesacimapodemserfeitasnalinhadecomando:
#echon"testandoousodon"
testandoousodon
NOTA:Ousodoesermelhorvistoapsoprximotpico.
Caracteredeescape
Oscaracteresdeescapepermitemautilizaodeorganizao(comotabulao),saltarlinha,
chamar uma sinalizao sonora para o usurio, entre outras funes, assim ela sempre ser
acompanhadadeumabarrainvertidaparaindicarotipodocaractere.
Quadrodefunesdocaracteredeescape:
Comando
\a
\b
\n
\r
\t
\v
\\
\"
Funo
Alerta(sinal)
Retornodeespao(backspace)
Novalinha
Retornodocarro
Tabulaohorizontal
Tabulaovertical
Apresentao"\"
Apresentaaspasduplas
Exemplo:
SejaumProfissionalAprendendocomProfissionais102
LinuxSystemAdministration
#echoe"testandoouso\ndos\"caracteresdeescape\"\n"
testandoousodos"caracteresdeescape"
Casooexemploacimafosseescritosemaopoeoresultadoseria:
#echo"testandoouso\ndos\"caracteresdeescape\"\a\n"
testandoouso\ndos"caracteresdeescape\a\n
Passagemdeparmetros
Nomomentodeexecutaroscriptpossvelpassarparmetros,quesoinformaesextras
necessriasparaodesenvolvimentodocdigo,porexemplo,capturarumasenha,elapoderiaser
passadacomoparmetroefazercomparaesdentrodocdigo.
Osparmetrospodemser:
Parmetro Descrio
$0
Nomedoscript,juntamentecomoseucaminhocompleto
$1a$9 Valorespassadoscomoparametros**
$$
NmerodoPIDdoscript
$?
Valorderetornodotestedoltimocomando
$#
Quantidadedeparametrosexistentes
**Paravaloresacimade9devemestarentrechaves,porexemplo,oparametro15seriadescrito
assim:${15}
Leituradetecladoevariveis
Duranteoandamentodainterpretaopodesersolicitadoapassagemdeinformaes,para
estescasosexisteocomandoreadquepermitefazerasualeituraearmazenaremumavarivel.
Sintaxe:
a.readvarivel
b.read[opo]"mensagem:"varivel
Opo Descricao
SejaumProfissionalAprendendocomProfissionais103
LinuxSystemAdministration
p Solicitaainfirmaoepermiteavisualizaodoqueestsendodigitado
s
Solicitaainformao,masnopermiteasuavisualizao;utilizadoparapedirsenhas
nX Permiteinformaraquantidadedecaracteresaseremlidos,Xaquantidadeeminteiro.
Exemplo:
Criarumnovoarquivochamadoscript3.sh
Contedo:
#!/bin/bash
echon"Digitealgo:"
readresposta
echo"Foidigitado:$resposta;oprimeiroparametroe$1osegundoparametro
$2"
Executeoscriptpassandoparmetrosparaomesmo:
#./script3.shAAABBB
Asadaser:
Digitealgo:ALGO
Foidigitado:ALGO;oprimeiroparmetroeAAAosegundoparmetroBBB.
EstruturasdeDeciso(if)
Aestruturacondicionalpermitedefinirumadecisodoprograma;atravsdeumacondio,
quepodeserumacomparaoentredoisvalores,porexemplo.
Sintaxe:
if[condio];then
comandos
fi
Aestruturaifpermiteousodeelseparaotratamentodeerronacondiosemdetalhesparaa
programao.Pormexisteumadiferenaparaousodeumnovotratamentodecondio,casoele
SejaumProfissionalAprendendocomProfissionais104
LinuxSystemAdministration
seja verdadeiro,dentrodoifqueocomandoelif(else+if)epodemexistirvriosdestes em
seqncia,comonaestrutura:
if[condio];then
comandos
elif[condio1];then
elif[condio2];then
elsecomando
fi
Criarumnovoarquivochamadoscript4.sh,quesermodificadoatofinaldesteassunto:
#!/bin/bash
#Fazaleituradasenhadousurio
echoDigiteasuasenha:
readsresposta
senha="12345"
#comparaodasenhacomaregistradadentrodocdigo
if[$resposta=$senha];then
echoSenhacorreta!
else
echoSenhaIncorreta!
fi
Aoposparareadfazcomqueocomandonoapresentenasadapadrooqueousurio
estdigitando,servindoparaaumentarasegurana.
Executeoarquivo:
#./script4.sh
Asadageradaseraseguinte:
Digiteasuasenha:
Se a senha digitada for igual a 12345, aparecer a mensagem Senha correta!, Caso contrrio
mensagemapresentadaserSenhaincorreta!
SejaumProfissionalAprendendocomProfissionais105
LinuxSystemAdministration
Comandoexit
Casofossenecessrioparaosistemasairemqualquerpontodoscriptporfaltadealguma
informaoouinformaoerradapodeserutilizadoocomandoexit0.Assimquandooscriptoler
sairautomaticamentedocdigo.
Oscriptscript4.shpoderiaserreescritoassim:
#!/bin/bash
#Fazaleituradasenhadousurio
echoDigiteasuasenha:
readsresposta
senha="12345"
if[$resposta=$senha];then
echoSenhacorreta!
else
echoSenhaIncorreta!
exit0
fi
Naestruturaacimacasoousurioinformeasenhaerradaoscriptinvocaroexitqueserve
parasairdocdigoeretornaroresultadoparaasadadeerropadro(STDERR).Ainsersodoexit
nestalinhadecdigo,parecenoterserventia.Issoaconteceporqueocomandoestnofinaldo
cdigo.Nosprximosexemplos,autilizaodocomandoexitsermaisclara.
Operadoresdecomparao
Ascondiespodemsertratadasdeacordocomastabelas:
Entrevaloresinteiros
SejaumProfissionalAprendendocomProfissionais106
LinuxSystemAdministration
Significado
Condio
$aeq$b
$ale$b
$age$b
$alt$b
$agt$b
$ane$b
$a=$b(igual)
$a<=$b(menorouigual)
$a>=$b(maiorouigual)
$a<$b(menorque)
$a>$b(maiorque)
$a<>$b(diferente)
O uso dossinais<,>,<=,>=,=e!=podemserusadosparainteiros,desdequesejam
executadosentredoisparenteses(())oupelocomandolet.
Ocomandolet permiteousodecdigosparecidoscomalinguagemC,permitindovrias
coisas,comoporexemplointeraodeumavarivel(++ou):
letvar++
letvar
Entrestrings
Condio Verdadeirose
z$a
Noexistirmensagem
n$a
Omensagemexistir
$a=$b
Ocontedodeambasasvariveissoiguais
$a!=$b Ocontedodasvariveisforemdiferentes
Arquivos
Condio
earquivo
xarquivo
darquivo
larquivo
sarquivo
Verdadeirose
umarquivoregular
arquivoexecutvel
umdiretrio
forumlink
oarquivoexisteetemtamanhomaiorquezero
Valoresbooleanos
Condio
exprAaexprB
exprAoexpreB
!exprA
Verdadeirose
ambasasexpressessoverdadeiras(operadore)
umadasexpressesforverdadeira(operadorou)
aexpressoforfalsa
SejaumProfissionalAprendendocomProfissionais107
LinuxSystemAdministration
Abraoarquivoscript4.sheadicionenovaslinhasaeste,sendo:
#vi~/script4.sh
#!/bin/bash
#Fazaleituradasenhadousurio
echoDigiteasuasenha:
readsresposta
senha="12345"
if[$resposta=$senha];then
echoSenhacorreta!
else
echoSenhaIncorreta!
exit0
fi
echon"Informeocaminhododiretrioparabackup:
readdiretorio
if[d$diretorio];then
echoDiretrioencontrado.Aguarde...fazendoobackup!
else
echoDiretrionoencontrado!
exit0
if
tarcvfzbackup.tar.gz$diretorio/*
Condiocase
Permiteaseleodecomandosespecficosapartirdeumachavedeseleo,ouseja,ousurio
informa o que deseja fazer a partir de uma chave e os comando associados ao mesmo sero
executdos.Oseuusomaisfrequenteemmenusparaaindicaodeumitemeatomada de
comandosparaestaopo.
Sintaxe:
casechavein
SejaumProfissionalAprendendocomProfissionais108
LinuxSystemAdministration
teste1)comandos;;
teste2)comandos;;
*)comandos;;
esac
teste1eteste2soopesqueocontedodechavepodeter,mascasochavepossuiaoutrocontedo*
assumirestaopo,ouseja,*sserutilizadocasoocontedodechavenoencontreumaopo
existente. Quando for necessrio utilizar os mesmos comandos para chaves diferentes pode ser
utilizadoo|(pipe)paraseparalos.Umalinhadasopesficariaassim:
teste3|teste4|teste5)comandos;;
Serinseridoaocdigodoscript4.shummenuparaauxiliarousurio,sendo:
adicionarumdiretrio;
fazerumbackup;
descompactararquivo(tar.bz2);
Abraoarquivoscript4.shparaeditarseucdigo:
#vi~/script4.sh
SejaumProfissionalAprendendocomProfissionais109
LinuxSystemAdministration
#!/bin/bash
echoe\nMENU\n
echoe(1)Criadiretrio
echoe(2)CriaBackup
echoe(3)Descompactaarquivo.tar.bz2
echone\nDigiteaopoescolhida:
readn1op
case$opin
1)
echone\nInformaonomedodiretrio:
readnome_dir
if[d$nome_dir];
then
echoe\nEstediretriojaexiste...
else
mkdir$nome_dir
echoe\nDiretriocriadocomsucesso...
fi;;
2)
echone\nInformeodiretrioparabackup:
readdir_bkp
if[d$dir_bkp];
then
tarcvfj$dir_bkp.tar.bz2$dir_bkp
echoe\nBackupcriadocomsucesso!
else
echoe\nDiretdionoencontrado!
fi;;
3)
echone\nInformeoarquivo.tar.bz2:
readarq_tar.bz2
if[d$arq_tar.bz2];
then
tarxvfj$arq_tar.bz2
echoe\nArquivodescompactadoem`pwd`
else
echoe\nArquivonoencontrado!
fi;;
SejaumProfissionalAprendendocomProfissionais110
LinuxSystemAdministration
GerenciamentodeArquivosdeLOG
OquesaoLogs?
Logssoregistrosdeeventosquetmcomoobjetivofornecerinformaodocomportamento
dosistema.Oseventosregistradospodemsernormais,como:logindeusurio,acessoumapgina
Internet,execuodeumcomando,etc.Tambmpodemserdeeventosanormais,como:faltade
espaoemdisco,travamentodeumaplicativo,invasodosistema,etc.Assim,atravsdaanlisedos
logs,otcnicopodeorientarsuasaesparacorrigiroumelhoraraconfiguraodosistema.
Formatosdearquivosdelogs
Odiretriopadrodoslogs/var/log/egeralmenteutilizadoisformatosdearquivos:
textoporexemplo,/var/log/messagesou/var/log/syslogquesovisualizadoscomcomandoscomo
tail.
#tailf/var/log/messages
f:ficalendooarquivorepetidamente,ouseja,qdooarquivomodificadoatela
atualizada.
binrioporexemplo,/var/log/wtmp.quevisualizadocomocomandoespecficolast
#lastf/var/log/wtmp
GerandoLOGs
Ageraodelogspodeserfeitaporqualquerdaemonouprogramainstaladonosistema.Os
daemonsmaiscomunsparaageraodelogssoosyslogdeoklogd.
SejaumProfissionalAprendendocomProfissionais111
LinuxSystemAdministration
ODaemonSyslogd
Osyslogdresponsvelpelasmensagensdelogdosistema.Umadasprincipaisvantagensde
possuirdaemondelogsacentralizaodasinformaesgeradas,evitandoassimaleituradedezenas
oucentenasdearquivos.
ODaemonKlogd
Oklogdmonitoraasmensagensdelogdokernel.Elerealizaomonitoramentoeenviaas
informaesporpadroparaosyslogd.
Oklogdregistraasmensagensdentrodoarquivo/proc/kmsg.
Osprincipaisdiretriosearquivosdelog
Nastabelasaseguirseroapresentadososprincipaisarquivosediretriosdelogcomumabreve
apresentaosobreosmesmos:
Diretrios
Diretrio
/var/log/
/proc/
Descrio
Armazenaamaioriadoslogsgeradosnosistema.
Armazenaalgunsarquivosdeloggeradospelokernel.
Arquivosdo/var/log
Arquivo
messages
dmesg
secure
boot.log
kdm.log
lastlog
Descrio
Armazenaasprincipaismensagensdokernel.
Armazenaamensagemdeinicializaodosdispositivosdosistema
Armazenamensagemanveldousurio,login,alterao,tiposdeacessos.
Armazenamensagensdeinicializaodeferramentasdosistema.
Armazenamensagensdeaberturadoambientegrfico
Armazenainformaesdeacessodousurio.Arquivobinrio.
Arquivosdo/proc
SejaumProfissionalAprendendocomProfissionais112
LinuxSystemAdministration
Arquivos
Cpuinfo
Kmsg
Modules
Descrio
Armazenainformaesdoprocessamento
Armazenainformaesgeradaspelokerneldosistema
Armazenainformaesdosmduloscarregadospelosistema.
SejaumProfissionalAprendendocomProfissionais113
LinuxSystemAdministration
Controledecotasdedisco
importantequeoadministradordeumaredelinux,tenhacontroledoespaoqueutilizado
noservidorparagarantirumamelhorperformanceeconsistnciadomesmo.Acriaodequotasde
discoespecificaotamanhoquecadausurioougrupopoderutilizar,garantindoassimqueum
usurionoocupetodooespaodoservidorcomarquivospessoais(mp3,filmes,jogos,etc).
Ocontroledeespaopodeserespecificadotantoparacadausuriocomoparagrupo.Seo
limiteultrapassadoousurioperdeaatribuiodecriaodenovosrecursos(nestecaso,arquivose
diretrios)dentrodosistema,ouseja,nadaqueocupeespao.
ExistemduasformasdecontroledoarmazenamentodedadosnoLinux:
Controledeespaoemdisco;e/ou
Quantidadesdearquivos(oudiretrios)criados.
Aprimeiraformadecontrole,importanteparaamanutenododisco,poisorecursode
armazenamentopossuiumdeterminadoespaofsico,nopermitindoassimagravaodenenhum
bitamaisdacapacidade.
Asegunda,auxilianocontroledaquantidadedearquivospresentesnosistema,emborano
pareasertil,serveparaforarousuriomanterseusarquivossempreatualizados,eosqueno
foremmaisutilizadossejamdeletados.
Verificandosuporteacota
Parautilizarmosorecursodecotasdedisco,okerneldoS.O.aserutilizadodeverteraopopara
quotadediscohabilitada.Paraisso,digite:
#less/lib/modules/{verso_kernel}/build/configs/{verso_kernel}i386.config
SejaumProfissionalAprendendocomProfissionais114
LinuxSystemAdministration
Digite:unamerparasaberaversodokernel.
VerifiquesealinhaCONFIG_QUOTAestdescomentadaemarcadacomaopo'y'.
Exemplo:
CONFIG_QUOTA=y
Seestalinhaestivercomentada(#)e/ouestivermarcadacomaopo'n'.Okernelnoestdando
suporteaquotasdedisco,sendonecessrioarecompilaodeste.
Verificandoainstalaodaferramentaparaquotadedisco
Habilitandoquotaemumapartio
Asquotassoaplicadassobreasparties,devendoestasestaremhabilidadasparausurioougrupos,
nasseguintesentradas:
usrquota:quotaparausurios;
grpquota:quotaparagrupos;
Configurandoquotadedisco
Abriroarquivo/etc/fstabemarcaraspartiesquereceberoquotacomoseutipo(usurioe/ou
grupos).Comonoexemplo:
<dispositivo><pto_montagem><tipo><opo><outras>
SejaumProfissionalAprendendocomProfissionais115
LinuxSystemAdministration
/dev/hda2/bootext3defaults
00
/de/hda7/ext3defaults,usrquota,grpquota00
Nesteexemplomarcadoodispositivo/dev/hda7,raizdosistema,comooreceptordequotadedisco
tantoparausuriosquantoparagrupos.
Criardoisarquivosdentrododispositivomarcadoparautilizaodequota(/dev/hda7).Nestecasoa
raizdosistema.Osarquivosdeveroterosnomesquota.userequota.groupparausuriosegrupos
respectivamente.
#cd/
#touchquota.userquota.group
recomandado mudar as permisses destes arquivos, afim de no serem alterados por outros
usurios.
#chmod600quota.*
#lslquota.*
rw1rootroot0Jul1514:14quota.group
rw1rootroot0Jul1514:14quota.user
Agoradevemosrefazeraleituradosistemadearquivoqueirreceberaquotadedisco,ouseja,
remontarodispositivo/dev/hda7,/,comasnovasalteraesqueforamfeitasnoarquivo/etc/fstab.
Paraissodigite:
#mountoremount/
Digitemountparavisualizarasnovasalteraes:
#mount
/dev/hda7on/typeext3(rw,usrquota,grpquota)
noneon/proctypeproc(rw)
noneon/systypesysfs(rw)
SejaumProfissionalAprendendocomProfissionais116
LinuxSystemAdministration
Executeocomando quotacheck napartioselecionada,/,gerandoassimaleituradomesmoe
marcandodentrodosarquivosquota.userequota.group.
#quotacheckaugvm
Onde:
a:checatodosossistemasdearquivosregistradosno/etc/fstabcomodispositivodequota;
u:checaosarquivosediretriosdosusurios;
g:checaosarquivosediretriosdosgrupos;
v:apresentaoandamentodaverificao;
m:foraachecagem.
Depoisdeterminaravarreduradodispositivo,iremosativarasquotasdedisco.Paraissoexecute:
#quotaonaugv
/dev/hda6[/]:groupquotasturnedon
/dev/hda6[/]:userquotasturnedon
Apsessespassososistemaestarcomasquotasativas,masissoaindanoimplicaem
limitesdeutilizaoparaosusurios,sendonecessriorealizarestasconfiguraesmanualmente,
conformeprximaseo.
Paradesativarasquotasdediscobastausarocomandoquotaoffcomasmesmasopesutilizadas
paraativlas:
#quotaoffaugv
/dev/hda6[/]:groupquotasturnedoff
/dev/hda6[/]:userquotasturnedoff
SejaumProfissionalAprendendocomProfissionais117
LinuxSystemAdministration
Gerenciandoquotas
Parahabilitarocontroledecotadediscooadministradordarededevedefinir,antesdemais
nada,otamanhoqueserdisponibilizadoparacadausurio.Aregrageralquetodososusurios
tenhamumaquotadefinida,demaneiraqueasomadoslimitesdeespaodetodososusuriosno
ultrapasseoespaodisponveldapartioqueestcomosistemadequotasativado.
Definindoquotaparausurios
Umavezativadoasquotassernecessrioogerenciamentodelas,definindootamanhode
quotaparacadausurio,tantoparaoespaoemdiscoquantoparaaquantidadedearquivos.
Porsegurana,asquotasspodemsereditadaspeloroot,comoseguintecomando:
#edquota[opo][usurio/grupo]
opo:
g:definequotaparaumdeterminadogrupo;
u:definequotaparaumdeterminadousurio.
#edquotaupedrohenrique
Exemplodocontedodestearquivo:
Diskquotasforuserpedrohenrique(uid505):
Filesystemblockssofthardinodessofthard
/dev/hda644001200
Oseucontedoapresentaasseguintescolunas:
SejaumProfissionalAprendendocomProfissionais118
LinuxSystemAdministration
Filesystems:especificaapartioquepossvelativarquotas.
Blocks:especificaasomaemkilobytesdetodososarquivosdousurionapartioemquesto(neste
caso,ousuriorafaelpossuiatualmente44KBdedadosem/dev/hda6).
Soft:olimitelgicodousurio,ouseja,apartirdomomentoqueousurioultrapassaesselimite,
eleseralertadopelaferramentaquotaparaquediminuaaquantidadededados(porumperodo
GracePeriodexplicadomaisabaixo)pormaindaconseguirgravardadosnodisco,atolimite
hard.
Hard:olimitefsico,olimitepeloqualousurionoconseguepassar.
Inodes: a quantidade atual de arquivos do usurio (o usurio rafael possui 12 arquivos em
/dev/hda6).
NOTA:Seosvaloresparaacolunasoftehardestiveremcomovalorigualazero,0,issoindicaquenoesto
definidosotamanhomximoparautilizaodousurioequeestepodegravaroquequiserdotantoque
quiser.
Editeoarquivo.Exemplo:
#edquotaupedrohenrique
Diskquotasforuserpedrohenrique(uid505):
Filesystemblockssofthardinodessofthard
/dev/hda644204830721200
Agoraousuriorafaelpossuiasseguintesconfiguraesdequota:
Emdisco:
SejaumProfissionalAprendendocomProfissionais119
LinuxSystemAdministration
Limitelgico:2.048Kb=2Mb
Limitefsico:3.072Kb=3Mb
NmerodeArquivos:
Ilimitado.Atatingirsuaquotamxima,claro!
Definindoquotaparaoutrosusurios
Paradefinirquotasdediscoparaoutrosusurios,nonecessariamente,deveserexecutadoo
comandoedquotau<user>paracadausuriocadastradonosistema,atporque,issolevaumtempo
considervel,casoonmerodeusuriossejagrande.
Umamaneirafcilerpidaparadefinirquotasparaosoutrosusuriosexecutandooseguinte
comando: edquotap<usuario_model> <lista_de_usurios>. Paraissodeveexistirumusurio
comasquotasdefinidasparaservirdemodelo.Ouseja,todososoutrosusuriosteroasmesmas
configuraesdequotaqueestsendousadapelousurio_modelo.
#edquotappedrohenriqueleandrorubiaangelajosemaria...
p:indicaquealista_de_usuriosdevepossuirasmesmasconfiguraesqueousurio_modelo
Apsaexecuodocomandoacimaexecute:
#edquotauleandro
#edquotaurubia
#edquotauangela
#edquotaujose
#edquotaumaria
Observequeasmesmasconfiguraesdequotasdefinidasparaousuriorafael,agoraesto
SejaumProfissionalAprendendocomProfissionais120
LinuxSystemAdministration
definidasparaosoutrosusuriosindicadosacima.
Outraopoimportanteparaocomandoedquota
#edquotat
Com aexecuodessecomandocomopot,umarquivotextoaberto.Essepermite
definirograceperiod,ouseja,operododetempomximoqueousurioirreceberamensagem
indicandoqueeleultrapassouolimitelgico(soft).Executeocomando:
#edquotat
Exemplodoarquivo:
Graceperiodbeforeenforcingsoftlimitsforusers:
Timeunitsmaybe:days,hours,minutes,orseconds
FilesystemBlockgraceperiodInodegraceperiod
/dev/hda67days7days
Onde:
Filesystem:indicaapartioondeexistequotadedisco;
Blockgraceperiod:indicaotempodeultrapassagemdolimitelgicodedisco;
Inodegraceperiod:indicaotempodeultrapassagemdolimitelgicodearquivos.
As unidades do arquivo podem ser: days (dias), hours (horas), minutes (minutos) ou seconds
(segundos).
Noexemploacimaambasopesestoconfiguradaspara7dias.Ouseja,ousurioirser
avisadonoperodode7diaseseelenotomarprovidnciasnofinaldestes,elenopodergravar
SejaumProfissionalAprendendocomProfissionais121
LinuxSystemAdministration
maisnenhumarquivo,mesmoqueolimitefsico(hard)aindanoestiverseesgotado.
Seissoacontecerousurioterqueeliminaralgunsarquivosatficarcomoespaomenor
queoespaolgico,definidopelacolunasoft.
Definindoquotasparagrupo
Aquotadegrupotilquandosetrabalhaemdeterminadossetoresdentrodaempresaepor
suavezdentrodosistema.Porexemplo,emumaempresaquepossuiumgrupochamadofinanceiroe
umoutrogrupochamadoprogramao,ambososgruposdevemterdireitosdegravaodentrodo
sistema, mas interessante repassar uma quota para ambos os grupos, pois seno cada usurio
presentedentrodosgruposiraproveitaraquotadegrupoparaarmazenarseusarquivospessoais,
paranoocuparseuespaonodisco.
Paraeditarquotasdegrupos,bastaexecutar:
#edquotag<grupo>
#edquotagcpd
As configuraes de quotas para grupos so feitas da mesma forma que so definidas para os
usurios.
Suponhamosqueaconfiguraodoarquivosejaaseguinte:
Diskquotasforgroupcpd(gid505):
Filesystemblockssofthardinodessofthard
/dev/hda6500019000200003000
Noexemploosgrupopossui5.000kbemdisco,seulimitelgico(soft)19.000kbeseulimite
fsico(hard)20.000kb.
SejaumProfissionalAprendendocomProfissionais122
LinuxSystemAdministration
Opontomaisimportantedesefrizarqueaquotadegrupoumlimitedeutilizaopara
todososusuriosdogrupo.Ouseja,vamossuporoseguintecaso:
cpd:x:507:pedrohenrique,fulano,beltrano,ciclano
Utilizando o exemplo acima, os usurios do grupo cpd (pedrohenrique, fulano, beltrano,
ciclano)podemutilizarjuntosnomximo20.000kb.Ouseja,seousuriopedrohenriqueutilizar
19500kbosoutrosusurios(fulano,beltrano,ciclano)poderousarnomximo500kb.
AconfuraoGracePeriodvlidatantoparausuriosquantoparagrupos.
SejaumProfissionalAprendendocomProfissionais123
LinuxSystemAdministration
AgendadordeTarefas
Aadministraodeumservidorexigeexecutartarefasperidicas,como:realizarbackupno
finaldoturnodetrabalho,checagemeatualizaodebancodedados,leituradeinformaeseme
mail,entreoutrastarefas.Nestesentido,foicriada#ls/var/log/packages/umaferramentade
agendamentodetarefasdenominadocron.
O agendador cron, que o agendador padro do UNIX, vem no pacote crontabs. A
configuraopodeserfeitaporvriasferramentasearquivosdevriasautorias,nestematerialser
abordadaaferramentadeautoriadePaulVixie,queamaispopularentreosadministradoresde
sistemas,onomedestepacotevixiecron.
ConsultanaBasedeDadospackages.
#ls/var/log/packages/
CRON
Essa ferramenta possui como daemon o servio crond, responsvel pela verificao dos
arquivosdeconfiguraodoagendador.Eleverificaacadaminutosehouvemudananadatadeseu
diretriodeservios(ounadatadoarquivoem/etc/crontab).Setiverocorridomudana,ocronir
examinaradatadetodososarquivoscrontaberecarregaraquelesqueforamalterados.Porissoo
serviocrondnoprecisaserreativadoquandohouveralteraoemqualquerumdeseusarquivosde
configurao.
Pode seusaraconsultaaosprocessosparasaberseoserviocrondestrodando,como
apresentadoabaixo:
#psax|grepcrond
crond(pid8478)estrodando...
NOTA:paranoterqueinicializarocrondtodavezquefornecessrioreiniciarosistema,utilizeaferramentantsysv.
SejaumProfissionalAprendendocomProfissionais124
LinuxSystemAdministration
Importante:Ocronassumequeosistemaestsempreligadoeoserviocrondrodando.Seamquina
ouoservionoestiverativonomomentoemquedeterminadatarefaestagendada,essatarefaento
noserexecutada.
Oscomandosseroexecutadosdesdequeoscamposminuto,horaemscorresponderemhoraatual,
equandopelomenosumdoscamposdedia(diaoudia_da_semana)corresponderemaodiaatual.
Arquivosdeconfigurao
Oarquivodeconfiguraodoagendadorcrono/etc/crontab,abaixoexisteumarquivoexemplo:
#vi/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
#runparts
01****roo
01****rootrunparts/etc/cron.hourly
024***rootrunparts/etc/cron.daily
224**0rootrunparts/etc/cron.weekly
4241**rootrunparts/etc/cron.monthly
Asprimeirasquatrolinhassovariveisusadasparaconfiguraroambientenoqualastarefasdocron
estorodando.Divididasnaseguinteestrutura:
SHELLdesignaaosistemaqualinterpretadordecomandosusar.
PATHdefineocaminhousadoparaexecutarocomando.
MAILTOindicaoemaildoresponsvelqueirreceberarespostadeexecuoparatodososcrons
que foremrealizados;(esteemailutilizadoparaenviarnotificaesdeagendamentosqueno
forambemsucedidos.Seoprogramafoiexecutadoperfeitamente,noenviadanotificao).
SejaumProfissionalAprendendocomProfissionais125
LinuxSystemAdministration
HOMEusadocomoodiretriopadroquandoseexecutacomandosouscripts.
NOTA:SeocampodavarivelMAILTOestiverdefinidocomoumastringvazia(MAILTO=""),oemailnoserenviado.
Cadalinhadoarquivo/etc/crontabrepresentaatarefaetemoformato:
<minuto><hora><dia><ms><dia_da_semana><comando>
Oscampossodescritosdaseguintemaneira:
Campo
minuto
hora
dia
ms
diadasemana
ValoresValidos
Qualquerinteirode0a59
Qualquerinteirode0a23
Qualquerinteirode1a31
Qualquerinteirode1a12
Qualquerinteirode0a7
Seumcampotiverindicadocomasterisco(*),significaqueaceitartodaafaixadevaloresvlidos.
Podese usar intervalos de nmeros. O intervalo um par de nmeros separado por hfen. Por
exemplo,nointervalo1519emumaentradahorasespecificaexecuoas15,16,17,18e19
horas.
Listassovlidastambm.Listassonmerosseparadosporvrgulas.Exemplo:15,8,12.Ousena,
1,2,3,4,5,8,12.
Tambmexisteapossibilidadedeseusarfraesdetempo,porexemplode10em10minutos,o
formatodafrao*/tempo,assimparaocasoapresentadoseria*/10nocampodeminutos.
Nomes(emingls)tambmpodemserusadosnoscamposmsedia_da_semana.Deveseusar
astrsprimeirasletrasdodiaoums.(Segunda=mon=1)
Osextocampo(orestantedalinha)determinaocomandoaserexecutado.Deveseutilizar
todoocaminhoatocomando.Parasaberondeestocomandoaferramentawhereispodeauxiliar.
AsdistribuiesbaseadasnaRedHatutilizamoarquivo/etc/crontabparaorganizardiretrios
detarefas,comoemdias,horas,semanasemeses.Oarquivo/etc/crontabpodeutilizaroscriptrun
parts para executar os scripts nos diretrios /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, e
/etc/cron.monthly.Osarquivosnessesdiretriosdevemestarescritosemshellscript.Paraadicionar
SejaumProfissionalAprendendocomProfissionais126
LinuxSystemAdministration
uma tarefa, simplesmente coloqueumatarefa (sendoumarquivo executvel)dentro do diretrio
especfico.Atarefaserexecutadadeacordocomodiretrioselecionado:
/etc/cron.hourlydehoraemhora
/etc/cron.dailytodososdias
/etc/cron.weeklyumavezporsemana
/etc/cron.monthlyumavezporms
Crontab
Crontab uma ferramenta que auxilia no manuseio do agendador por parte dos usurio
comuns,poisosmesmosnopossuemacessoaosdiretriosdeagendamentodocron.
Oscrontabsdetodososusuriossoarmazenadosnodiretrio/var/spool/cron,ecadaarquivo
possuionomedousurioqueocriou,ouseja,/var/spool/cron/nome_do_usurio.Paracriarum
crontabcomoumusurionormal,bastautilizaraferramentacrontabcomaopoeeeditaro
crontabdousurio.
#crontabe
SejaumProfissionalAprendendocomProfissionais127
LinuxSystemAdministration
#crontabe
Ocomandoacimairabrirumarquivocomoeditorpadrodousurio.Acrescentarlinhaaser
executada:
018***/bin/cprf/var/log/*/root/logs
<minuto><hora><dia><ms><dia_da_semana><comando>
Acimafoipassadoparaques18horasdetodososdiaselefaaumacpiadodiretrio
/var/log.Autilidadedesefazeracpiadestediretrioporquedentrodeleficamarmazenadas
informaesdosistemaeacessosaomesmo,almdeoutrasinformaes.
Fazeracpiaajuda,pormnointeressanteapenasfazeracpia,poisumdiaqueseesquea
derealizala,todasasinformaesdodiaanteriorseroperdidas.Assimaconselhvelcriarum
scriptshellparafazeracpia,empacotarecompactarosarquivos.Portantodeversercriadoum
arquivocomonomedescript.shdentrododiretriodoroot,almdeumdiretriochamadologs.O
cdigodoscriptpodeser:
#vi/root/script.sh
#!/bin/bash
cd/var/log
tarcvfzbackup`date+%m%d`.tar.gz*
mvbackup*/root/logs
Oscriptacimairexecutarosseguintescomandos:
entrarnodiretrio/var/log(apsafinalizaodoscripteleretornarparaodiretrioantesdasua
chamada).
moverobackupgeradoparadentrododiretrio/root/logs.
SejaumProfissionalAprendendocomProfissionais128
LinuxSystemAdministration
Controlandooacessocron
Osarquivos/etc/cron.allowe/etc/cron.denysousadospararestringiroacessoaocron.O
/etc/cron.allowcontmalistadeusuriospermitidosausarocron.Jo/etc/cron.denycontmalista
deusuriosnegadosaousodocron.Oformatopararestringircolocarumnomedeusuriopor
linha.Essesarquivosdecontroledeacessosolidostodasasvezesqueumusuriotentaadicionarou
removertarefasnocron.
Normalmenteestearquivonoexiste,podendosergeradonomomentodesuachamadacomo
editordesuapreferncia.Exemplodocontedodecadaumdestesarquivos:
cron.allow
#vi/etc/cron.allow
pedrohenrique
leandro
cron.deny
#vi/etc/cron.deny
rubia
angela
Deacordocomosexemploacimaosusuriosrafaelefulanopoderoutilizaroagendador,
pormosusuriosciclanoebeltranonopoderofazeromesmopoisoseunomeseencontradentro
doarquivodenegao.Casoousuriociclanotenteusarocomandocrontabeparaagendaralgo
receberaseguinteresposta:
$crontabe
You(ciclano)arenotallowedtousethisprogram(crontab)Seecrontab(1)formoreinformation
Arespostafoiaseguinte:Voc(ciclano)nopossuipermissoparausaresteprograma(crontab)
Vejacrontab(1)paramaioresinformaes
NOTA:casonoforutilizaraspermissesparaaexecuodoagendadorambososarquivosnodeveroexistirnosistema,poiseles
poderonegartodososusurios,inclusiveoroot,deutilizaroagendadorcrontab.
SejaumProfissionalAprendendocomProfissionais129
LinuxSystemAdministration
Anacron(ParaRedHat)
Oanacronumexecutordetarefasagendadasqueporalgummotivonoforamexecutadas.
Quando o computador necessita ser desligado e j existe alguma tarefa agendada justamente no
horrioqueelaestdesligado,aoinicializarosistemaoanacronverificaatabelado/etc/anacrontab,e
casoalgumanotenhasidoexecutadaeleofarimediatamente.
Oseuusorecomendadoquandoosistemapodenoestarexecutandonomomentodetarefas
agendadas,masseosistemapermaneceligado24horaspordiae7diasnasemanamelhorutilizaro
cron.
Sintaxe:
anacron[opes][jobs]
opes:
fforaautilizaodoanacron,ignorandoohorriodeexecuo
uapenasatualizaadatadeexecuoparaadatacorrente,pormsemrealizarnada
nexecutaocomandoimediatamenteapsasuachamada
dnolanaoanacronparaexecutarembackgroud,retornatambmaverso,ohorriode
ativaoeaquantidadedejobsparaseremexecutados
hchamaohelpdocomando.Exemplo:agendarumatarefacomocronparaserexecutados
2:00damanhtodososdias.
Chamaroagendadordocron:
#crontabe
Acrescentaratarefaparaoanacron,nestecasoserumacpiadoarquivo/var/log/messages
paradentrododiretriodoroot:
02***/bin/cpRf/var/log/messages/root/anacron_log
SejaumProfissionalAprendendocomProfissionais130
LinuxSystemAdministration
Apsoagendamentobastainicializaroanacroneesperarpelaativaodosistemadepoisdo
horriomarcado:
#anacron
Paraverificarserealizouatarefa,soliciteoanacroncomaopodapsaativaodo
sistema, lembrando que o computador dever estar desativado no momento de executar o cron
agendado:
#anacrond
Anacron2.3startedon20030623
Normalexit(1jobsrun)
Aprimeiralinha,foiagendadaumatarefaparaexecutar,as18:25horasnodia31doms7,sabado6,
ocomandobashscript.sh.
Asegunda,agendaumatarefaparaexecutars23:00horasemtodosdias,msediadasemanao
comandobashbkprede.sh.
Executecomandoparaverificarastarefaspessoaisqueforamagendadas
#crontabl
#DONOTEDITTHISFILEeditthemasterandreinstall.
#(/tmp/crontab.2704installedonFriJul3017:02:452004)
#(Cronversion$Id:crontab.c,v2.131994/01/1703:20:37vixieExp$)
25183176bashscript.sh
023***bashbkprede.sh
SejaumProfissionalAprendendocomProfissionais131
LinuxSystemAdministration
ConfiguraodosDispositivosdeHardware
Paraefetuarconfiguraesdehardwarenecessrioeimportantefazerumapesquisasobreotipode
cadaumdeleseverificarasferramentasqueauxiliamnasuaconfigurao.Cadadistribuiolinux
possuisuasferramentasespecficas.
NestematerialseroabordadosconfiguraesdehardwareparadistribuioSlackware10.2.
Ferramentas:
Alemdessas,existeaferramentaPKGTOOL,paraauxiliaraconfiguraodealgunsdispositivosem
modotexto.Paravisualizlaexecuteocomando:
ConfigurandoimpressoracomCUPS
1)Passo:Habilitarservidordeimpressao
#/etc/rc.d/rc.cupsstop
#/etc/rc.d/rc.cupsstart
2)Passo:LogarnoservidorCUPSatravsdobrowser
SejaumProfissionalAprendendocomProfissionais132
LinuxSystemAdministration
Existemvrios comandosafinsdegerenciarafiladeimpresso,algunsdelesserocomentados
abaixo:
#lpqa
Rank
Owner
JobFile(s)TotalSize
active root6testpage.asc1024bytes
1stroot7testpagea4.ps18432bytes
Estecomandousadoparamostrarafiladeimpressodetodasasimpressorasqueestoematividade
namquinalocal.
#lpstat
hp8406root1024Ter03Ago200419:32:11BRT
hp8407root18432Ter03Ago200419:32:21BRT
Estecomandomostracommenosdetalhesafiladeimpresso.
#lpqa listaafiladeimpresso
Rank
Owner
JobFile(s)TotalSize
active
root6testpage.asc1024bytes
1stroot7testpagea4.ps18432bytes
#lprm7 removedafilaaimpressodejob7
#lpqa mostraanovafiladeimpresso
Rank
OwnerJob
File(s)TotalSize
active
root6 testpage.asc1024bytes
Este comando, lprm <job>, remove um arquivo identificado por <job> da fila de impresso.
interessantevisualizarmosoidentificador(job)doarquivopararemovlo.Entretantoaexecuo
dessecomandosemojob,lprm,farcomqueoprximodafilasejaremovido.
#lpr/etc/passwd
SejaumProfissionalAprendendocomProfissionais133
LinuxSystemAdministration
Ocomandoacimaenviaumjob(arquivoparaimpresso)parafiladeimpresso.Verifiquecomo
comandolpqa.
#lpqa
Rank
Owner
JobFile(s) TotalSize
active
root
6testpage.asc 1024bytes
possvel remover vrios arquivos da fila de impresso. Para isso usamos o comando lprm
identificandotodososjobsquedevemserremovidosdafila.Observeoscomandos:
#lprm68
#lpqa
noentries
Oprimeiro comandoremoveosarquivodejob6e8respectivamente;osegundolistaafila de
impressocomnenhumjobematividade.
SejaumProfissionalAprendendocomProfissionais134
LinuxSystemAdministration
ConfiguraoBsicadoServidorNFS
LadoServidor
1passo:Verificarsealgunspacotesestoinstaladosnosistema:portmapenfs.
#ls/var/log/packages|grepportmap
portmap5.0
#ls/var/log/packages|grepnfs
nfsutils
2passo:Verifiqueseodaemonportmapestrodando.Paraissoexecute:
#psax|grepportmap
portmap(pid1515)estrodando...
Casoestejaparado,inicieo.
#/etc/rc.d/portmapstart
3passo:Editaroarquivo/etc/exportsdeformaaidentificarosdiretrios/arquivosquedeveroser
compartilhadospublicamenteouno.Eleconfiguradoidentificandoduascolunas,aprimeiradeve
possuir o caminhoabsolutododiretrio/arquivoquesercompartilhado;asegundadevepossuir
informaessobreasmquinasquepoderoutilizarestecompartilhamento(IP/MASCARA)esuas
devidaspermisses.
SejaumProfissionalAprendendocomProfissionais135
LinuxSystemAdministration
#vi/etc/exports
Exemplodecontedodestearquivo:
/publico10.62.0.0/255.255.0.0(rw,no_root_squash)
4passo:reiniciarodaemondonfs
#/etc/rc.d/nfsstop
5passo:Verifiqueoscompartilhamentosexistentes
#exportfsv
/publico10.62.0.0/255.255.0.0(rw,wdelay,no_root_squash)
LadoCliente
1passo:EfetuaramontagemdocompartilhamentoindicandooIPdoServidor.Porexemplo;
#mounttnfs10.62.0.104:/publico/opt
Sintaxedocomandoacima:
SejaumProfissionalAprendendocomProfissionais136
LinuxSystemAdministration
#mounttnfsIP_Server:Caminho_do_copartilhamentoponto_de_montagem
2passo:Digiteocomandomountparaverificartodosdispositivosmontadosatualmente.
#mount
/dev/hda5on/typeext3(rw,usrquota,grpquota)
/dev/hda2on/boottypeext3(rw)
nfsdon/proc/fs/nfsdtypenfsd(rw)
...
10.62.0.102:/publicoon/opttypenfs(rw,addr=10.62.0.102)
login:<entrecomlogin>
Password:<entrecomasenha>
$ umShelldisponibilizado.
NOTA:devepreviamenteexistirumusuriocadastradonoservidorquesaibaloginesenhaparaacessaloviatelnet.
OBS.:Orootnologaviatelnetporpadro.Deveseeditaroarquivo/etc/securettyparaqueessaoposejahabilitada,
adicionandoconsolesvirtuaisdotipopts/x.
#vi/etc/securetty
Exemplodecontedodestearquivo:
console
vc/1
...
vc/11
tty1
...
tty11
SejaumProfissionalAprendendocomProfissionais137
LinuxSystemAdministration
pts/0
pts/1
pts/2
...
HabilitandooacessoremotoviaSSH(passoapasso)
LadoServidor
1passo:VerificarseopacotedoSSHestinstaladonosistema:
#ls/var/log/packages|grepopenssh
2passo:Verifiqueseodaemonsshdestrodando.
#servicesshdstatus
sshd(pid40311868)estrodando...
Casonoesteja,deveinicialo.
LadoCliente
1passo:VerificarseopacotedoSSHestinstaladonosistema:
#ls/var/log/packages|grepopenssh
2passo:Executarocomando:
#sshleandro@10.62.0.102
Theauthenticityofhost'10.62.0.102(10.62.0.102)'can'tbeestablished.
RSAkeyfingerprintisb7:72:0d:44:d3:14:89:fa:e5:83:41:32:6c:90:3a:bc.
SejaumProfissionalAprendendocomProfissionais138
LinuxSystemAdministration
Areyousureyouwanttocontinueconnecting(yes/no)?
3passo:Digiteyesparaefetivaraconexoelogodepoisasenhaparaousurioinformado.
Warning:Permanentlyadded'10.62.0.102'(RSA)tothelistofknownhosts.
rafael@10.62.0.102'spassword:
Seasenhainformadaestivercorretaumshellserexibido.
$
SejaumProfissionalAprendendocomProfissionais139
LinuxSystemAdministration
CompilaodoKernel
Porquerecompilarokernel?Aprimeiraintenootimizarokernelparaoseuhardwareafimde
melhoraraperformanceesuportartodososdispositivos.
Voctambmpodequereratualizarosistemaobtendosuporteanovosresursosedispositivosde
hardware.
OuvocpodequererselivrardeBUG's.
Oqueokernel?OkernelLinuxocentrodosistemaoperacional.Apartedosistemaresponsvel
pelogerenciamentodebaixonveldohardwareesoftware.
Quaissoosrequerimentosmnimosdehardware?Issovariamuitodeacordocomaarquiteturae
aversodokernel.Mastenhaemmenteoseguinteparaterumsistemamnimofuncional:
16MBdeRAM(memriafsica),100MHzdeclockdeprocessamentoe100MBdeespaoemdisco
(memriavirtual).
#Verificandooclockeaarquitetura
#cat/proc/cpuinfo
Mdulos
Mdulossoosdriversdisponiveisjuntoaokerneldosistemaoperacional.NosistemaLinux
podemosmanipularestesdriversdaseguinteforma:
Listarosmduloscarregadosemmemria
#lsmod
ModuleSize
UsedbyNottainted
cls_route 4344
cls_u32
4892
cls_fw 2584
(unused)
(unused)
SejaumProfissionalAprendendocomProfissionais140
LinuxSystemAdministration
sch_prio 2816
(unused)
sch_sfq 3360
(unused)
sch_tbf 2880
sch_cbq 12640
viarhine 12464
mii 2272
[8139tooviarhine]
crc32 2880
[8139tooviarhine]
pcmcia_core 39972
idescsi 9328
Descarregarosmduloscarregadosemmemria
#rmmod<nome_mdulo>
#rmmodviarhine
Carregarmdulosemmemria
#insmod<nome_mdulo>
#insmodvfat
#insmodfat
Carregarmdulosesuasdependncias
#modprobe<sintaxe>
#modprobevfat
Compilandookernel
1)Passo:BaixeopacotequecontmocdigofontemaisatualizadodokernelLinuxdasrie2.6em
http://www.kernel.org
Abrindoapginanonavegadorweb,cliquenolinkFparafazerodownloaddopacotequecontmos
fontes.
Voctambmpoderfazerodownloadcomocomandowgetcomonoexemploabaixo:
SejaumProfissionalAprendendocomProfissionais141
LinuxSystemAdministration
$wgethttp://www.kernel.org/pub/linux/kernel/v2.6/linux2.6.7.tar.bz2
2)Passo:InstalarokernelComosuperusurio(faaologinnosistemacomousurioroot),
descompacteedesempacoteoarquivoassim:
#tarxjvflinux2.6.7.tar.bz2C/usr/src
3)Passo:Crieolinksimblico/usr/src/linuxapontandopara/usr/src/linux2.6.7assim:
#lnsf/usr/src/linux2.6.7/usr/src/linux
4)Passo:DiretrioFonteEsteserodiretrioraizdecompilao,ouseja,odiretriobaseparaos
passosseguintes.
#cd/usr/src/linux
LinuxSystemAdministration
amaiscomum,faaumacpiadoarquivodefconfigparaodiretrioraizdecompilaocomonome
.configassim:
6)Passo:Copiararquivodeconfigurao
#cpf/usr/src/linux/arch/i386/defconfig/usr/src/linux/.config
Emalgunscasosdearquitetura,podeexistirumdiretrioconfigscontendoconfiguraesespecficas
etestadasparacadamodelodemquina.
Sendoassim,aoiniciaraferramentadeconfigurao,vocjteralgunsitensmarcados.Noser
necessrioiniciardozeroumaconfigurao.
7)Passo:Ferramentadeconfigurao
#makemenuconfig
ou
#makexconfig(modogrfico)
Percebaaexistnciadeumaconfiguraojprdefinida.Istosedeveaofatodevoctercopiadoo
arquivodefconfigparao
diretrioraizdecompilaocomonomede.config.
Algumasdicas:
1)Marquecom*itensqueseroincorporadosaoarquivodokernelcomoporexemplo,
sistemasdearquivosquevocutilizaou
vaiutilizaremsuasparties.
2)Marquecommitensqueserocriadoscomomdulo,ouseja,seroplugadosaokernel
apenasquandohouvernecessidadedeuso.
SejaumProfissionalAprendendocomProfissionais143
LinuxSystemAdministration
Esteumpassodemoradoedeveserfeitocomateno.Acompanheohelpdecada
itemparasaberoqueestincluindoouno.
8)Passo:Apsaconfiguraodokernel,vamoscompillorealmente.Paraisto,executeocomando:
#make
Estepassopodelevarminutosoudeumdiaparaooutro.Dependedopoderdamquinaondavoc
vaicompilar.
9)Passo:Apsacompilaodokernel,vamosinstalarosmduloscomoseguintecomando:
#makemodules_install
10)Passo:Agoravamoscopiarokernel(bzImage)paraodiretrio/boot.Oarquivoestnodiretrio
deacordocomaarquiteturaquevoc
estiverutilizando.SevoccompilouokernelemumPC,oquemaiscomum,entoocomandopara
copiaroseguinte:
#cp/usr/src/linux/arch/i386/boot/bzImage/boot/vmlinuz2.6.7i3861
Nomeieos arquivosdeacordocomaversodokernelqueestcompilandoedeacordocoma
arquiteturadehardware.
AgoravamoscopiaroarquivoSystem.mappara/boot:
#cp/usr/src/linux/System.map/boot/System.map2.6.7i3861
CriandoumlinksimblicoparaSystem.map:
SejaumProfissionalAprendendocomProfissionais144
LinuxSystemAdministration
#lnsf/boot/System.map2.6.7i3861/boot/System.map
Agoravamoscopiaro.configpara/boot:
#cp/usr/src/linux/.config/boot/config2.6.7i3861
11)Passo:Vamoscriarumarquivoinitrdassim:
#mkinitrdo/boot/initrd2.6.7i3861.img2.6.7i3861
Aopo(oarquivo)dizondesalvaroarquivoinitrdgerado.
Aprximaopodeparmetroaversodokernelquevoccompilou.
Na verdade, o initrd no necessrio caso voc tenha incorporado ao kernel todo a hardware
necessrioparasuainicializao
eorestantequenonecessrioparaainicializaocomomdulo.Ouseja,vocnodeveconfigurar
comomduloochipsetdasua
placame,suporteaIDEetodosossistemasdearquivosqueestiverutilizando,comoext3,jfs,xfse
reiserfs.
11)Passo:Vamosconfigurarogerenciadordeboot,GRUBouLILO,qualvocutiliza?
ConfiguraoGRUB(Istoapenasumexemplo):
#NotequevocnoprecisaregravaroGRUBnoMBRoupartioespecficaapsfeitasasalteraes.
boot=/dev/hda
default=0
timeout=10
titleDebianGNU/Linux(2.4.25i386c4)
root(hd0,1)
kernel/boot/vmlinuz2.4.25i386c4roroot=LABEL=/
SejaumProfissionalAprendendocomProfissionais145
LinuxSystemAdministration
initrd/boot/initrd2.4.25i386c4.img
titleDebianGNU/Linux(2.6.7i3861)
root(hd0,1)
kernel/boot/vmlinuz2.6.7i3861roroot=LABEL=/
initrd/boot/initrd2.6.7i3861.img
ConfiguraodoLILO(Istoapenasumexemplo):
#NotequevocprecisaregravaroLILOnoMBRoupartioespecficaapsfeitasasalteraes.
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
default=2.6.7
lba32
prompt
timeout=50
message=/boot/message
menuscheme=wb:bw:wb:bw
image=/boot/vmlinuz
label=2.4.25
root=/dev/hda3
append="hdc=idescsi"
readonly
image=/boot/bzImage2.6.0
label=2.6.7
root=/dev/hda3
readonly
ExecutelilopararegravaroLILOnoMBR.
#lilo
SejaumProfissionalAprendendocomProfissionais146