Upload
others
View
2
Download
1
Embed Size (px)
Citation preview
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