a compra deste conteúdo não prevê atendimento e ...tefmartins.com.br ›...

848

Upload: others

Post on 07-Jul-2020

2 views

Category:

Documents


1 download

TRANSCRIPT

  • Acompradesteconteúdonãoprevêatendimentoefornecimentodesuportetécnicooperacional,instalaçãoouconfiguraçãodosistemadeleitordeebooks.Emalgunscasos,edependendodaplataforma,osuportepoderáserobtidocomofabricantedoequipamentoe/oulojadecomérciodeebooks.

  • Linux®ABíblia

    Traduçãoda8aEdição

  • Linux®ABíblia

    Traduçãoda8aEdição

    ChristopherNegus

    comacolaboraçãodeChristineBresnahan

  • Comosempre,eudedicoestelivroaminhaesposa,Sheree.—ChrisNegus

    GostariadededicarestelivroaminhafamíliaeaoSenhorDeusTodoPoderoso.

    “Masesforçai-vosenãodesfaleçamasvossasmãos;porqueavossaobratemumarecompensa.”2Crônicas15:7

    —ChristineBresnaham

  • SobreosautoresChrisNeguspassouosúltimostrêsanoscomoinstrutorparaaRedHat,Inc.ensinandoosprofissionaisdeTIasetornaremRedHatCertifiedEngineers(RHCE).AscertificaçõesdeChrisincluemRHCE,RedHatCertifiedInstructor(RHCI)eRedHatCertifiedExaminer(RHCX).EletambémtemascertificaçõesRedHatEnterpriseVirtualization(RHCVA)eRedHatEnterpriseDeploymentandSystemsManagement.

    Antes de ingressar na RedHat, Chris escreveu e coescreveu dezenas de livros sobre Linux eUNIX,incluindoRedHatLinuxBible(todasasedições),CentOSBible,FedoraBible,LinuxTroubleshootingBible,Linux Toys eLinux Toys II. Recentemente, Chris foi coautor de vários livros para a série deferramentasLinuxparausuáriosavançados:FedoraLinuxToolbox,SUSELinuxToolbox,UbuntuLinuxToolbox,MacOSXToolboxeBSDUNIXToolbox.

    Poroitoanos,ChristrabalhoucomaorganizaçãodaAT&TquedesenvolveuoUNIX,antesdesemudarparaUtahafimdecontribuirparaoprojetoUnixWaredaNovell,noiníciodadécadade1990.QuandonãoestáescrevendosobreLinux,Chrisgostade jogarfutebolesimplesmentepassaro tempocomsuafamília.

    ChristineBresnahancomeçouatrabalharcomcomputadoreshámaisde25anosnaindústriadeTIcomouma administradora de sistemas. Christine é atualmente professora adjunta da Ivy Tech CommunityCollege, em Indianápolis, Indiana, ensinando administração de sistemas Linux, segurança do Linux esegurançadoWindows.

    SobreoeditortécnicoRichard Blum trabalha na indústria de TI há mais de 20 anos, como administrador de sistemas eadministrador de redes. Blum publicou vários livros sobre Linux e Open Source. Ele administrouservidoresUNIX,Linux,NovelleMicrosoft,assimcomoajudouaprojetaremanterumaredede3.500usuáriosutilizandoswitcheseroteadoresCisco.EleutilizaservidoresLinuxescriptsshellparaexecutarmonitoramento automatizado da rede e do sistema e escreve scripts shell na maioria dos ambientescomunsdeshellLinux.RichtambéméinstrutoronlinedeLinuxevárioscursosdeprogramaçãowebquesãoutilizadosporfaculdadeseuniversidadesemtodoomundo.Quandoelenãoestásendoumnerddecomputador, toca contrabaixo emduasbandasdiferentesda igreja egostadepassaro tempocomsuaesposa,Barbara,esuastrêsfilhas,Katie,JaneeJessica.

  • Linux–ABíblia,Traduçãoda8aEdiçãoCopyright©2014StarlinAltaEditoraeConsultoriaEireli.ISBN:978-85-7608-774-8

    TranslatedFromOriginalLinuxBible (8rdEdition) ISBN:978-1-11821-854-9.OriginalEnglish languageeditionCopyright©2012byPearsonEducation,Inc.Allrightsreservedincludingtherightofreproductioninwhole or in part in any form.This translation is published byCisco Press, Inc. Portuguese language editionCopyright © 2014 by Starlin Alta Editora e Consultoria Eireli. All rights reserved including the right ofreproductioninwholeorinpartinanyform.

    TodososdireitosreservadoseprotegidosporLei.Nenhumapartedeste livro,semautorizaçãopréviaporescritodaeditora,poderáserreproduzidaoutransmitida.

    Erratas:Nositedaeditora relatamos,comadevidacorreção,qualquererroencontradoemnossos livros(Procurepelonomedolivro).

    MarcasRegistradas:TodosostermosmencionadosereconhecidoscomoMarcaRegistradae/ouComercialsãoderesponsabilidadedeseusproprietários.AEditorainformanãoestarassociadaanenhumprodutoe/oufornecedorapresentadonolivro.

    ImpressonoBrasil,2014

    Vedada,nostermosdalei,areproduçãototalouparcialdestelivro.

    ProduçãoEditorialEditoraAltaBooks

    GerênciaEditorialAndersonVieira

    EditoriadeAtualizaçãoVanessaGomes

    SupervisãoGráficaAngelCabeza

    SupervisãodeQualidadeEditorialSergioLuizdeSouza

    SupervisãodeTextoJaciaraLima

    ConselhodeQualidadeEditorialAndersonVieiraAngelCabezaJaciaraLimaSergioLuizdeSouza

    DesignEditorialAulerianoMessias

  • MarcoAurélioSilva

    MarketingePromoçã[email protected]

    EquipeEditorialClaudiaBragaCristianeSantosDanielSiqueiraEvellynPachecoLiviaBrazilMilenaSouzaThiêAlves

    TraduçãoEdsonFurmankiewicz

    RevisãoGramaticalMilenaDiasdePaula

    RevisãoTécnicaAllanTrabucoTécnicoemProcessamentodeDados,amantedetecnologias,entusiastadosoftwarelivreecofundadordaKylverTechnologies.

    DiagramaçãoFuturaEditoração

    ProduçãodeePubTatianaMedeiros

    DadosinternacionaisdeCatalogaçãonaPublicação(CIP)

    N394bNegus,Christopher.Linux–aBíblia/ChristopherNegus:comacolaboraçãode

    ChristineBresnahan.–8.ed.–RiodeJaneiro,RJ:AltaBooks,2014.

    852p.:il.;24cm.

    Incluimaterialon-line.Mododeacesso:Incluiíndiceeapêndice.Traduçãode:LinuxBible.ISBN978-85-7608-774-8

    1.Linux(Sistemaoperacionaldecomputador).2.Linux(Sistemaoperacionaldecomputador)–Configurações.3.Linux(Sistemaoperacionaldecomputador)–Gerência.4.Cliente/servidor(Computadores).I.Bresnahan.Christine.II.Título.

    CDU004.451.9LINUX

    mailto:[email protected]

  • CDD005.432

    Índiceparacatálogosistemático:1.Sistemasoperacionaisespecíficos:Linux004.451.9LINUX

    (Bibliotecáriaresponsável:SabrinaLEalAraujo–CRB10/1507)

    RuaViúvaCláudio,291–BairroIndustrialdoJacaréCEP:20970-031–RiodeJaneiro–Tels.:213278-8069/8419Fax:213277-1253www.altabooks.com.br–e-mail:[email protected]/altabooks–www.twitter.com/alta_books

    http://www.altabooks.com.brmailto:[email protected]://www.facebook.com/altabookshttp://www.facebook.com/altabooks

  • DAgradecimentos

    esde que fui contratado pela Red Hat, Inc. há três anos, tenho tido contato com os melhoresdesenvolvedores,testadores,profissionaisdesuporteeinstrutoresdeLinuxdomundo.Nãopossoagradecer a todos individualmente, portanto, emvez disso, saúdo a cultura da cooperação e da

    excelência,queserveparaaprimorarminhasprópriashabilidadesemLinuxtodososdias.NãofalobemdaRedHatporquetrabalholá;trabalholáporqueaRedHatganhousuareputaçãocomoaprincipalforçanodesenvolvimentodoLinux.

    Dito isso, há algumas pessoas na Red Hat a quem eu gostaria de agradecer. Discussões com VictorCostea,AndrewBlum e outros instrutores daRedHat ajudaram-me a adaptarmeusmodos de pensarsobrecomoaspessoasaprendemLinux.EmmeunovopapelnaRedHatcomoescritorparaoportaldocliente, meu gerente Sam Folk-Williams me permitiu ampliar minhas habilidades em áreas comovirtualização,soluçãodeproblemaseajustededesempenho.

    Quando precisava de ajuda para terminar este livro no prazo, Christine Bresnahan foi uma excelenteadição à equipe. Christine escreveu um novomaterial com conteúdo atualizado para os capítulos desegurançadestelivro,trazendosuassólidashabilidadesemensinodeLinuxeredaçãoparaesteprojeto.

    Quanto às pessoas naWiley, sou particularmente grato pela paciência.Mary James e LindaHarrisongentilmente me guiaram ao longo de uma agenda exigente. Obrigado a Richard Blum por sua ediçãotécnicacompleta...dando-meumviésUbuntuaestelivromaiscentradonoRedHat.ObrigadoaMargotMaleyHutchisoneMaloneyMaureendaWatersideProductionspelacontrataçãodolivroparamimjuntoàWiley.

    Porfim,obrigadoàminhaesposa,Sheree,porcompartilharsuavidacomigoefazerumótimotrabalhonacriaçãodeSetheCaleb.

    —ChristoperNegus

    Muito obrigado à fantástica equipe da JohnWiley& Sons pelo seu excelente trabalho neste projeto.ObrigadoaMaryJames,aeditoradeaquisições,pormeofereceraoportunidadedetrabalharnestelivro.TambémsougratoaLindaHarrison, aeditoradedesenvolvimento,pormanterascoisasnos trilhosetornar este livromais apresentável.Obrigado aLinda por todo seu trabalho duro e sua dedicação.Oeditortécnico,RichBlum,fezumtrabalhomaravilhosodeduplocontroleemtodoolivro,alémdefazersugestõesparamelhoraroconteúdo.ObrigadoaNancyRapoport,aeditora,porsuainfinitapaciênciaediligênciaparatornarnossotrabalholegível.

    Também gostaria de agradecer a CaroleMcClendon daWaterside Productions, Inc. por me dar essaoportunidade e por me ajudar na minha carreira de escritora. Também gostaria de agradecer a meumarido,Timothy, por seu incentivo, paciência e disposiçãopara ouvir,mesmoquando ele não tinha amínimaideiadoqueeuestavafalando.

    —ChristineBresnahan

  • SumárioResumido

    Introdução

    ParteI:ComeçandoCapítulo1:ComeçandocomoLinuxCapítulo2:CriandoodesktopperfeitoemLinux

    ParteII:Tornando-seumusuárioavançadodoLinuxCapítulo3:UtilizandooshellCapítulo4:Movendo-sepelosistemadearquivosCapítulo5:TrabalhandocomarquivosdetextoCapítulo6:GerenciandoprocessosemexecuçãoCapítulo7:Escrevendoscriptsdeshellsimples

    ParteIII:Tornando-seumadministradordesistemaLinuxCapítulo8:AprendendoadministraçãodesistemaCapítulo9:InstalandooLinuxCapítulo10:ObtendoegerenciandosoftwareCapítulo11:GerenciandocontasdeusuárioCapítulo12:Gerenciandodiscosesistemasdearquivos

    ParteIV:Tornando-seumadministradordeservidorLinuxCapítulo13:EntendendoadministraçãodeservidoresCapítulo14:AdministrandoredesCapítulo15:IniciandoeparandoserviçosCapítulo16:ConfigurandoumservidordeimpressãoCapítulo17:ConfigurandoumservidorwebCapítulo18:ConfigurandoumservidorFTPCapítulo19:ConfigurandoumservidordecompartilhamentodearquivosdoWindows(Samba)Capítulo20:ConfigurandoumservidordearquivosNFSCapítulo21:SoluçãodeproblemasdoLinux

    ParteV:AprendendotécnicasdesegurançadoLinuxCapítulo22:EntendendoasegurançabásicadoLinuxCapítulo23:EntendendoasegurançaavançadadoLinuxCapítulo24:AprimorandoasegurançadoLinuxcomoSELinuxCapítulo25:ProtegendooLinuxemumarede

    ParteVI:ApêndicesApêndiceA:Mídia

  • ApêndiceB:Respostasdosexercícios

  • Sumário

    Introdução

    ParteIComeçando

    Capítulo1:ComeçandocomoLinux

    EntendendooqueéoLinuxEntendendocomooLinuxdiferedeoutrossistemasoperacionaisExplorandoahistóriadoLinux

    AculturadefluxolivredoUNIXnoBellLabsOUNIXcomercializado

    ChegaaBerkeleySoftwareDistributionOUNIXLaboratoryeaComercialização

    OGNUfazatransiçãodoUNIXparaaliberdadeOBSDperdeumpoucodasuaforçaLinusconstróiapeçaquefaltavaDefiniçãodecódigo-fonteabertodaOSI

    EntendendocomoasdistribuiçõesLinuxsurgiramEscolhendoumadistribuiçãoRedHat

    UsandooRedHatEnterpriseLinuxUsandooFedora

    EscolhendooUbuntuououtradistribuiçãoDebianEncontrandooportunidadesprofissionaiscomLinuxhoje

    EntendendocomoasempresasfazemdinheirocomLinuxTornando-seumprofissionalcertificadoemRedHat

    TópicosdoRHCSATópicosRHCE

    Resumo

    Capítulo2:CriandoodesktopperfeitoemLinux

    EntendendoatecnologiadedesktopdoLinuxComeçandocomoGNOMEFedoraDesktopLiveCDUsandoodesktopGNOME3

    DepoisqueocomputadoriniciaNavegandocomomouse

  • NavegandocomotecladoConfigurandoodesktopGNOME3EstendendoodesktopGNOME3

    OusodeextensõesGNOMEShellUsandooGNOMETweakTool

    ComeçandocomaplicativosdesktopGerenciandoarquivosepastascomoNautilusInstalandoegerenciandosoftwareadicionalReproduzindomúsicacomoRhythmbox

    ParandoodesktopGNOME3UsandoodesktopGNOME2

    UtilizandoogerenciadordejanelasMetacityAlterandoaaparênciadoGNOMEUsandoospainéisGNOME

    UsandoosmenusApplicationseSystemAdicionandoumminiaplicativo(applet)AdicionandooutropainelAdicionandoumlauncherdeaplicativoAdicionandoumagavetaAlterandoaspropriedadesdopainel

    Efeitos3DcomoAIGLXResumoExercícios

    ParteII:Tornando-seumusuárioavançadodoLinux

    Capítulo3:Utilizandooshell

    SobreShellseJanelasdeTerminalUsandoopromptdeshellUsandoumajanelaterminalUsandoconsolesvirtuais

    EscolhendoSeuShellExecutandocomandos

    EntendendoasintaxedecomandoLocalizandocomandos

    LembrandocomandoscomohistóricodecomandosEdiçãodalinhadecomandoCompletamentodelinhadecomandoRecuperaçãodelinhasdecomando

    Conectandoeexpandindocomandos

  • RedirecionamentoentreoscomandosComandossequenciaisComandosemsegundoplanoExpandindocomandosExpandindoexpressõesaritméticasExpandindovariáveis

    UsandovariáveisdeshellCriaçãoeusodealiasesEncerrandooshell

    CriandoSeuAmbientedeShellConfigurandoseushellConfigurandoseupromptAdicionandovariáveisdeambiente

    ObtendoInformaçõesSobreComandosResumoExercícios

    Capítulo4:Movendo-sepelosistemadearquivos

    UsandocomandosbásicosdosistemadearquivosUsandoMetacaractereseOperadores

    UtilizandometacaracteresparacorrespondênciadearquivoUtilizandometacaracterespararedirecionamentodearquivosUsodecaracteresdeexpansão

    ListandoarquivosediretóriosEntendendoPermissõesePossedeArquivos

    Alterandopermissõescomchmod(números)Alterandopermissõescomchmod(letras)ConfigurandoapermissãodearquivopadrãocomumaskAlterandoapossedearquivo

    Movendo,copiandoeexcluindoarquivosResumoExercícios

    Capítulo5:Trabalhandocomarquivosdetexto

    EditandoArquivoscomvimeviIniciandocomovi

    AdicionandotextoMovendo-sepelotextoExcluindo,copiandoealterandotexto

  • ColandotextoRepetindocomandosSaindodovi

    OutrasmaneirasdesemoverporumarquivoProcurandotextoUsandoomodoexAprendendomaissobreovieovim

    LocalizandoarquivosUsandolocateparalocalizararquivospornomeProcurandoarquivoscomfind

    LocalizandoarquivospornomeLocalizandoarquivosportamanhoLocalizandoarquivosporusuárioLocalizandoarquivosporpermissãoLocalizandoarquivospordataehora

    UsandonoteoraolocalizararquivosLocalizandoarquivoseexecutandocomandos

    PesquisandooconteúdodearquivoscomgrepResumoExercícios

    Capítulo6:Gerenciandoprocessosemexecução

    EntendendoProcessosListandoProcessos

    ListandoprocessoscompsListandoealterandoprocessoscomtopListandoprocessoscomoSystemMonitor

    GerenciandoProcessosemPrimeiroeSegundoPlanosIniciandoprocessosemsegundoplanoUtilizandocomandosemprimeiroeemsegundoplano

    EliminandoeRepriorizandoProcessosEliminandoprocessoscomkillekillall

    UsandokillparasinalizarprocessosporPIDUsandokillallparasinalizarprocessospornome

    ConfigurandoaprioridadesobreoprocessadorcomniceereniceResumoExercícios

    Capítulo7:EscrevendoScriptsdeShellSimples

  • EntendendoScriptsdoShellExecutandoedepurandoscriptsdeshellEntendendovariáveisdeshell

    ParâmetrosdeshellposicionaisespeciaisLendoparâmetrosExpansãodeparâmetrosnobash

    FazendoaritméticaemscriptsdeshellUsandoconstruçõesdeprogramaçãoemscriptsdeShell

    Asinstruções“if...then”OcomandocaseOloop“for…do”Osloops“while…do”e“until…do”

    ExperimentandoalgunsprogramasúteisdemanipulaçãodetextoOgeneralregularexpressionparserRemovaseçõesdelinhasdetexto(cut)Traduzaouexcluacaracteres(tr)Oeditordefluxo(sed)

    UsandoscriptsdeshellsimplesListatelefônicaScriptdebackup

    ResumoExercícios

    ParteIII:Tornando-seumadministradordesistemaLinux

    Capítulo8:Aprendendoadministraçãodesistema

    EntendendoaadministraçãodosistemaUsandoferramentasdeadministraçãográficaUsandoacontadousuárioroot

    Tornando-serootapartirdoshell(comandosu)Ganhandoacessoadministrativocomsudo

    Explorandocomandosadministrativos,arquivosdeconfiguraçãoearquivosdelog

    ComandosadministrativosArquivosdeconfiguraçãoadministrativaArquivosdelogadministrativos

    UsandooutrascontasadministrativasVerificandoeconfigurandoohardware

    VerificandoseuhardwareGerenciandohardwareremovível

  • TrabalhandocommóduloscarregáveisListandoosmóduloscarregadosCarregandomódulosRemovendomódulos

    ResumoExercícios

    Capítulo9:InstalandooLinux

    EscolhendoumComputadorInstalandooFedoraapartirdeumLiveCDInstalandooRedHatEnterpriseLinuxapartirdeMídiadeInstalaçãoInstalandooLinuxnaEmpresaExplorandoTópicosComunsSobreaInstalação

    AtualizandoouinstalandoapartirdozeroInicializaçãodualInstalandooLinuxparaexecutarvirtualmenteUsandoopçõesdeinicializaçãodainstalação

    OpçõesdeinicializaçãoparadesabilitarrecursosOpçõesdeinicializaçãoparaproblemasdevídeoOpçõesdeinicializaçãoparatiposespeciaisdeinstalaçãoOpçõesdeinicializaçãoparakickstartserepositóriosremotosOpçõesdeinicializaçãodiversas

    UsandoarmazenamentoespecializadoParticionandodiscosrígidos

    EntendendoosdiferentestiposdepartiçõesParticionandoduranteainstalaçãodoFedoraRazõesparaesquemasdeparticionamentodiferentesAsdicasparacriarpartições

    UsandoogerenciadordeinicializaçãoGRUBUsandooGRUBLegacy(versão1)UsandooGRUB2

    ResumoExercícios

    Capítulo10:Obtendoegerenciandosoftware

    GerenciandosoftwarecomoPackageKitProcurandopacotesInstalandoeremovendopacotesIndoalémdoPackageKit

  • EntendendooempacotamentodesoftwareRPMdoLinuxEntendendopacotesRPM

    OqueháemumRPM?DeondevêmosRPMs?InstalandoRPMs

    GerenciandopacotesRPMcomoYUMEntendendocomofuncionaoyum

    1.Verificando/etc/yum.conf2.Verificando/etc/sysconfig/rhn/up2date(RHELsomente)3.Verificandoarquivos/etc/yum.repos.d/*.repo4.BaixandopacotesRPMemetadadosdeumrepositórioYUM5.PacotesRPMinstaladosparaosistemadearquivosLinux6.ArmazeneorepositóriodemetadadosYUMnobancodedadosRPMlocal

    UsandooYUMcomrepositóriosdesoftwaredeterceirosGerenciandosoftwarecomocomandoYUM

    ProcurandoporpacotesInstalandoeremovendopacotesAtualizandopacotesAtualizandogruposdepacotesMantendoobancodedadoseocachedepacotesRPMBaixandoRPMsdeumrepositórioyum

    Instalando,consultandoeverificandosoftwarecomocomandorpmInstalandoeremovendopacotescomocomandorpmConsultandoinformaçõesdorpmVerificandopacotesRPM

    GerenciandosoftwarenaempresaResumoExercícios

    Capítulo11:Gerenciandocontasdeusuário

    CriandocontasdeusuárioAdicionandousuárioscomouseraddConfigurandopadrõesdeusuárioModificandousuárioscomusermodExcluindousuárioscomuserdel

    EntendendocontasdegrupoUsandocontasdegrupoCriandocontasdegrupo

    Gerenciandousuáriosnaempresa

  • DefinindopermissõescomlistasdecontroledeacessoConfigurandoACLscomsetfacl

    DefinindoACLspadrãoHabilitandoACLs

    AdicionandodiretóriosparaosusuárioscolaboraremCriandodiretóriosdecolaboraçãoemgrupo(bitsetGID)Criandodiretóriosdeexclusãorestrita(stickybit)

    CentralizandocontasdeusuárioUsandoajanelaAuthenticationConfiguration

    ResumoExercícios

    Capítulo12:Gerenciandodiscosesistemasdearquivos

    EntendendoarmazenamentoemdiscoParticionandodiscosrígidos

    VisualizandopartiçõesdediscoCriandoumdiscodeumaúnicapartiçãoCriandoumdiscodemúltiplaspartições

    UsandopartiçõesLVMVerificandoumaLVMexistenteCriandovolumeslógicosLVMAumentandovolumeslógicosLVM

    MontandosistemasdearquivosSistemasdearquivossuportadosAtivandoáreasdetrocaDesativandoaáreadetrocaUtilizandooarquivofstabparadefinirsistemasdearquivosmontáveisUtilizandoocomandomountparamontarsistemasdearquivosMontandoumaimagemdediscoemloopbackUsandoocomandoumount

    UsandoocomandomkfsparacriarumsistemadearquivosResumoExercícios

    ParteIV:Tornando-seumadministradordeservidorLinux

    Capítulo13:Entendendoadministraçãodeservidores

    ComeçandocomadministraçãodoservidorPasso1:Instaleoservidor

  • Passo2:ConfigureoservidorUsandoarquivosdeconfiguraçãoVerificandoaconfiguraçãopadrão

    Passo3:InicieoservidorPasso4:Protejaoservidor

    ProteçãoporsenhaFirewallsTCPWrappersSELinuxConfiguraçõesdesegurançaemarquivosdeconfiguração

    Passo5:MonitoreoservidorConfigureoregistroemlogExecuterelatóriosdeatividadedosistemaMantenhaosoftwaredesistemaatualizadoVerifiquesinaisdeinvasãodosistemadearquivos

    GerenciandooacessoremotocomoserviçoSecureShellIniciandooserviçoopenssh-serverUsandoferramentasdeclienteSSH

    UsandoSSHparaloginremotoUsandoSSHparaexecuçãoremotaCopiandoarquivosentresistemascomscpersyncCópiainterativacomsftp

    Utilizandoautenticaçãobaseadaemchave(semsenha)Configurandooregistroemlogdosistema

    AtivandoologdosistemacomrsyslogEntendendooarquivorsyslog.confEntendendooarquivodelogdemensagensConfigurandoeusandoumservidordelogscomrsyslogd

    ObservandologscomlogwatchVerificandorecursosdosistemacomsarVerificandooespaçodosistema

    ExibindoespaçoemdiscodosistemacomdfVerificandoousododiscocomduDescobrindooconsumoemdiscocomfind

    ResumoExercícios

    Capítulo14:Administrandoredes

    ConfigurandoumaredeparadesktopsVerificandosuasplacasderede

  • VerificandosuaredeapartirdoNetworkManagerVerificandosuaredeapartirdalinhadecomando

    ConfigurarinterfacesderedeConfigurandoumaconexãoderedeproxy

    ConfigurandoredesparaservidoresUtilizandosystem-config-network

    EscolhendoaconfiguraçãododispositivoEscolhendoaconfiguraçãodoDNS

    EntendendoosarquivosdeconfiguraçãoderedeArquivosdeconfiguraçãodeplacasderedeOutrosarquivosderede

    ConfigurandoaliasesdeplacasderedeConfigurandoagregaçãodecanaisEthernetDefinindorotaspersonalizadas

    ConfigurandoredesnaempresaConfigurandooLinuxcomoumroteadorConfigurandooLinuxcomoumservidorDHCPConfigurandooLinuxcomoumservidordeDNSConfigurandooLinuxcomoumservidorproxyConfigurandoVLANsnoLinux

    ResumoExercícios

    Capítulo15:Iniciandoeparandoserviços

    EntendendoodaemoninitdoLinuxEntendendoosdaemonsdeinicializaçãoclássicosEntendendoodaemonUpstartinit

    AprendendonoçõesbásicassobreodaemonUpstartinitAprendendoaretrocompatibilidadedeUpstartcomSysVinit

    EntendendosystemdinitAprendendonoçõesbásicassobresystemdAprendendoaretrocompatibilidadedesystemdcomSysVinit

    AuditandoserviçosAuditandoodaemonSysVinitclássicoAuditandoodaemonUpstartinitAuditandoinitsystemd

    ParandoeiniciandoserviçosParandoeiniciandoodaemonSysVinitclássicoParandoeiniciandoodaemonUpstartinitParandoeiniciandoodaemonsystemd

  • ParandoumserviçocomsystemdIniciandoumserviçocomsystemdReiniciandoumserviçocomsystemdRecarregandoumserviçocomsystemd

    ConfigurandoserviçospersistentesConfigurandoserviçospersistentesdodaemonSysVinitclássicoConfigurandoserviçospersistentesdodaemonUpstartinitConfigurandoserviçospersistentesdesystemdinit

    AtivandoumserviçocomsystemdDesativando(removendo)umserviçocomsystemd

    ConfigurandoumrunlevelouumatargetunitpadrãoConfigurandooníveldeexecuçãopadrãodoSysVdaemoninitclássicoConfigurandooníveldeexecuçãopadrãododaemonUpstartinitConfigurandoatargetunitpadrãodesystemdinit

    AdicionandoserviçosnovosoupersonalizadosAdicionandonovosserviçosaoSysVdaemoninitclássico

    Passo1:CrieumarquivodescriptdeserviçonovooupersonalizadoPasso2:MovaoscriptdeserviçoPasso3:Adicioneoserviçoarunlevels

    AcrescentandonovosserviçosaodaemonUpstartinitAcrescentandonovosserviçosasystemdinit

    Passo1:CriarumarquivodeconfiguraçãodeunidadedeserviçonovooupersonalizadoPasso2:MoveroarquivodeconfiguraçãodeunidadedeserviçoPasso3:AdicionaroserviçoaodiretórioWants

    ResumoExercícios

    Capítulo16:Configurandoumservidordeimpressão

    SistemacomumdeimpressãoUNIXConfigurandoimpressoras

    AdicionandoumaimpressoraautomaticamenteUsandoaadministraçãobaseadanawebdoCUPSUsandoajanelaPrinterConfiguration

    ConfigurandoimpressoraslocaiscomajanelaPrinterConfigurationConfigurandoimpressorasremotasAdicionandoumaimpressoraCUPSremotaAdicionandoumaimpressoraremotaUNIX(LDP/LPR)AdicionandoumaimpressoraaoWindows(SMB)

    TrabalhandocomimpressãoCUPS

  • ConfigurandooservidorCUPS(cupsd.conf)IniciandooservidorCUPSConfigurandoopçõesdeimpressoraCUPSmanualmente

    UsandocomandosdeimpressãoImprimindocomlprListandoostatuscomlpcRemovendotrabalhosdeimpressãocomlprm

    ConfigurandoservidoresdeimpressãoConfigurandoumaimpressoraCUPScompartilhadaConfigurandoumaimpressoracompartilhadanaredeSamba

    Entendendosmb.confparaimpressãoConfigurandoclientesSMB

    ResumoExercícios

    Capítulo17:Configurandoumservidorweb

    EntendendooservidorwebApacheObtendoeinstalandooservidorweb

    EntendendoopacotehttpdInstalandooApache

    IniciandooApacheTornandooApacheseguro

    PermissõesepossedearquivosnoApacheApacheeiptablesApacheeSELinux

    EntendendoosarquivosdeconfiguraçãodoApacheUsandodiretivasEntendendoasconfiguraçõespadrão

    AdicionandoumhostvirtualaoApachePermitindoqueosusuáriospubliquemseupróprioconteúdowebProtegendoseutráfegonawebcomSSL/TLS

    EntendendocomooSSLéconfiguradoGerandoumachaveSSLeumcertificadoautoassinadoGerandoumasolicitaçãodeassinaturadecertificado(CertificateSigningRequest–CSR)

    VerificandoerrosdeconfiguraçãoErrosdeacessoproibidoeerrosinternosdoservidor

    ResumoExercícios

  • Capítulo18:ConfigurandoumservidorFTP

    EntendendooFTPInstalandooservidorFTPvsftpdIniciandooserviçovsftpdProtegendoseuservidorFTP

    AbrindoseufirewallparaFTPPermitindoacessoFTPnoTCPwrappersConfigurandooSELinuxparaseuservidorFTPRelacionandoaspermissõesdearquivosLinuxcomovsftpd

    ConfigurandoseuservidorFTPConfigurandooacessodousuárioPermitindouploadConfigurandovsftpdparaainternet

    UsandoclientesFTPparaseconectaraoservidorAcessandoumservidorFTPapartirdoFirefoxAcessandoumservidorFTPcomocomandolftpUsandooclientegFTP

    ResumoExercícios

    Capítulo19:ConfigurandoumservidordecompartilhamentodearquivosdoWindows(Samba)

    EntendendooSambaInstalandooSambaIniciandoeparandooSamba

    IniciandooserviçoSamba(smb)IniciandooservidordenomesNetBIOS(nmbd)ParandoosserviçosdoSamba(SMB)edoNetBIOS(BNM)

    ProtegendooSambaConfigurandofirewallsparaoSambaConfigurandooSELinuxparaoSamba

    ConfigurandoosbooleanosdoSELinuxparaoSambaDefinindocontextosdearquivodoSELinuxparaoSamba

    Configurandopermissõesdehost/usuáriodoSambaConfigurandooSamba

    Utilizandosystem-config-sambaEscolhendoasconfiguraçõesdoservidorSambaConfigurandocontasdeusuáriosdoSambaCriandoumapastacompartilhadaSambaVerificandoocompartilhamentoSamba

  • ConfigurandooSambanoarquivosmb.confConfigurandoaseção[global]Configurandoaseção[homes]Configurandoaseção[printers]Criandodiretórioscompartilhadospersonalizados

    AcessandocompartilhamentosdoSambaAcessandocompartilhamentosdoSambanoLinuxAcessandocompartilhamentosdoSambanoWindows

    UsandooSambanaempresaResumoExercícios

    Capítulo20:ConfigurandoumservidordearquivosNFS

    InstalandoumservidorNFSIniciandooserviçoNFSCompartilhandosistemasdearquivosNFS

    Configurandooarquivoetc/exportsHostnamesem/etc/exportsOpçõesdeacessoem/etc/exportsOpçõesdemapeamentodeusuárioem/etc/exports

    ExportandoossistemasdearquivoscompartilhadosProtegendoseuservidorNFS

    AbrindoseufirewallparaNFSPermitindooacessoNFSemTCPwrappersConfigurandooSELinuxparaseuservidorNFS

    UsandosistemasdearquivosNFSVisualizandocompartilhamentosNFSMontandomanualmenteumsistemadearquivosNFSMontagemdeumsistemadearquivosNFSnomomentodainicialização

    MontandosistemasdearquivosnoautoUsandoasopçõesdemontagem

    UsandooautofsparamontarsistemasdearquivosNFSsobdemandaAutomontandoodiretório/netAutomontandodiretóriosiniciais

    DesmontandosistemasdearquivosNFSResumoExercícios

    Capítulo21:SoluçãodeproblemasdoLinux

  • SolucionandoproblemasdeinicializaçãoComeçandopelaBIOS

    SolucionandoproblemasdeconfiguraçãodaBIOSSolucionandoproblemasdeordemdeinicialização

    SolucionandoproblemasdocarregadordeinicializaçãoGRUBIniciandookernelSolucionandoproblemasdoprocessoinit

    Solucionandoproblemasdoscriptrc.sysinitSolucionandoproblemasdeprocessosderunlevel

    SolucionandoproblemasdepacotesdesoftwareCorrigindobancosdedadosecacheRPM

    SolucionandoproblemasredeSolucionandoproblemasdeconexõesdesaída

    VisualizeasplacasderedeVerifiqueasconexõesfísicasVerifiqueasrotasVerifiqueaconversãodehostname

    SolucionandoproblemasdeconexõesdeentradaVerifiqueserealmenteoclientepodeacessarseusistemaVerifiqueseoserviçoestádisponívelparaoclienteVerifiqueofirewallnoservidorVerifiqueoserviçonoservidor

    SolucionandoproblemasdememóriaDescobrindoproblemasdememória

    VerificandoproblemasdememóriaLidandocomproblemasdememória

    SolucionandoproblemasnomododerecuperaçãoResumoExercícios

    ParteV:AprendendotécnicasdesegurançadoLinux

    Capítulo22:EntendendoasegurançabásicadoLinux

    IntroduçãoaoCiclodeVidadoProcessodeSegurançaExaminandoafasedeplanejamento

    EscolhendoummodelodecontroledeacessoControledeacessodiscricionárioControledeacessomandatórioControledeAcessoBaseadoemPapéis

    Usandolistasdeverificaçãodesegurança

  • MatrizdecontroledeacessoListasdeverificaçãodesegurançadaindústria

    EntrandonafasedeexecuçãoImplementaçãodasegurançafísicaImplementandorecuperaçãoapósdesastreProtegendocontasdeusuário

    UmusuárioporcontadeusuárioNenhumloginnacontarootConfigurandoasdatasdeexpiraçãonascontastemporáriasRemovendocontasdeusuáriosnãoutilizadas

    ProtegendosenhasEscolhendoboassenhasConfigurandoealterandosenhasImpondomelhorespráticasdesenhaEntendendoosarquivosdesenhaehashesdesenha

    ProtegendoosistemadearquivosGerenciandopermissõesperigosasdosistemadearquivosProtegendoosarquivosdesenhaBloqueandoosistemadearquivos

    GerenciandosoftwareseserviçosRemovendosoftwareseserviçosnãoutilizadosAtualizandopacotesdesoftware

    ImplementaçãoavançadaTrabalhandonafasedemonitoramento

    MonitorandoarquivosdelogMonitorandocontasdeusuário

    DetectandonovascontaseprivilégiosfalsificadosDetectandosenhasruinsdecontas

    MonitorandoosistemadearquivosVerificandopacotesdesoftwareVerificandoosistemadearquivosDetectandovíruserootkits

    DetectandoumainvasãoTrabalhandonafasedeAuditoria/Revisão

    RealizandorevisõesdeconformidadeRealizandorevisõesdesegurança

    ResumoExercícios

    Capítulo23:EntendendoasegurançaavançadadoLinux

  • ImplementandoasegurançadoLinuxcomcriptografiaEntendendoohashingEntendendocriptografia/decriptografia

    EntendendoascifrascriptográficasEntendendoassinaturasdigitais

    ImplementandoacriptografianoLinuxGarantindoaintegridadedosarquivosCriptografandoumsistemadearquivosLinuxCriptografandoumdiretóriodoLinuxCriptografandoumarquivodoLinuxCriptografandováriascoisasnoLinux

    ImplementandoasegurançadoLinuxcomPAMEntendendooprocessodeautenticaçãoPAM

    EntendendocontextosPAMEntendendoflagsdecontrolePAMEntendendomódulosPAMCompreendendoosarquivosdeconfiguraçãodeeventodesistemaPAM

    AdministrandooPAMnosistemaLinuxGerenciandoarquivosdeconfiguraçãodeaplicativoscompatíveiscomPAMGerenciandoosarquivosdeconfiguraçãodeeventosdesistemaPAMImplementandolimitesderecursoscomPAMImplementandorestriçõesdetempocomPAMImpondoboassenhascomPAMIncentivandoousodesudocomPAMBloqueandocontascomPAM

    ObtendomaisinformaçõessobreoPAMResumoExercícios

    Capítulo24:AprimorandoasegurançadoLinuxcomoSELinux

    EntendendoosbenefíciosdoSELinuxEntendendocomooSELinuxfunciona

    EntendendooTypeEnforcementEntendendoaMulti-LevelSecurityImplementandomodelosdesegurançadoSELinux

    EntendendoosmodosoperacionaisdoSELinuxCompreendendocontextosdesegurançadoSELinuxEntendendoostiposdepolíticadoSELinuxEntendendoospacotesderegrasdoSELinux

  • ConfigurandooSELinuxDefinindoomodooperacionaldoSELinuxDefinindootipodepolíticadoSELinuxGerenciandooscontextosdesegurançadoSELinux

    GerenciandoocontextodesegurançadousuárioGerenciandoocontextodesegurançadearquivoGerenciandoocontextodesegurançadoprocesso

    GerenciandopacotesderegrasdepolíticadoSELinuxGerenciandooSELinuxviabooleanos

    MonitoramentoesoluçãodeproblemasnoSELinuxEntendendooregistroemlogdoSELinux

    RevisandomensagensSELinuxnologdeauditoriaRevisandomensagensSELinuxnologdemensagens

    SolucionadoproblemasnoregistroemlogdoSELinuxSolucionandoproblemascomunsdoSELinux

    UsarumdiretórionãopadrãoparaumserviçoUsarumaportanãopadrãoparaumserviçoMovendoarquivoseperdendorótulosdecontextodesegurançaBooleanosdefinidosincorretamente

    JuntandotudoObtendoinformaçõesadicionaissobreoSELinuxResumoExercícios

    Capítulo25:ProtegendooLinuxemumarede

    AuditandoserviçosderedeAvaliandooacessoaosserviçosderede

    UsandonmapparacriarumalistadeserviçosderedeUsandonmapparaauditaranúnciosdosserviçosderede

    ControlandooacessoaosserviçosderedeTrabalhandocomfirewalls

    EntendendofirewallsImplementandofirewalls

    EntendendooutilitárioiptablesUsandooutilitárioiptables

    ResumoExercícios

    ParteVI:Apêndices

  • ApêndiceA:Mídia

    ObtendooFedoraObtendooRedHatEnterpriseLinuxObtendooUbuntu

    CriandoCDseDVDsLinuxGravandoCDs/DVDsnoWindowsGravandoCDs/DVDsemumsistemaMacOSXGravandoCDs/DVDsnoLinux

    GravandoCDsapartirdeumdesktopLinuxGravandoCDsapartirdeumalinhadecomandodoLinux

    IniciandooLinuxapartirdeumpendriveUSB

    ApêndiceB:RespostasdosExercícios

    Capítulo2:CriandoodesktopLinuxperfeitoCapítulo3:UtilizandooshellCapítulo5:TrabalhandocomarquivosdetextoCapítulo6:GerenciandoprocessosemexecuçãoCapítulo7:EscrevendoscriptsdeshellsimplesCapítulo8:AprendendoadministraçãodesistemaCapítulo9:InstalandooLinuxCapítulo10:ObtendoegerenciandosoftwareCapítulo11:GerenciandocontasdeusuárioCapítulo12:GerenciandodiscosesistemasdearquivosCapítulo13:EntendendoadministraçãodeservidoresCapítulo14:AdministrandoredesCapítulo15:IniciandoeparandoserviçosCapítulo17:ConfigurandoumservidorwebCapítulo19:ConfigurandoumservidordecompartilhamentodearquivosdoWindows(Samba)Capítulo22:EntendendoasegurançabásicadoLinuxCapítulo23:EntendendoasegurançaavançadadoLinuxCapítulo24:AprimorandoasegurançadoLinuxcomoSELinuxCapítulo25:ProtegendooLinuxemumarede

  • VIntrodução

    ocênãopodeaprenderLinuxsemusá-lo.

    ChegueiaessaconclusãodepoisdemaisdeumadécadaensinandoaspessoasaaprenderemLinux.Vocênãopodesimplesmentelerumlivro,vocênãopodesimplesmenteouvirumapalestra.Vocêprecisadealguémparaguiá-loevocêprecisamergulharnoassuntoepraticar.

    Em1999,aWileypublicouaprimeiraediçãodolivroLinux–ABíblia.OenormesucessomedeuaoportunidadedemetornarumautordetempointegraleindependentesobreoLinux.Porcercadeumadécada,escrevidezenasdelivrossobreLinuxeexploreiasmelhoresmaneirasdeexplicarLinuxapartirdaquietudenomeupequenoescritóriodoméstico.

    Em2008,pegueiaestrada.FuicontratadopelaRedHat,Inc.comouminstrutoremtempointegral,ensinandoLinuxparaadministradoresdesistemaprofissionaisqueprocuramacertificaçãoRedHatCertifiedEngineer(RHCE).EmmeustrêsanoscomoinstrutordeLinux,aperfeiçoeiminhashabilidadesdeensinonafrentedepessoasvivascujaexperiênciaemLinuxvariavadezeroaumprofissionalexperiente.

    Nestelivro,esperoaplicarminhaexperiênciaemtextotransformandovocêdealguémquenuncausouoLinuxemalguémcomashabilidadesparasetornarumprofissionalemLinux.

    Agoraemsuaoitavaedição,estelivroadquiriuumescopomuitoamploemediçõesanteriores.OlivrocobriaváriasdistribuiçõesdoLinux,descreviacomoexecutaraplicativos,tocavanaquestãodaadministraçãodesistemaeforneciaumaentradaparaodesenvolvimentodesoftwareemLinux.ApesardetersidoeleitoumdoscincomelhoreslivrosdetodosostemposdoLinuxhátrêsanos,Linux–ABíbliatinhaperdidoseucaminho.

    EstaoitavaediçãodeLinux–ABíbliarepresentaumagranderevisão.Quasetodooconteúdoanteriorfoireescritoou,namaioriadoscasos,completamentesubstituído.Onovofocodolivropodeserresumidodasseguintesmaneiras:

    Inicianteaprofissionalcertificado:Desdequevocêtenhausadoumcomputador,mouseeteclado,vocêpodecomeçarcomestelivro.NóslhedizemoscomoobteroLinuxecomocomeçarausá-lo,passamosportemascríticose,porfim,chegamosacomodominaraadministraçãoesegurançadosistema.

    Focadonoadministradordesistema:Quandotiverconcluídoaleituradestelivro,vocênãosóvaisabercomousaroLinuxmascomomodificá-loemantê-lo.TodosostópicosnecessáriosparasetornarumRedHatCertifiedEngineersãoabordadosnestelivro.

    Ênfasenasferramentasdelinhadecomando:EmboraainterfacegráficadejanelasparagerenciaroLinuxtenhamelhoradosignificativamentenosúltimosanos,muitosrecursosavançadossópodemserutilizadosdigitandocomandoseeditandoarquivosdeconfiguraçãomanualmente.NósensinamoscomosetornarproficientecomoshelldelinhadecomandodoLinux.

  • DestinadoamenosdistribuiçõesdoLinux:Emediçõesanteriores,descrevicercade18diferentesdistribuiçõesdoLinux.Comapenasalgumasexceçõesnotáveis,distribuiçõesdoLinuxmaispopularessãoousãobaseadasnoRedHat(RedHatEnterpriseLinux,Fedora,CentOSetc)ounoDebian(Ubuntu,LinuxMint,Knoppixetc).Concentrei-menoRedHat,porqueéondeestãoostrabalhoscomLinuxmaisbemremunerados;abordoumpoucooUbuntuporqueécomelequemuitosdosmaioresfãsdoLinuxcomeçam.

    Muitas,muitasdemoseexercícios:EmvezdeapenasdizeroqueoLinuxfaz,eurealmentemostrooqueelefaz.Então,paragarantirqueaprendeuoassunto,vocêtemaoportunidadedeexperimentarosexercíciossozinhos.TodososprocedimentoseexercíciosforamtestadosparafuncionarnoFedoraounoRedHatEnterpriseLinux.MuitosvãofuncionarnoUbuntutambém.

    ComoestelivroestáorganizadoOlivroestáorganizadoparaquevocêpossacomeçarlogonoiníciocomoLinuxecrescerparasetornarumadministradordesistemaLinuxprofissionaleum“poweruser”,umusuárioavançado.

    AParteI,“Começando”,incluidoiscapítulosdestinadosaajudarvocêaentenderoqueéoLinuxeapresentaumdesktopLinux:

    OCapítulo1,“ComeçandocomoLinux”,abordatemascomooqueéosistemaoperacionalLinux,deondeelevemecomocomeçarausá-lo.

    OCapítulo2,“CriandoodesktopperfeitoemLinux”,forneceinformaçõessobrecomovocêpodecriarumsistemadesktopeusaralgunsdosrecursosdedesktopmaispopulares.

    AParteII,“Tornando-seumusuárioavançandodoLinux”,fornecedetalhesemprofundidadesobrecomousaroshelldoLinux,trabalharcomsistemasdearquivos,manipulararquivosdetexto,gerenciarprocessoseusarscriptsdeshell:

    OCapítulo3,“UtilizandooShell”,incluiinformaçõessobrecomoacessarumshell,executarcomandos,recuperarcomandos(usandoohistórico)eusarocompletamentodecomandocomateclaTab.Ocapítulotambémdescrevecomousarvariáveis,aliasesepáginasdomanual.

    OCapítulo4,“Movendo-sepelosistemadearquivos”,incluicomandosparalistar,criar,copiaremoverarquivosediretórios.Tópicosmaisavançadosnestecapítuloincluemasegurançadosistemadearquivos,taiscomoapossedearquivo,permissõeselistasdecontroledeacesso.

    OCapítulo5,“Trabalhandocomarquivosdetexto”,incluitudo,desdeeditoresdetextosbásicosatéferramentasparaencontrararquivosepesquisartextodentrodearquivos.

    OCapítulo6,“Gerenciandoprocessosemexecução”,descreveaformadeverosprocessosqueestãoemexecuçãonosistemaealteraressesprocessos.Maneirasdealterarprocessosincluemeliminar,pausareenviaroutrostiposdesinais.

    OCapítulo7,“Escrevendoscriptsdeshellsimples”,incluicomandosefunçõesdeshellquevocêpodereuniremumarquivoparaserexecutadocomoumúnicocomando.

  • NaParteIII,“Tornando-seumadministradordesistemaLinux”,vocêaprendeaadministrarsistemasLinux:

    OCapítulo8,“Aprendendoadministraçãodesistema”,forneceinformaçõesbásicassobreferramentasgráficas,comandosearquivosdeconfiguraçãoparaaadministraçãodesistemasLinux.

    OCapítulo9,“InstalandooLinux”,abordaastarefasdeinstalaçõescomuns,comooparticionamentodediscoeaseleçãoinicialdopacotedesoftware,assimcomoferramentasdeinstalaçãoavançadas,comoainstalaçãoapartirdearquivoskickstart.

    OCapítulo10,“Obtendoegerenciandosoftware”,forneceumacompreensãodecomoospacotesdesoftwarefuncionamecomoobtê-losegerenciá-los.

    OCapítulo11,“Gerenciandocontasdeusuário”,discuteferramentasparaadicionareexcluirusuáriosegrupos,bemcomoaformadecentralizarogerenciamentodecontadeusuário.

    OCapítulo12,“Gerenciandodiscosesistemasdearquivos”,forneceinformaçõessobreaadiçãodepartições,criaremontarsistemasdearquivos,bemcomotrabalharcomgerenciamentodevolumelógico.

    NaParteIV,“Tornando-seumadministradordeservidorLinux”,vocêaprenderáacriarservidoresderedepoderososeasferramentasnecessáriasparagerenciá-los:

    OCapítulo13,“Entendendoadministraçãodeservidores”,abordaoregistroemlogremoto,ferramentasdemonitoramentoeoprocessodeinicializaçãodoLinux.

    OCapítulo14,“Administrandoredes”,discuteaconfiguraçãoderede.

    OCapítulo15,“Iniciandoeparandoserviços”,forneceinformaçõessobrecomoiniciarepararserviçosderede.

    OCapítulo16,“Configurandoumservidordeimpressão”,descrevecomoconfigurarimpressorasparausarlocalmentenoseusistemaLinuxouatravésdaredeapartirdeoutroscomputadores.

    OCapítulo17,“Configurandoumservidorweb”,descrevecomoconfigurarumservidorWebApache.

    OCapítulo18,“ConfigurandoumservidorFTP”,abordaosprocedimentosparaaconfiguraçãodeumservidorFTPquepodeserusadoparapermitirqueoutrosbaixemarquivosdeseusistemaLinuxatravésdarede.

    OCapítulo19,“ConfigurandoumservidordecompartilhamentodearquivosdoWindows(Samba)”,abrangeconfiguraçãodoservidordearquivosWindowscomoSamba.

    OCapítulo20,“ConfigurandoumservidordearquivosNFS”,descrevecomousarosrecursosderededosistemadearquivosparacompartilharpastasdearquivosentresistemasemumarede.

    OCapítulo21,“SoluçãodeproblemasdoLinux”,abrangeferramentaspopularesparaasoluçãodeproblemasnoseusistemaLinux.

  • NaParteV,“AprendendotécnicasdesegurançadoLinux”,vocêaprendeaprotegerseussistemaseserviçosLinux:

    OCapítulo22,“EntendendoasegurançabásicadoLinux”,abordaosconceitosetécnicasbásicasdesegurança.

    OCapítulo23,“EntendendosegurançaavançadadoLinux”,forneceinformaçõessobreousodePluggableAuthenticationModules(PAM)eferramentasdecriptologiaparareforçarasegurançaeautenticaçãodosistema.

    OCapítulo24,“AprimorandoasegurançadoLinuxcomoSELinux”,mostracomoativarSecurityEnhancedLinux(SELinux)paragarantirosserviçosdosistema.

    OCapítulo25,“ProtegendoLinuxnarede”,abrangerecursosdesegurançaderede,comofirewallsiptables,paragarantirasegurançadosserviçosdosistema.

    AParteVIcontémdoisapêndicesparaajudarvocêaobteromáximodesuacompreensãodoLinux.OApêndiceA,“Mídia”,forneceorientaçãosobredownloaddedistribuiçõesdoLinux.OApêndiceB,“RespostasdosExercícios”,fornecesoluçõesdeexemploparaosexercíciosincluídosnoscapítulos2a25.

    ConvençõesutilizadasnestelivroAolongodolivro,umatipografiaespecialindicacódigoecomandos.Comandosecódigossãomostradosemumafontemonoespaçada:

    Thisishowcodelooks.

    Nocasodeumexemploincluirtantoaentradacomoasaída,afontemonoespaçadaéaindausada,masaentradaéapresentadaemnegritoparadiferenciarumdooutro.Eisumexemplo:

    $ftpftp.handsonhistory.comName(home:jake):jakePassword:******

    Quantoaosestilosnotexto:

    Novostermosepalavrasimportantesaparecememitálicoquandointroduzidos.

    Teclasdeatalhoaparecemassim:Ctrl+A

    Nomesdearquivos,URLsecódigodentrodotextoaparecemassim:persistence.properties.

    Osseguintesitenschamamaatençãoparapontosquesãoparticularmenteimportantes.

    http://ftp.handsonhistory.comhttp://www.wiley.com/WileyCDA/

  • NotaUmacaixadeNotaforneceinformaçõesextrasparaasquaisvocêprecisadedicarumaatençãoespecial.

    DicaUmacaixadeDicamostraumamaneiraespecialderealizarumatarefaemparticular.

    AtençãoUma caixa de Atenção alerta para você tomar cuidado especial ao executar umprocedimento ou seu hardware ousoftwarepodeserdanificado.

    MergulhandonoLinuxSevocêéinicianteemLinux,podetervagasideiassobreoqueeleéedeondeveio.Vocêjádeveterouvidoalgosobreeleser“free”nosentidode“gratuito”ounosentidode“livre”(comoaliberdadedeusá-locomovocêquiser).AntesdecomeçarapôrasmãosnoLinux(oquefaremosembreve),oCapítulo1procuraresponderalgumasdesuasperguntassobreasorigenseosrecursosdoLinux.

    DediqueumtempoparaestudarestelivroafimdeentenderoLinuxecomovocêpodefazê-lotrabalharparaatendersuasnecessidades.EsseéoseuconviteparaentraredaroprimeiropassoparasetornarumespecialistaemLinux!

    VisiteositeLinuxBiblePara encontrar links para as várias distribuições do Linux, dicas sobre como obter acertificação Linux e correções para o livro à medida que se tornam disponíveis, visitehttp://www.wiley.com/WileyCDA/.

  • Linux®ABíblia

    Traduçãoda8aEdição

  • ParteI

    Começando

    NESTAPARTECapítulo1ComeçandocomoLinux

    Capítulo2CriandooDesktopPerfeitoemLinux

  • O

    C A P Í T U L O1

    ComeçandocomoLinux

    NESTECAPÍTULOAprendendooqueéLinux

    AprendendodeondeoLinuxveio

    EscolhendodistribuiçõesLinux

    ExplorandooportunidadesprofissionaiscomoLinux

    Tornando-secertificadoemLinux

    LinuxéumdosavançostecnológicosmaisimportantesdoséculoXXI.Alémdeseuimpactosobreocrescimentodainternetedoseulugarcomoumatecnologiacapacitadoraparaumasériededispositivosbaseadosemcomputador,odesenvolvimentodoLinuxtemsidoumexemplodecomo

    projetoscolaborativospodemultrapassaroqueaspessoaseempresasindividuaispodemfazersozinhas.

    OGooglerodamilharesemilharesdeservidoresLinuxparafornecersuatecnologiadebusca.SeustelefonesAndroidsãobaseadosnoLinux.Damesmaforma,quandovocêbaixaeexecutaoGoogleChromeOS,vocêtemumnavegadorqueéapoiadoporumsistemaoperacionalLinux.

    OFacebookconstróieimplantaemseusiteusandooqueéconhecidocomoumapilhaLAMP(Linux,servidorwebApache,bancodedadosMySQLelinguagemdescriptwebPHP)—todossãoprojetosopensource,istoé,baseadosemcódigolivre.Naverdade,opróprioFacebookusaummodelodedesenvolvimentodecódigo-fonteaberto,tornandoocódigo-fonteparaosaplicativoseferramentasqueguiamoFacebookdisponíveisparaopúblico.EssemodelotemajudadooFacebookaeliminarbugsrapidamente,obtercontribuiçõesdetodoomundoeimpulsionarocrescimentoexponencialdessaredesocial.

    OrganizaçõesfinanceirasquetêmtrilhõesdedólaresdependendodavelocidadeedasegurançadeseussistemasoperacionaistambémsebaseiammuitonoLinux.EssasincluemasbolsasdevaloresdeNovaYork,ChicagoeTóquio.

    AamplaadoçãodoLinuxemtodoomundocriouumademandaenormepeloseuconhecimento.EstecapítuloiniciavocêemumcaminhoparasetornarumespecialistaemLinux,ajudando-oaentenderoqueoLinuxé,deondeveioequaissãosuasoportunidadesporsetornarproficientenessesistema.Orestantedestelivroforneceatividadespráticasparalheajudaraganharessaexperiência.

  • EntendendooqueéoLinuxLinuxéumsistemaoperacionaldecomputador.Umsistemaoperacionalconsistenosoftwarequegerenciaseucomputadorepermitequevocêexecuteaplicativosnele.OquecaracterizaossistemasoperacionaisLinuxesimilaresé:

    Detectareprepararhardware—QuandoosistemaLinuxinicializa(quandovocêligaseucomputador),eleolhaparaoscomponentesemseucomputador(CPU,discorígido,placasderedeetc.)ecarregaossoftwares(driversemódulos)necessáriosparaacessardispositivosdehardwareespecíficos.

    Gerenciarprocessos—OsistemaoperacionaldevemanterocontroledeváriosprocessosemexecuçãoaomesmotempoedecidirquaistêmacessoàCPUequando.Osistematambémdeveoferecerformasdeiniciar,pararealterarostatusdosprocessos.

    Gerenciarmemória—MemóriaRAMeespaçodetroca(memóriaestendida)precisamseralocadosparaaplicativosconformeelesprecisamdememória.Osistemaoperacionaldecidecomoassolicitaçõesdememóriasãomanipuladas.

    Fornecerinterfacesdeusuário—Umsistemaoperacionaldevefornecermaneirasdeacessarosistema.OsprimeirossistemasLinuxeramacessadosapartirdeuminterpretadordelinhadecomandochamadoshell.Hoje,asinterfacesgráficasdesktopestãocomumentedisponíveis.

    Controlarsistemasdearquivos—Estruturasdosistemadearquivossãoincorporadasaosistemaoperacional(oucarregadascomomódulos).Osistemaoperacionalcontrolaaposseeacessoaosarquivosediretóriosquecontêmossistemasdearquivos.

    Proporcionaracessoeautenticaçãodeusuário—CriarcontasdeusuáriosedefinirlimitesparaeleséumacaracterísticabásicadoLinux.Separarcontasdeusuárioedegrupopermiteocontroledeseusprópriosarquivoseprocessos.

    Oferecerutilitáriosadministrativos—NoLinux,existemcentenas(talvezmilhares)decomandosejanelasgráficasparafazercoisascomoadicionarusuários,gerenciardiscos,monitorararede,instalarsoftwarese,demaneirageral,protegeregerenciarseucomputador.

    Iniciarserviços—Parautilizarimpressoras,tratarmensagensdelogefornecerumavariedadedesistemaseserviçosderede,processosrodamemsegundoplano,àesperadepedidosporvir.HámuitostiposdeserviçosquesãoexecutadosnoLinuxeelefornecediferentesmaneirasdeiniciarepararessesserviços.Emoutraspalavras,enquantooLinuxpossuinavegadoresparaexibirpáginasdaweb,eletambémpodeseraquelequeserveessaspáginasaoutros.Recursosdeservidorespopularesincluemservidoresdeweb,e-mail,bancodedados,impressora,arquivo,DNSeDHCP.

    Ferramentasdeprogramação—UmagrandevariedadedeutilitáriosdeprogramaçãoparacriaraplicativosebibliotecasafimdeimplementarinterfacesespeciaisestãodisponíveiscomoLinux.

    ComoumgerenciadordesistemasLinux,vocêprecisaaprenderatrabalharcomascaracterísticas

  • descritasanteriormente.Emboramuitosrecursospossamsergerenciadosusandointerfacesgráficas,umacompreensãodalinhadecomandodoshelléfundamentalparaalguémqueadministrasistemasLinux.

    OsmodernossistemasLinuxagoravãomuitoalémdoquepodiamosprimeirossistemasUNIX(emqueoLinuxsebaseava).RecursosavançadosnoLinux,frequentementeusadosemgrandesempresas,incluemosseguintes:

    Clustering—OLinuxpodeserconfiguradoparatrabalharem“clusters”,ouaglomeradosdecomputadores,demodoafazerváriossistemasapareceremcomoumsistemaparaomundoexterior.Osserviçospodemserconfiguradosparasedistribuírementreosnósdocluster,enquanto,paraaquelesqueosutilizam,pareçamestarfuncionandoseminterrupção.

    Virtualização—Paragerenciarrecursosdecomputaçãodeformamaiseficiente,oLinuxpodefuncionarcomoumservidordevirtualização.Nesseservidor,vocêpodeexecutaroutrossistemasLinux,MicrosoftWindows,BSD,ououtrossistemasoperacionaiscomoconvidadosvirtuais.Paraomundoexterior,cadaumdosconvidadosvirtuaisaparececomoumcomputadorseparado.OKVMeoXensãoduastecnologiasemLinuxparaacriaçãodemáquinasvirtuais.RedHatEnterpriseVirtualizationéumprodutodaRedHat,Inc.paragerenciarmúltiplosservidoresdevirtualização,convidadosvirtuaisearmazenamentodedados.

    Computaçãoemtemporeal—OLinuxpodeserconfiguradoparacomputaçãoemtemporeal,emqueosprocessosdealtaprioridadepossamesperarumaatençãorápidaeprevisível.

    Armazenamentoespecializado—Emvezdeapenasarmazenardadosnodiscorígidodocomputador,váriasinterfacesespecializadasdearmazenamentolocaleemredeestãodisponíveisemLinux.DispositivoscompartilhadosdearmazenamentoemLinuxincluemoiSCSI,oFibreChanneleoInfiniBand.

    Muitosdessestópicosavançadosnãosãoabordadosnestelivro.Masosrecursosabordadosaquiparausaroshell,trabalharcomdiscos,iniciarepararserviçoseconfigurarumagrandevariedadedeservidoresdevemservircomoumabaseparatrabalharcomessesrecursosavançados.

    EntendendocomooLinuxdiferedeoutrossistemasoperacionaisSevocêénovonoLinux,éprovávelquetenhausadoumsistemaoperacionalMicrosoftWindowsouAppleMacOS.EmboraoMacOSXtenhasuasraízesemumsistemaoperacionaldesoftwarelivre,referidocomoBerkeleySoftwareDistribution(maissobreissomaisadiante),ossistemasoperacionaisdaMicrosoftedaApplesãoconsideradossistemasoperacionaisproprietários.Issosignificaque:

    Vocênãopodeverocódigousadoparacriarosistemaoperacional.

    Você,portanto,nãopodealterarosistemaoperacionalemseusníveismaisbásicosseelenãoatendersuasnecessidades—evocênãopodeusarosistemaoperacionalparaconstruirseuprópriosistemaoperacionalapartirdocódigo-fonte.

  • Vocênãopodeverificarocódigoparaencontrarerros,explorarvulnerabilidadesdesegurança,ousimplesmentesaberoqueocódigoestáfazendo.

    Vocêpodenãosercapazdefacilmenteconectarseuprópriosoftwarecomosistemaoperacionalseoscriadoresdessesistemanãoquiseremexporasinterfacesdeprogramaçãoquevocêprecisaparaomundoexterior.

    Vocêpodelerasdeclaraçõessobreosoftwareproprietárioedizer:“Oquemeimporta?Eunãosouumdesenvolvedordesoftware.Eunãoqueroveroumudaromodocomomeusistemaoperacionaléconstruído.”

    Issopodeserverdade.Masofatodequeoutrospodemtersoftwarelivreedecódigo-fonteabertoeusá-locomoquiseremtemimpulsionadoocrescimentoexplosivodainternet,telefonescelulares(pensenoAndroid),dispositivosdecomputaçãoespeciais(pensenoTivo)ecentenasdeempresasdetecnologia.Osoftwarelivrebaixouoscustosdecomputaçãoepermitiuumaexplosãodeinovação.

    TalvezvocênãoqueirausaroLinux—deformasemelhanteaqueoGoogle,oFacebookeoutrasempresastêmusado—paraconstruirafundaçãodeumaempresadebilhõesdedólares.MasessaseoutrasempresasqueagoracontamcomoLinuxparaconduzirsuasinfraestruturasdecomputadorestãoprecisandodecadavezmaispessoascomashabilidadespararodaressessistemas.

    Vocêpodeseperguntarcomoumsistemadecomputadorqueétãopoderosoeflexíveltornou-selivretambém.Paraentendercomoissoaconteceu,vocêprecisaverdeondeoLinuxveio.Assim,apróximaseçãodestecapítulodescreveocaminhoestranhoesinuosodomovimentodosoftwarelivrequelevouaoLinux.

    ExplorandoahistóriadoLinuxAlgumashistóriasdoLinuxcomeçamcomessamensagempostadaporLinusTorvaldsnonewsgroupcomp.os.minixem26deagostode1991(http://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044b):

    LinusBenedictTorvalds

    Olápessoalporaíusandominix-

    Estoucriandoumsistemaoperacional(livre)(apenasumhobby,nãoserágrandeeprofissionalcomoognu)paraclonesAT386(486).Elevemcrescendodesdeabrileestácomeçandoaficarpronto.Eugostariadequalquerfeedbackdaspessoassobreoquegostaramounãonominix,umavezquemeuOSsepareceumpoucocomele(mesmolayoutfísicodosistemadearquivos(devidoarazõespráticas,entreoutrascoisas)...Quaisquersugestõesserãobem-vindas,masnãoprometoquevouimplementá-las.:-)

    Linus([email protected])

    P.S.:Sim—nãocontémnenhumcódigominixetemumfsmulti-threaded.NÃOéportável[sic](usaalternânciadetarefasde386etc)eprovavelmentenuncavaisuportaroutracoisasenãodiscosrígidosAT,jáqueissoétudooquetenho.:-(

    OMinixeraumsistemaoperacionaltipoUNIXquerodavaemPCsnoiníciodadécadade1990.Assim

    http://comp.os.minixhttp://groups.google.com/group/comp.os.minix/msg/b813d52cbc5a044bmailto:[email protected]

  • comooMinix,oLinuxtambémeraumclonedosistemaoperacionalUNIX.Compoucasexceções,comooMicrosoftWindows,sistemasdecomputadoresmaismodernos(incluindoMacOSXeLinux)eramprovenientesdesistemasoperacionaisUNIX,criadosoriginalmentepelaAT&T.

    ParaapreciarverdadeiramentecomoumsistemaoperacionallivrepoderiatersidoprojetadocombaseemumsistemaproprietáriodosLaboratóriosBelldaAT&T,ajudaentenderaculturaemqueoUNIXfoicriadoeacadeiadeeventosquetornarampossívelreproduzirlivrementeaessênciadessesistema.

    NotaPara saber mais sobre como o Linux foi criado, pegue o livro Just For Fun: The Story of an AccidentalRevolutionary,deLinusTorvalds(HarperCollinsPublishing,2001).

    AculturadefluxolivredoUNIXnoBellLabsDesdeoinício,osistemaoperacionalUNIXfoicriadoenutridoemumambientedecomunidade.Suacriaçãonãofoiimpulsionadapornecessidadesdomercado,masporumdesejodesuperarosobstáculosnaproduçãodeprogramas.AAT&T,quedetinhaamarcaUNIXoriginalmente,acaboutransformandooUNIXemumprodutocomercial,masaessaaltura,muitosdosconceitos(eatémesmograndepartedocódigoinicial)quetornavamoUNIXespecialtinhamcaídoemdomíniopúblico.

    SevocênãotemidadesuficienteparalembrarquandoaAT&Tsedividiu,em1984,vocêpodenãoselembrardeumaépocaemqueaAT&Tera“a”companhiatelefônica.Atéoiníciode1980,aAT&Tnãoprecisavapensarmuitoemcompetição,porquesevocêqueriaumtelefonenosEstadosUnidos,tinhaderecorreràAT&T.Elasedavaaoluxodefinanciarprojetosdepesquisapura.AMecaparataisprojetoseraoBellLaboratories,emMurrayHill,NovaJersey.

    DepoisqueumprojetochamadoMulticsfalhouporvoltade1969,osfuncionáriosdaBellLabsKenThompsoneDennisRitchiedecidiramsairecriarporcontaprópriaumsistemaoperacionalqueoferecesseummelhorambienteparaodesenvolvimentodesoftware.Naquelaépoca,amaioriadosprogramaseraescritaemcartõesperfuradosquetinhamdeserinseridosemlotesemcomputadoresmainframe.Emumapalestraem1980sobre“AEvoluçãodoSistemadeCompartilhamentodeTempodoUNIX”,DennisRitchieresumiuoespíritoqueiniciouoUNIX:

    Oquequeríamospreservareranãosóumbomambienteparafazerprogramação,masumsistemaemtornodoqualumcompanheirismopoderiaseformar.Sabíamos,porexperiência,queaessênciadacomputaçãoemcomunidadedamaneiraproporcionadapeloacessoremotoeocompartilhamentodetempodemáquinasnãoéapenasparadigitarprogramasemumterminalemvezdeumfuradordepapel,masparaencorajaracomunicaçãodeperto.

    AsimplicidadeeopoderdoprojetoUNIXcomeçouaquebrarasbarreirasque,atéesseponto,impediamosdesenvolvedoresdesoftware.AfundaçãodoUNIXfoicriadacomvárioselementos-chave:

    OsistemadearquivosUNIX—Porqueincluíaumaestruturaquepermitianíveisdesubdiretórios(osquais,paraosusuáriosdedesktopdehoje,parecempastasdentrodepastas),oUNIXpoderiaserusadoparaorganizarosarquivosediretóriosdeformaintuitiva.Alémdisso,oscomplexos

  • métodosdeacessardiscos,fitaseoutrosdispositivosforamsignificativamentesimplificados,representandoessesdispositivoscomoarquivosdedispositivosindividuaisquevocêtambémpodiaacessarcomoitensemumdiretório.

    Redirecionamentodeentrada/saída—OsprimeirossistemasUNIXtambémincluíamredirecionamentodeentrada.Apartirdeumalinhadecomando,osusuáriosUNIXpodiamdirecionarasaídadeumcomandoparaumarquivousandoumatecladesetaparaadireita(>).Maistarde,oconceitoderedirecionamento(usandoocaractere|,conhecidocomo“pipe”eminglês)foiampliadofazendoasaídadeumcomandoserdirecionadaparaaentradadeoutro.Porexemplo,ocomandoaseguirconcatena(cat)oarquivo1earquivo2,ordena(sort)aslinhasnessesarquivosalfabeticamente,paginaotextoclassificadoparaaimpressão(pr)edirecionaasaídaparaaimpressorapadrãodocomputador(lpr):

    $catfile1file2|sort|pr|lpr

    Essemétododedirecionarentradaesaídapermitiuaosdesenvolvedorescriarseusprópriosutilitáriosespecializadosquepodiamservinculadoscomutilitáriosexistentes.Essamodularidadetornoupossívelquelotesdecódigofossemdesenvolvidospormuitaspessoasdiferentes.Umusuáriopoderiasimplesmentemontaraspeçasparaoqueeleprecisava.

    Portabilidade—SimplificaraexperiênciadeusarUNIXtambémotornouextremamenteportátilpararodaremdiferentescomputadores.Porterdriversdedispositivo(representadosporarquivosnaárvoredearquivos),oUNIXpoderiaapresentarumainterfaceparaaplicaçõesdetalformaqueosprogramasnãoprecisavamsabersobreosdetalhesdohardwaresubjacente.ParamaistardeportaroUNIXparaoutrosistema,osdesenvolvedoressóprecisavammudarosdrivers.Osprogramasaplicativosnãoprecisavamseralteradospararodaremumhardwarediferente!

    Paratornaraportabilidadeumarealidade,eranecessáriaumalinguagemdeprogramaçãodealtonívelafimdeimplementarosoftwarenecessário.Paraessefim,BrianKernighaneDennisRitchiecriaramalinguagemdeprogramaçãoC.Em1973,oUNIXfoireescritoemC.Hoje,oCaindaéoprincipalidiomausadoparacriarokerneldossistemasoperacionaisUnix(eLinux).

    ComoRitchiechegouadizeremumapalestra,em1979(hhtp://.bell-labs.com/who/dmr/hist.html):

    Hoje,oúnicoprogramaUNIXimportanteaindaescritoemassembleréoassembleremsi,praticamentetodososprogramasutilitáriosestãoemCeporissosãoamaioriadosprogramas,emboratambémexistamlocaiscommuitosemFortran,PascaleAlgol68.ParececertoqueamaiorpartedosucessodoUNIXresultadalegibilidade,modificabilidadeeportabilidadedoseusoftwareque,porsuavez,resultadasuaexpressãoemlinguagensdealtonível.

    SevocêéumentusiastadoLinuxeestáinteressadonosrecursosdeseusprimeirosdiasquesobreviveramatéhoje,umaleiturainteressanteéareimpressãodoprimeiromanualprogramadorUNIXfeitoporDennisRitchie(datadoem3denovembrode1971).Vocêpodeencontrá-lonositedeDennisRitchie:http://cm.belllabs.com/cm/cs/who/dmr/1stEdman.html.Aformadessadocumentaçãoéadas“páginasman”(páginadomanual)doUNIX—queaindaéoprincipalformato

    http://.bell-labs.com/who/dmr/hist.htmlhttp://cm.belllabs.com/cm/cs/who/dmr/1stEdman.html

  • paradocumentarcomandosdesistemaoperacionalUNIXeLinuxeferramentasdeprogramaçãodehojeemdia.

    OqueficaclaroquandovocêlêadocumentaçãoinicialeosrelatosdosistemaUNIXéqueodesenvolvimentofoiumprocessodefluxolivre,semego,esededicouatornaroUNIXexcelente.Esseprocessolevouaumcompartilhamentodecódigo(dentroeforadaBellLabs),oquepermitiuorápidodesenvolvimentodeumsistemaoperacionalUNIXdealtaqualidade.IssotambémlevouaumsistemaoperacionalqueaAT&Tteriadificuldadeemrecuperarmaistarde.

    OUNIXcomercializadoAntesdaalienaçãodeparticipaçãosocietáriadaAT&Tem1984,quandoelafoidivididaemAT&Teseteempresas“BabyBell”,aAT&Tfoiproibidadevendersistemasdecomputador.AsempresasquemaistardesetornariamVerizon,QwesteAlcatel-LucenteramtodaspartedaAT&T.Comoresultadodessemonopóliodosistemadetelefonia,ogovernodosEUAestavapreocupadocomapossibilidadedequeumaAT&Tirrestritapudessedominaraincipienteindústriadecomputadores.

    Porcausadisso,aAT&Tfoiimpedidadevendercomputadoresdiretamenteaosclientesantesdesuaalienação,ocódigo-fonteUNIXfoilicenciadoparauniversidadesporumvalorsimbólico.NãohaviaumsistemaoperacionalUNIXparavendapelaAT&Tquevocênãotivessedecompilarporsuaprópriaconta.

    ChegaaBerkeleySoftwareDistributionEm1975,oUNIXV6tornou-seaprimeiraversãoUNIXdisponívelparausogeneralizadoforadaBellLaboratories.Apartirdessecódigo-fonteUNIXinicial,aprimeiravarianteimportantedoUNIXfoicriadanaUniversidadedaCalifórnia,emBerkeley,efoibatizadacomoBerkeleySoftwareDistribution(BSD).

    Duranteamaiorpartedadécadaseguinte,asversõesBSDeUNIXdaBellLabstomaramdireçõesdistintas.OBSDcontinuouàfrentenoestilofluxolivreecompartilhado,queeraamarcadoUNIXinicialdaBellLabs,enquantoaAT&TcomeçavaadirecionaroUNIXparaacomercialização.ComaformaçãodeumUNIXLaboratoryseparado,quesaiudeMurrayHilleseestabeleceuemSummit,NovaJersey,aAT&TiniciousuastentativasdecomercializaroUNIX.Em1984,aalienaçãosocietáriaimpostapelogovernoespreitavaaAT&TeelaestavaprontapararealmentecomeçaracomercializaroUNIX.

    OUNIXLaboratoryeaComercializaçãoOUNIXLaboratoryeraconsideradoumajoiaquenãoconseguiaencontrarumlarouumamaneiradedarlucro.EnquantosemoviaentreaBellLaboratorieseoutrasáreasdaAT&T,seunomemudouváriasvezes.EleéprovavelmentemelhorlembradopelonomequetinhaquandocomeçousuaproliferaçãoapartirdaAT&T:UNIXSystemLaboratories(USL).

    Ocódigo-fontedoUNIXquesaiudaUSL,olegadoqueagorapertenceemparteàSantaCruzOperation(SCO),temsidousadocomobaseparaosprocessosdaSCOcontraosprincipaisfornecedoresdoLinux(comoaIBMeaRedHat,Inc.).Porcausadisso,achoqueosesforçosdeUSLquecontribuíramparaosucessodoLinuxsãoesquecidospelamaioriadaspessoas.

  • Duranteadécadade1980,naturalmente,muitasempresasdeinformáticatinhammedodequearecém-vendidaAT&Trepresentasseumaameaçamaiorparaocontroledaindústriadecomputadoresdoqueseriaumaempresainiciante,emRedmond,Washington.ParaacalmarostemoresdaIBM,Intel,DigitalEquipmentCorporationeoutrasempresasdeinformática,oUNIXLabfezosseguintescompromissosparagarantiraigualdadedecondições:

    Código-fonteúnico—EmvezdeproduzirseupróprioconjuntodecaixasUNIX,aAT&Tcontinuouavenderapenasocódigo-fonteetorná-lodisponíveligualmenteatodososlicenciados.Cadaempresa,então,portariaoUNIXparaseupróprioequipamento.Masfoisóem1992,quandoolaboratóriofoidesmembradocomoumajointventurecomaNovell(chamadaUnivel)eentãoacabousendovendidoparaaNovell,queumconjuntocomercialemcaixadoUNIX(chamadoUnixWare)foiproduzidodiretamenteapartirdaquelecódigo-fonte.

    Interfacespublicadas—ParacriarumambientedejustiçaecomunidadeparaseusOEMs(fabricantesdeequipamentosoriginais),aAT&TcomeçouapadronizaroqueosdiferentesfornecedoresdeUNIXtinhamdesercapazesdefazerparacontinuaraserchamadodeUNIX.Paraessefim,oPortableOperatingSystemInterface(POSIX)eaAT&TUNIXSystemVInterfaceDefinition(SVID)eramespecificaçõesqueosfornecedoresdeUnixpoderiamusarparacriarsistemascompatíveiscomUNIX.EssesmesmosdocumentostambémserviramcomoroteirosparaacriaçãodoLinux.

    NotaEmumapostageminicialnogrupodenotíciaspore-mail,LinusTorvaldsfezumpedidodeumacópia,depreferênciaonline,dopadrãoPOSIX.AchoqueninguémdaAT&TesperavaalguémserrealmentecapazdeescreverseupróprioclonedoUNIXapartirdessasinterfaces,semousodequalquerpartedoseucódigo-fonteUNIX.

    Abordagemtécnica—Maisumavez,atéofimdaUSL,amaioriadasdecisõessobreadireçãodoUNIXeramfeitascombaseemconsideraçõestécnicas.Ogerenciamentofoipromovidoentreopessoaltécnicoe,atéondeeusei,nuncahouvequalquerconversasobreescreverumsoftwareparaquebrarodeoutrasempresasourestringirosucessodeparceirosdaUSL.

    QuandoporfimaUSLcomeçouacontratarespecialistasemmarketingecriarumprodutodesktopUNIXparausuáriosfinais,oMicrosoftWindowsjátinhaumafirmepredominâncianomercadodedesktops.Também,porqueadireçãodoUNIXtinhaidosemprenosentidodocódigo-fontedelicenciamentodestinadoasistemasdecomputaçãodegrandeporte,aUSLtinhadificuldadesparaprecificarseusprodutos.Porexemplo,emumsoftwarequeelaestavaincluindonoUNIX,aUSLeraobrigadaapagartaxasdelicenciamentoporcomputadorquesebaseavamemmainframesdeUS$100.000emvezdecomputadoresdeUS$2.000.AdicioneaissoofatodequenãohaviaprogramasaplicativosdisponíveisparaoUnixWareevocêpodeverporqueoesforçofalhou.

    MasummarketingdesucessodesistemasUNIXdaépocaestavaacontecendocomoutrasempresasdeinformática.ASCOtinhaencontradoumnichodemercado,principalmentevendendoversõesparaPCdoUNIXexecutandoterminaisburrosempequenosescritórios.ASunMicrosystemsestavavendendoumgrandenúmerodeestaçõesdetrabalhoUNIX(originalmentebaseadasnoBSD,masfundidascomoUNIXnoSVR4)paraprogramadoreseaplicaçõesdetecnologiasofisticada(comobolsasdevalores).

  • OutrossistemasUNIXcomerciaistambémforamsurgindonadécadade1980.EssanovaafirmaçãodepropriedadedoUNIXestavacomeçandoacobrarseupreçoaoespíritodascontribuiçõesabertas.Começaramasurgirprocessosparaprotegerocódigo-fonteemarcascomerciaisdoUNIX.Em1984,essenovoUNIXrestritivodeuorigemaumaorganizaçãoquepavimentouumaestradaparaoLinux:aFreeSoftwareFoundation(FundaçãodoSoftwareLivre).

    OGNUfazatransiçãodoUNIXparaaliberdadeEm1984,RichardM.StallmaniniciouoprojetoGNU(http://www.gnu.org),recursivamentechamadopelafraseGNUisNotUNIX(GNUNãoéUNIX).ComoumprojetodaFreeSoftwareFoundation(FSF),oGNUeraparasetornarumarecodificaçãodetodoosistemaoperacionalUNIXquepoderiaserdistribuídagratuitamente.

    ApáginadoprojetoGNU(http://www.gnu.org/gnu/thegnuproject.html)contaahistóriadecomoelesurgiu,nasprópriaspalavrasdeStallman.Eletambémexpõeosproblemasqueasempresasparticularesdesoftwareimpunhamsobreosdesenvolvedoresquequeriamcompartilhar,criareinovar.

    Emborareescrevermilhõesdelinhasdecódigopossaparecerassustadorparaumaouduaspessoas,distribuiroesforçoentredezenasoumesmocentenasdeprogramadorestornouoprojetopossível.Lembre-sedequeoUNIXfoiprojetadoparaserconstruídoempartesseparadasquepoderiamserunidas.Comoelesestavamreproduzindocomandoseutilitárioscominterfacesconhecidas,esseesforçopoderiaserfacilmentedivididoentremuitosdesenvolvedores.

    Descobriu-senãoapenasqueosmesmosresultadospodiamseralcançadoscomumcódigototalmentenovo,mastambémque,emalgunscasos,ocódigoeramelhordoqueasversõesoriginaisdoUNIX.Comotodomundopodiaverocódigosendoproduzidoparaoprojeto,ocódigomalescritopodiasercorrigidorapidamenteousubstituídoaolongodotempo.

    SevocêestáfamiliarizadocomoUNIX,tenteprocurarosmilharesdepacotesdesoftwareGNUparaseucomandoUNIXfavoritoapartirdoFreeSoftwareDirectory(http://directory.fsf.org/GNU),Provavelmente,vocêvaiencontrá-lolá,juntocommuitosoutrosprojetosdesoftwaredisponívelcomosuplementos.

    Comotempo,otermosoftwarelivre(freesoftware)temsidoquasesempresubstituídopelosoftwaredecódigo-fonteaberto(opensourcesoftware).O“softwarelivre”éopreferidopelaFreeSoftwareFoundation,enquantoosoftwaredecódigo-fonteabertoépromovidopelaOpenSourceInitiative(http://www.opensource.org).

    Paraacomodarambososcampos,algumaspessoasusamotermoFreeandOpenSourceSoftware(FOSS)emseulugar.UmprincípiosubjacentedoFOSS,porém,éque,emboravocêsejalivreparausarosoftwarequequiser,vocêtemalgumaresponsabilidadeparadisponibilizarasmelhoriasquefeznocódigoparaoutrosusuários.Dessaforma,todaacomunidadepodesebeneficiardoseutrabalho,assimcomovocêsebeneficioudotrabalhodosoutros.

    Paradefinirclaramentecomosoftwareopensourcedevesertratado,oprojetodesoftwareGNUcriouaGNUPublicLicense,ouGPL.Emboramuitasoutraslicençasdesoftwarecubramabordagensligeiramentediferentesparaprotegerosoftwarelivre,aGPLéamaisconhecida—eéaúnicaquecobre

    http://www.gnu.orghttp://www.gnu.org/gnu/thegnuproject.htmlhttp://directory.fsf.org/GNUhttp://www.opensource.org

  • oprópriokerneldoLinux.CaracterísticasbásicasdaGNUPublicLicenseincluemasseguintes:

    Direitosdoautor—Oautororiginalmantémosdireitosparaseusoftware.

    Distribuiçãolivre—AspessoaspodemutilizarosoftwareGNUemseuprópriosoftware,alterareredistribuí-locomobemquiserem.Essaspessoastêmdeincluirocódigo-fontenasuadistribuição(outorná-lofacilmentedisponível).

    Direitosautoraismantidos—Mesmoquevocêreempacoteerevendaosoftware,oacordoGNUoriginaldevesermantidocomosoftware,oquesignificaquetodososseusdestinatáriosfuturostêmaoportunidadedealterarocódigo-fonte,assimcomovocêfez.

    NãohágarantiaemsoftwareGNU.Sealgosairerrado,odesenvolvedororiginaldosoftwarenãotemnenhumaobrigaçãodecorrigiroproblema.Masmuitasorganizações,grandesepequenas,oferecempacotesdesuportepagoparaosoftwarequandoeleéincluídonasuadistribuiçãoLinuxououtrosoftwaredecódigo-fonteaberto.(Vejaaseção“DefiniçãodeCódigo-fonteAbertodaOSI”,maisadiantenestecapítulo,paraumadefiniçãomaisdetalhadadosoftwaredecódigoaberto.)

    ApesardeseusucessonaproduçãodemilharesdeutilitáriosUNIX,oprojetoGNUemsinãoconseguiuproduzirumapeçafundamentaldocódigo:okernel.Suastentativasdeconstruirumkerneldecódigo-fonteabertocomoprojetoGNUHurd(http://www.gnu.org/software/hurd)forammalsucedidas.

    OBSDperdeumpoucodasuaforçaOprojetodesoftwarequeteveachancedebateroLinuxemseroprimeirodecódigo-fonteabertofoioantigoevenerávelprojetoBSD.Nofinaldadécadade1980,osdesenvolvedoresdoBSDdaUniversidadedaCalifórnia(UC)emBerkeleyperceberamquejáhaviamreescritoamaiorpartedocódigo-fontedoUNIXquetinhamrecebidoumadécadaantes.

    Em1989,aUniversidadedeBerkeleydistribuiuseuprópriocódigoUNIXcomoNet/1emaistarde(em1991)comoNet/2.LogoqueaUCBerkeleycomeçouaprepararumcompletosistemaoperacionaldotipoUNIXlivredetodoocódigodaAT&T,estaentroucomumaaçãojudicialem1992contraaUniversidade.AaçãoalegavaqueosoftwarefoiescritousandosegredoscomerciaisobtidosapartirdosistemaUNIXdaAT&T.

    ÉimportantenotaraquiqueosdesenvolvedoresdoBSDtinhamreescritocompletamenteocódigoprotegidopordireitosautoraisdaAT&T.OsdireitosautoraiseramoprincipalmeioqueaAT&TusavaparaprotegerseusdireitossobreocódigoUNIX.AlgunsacreditamqueseaAT&Ttivessepatenteadoosconceitosabordadosnessecódigo,poderianãohaverumsistemaoperacionalLinux(ouqualquerclonedoUNIX)hoje.

    AaçãofoiabandonadaquandoaNovellcomprouoUNIXSystemLaboratoriesdaAT&Tem1994.Mas,duranteesseperíodocrítico,haviamedoedúvidassobrealegalidadedocódigoBSD,osuficienteparaqueoimpulsoqueoBSDhaviaganhoaessaalturanajovemcomunidadedecódigo-fonteabertofosseperdido.Muitaspessoascomeçaramaprocuraroutraalternativadecódigo-fonteaberto.OmomentoerapropícioparaumestudanteuniversitáriodaFinlândiaqueestavatrabalhandoemseuprópriokernel.

    http://www.gnu.org/software/hurd

  • NotaHoje,asversõesBSDestãodisponíveisapartirdetrêsgrandesprojetos:FreeBSD,NetBSDeOpenBSD.AspessoasgeralmentecaracterizamoFreeBSDcomoomais fácildeusar,oNetBSDcomodisponívelparaomaiornúmerodeplataformas de hardware de computador e o OpenBSD como omais fanaticamente seguro. Muitas pessoasmaispreocupadascomasegurançaaindapreferemoBSDaoLinux.Alémdisso,porcausadeseulicenciamento,ocódigoBSD pode ser utilizado por fabricantes de software proprietário, como a Microsoft e a Apple, que não desejamcompartilharocódigodoseusistemaoperacionalcomosoutros.OMacOSXéconstruídosobreumderivadodoBSD.

    LinusconstróiapeçaquefaltavaLinusTorvaldscomeçouatrabalharnoLinuxem1991,quandoaindaeraumestudantedaUniversidadedeHelsinki,naFinlândia.ElequeriacriarumkerneltipoUNIXparapoderusaromesmotipodesistemaoperacionalqueeleusavanaescolaemseuPCemcasa.Naépoca,LinusestavausandoMinix,maselequeriairalémdoqueospadrõesMinixpermitiam.

    Comoobservadoanteriormente,LinusanunciouaprimeiraversãopúblicadokerneldoLinuxparaogrupodenotíciascomp.os.minix,em26deagostode1991,emboraTorvaldsachequeaprimeiraversãonãochegouasairatémeadosdesetembrodomesmoano.

    EmboraTorvaldsafirmassequeoLinuxfoiescritoparaoprocessador386eprovavelmentenãoeraportável,outroscontinuaramaincentivar(econtribuirpara)umaabordagemmaisportávelnasprimeirasversõesdoLinux.Em5deoutubro,oLinux0.02foilançadocomgrandepartedocódigoassemblyoriginalreescritonalinguagemdeprogramaçãoC,oquetornoupossívelcomeçaraportá-loparaoutrasmáquinas.

    OkerneldoLinuxfoiaúltima—emaisimportante—partedocódigonecessáriaparacompletarumsistemaoperacionaldotipoUNIXcompletosobaGPL.Então,quandoaspessoascomeçaramamontarasdistribuições,foionomeLinuxenãoGNUquepegou.Algumasdistribuições,comooDebian,porém,referem-seasimesmascomodistribuiçõesGNU/Linux.(AnãoinclusãodapalavraGNUnotítuloousubtítulodeumsistemaoperacionalLinuxtambémémotivodemuitasreclamaçõespúblicasdealgunsmembrosdoprojetoGNU.Verhttp://www.gnu.org.)

    Hoje,oLinuxpodeserdescritocomoumsistemaoperacionaldecódigo-fonteabertotipoUNIX,querefleteumacombinaçãodeconformidadedepadrõescomoSVID,oPOSIXeoBSD.OLinuxcontinuaaapontarparaaconformidadecomoPOSIX,bemcomocomasnormasestabelecidaspeloproprietáriodamarcaUNIX,TheOpenGroup(http://www.unix.org).

    AorganizaçãosemfinslucrativosOpenSourceDevelopmentLabs,rebatizadacomoLinuxFoundationapósafusãocomoFreeStandardsGroup(http://www.linuxfoundation.org),queempregaLinusTorvalds,gerenciahojeadireçãodosesforçosdedesenvolvimentodoLinux.Sualistadepatrocinadoresécomoum“QueméQuem”dosfornecedoresdesistemaeaplicativosLinuxcomerciais,incluindoIBM,RedHat,SUSE,Oracle,HP,Dell,ComputerAssociates,Intel,CiscoSystems,entreoutros.OprincipalobjetivodaLinuxFoundationéprotegereacelerarocrescimentodoLinux,fornecendoproteçãojurídicaepadrõesdedesenvolvimentodesoftwareparadesenvolvedoresLinux.

    EmboragrandepartedosesforçosdoLinuxsejavoltadaparaacomputaçãocorporativa,grandes

    http://comp.os.minixhttp://www.gnu.org.http://www.unix.orghttp://www.linuxfoundation.orghttp://oreilly.com/catalog/opensources/book/toc.html

  • aprimoramentostambémcontinuamnaáreadodesktop.OsambientesdedesktopKDEeGNOMEaprimoramcontinuamenteaexperiênciadoLinuxparausuárioscasuais.Ambientesdetrabalho“leves”maisrecentes,comooXfceeoLXDEagoraoferecemalternativaseficientesquehojetrazemoLinuxparamilharesdeusuáriosdenetbooks.

    LinusTorvaldscontinuaamantereaprimorarokerneldoLinux.

    NotaPara uma história mais detalhada do Linux, consulte o livro Open Sources: Voices from the Open SourceRevolution (O’Reilly, 1999). A primeira edição está disponível online emhttp://oreilly.com/catalog/opensources/book/toc.html.

    Definiçãodecódigo-fonteabertodaOSIOLinuxforneceumaplataformaquepermitequeosdesenvolvedoresdesoftwarealteremosistemaoperacionalcomoquiseremeobtenhamumaamplagamadeformasdeajudaparacriarosaplicativosqueprecisam.Umdoscãesdeguardadomovimentodecódigo-fonteabertoéaOpenSourceInitiative(OSI,http://www.opensource.org).

    Emboraoobjetivoprincipaldesoftwaredecódigo-fonteabertosejadisponibilizarocódigo-fonte,outrosobjetivostambémsãodefinidospelaOSI.Amaioriadasregrasaseguirparalicençasdecódigo-fonteabertoaceitáveisservemparaprotegeraliberdadeeaintegridadedocódigo-fonteaberto:

    Distribuiçãogratuita—Umalicençadecódigo-fonteabertonãopodeexigirumataxadequemrevendeosoftware.

    Código-fonte—Ocódigo-fontedeveserincluídocomosoftwareenãopodehaverrestriçõesàsuaredistribuição.

    Obrasderivadas—Alicençadevepermitiramodificaçãoearedistribuiçãodocódigosobosmesmostermos.

    Integridadedocódigo-fontedoautor—Alicençapodeexigirqueaquelesqueusamocódigo-fonteremovamonomeouaversãodoprojetooriginalseelesalteraremocódigo-fonte.

    Nãodiscriminaçãocontrapessoasougrupos—Alicençadevepermitirquetodasaspessoaspossamusarocódigo-fonte.

    Nenhumadiscriminaçãocontraoscamposdeatividade—Alicençanãopoderestringirumprojetodeusarocódigo-fonteporqueécomercialouporqueestáassociadoaumcampodetrabalhodequeofornecedordosoftwarenãogosta.

    Distribuiçãodalicença—Nenhumalicençaadicionaldevesernecessáriaparausareredistribuirosoftware.

    Alicençanãodeveserespecíficaparaumproduto—Alicençanãopoderestringirocódigo-fonteaumadistribuiçãodesoftwareespecífico.

    http://www.opensource.org

  • Alicençanãodeverestringiroutrosoftware—Alicençanãopodeimpedirquealguémincluaosoftwaredecódigo-fonteabertonamesmamídiaqueosoftwaredecódigo-fontenãoaberto.

    Alicençadevesertecnologicamenteneutra—Alicençanãopoderestringirosmétodosemqueocódigo-fontepodeserredistribuído.

    Licençasdecódigo-fonteabertousadasporprojetosdedesenvolvimentodesoftwaredevematenderaessescritériosparaseremaceitascomosoftwaredecódigo-fonteabertopelaOSI.Maisde40diferenteslicençassãoaceitaspelaOSIparaseremusadasafimdemarcarosoftwarecomoo“OSICertifiedOpenSourceSoftware”.AlémdaGPL,outrospopulareslicençasaprovadaspelaOSIincluem:

    LGPL—AGNULesserGeneralPublicLicense(LGPL)éfrequentementeusadaparaadistribuiçãodebibliotecasdasquaisoutrosprogramasdeaplicaçãodependem.

    BSD—AlicençaBerkeleySoftwareDistributionpermitearedistribuiçãodocódigo-fonte,comaexigênciadequeocódigo-fontemantenhaoavisodedireitosautoraisBSDenãouseosnomesdoscolaboradoresparaapoiaroupromoversoftwarederivadosemautorizaçãoporescrito.AprincipaldiferençadaGPL,porém,équeoBSDnãorequerqueaspessoasquemodificamocódigopassemessasmudançasparaacomunidade.Comoresultado,osfornecedoresdesoftwareproprietário,comoaAppleeaMicrosofttêmutilizadocódigoBSDemseusprópriossistemasoperacionais.

    MIT—AlicençaMITécomoalicençaBSD,excetoquenãoincluiaexigênciadesuporteepromoção.

    Mozilla—AlicençaMozillaabrangeousoeredistribuiçãodecódigo-fonteassociadocomonavegadorFirefoxeoutrossoftwaresrelacionadosaoprojetoMozilla(http://www.mozilla.org).Éumalicençamuitomaislongaqueasoutrasjámencionadas,poiscontémmaisdefiniçõesdecomooscolaboradoreseaquelesquereutilizamocódigo-fontedevemsecomportar.Issoincluiaapresentaçãodeumarquivodemudançasaofazermodificações,equeaquelesquefazemsuasprópriasadiçõesaocódigoparaaredistribuiçãodevemestarcientesdosproblemasdepatentesououtrasrestriçõesassociadasaoseucódigo.

    Oresultadofinaldocódigo-fonteabertoéumsoftwarequetemumamaiorflexibilidadeparacresceremenosfronteirasnaformacomopodeserusado.Muitosacreditamqueofatodequeumgrandenúmerodepessoasexaminamocódigo-fontedeumprojetoresultaemsoftwaredemaiorqualidadeparatodos.Comoodefensordocódigo-fonteabertoEricS.Raymonddizemumafrasemuitocitada:“Muitosolhosfazemtodososbugsemergirem”.

    EntendendocomoasdistribuiçõesLinuxsurgiramTerpacotesdecódigo-fonteespalhadospelainternetquepodemsercompiladoseempacotadosemumsistemaLinuxfuncionoubemparaosgeeks.OsusuáriosmaiscasuaisdeLinux,porém,precisavamdeumamaneiramaissimplesdemontarumsistemaLinux.Pararesponderaessanecessidade,algunsdosmelhoresnerdscomeçaramaconstruirsuasprópriasdistribuiçõesLinux.

    UmadistribuiçãoLinuxécompostadoscomponentesnecessáriosparacriarumsistemadetrabalhoLinux

    http://www.mozilla.org

  • eosprocedimentosnecessáriosparateroscomponentesinstaladosefuncionando.Tecnicamente,oLinuxérealmenteapenasoqueéreferidocomokernel.Antesdeokernelpoderserútil,vocêdeveteroutrossoftwares,comocomandosbásicos(utilitáriosGNU),serviçosquepretendeoferecer(comologinremotoouservidoresweb)e,possivelmente,umainterfacededesktopeaplicativosgráficos.Então,vocêdevesercapazdejuntartudoissoeinstalá-lonodiscorígidodoseucomputador.

    OSlackware(http://www.slackware.com)éumadasmaisantigasdistribuiçõesLinuxqueaindahojeestãosendodesenvolvidas.EletornouoLinuxamigávelparausuáriosmenostécnicos,distribuindosoftwarejácompiladoeagrupadoempacotes(ospacotesdecomponentesdesoftwareeramchamadosdetarballs).Costumava-seusarcomandosbásicosdoLinuxnaépocaparafazercoisascomoformatarodisco,ativaroswap(trocadedadosentreamemóriaeodisco)ecriarcontasdeusuário.

    Empoucotempo,muitasoutrasdistribuiçõesLinuxforamcriadas,algumasdelasparaatenderanecessidadesespeciais,comooKNOPPIX(umliveCD1Linux),oGentoo(umLinuxeleganteecustomizável)eoMandrake(maistardechamadoMandriva,quefoiumadasváriasdistribuiçõesdeLinuxparadesktop).Masduasprincipaisdistribuiçõescresceramparasetornaremabaseparamuitasoutrasdistribuições:oRedHatLinuxeoDebian.

    EscolhendoumadistribuiçãoRedHatQuandoaRedHatLinuxapareceunofinaldadécadade1990,rapidamentesetornouamaispopulardistribuiçãoLinuxporváriasrazões:

    GerenciamentodepacotesRPM—Emboraostarballssejambonsparainstalarsoftwareemseucomputador,elesnãofuncionamtãobemquandovocêqueratualizar,removeroumesmosabermaissobreessesoftware.ORedHatcriouoformatodeempacotamentoRPM;assim,umpacotedesoftwarepodeconternãosóosarquivosaseremcompartilhados,mastambéminformaçõessobreaversãodopacote,quemocriou,quaisarquivoseramdocumentaçãoouarquivosdeconfiguraçãoequandoforamcriados.AoinstalarsoftwareempacotadoemformatoRPM,essasinformaçõessobrecadapacotedesoftwarepodemserarmazenadasemumbancodedadosRPMlocal.Tornou-sefácilencontraroquefoiinstalado,atualizá-loouremovê-lo.

    Instalaçãosimples—OinstaladorAnacondatornoumuitomaissimplesinstalaroLinux.Comoumusuário,vocêpoderápercorreralgumasperguntassimples,namaioriadoscasosaceitandopadrõesparainstalaroRedHatLinux.

    Administraçãográfica—ORedHatadicionousimplesferramentasgráficasparaconfigurarimpressoras,adicionarusuários,definirahoraeadata,efazeroutrastarefasadministrativasbásicas.Comoresultado,osusuáriosdedesktoppoderiamusarumsistemaLinux,mesmosemterdeexecutarcomandos.

    Duranteanos,oRedHatLinuxfoiadistribuiçãoLinuxpreferidaparaprofissionaiseentusiastasdoLinux.ARedHat,Inc.cediaocódigo-fonte,bemcomoocódigocompilado,prontosparaexecutarversõesdoRedHatLinux(conhecidoscomoosbinários).Mas,conformeasnecessidadesdasuacomunidadedeusuáriosLinuxeosgrandesclientescorporativoscomeçavamasedistanciar,aRedHatabandonouoRedHatLinuxecomeçouadesenvolverdoissistemasoperacionaisemvezdisso:ORedHatEnterpriseLinuxeoFedora.

    http://www.slackware.com

  • UsandooRedHatEnterpriseLinuxEmmarçode2012,aRedHat,Inc.tornou-seaprimeiraempresadesoftwaredecódigo-fonteabertoagerarmaisdeumbilhãodedólaresemreceitasanuais.ElaalcançouseuobjetivoconstruindoumconjuntodeprodutosemtornodoRedHatEnterpriseLinux(RHEL)queatendemàsnecessidadesdosambientesdecomputaçãocorporativosmaisexigentes.

    EnquantooutrasdistribuiçõesLinuxfocaramsistemasdesktopoucomputaçãoempequenasempresas,oRHELtrabalhousobreosrecursosnecessáriosparalidarcomaplicaçõesdemissãocríticaparaempresasegoverno.Eleconstruiusistemasquepoderiamacelerartransaçõesparaasmaioresbolsasdevaloresdomundoeseremimplantadoscomoclustersehostsvirtuais.

    EmvezdeapenasvenderoRHEL,aRedHatofereceumecossistemadebenefíciosaosclientesLinux.ParausaroRHEL,osclientescompramassinaturasqueelespodemusarparaimplantarqualquerversãodoRHELquedesejam.SeosclientesretiraremdeserviçoumsistemaRHEL,elespodemusaraassinaturaparaimplantaroutrosistema.

    DiferentesníveisdesuporteestãodisponíveisparaoRHEL,dependendodasnecessidadesdosclientes.Osclientespodemteracertezadeque,juntamentecomosuporte,elespodemobterhardwareesoftwaredeterceirosquesejamcertificadosparafuncionarcomoRHEL.ElespodemobterconsultoreseengenheirosdaRedHatparaajudá-losamontarosambientesdecomputaçãoideaisetambémpodemobtertreinamentoeexamesdecertificaçãoparaseusfuncionários(vejaadiscussãodacertificaçãoRHCEmaisadiantenestecapítulo).

    ARedHattambémacrescentououtrosprodutos,comoextensõesnaturaisaoRedHatEnterpriseLinux.OJBosséumprodutodemiddleware2paraimplantaraplicativosbaseadosemJavanainternetounasintranetsdasempresas.ARedHatEnterpriseVirtualizationécompostadehostsdevirtualização,gerentesecomputadoresconvidadosquepermiteminstalar,executar,gerenciar,migraredesativargrandesambientesdecomputaçãovirtual.

    HáaquelesquetentaramclonaroRHEL,usandoseucódigo-fontelivrementedisponível,reconstruindo-oereempacotando-osobumanovamarca.OCentOSéumadistribuiçãopatrocinadapelaComunidadeLinux,queéconstruídaapartirdocódigo-fontedoRHEL.Damesmaforma,oOracleLinuxéconstruídoapartirdocódigo-fontedoRHEL,masatualmenteofereceumkernelincompatível.Apesardisso,oRHELaindaédelongeoprincipalsistemaoperacionaldecomputadornomundocorporativo.

    EuescolhiusaroRedHatEnterpriseLinuxparamuitosdosexemplosdestelivro,porque,sevocêquerumacarreiratrabalhandoemsistemasLinux,háumademandaenormeporaquelesquepodemadministrarsistemasRHEL.SevocêestácomeçandocomLinux,porém,oFedorapodeproporcionarumexcelentepontodeentradagratuitoparaasmesmashabilidadesquevocêprecisaterparausareadministrarsistemasRHEL.

    UsandooFedoraEnquantooRHELéadistribuiçãoLinuxcomercial,estávelesuportada,oFedoraéadistribuiçãoLinuxgratuitaemodernaqueépatrocinadapelaRedHat,Inc.OFedoraéosistemaLinuxqueaRedHatusaparaenvolveracomunidadededesenvolvimentodoLinuxeincentivaraquelesquequeremumLinuxgratuitoparausopessoal.

    OFedoraincluimaisde16.000pacotesdesoftware,muitosdosquaissemantêmatualizadoscomamais

  • recentetecnologiadecódigo-fonteabertodisponível.Comoumusuário,vocêpodeexperimentarasmaisrecentesinterfacesdesktop,deservidoreadministrativasdeLinuxnoFedoragratuitamente.Comoumdesenvolvedordesoftware,vocêpodecriaretestarseusaplicativosusandoaúltimaversãodokernelLinuxeferramentasdedesenvolvimento.

    ComoofocodoFedoraéamaisrecentetecnologia,eleseconcentramenosnaestabilidade.Portanto,édeseesperarquevocêtenhaalgumtrabalhoextraparaquetudofuncioneequenemtodoosoftwareestejatotalmente“pronto”.

    MaseurecomendoquevocêuseoFedoraparaamaioriadosexemplosdestelivro,pelasseguintesrazões:

    OFedoraéusadocomoumcampodeprovasparaoRedHatEnterpriseLinux.ARedHattestamuitasnovasaplicaçõesnoFedoraantesdeimplantá-lasnoRHEL.UsandooFedora,vocêvaiaprenderashabilidadesdequeprecisaparatrabalharcomrecursosàmedidaqueelesvãosendodesenvolvidosparaoRedHatEnterpriseLinux.

    Paraaprendizagem,oFedoraémaisconvenientedoqueoRHEL,masaindaincluimuitasdasmaisavançadasferramentasprontasparausocorporativoqueexistemnoRHEL.

    OFedoraéfree,nãosónosentidode“livre”,mastambémnosentidode“gratuito”.

    OFedoraéextremamentepopularentreaquelesquedesenvolvemsoftwaredecódigo-fonteaberto.Masnosúltimosanos,outradistribuiçãoLinuxtematraídoaatençãodemuitaspessoasqueestãocomeçandocomoLinux:oUbuntu.

    EscolhendooUbuntuououtradistribuiçãoDebianComooRedHatLinux,adistribuiçãoDebianGNU/LinuxfoiumadistribuiçãoLinuxinicialquesedestacounoempacotamentoegerenciamentodesoftware.ODebianusaoformatodepacotedebeferramentasparagerenciartodosospacotesdesoftwareemseussistemas.ODebiantambémtemumareputaçãodeestabilidade.

    MuitasdistribuiçõesLinuxseoriginamdoDebian,deacordocomaDistroWatch(http://distrowatch.com),maisde120.DistribuiçõespopularesbaseadasnoDebianincluemoLinspire,oXandros,oKnoppix,oMEPIS,oDamnSmallLinuxemuitasoutras.MasoderivadoDebianquealcançouomaiorsucessoéoUbuntu(http://www.ubuntu.com).

    AosebasearnoestáveldesenvolvimentoeempacotamentodesoftwaredoDebian,adistribuiçãoUbuntuLinuxfoicapazdeavançareadicionarosrecursosquefaltavamaoDebian.EmbuscadetrazernovosusuáriosparaoLinux,oprojetoUbuntuadicionouuminstaladorgráficosimpleseferramentasgráficasfáceisdeusar.Eletambémfocalizasistemasdesktopcomfuncionalidadecompletaeaindaoferecepacotespopularesdeservidor.

    OUbuntutambémfoiinovadornacriaçãodenovasformasdeexecutaroLinux.UsandoliveCDsoferecidospeloUbuntu,vocêpodetê-loinstaladoefuncionandoempoucosminutos.Muitasvezes,nessesCDstambémvinhamaplicaçõesdecódigo-fonteaberto,comonavegadoreswebeprocessadoresdetexto,querealmentefuncionavamnoWindows.IssofacilitouatransiçãodoWindowsparaoLinuxparaalgumaspessoas.

    http://distrowatch.comhttp://www.ubuntu.com

  • SevocêestiverusandooUbuntu,semproblemas.AmaioriadostemasabordadosnestelivrovaifuncionartãobemnoUbuntucomonoFedoraounoRHEL.Porém,quandoentramosemalgumasdasseçõesdeservidornolivro,vocêpodeencontraralgumconteúdodomundocorporativo,oqualpodenãocorresponderexatamentecomoquevocêencontranoFedoraounoRHEL.

    EncontrandooportunidadesprofissionaiscomLinuxhojeSevocêquerdesenvolverumaideiaparaumprojetodepesquisarelacionadoacomputadoresouumaempresadetecnologia,porondecomeçar?Comumaid