Verde = Arquivos executaveis (arquivos de lote e binarios) Outros: Vermelho: arquivos compactados, pacotes rpm, deb Azul claro: lins simb!licos "m al#uns sistemas, quando o arquivo est$ com permiss%o &&&, o nome dele aparece com 'undo verde. " por a( vai.. essas cores n%o s%o padr%o em todos sistemas )inux. *o +buntu pode ser tamb,m: sudo invoe-rc.d apache. stop sudo invoe-rc.d apache. start sudo invoe-rc.d apache. restart Resolvendo erro: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY /aro cole#as, anteriormente passei por isso e resolvi compartilhar com voc0s. 1) /aso apare2a uma mensa#em parecida com esta para voc0: 3dev3sda4: +*"56"/7"D 8*/O*9897"*/:1 ;+* 'sc <A*+A)):. (i.e., =ithout -a or -p options) 'sc died =ith exit status >. *%o desespere, isso ocorre devido um erro na consist0ncia de arquivos causados por uma ma atualiza2%o do sistemas ou desli#amento repentino incorreto do sistema, para resolver execute esse comando como root: # fsck.ext3 /dev/sda1 ou # fsck.reiserfs /dev/sda1 e reinicie a m$quina. 9endo sda4 , a parti2%o problem$tica citada por sua mensa#em. ?alou #alera, qualquer d@vida , s! per#untar... Usando o terminal *o in(cio, todos os sistemas operacionais usavam apenas inter'aces de modo texto. Antes do Aindo=s, existiu o DO9 e, antes do BD", Cnome e todas as outras inter'aces que temos atualmente, o )inux tinha tamb,m apenas uma inter'ace de modo texto. A di'eren2a , que no )inux a inter'ace de modo texto evoluiu Dunto com o restante do sistema e se inte#rou de uma 'orma bastante consistente com os aplicativos #r$'icos. Euanto mais voc0 aprende, mais tempo voc0 acaba passando no terminal1 n%o por masoquismo, mas porque ele , realmente mais pr$tico para 'azer muitas coisas. Voc0 pode chamar qualquer aplicativo #r$'ico a partir do terminal1 na maioria dos casos o comando , o pr!prio nome do pro#rama, como FonquerorF ou F'ire'oxF. Durante o livro voc0 vai notar que, em muitos exemplos, ensino os passos para executar tare'as atrav,s da linha de comando, pois os atalhos para abrir os pro#ramas, itens nos menus, etc., podem mudar de lu#ar, mas os comandos de texto s%o al#o mais ou menos universal, mudam pouco mesmo entre di'erentes distribui2Ges. "sta mesma aborda#em , adotada de 'orma #eral dentro dos livros sobre )inux. 6or exemplo, para descompactar um arquivo com a extens%o .tar.#z, pelo terminal, voc0 usaria o comando: $ tar -zxvf arquivo.tar.gz Aqui o FtarF , o comando e o F-zxv'F s%o parHmetros passados para ele. O tar permite tanto compactar quanto descompactar arquivos e pode trabalhar com muitos 'ormatos de arquivos di'erentes, por isso , necess$rio especi'icar que ele deve descompactar o arquivo (-x) e que o arquivo est$ comprimido no 'ormato #zip (z). O FvF , na verdade opcional, ele ativa o modo verbose, onde ele lista na tela os arquivos extra(dos e para onde 'oram. 9e voc0 tivesse em m%os um arquivo .tar.bz. (que usa o bzip., um 'ormato de compacta2%o di'erente do #zip), mudaria a primeira letra dos parHmetros, que passaria a ser FDF, indicando o 'ormato, como em: $ tar -jxvf arquivo.tar.bz Voc0 poderia tamb,m descompactar o arquivo clicando com o bot%o direito sobre ele numa Danela do Bonqueror e usando a op2%o F"xtrair I "xtrair aquiF. 6ara quem escreve, , normalmente mais '$cil e direto incluir o comando de texto, mas voc0 pode escolher a maneira mais pr$tica na hora de 'azer. "xiste um n@mero muito #rande de pequenos aplicativos de modo texto, cada um deles suportando muitos parHmetros di'erentes, por isso , quase imposs(vel conhecer todos. Aprender a usar o modo texto , parecido com aprender uma se#unda l(n#ua, , um processo #radual e constante, onde voc0 sempre est$ aprendendo comandos, parHmetros e truques novos. J uma $rea em que nin#u,m pode dizer que sabe tudo. "xistem duas 'ormas de usar o terminal. Voc0 pode acessar um terminal FpuroF pressionando as teclas F/trlKAltK?4F, mudar entre os terminais virtuais pressionando FAltK?.F, FAltK?LF, etc. e depois voltar ao modo #r$'ico pressionando FAltK?&F, FAltK?MF ou mesmo FAltK?LF, dependendo do n@mero de terminais de texto usados na distribui2%o em uso. "stes terminais s%o Ns vezes necess$rios para manuten2%o do sistema, em casos em que o modo #r$'ico deixa de abrir, mas no dia-a-dia n%o , pr$tico us$-los, pois sempre existe uma pequena demora ao mudar para o texto e voltar para o ambiente #r$'ico, e, principalmente, estes terminais n%o permitem usar aplicativos #r$'icos. *a maior parte do tempo, usamos a se#unda 'orma, que , usar um Femulador de terminalF, um terminal #r$'ico que permite rodar tanto os aplicativos de texto, quanto os #r$'icos. *o BD", procure o atalho para abrir o !onsole. "le possui v$rias op2Ges de con'i#ura2%o ('ontes, cores, m@ltiplas Danelas, etc.). 9e voc0 pre'erir uma alternativa mais simples, procure pelo "term. O 5term , o mais simples, que abre quase instantaneamente. O Bonsole por sua vez , bem mais pesado, mas o'erece mais recursos, como abrir v$rios terminais dentro da mesma Danela, 'undo transparente, etc. D0 uma olhada r$pida em cada um e veDa qual lhe a#rada mais. Al,m destes dois, existem v$rios outros, como o Cnome 7erminal, ;xvt e "term, inclu(dos ou n%o de acordo com a distribui2%o. *a maioria dos casos, ao chamar um pro#rama #r$'ico atrav,s do terminal, voc0 pode passar parHmetros para ele, 'azendo com que ele abra diretamente al#um arquivo ou pasta. 6or exemplo, para abrir o arquivo F3etc3'stabF no Bedit, use: $ kedit /etc/fstab 6ara abrir o arquivo Fima#em.pn#F no Cimp, use: $ gim# imagem.#ng *o come2o, 'az realmente pouco sentido 'icar tentando se lembrar do comando para chamar um determinado aplicativo ao inv,s de simplesmente clicar de uma vez no (cone do menu. <as, depois de al#um tempo, voc0 vai perceber que muitas tare'as s%o realmente mais pr$ticas de 'azer via terminal. J mais r$pido di#itar Fedit 3etc3'stabF do que abrir o edit pelo menu, clicar no FArquivo I AbrirF e ir at, o arquivo usando o menu. J uma quest%o de costume e #osto. O importante , que voc0 veDa o terminal como mais uma op2%o, que pode ser utilizada quando conveniente, e n%o como al#o intimidador. O vi , o mais complicado da turma. "le tem tr0s modos de opera2%o: comando, edi2%o e o modo ex. Ao abrir o pro#rama, voc0 estar$ em modo de comando1 para come2ar a editar o texto, pressione a tecla FiF. A partir da(, ele 'unciona como um editor de textos normal, onde o "nter insere uma nova linha e as setas movem o cursor. Euando terminar de editar o arquivo, pressione "sc para voltar ao modo de comando e em se#uida F$$F (dois O mai@sculos) para salvar o arquivo e sair. 6ara sair sem salvar, pressione %sc e di#ite F&q'F (exatamente como aqui, dois pontos, qu0, exclama2%o, se#uido de "nter). Ao sair do editor, voc0 voc0 pode veri'icar se o arquivo realmente 'oi salvo corretamente usando o cat, como em Fcat 3etc3'stabF. <uita #ente boa tem di'iculdades para instalar um servidor de bases de dados com <P9E) mas essa tare'a n%o t%o complicada quanto se ima#ina devido isso n%o vou me prender a detalhes t,cnicos e de'ini2Ges porque isso D$ tem demais por ai e inclusive a documenta2%o o'icial D$ traz tudo isso. A minha id,ia com esse tutorial ,: 6oder apa#ar um arquivo com este texto que est$ ocupando espa2o no meu pen-driver desde o ano passado sem perd0-lo1 e poder aDudar o nosso ami#o 9Psadmin, QmaruDo de primeira via#emR, que recebeu esta tare'a do seu novo che'e e at, a#ora n%o sabe nem por onde come2ar. O 9istema Operacional A primeira coisa que voc0 vai precisar , de uma distribui2%o )inux D$ instalada e 'uncional em que voc0 tenha a senha do super-usu$rio (root). "u vou partir do principio que voc0 esteDa usando uma distribui2%o QDebian-lieR, tal como +buntu, Bnoppix, Burumin ou a pr!pria Debian puro san#ueS /laro que o <P9E) est$ dispon(vel em praticamente todas as distribui2Ges C*+3)inux atuais e voc0 poder$ escolher qualquer uma a seu #osto, mas com certeza nem todas ser%o t%o pr$ticas quanto , com as QDebian-lieR. "u, como muitos D$ devem saber, uso +buntu nos meus destops e Debian em cada um dos T servidores, tanto os reais, quanto virtuaisU. 9e voc0 pretende montar um servidor de testes ou para uso pessoal voc0 pode usar sua pr!pria esta2%o para instalar o <P9E), mas se a ideia , armazenar dados mais s,rios pense na hip!tese de usar um servidor dedicado a esta tare'a, pre'erivelmente sem ambiente #r$'ico, sem =ebserver etc (mesmo que seDa um servidor virtualizadoU) na qual voc0 possa instalar o basico do seu sistema e em se#uida o <P9E) com suas depend0ncias. 8nstalando 6ra quem est$ come2ando essas instru2Ges iniciais s%o su'icientes, ent%o vamos por a m%o na massaV di#o, linha de comandos (lo#ado como root, , claro). 9e voc0 D$ est$ com um terminal aberto e lo#ado como root ent%o voc0 s! precisa emitir os dois comandos abaixo para instalar o <P9E): 1# aptitude update 2# aptitude install mysql-server mysql-client O primeiro apenas atualiza a lista de pacotes para que voc0 consi#a 'azer o do=nload da @ltima vers%o dispon(vel. /omo di'icilmente sur#iria duas atualiza2Ges no mesmo dia, se voc0 acabou de instalar o Debian (ou outra) e atualizou o sistema via Aeb ent%o pode i#nora-lo. O se#undo e'etivamente instala o servi2o do <P9E) que realmente mant,m e controla o acesso as bases de dados e tamb,m o cliente em modo texto que permitir$ o acesso as nossas bases via linha de comando do servidor sem que precisemos instalar 'erramentas complicadas baseadas na Aeb ou em ambientes #r$'icos. Di'icilmente voc0 precisar$ dele, mas assim como mantemos um extintor de inc0ndios em nosso carroV 'a2amos o mesmo com o <P9E)S A partir da( o <P9E) D$ est$ instalado e 'uncionando. <eus parab,ns, , simples assimV quero dizerV ,V 7$ bom admito: "le est$ bem limitado ainda. <as ainda assim voc0 tem que concordar comi#o. "le D$ est$ instalado e realmente 'uncionando, tanto , assim que se voc0 quiser acessa-lo apenas localmente com o usu$rio root via linha de comandos ele est$ o e poder$ 'az0-lo a#oraS 6reparando para acesso remoto *a pr$tica, em um ambiente de produ2%o (com os dados reais de sua empresa), se voc0 pretende 'azer consultas remotamente, por exemplo a partir de um pro#rama 'eito na lin#ua#em A, W, / ou etc e que est$ instalado localmente em cada esta2%o dos seus usu$rios, voc0 n%o conse#uir$ conectar ao seu servidor. 8sso porque por padr%o a <P9E) em habilitado para trabalhar apenas localmente necessitando uma modi'ica2%o simples em sua con'i#ura2%o para que ele possa escutar as requisi2Ges vindas de sua rede. 6ara resolver isso voc0 ter$ que editar um arquivo de con'i#ura2%o e salv$-lo (no exemplo abaixo eu uso o nano, mas poderia ser o vi, emacs, mc, pico etc): 1# nano /etc/mysql/my.cnf 4. 6rocure pela linha onde est$ escrito: bind-address = 127.0.0.1 .. Ao ach$-la coloque um sinal de QXR a 'rente dela deixando-a assim: #bind-address = 127.0.0.1 L. 9alve o arquivo e saia do nano teclando: /7;)K9 3 /7;)K5. "m se#uida , necess$rio reiniciar o servi2o. /om o comando abaixo. *%o , preciso rebootar o servidor (isso , coisa de Aindo=s): 1# invoke-rc.d mysql restart Ou: 2# /etc/init.d/mysql restart /riando um usu$rio administrativo "xcelente, seu servidor est$ instalado e voc0 D$ pode acess$-lo remotamente, mas com qual usu$rioY " a senhaY A partir de ondeY Euais bases podem ser usadasY *!s s! dissemos ao <P9E) que ele dever$ atender solicita2Ges externas, mas n%o dissemos ainda de quem, nem a queS J como uma portaria de pr,dio, ela 'ica aberta, os visitantes podem entrar ali a vontade, mas s! entra e'etivamente no pr,dio quem se identi'icar e tiver credenciado a isso. O que temos de 'azer ent%o , criar as credenciais com o comando abaixo: # mysql_setpermission Obs.: /aso ele pe2a uma senha, apenas tecle "nter, pois n%o h$ senha de'inida para o usu$rio root do mPsql (n%o con'undir com o usu$rio root do seu sistema) acessar as bases de dados localmente. "ste comando abrir$ um menu muito do sem-ver#onha, 'eio e assustador. O que realmente 'aremos aqui vai ser criar um usu$rio administrativo com privil,#io para acessar 7ODA9 as bases de dados do nosso servidor remotamente e a partir de al#umas esta2Ges da nossa rede. 9e voc0 quiser criar outros at, pode, mas eu normalmente crio apenas este primeiro usu$rio e os demais crio a partir de uma 'erramenta #r$'ica conectada remotamente. Voc0 observar$ que as op2Ges do menu s%o numeradas. "nt%o: 4. "scolha a op2%o: Z&[ /riar38ncluir privil,#ios plenos para uma combina2%o bando de dados e host existentes (O usu$rio ter$ total privil,#io)1 .. Di#ite U para que o seu usu$rio tenha permiss%o de #erenciar todas as bases de dados (D$ que , um administrador #eral n%o seria interessante de'inir o nome de uma base de dados especi'ica)1 L. Di#ite um \username] bacana para o seu usu$rio (administrador, #uru ou seDa l$ o que voc0 quiser)1 >. ;esponda QPR para a pr!xima per#unta para que este usu$rio s! possa lo#ar mediante o uso de uma senha1 M. CuessS Di#ite uma senha con'i$vel1 ^. Di#ite novamente para asse#urar que di#itou o que pretendia1 &. 8n'orme o endere2o 86 da m$quina a partir de onde este usu$rio poder$ acessar o banco de dados. /omo este usu$rio , altamente privile#iado o ideal , que voc0 de'ina umas poucas m$quinas com permiss%o para us$-lo. Obs: 6ara indicar uma 'aixa de rede use o s(mbolo \_]. "x: 4T..4^`.4._ indica que toda a 'aixa de 86s 4T..4^`.4.a3.> (4 at, .M>) poder$ usar esta conta, mas tratando de uma conta administrativa quanto menos endere2os usar esta conta mais se#uro ser$. "u particularmente n%o permitiria um usu$rio com este n(vel de privil,#io conse#uisse conex%o de mais do que uma ou duas m$quinas1 `. 9e voc0 deseDa incluir mais de uma 'aixa de rede ou endere2os individuais responda QPesR a per#unta que ser$ 'eita (e proceda como no passo Q#R, do contr$rio responda QnoR1 T. 9er%o exibidos os dados da nova conta e uma per#unta se voc0 con'irma que os dados est%o corretos. ;esponda Q:esR e V bave 'unS ?erramentas para administra2%o remota /omo eu havia dito l$ no come2o o mPsql-client , apenas um extintor de inc0ndios e n%o , muito conveniente us$-lo no dia-a-dia. "xistem in@meras 'erramentas para #erencimento de bases <P9E), mas eu particularmente tenho tr0s 'erramentas uteis e que eu #osto muito de usar. ?erramenta Aeb O php<PAdmin , uma excelente 'erramenta para #erenciamento de servidores <P9E) e que pode ser acessada de qualquer lu#ar a partir de um nave#ador Aeb. Diversos servi2os de hospeda#em comerciais que alu#am bases <P9E) para os seus clientes disponibilizam uma inter'ace dessa para #erenciamento. "u recomendo que voc0 instale o Apache com o php<PAdmin em uma m$quina a parte do seu servidor de bases de dados, pode ser inclusive no seu servidor Aeb em produ2%o ou outro que voc0 queira. +m servidor virtualizadoU s! com 'erramentas administrativas, por exemplo seria uma boa pedida. 6or hora, n%o vou abordar sua instala2%o mas partindo do princ(pio que o seu servidor <P9E) D$ est$ 'uncionando com um usu$rio possuindo privil,#ios administrativos e com acesso remoto ent%o um Qaptitude install phpmPadminR certamente resolver$ sua quest%o e depois basta aponta-lo para o seu servidor com aquele usu$rio e senha D$ criados. ?erramentas locais /aso n%o possa dispor de um servidor Aeb ou ainda pre'ira um aplicativo rodando localmente em sua m$quina ent%o as duas 'erramentas essenciais que se precisa para administrar um servidor <P9E) s%o: <P9E)-Administrator <P9E) EuerP Wro=ser Assim como no caso do php<PAdmin a instala2%o de ambos , 'eita a partir do aptitude: # aptitude install mysql-admin mysql-query-broser 9! vale deixar aqui uma observa2%o importante: Al#umas versGes anti#as do <P9E) Administrator tem um bu# na administra2%o de usu$rios que s! permite entrar nesta se2%o depois que voc0 entrar na se2%o de Qcat$lo#osR (banco de dados) e clicar em todos os bancos existentes. /aso n%o 'a2a isso a aplica2%o ir$ travar devendo ser 'echada e aberta novamente. <onitoramento )ocal "xistem umas 'erramentas para monitoremento local em modo texto e bastante rudimentares que voc0 poder$ instalar no seu servidor tamb,m com o comando: # aptitude install mytop mtop <as com certeza existem coisas melhores inclusive via Aeb, com #r$'icos etc. ERROR 1!" #$%& no M'S(L " ) U*+n,+ -.- mPsql-u root-p Ao instalar o mPsql-server e o mPsql-administrator, ao tentar conectar no banco era retornado o se#uinte erro: ";;O; 4a>M (.`aaa): Access denied 'or user crootcdclocalhostc (usin# pass=ord: * O) ", para resolver esse erro 'iz o se#uinte: 6arei o mPsql: # /etc/init.d/m(sql sto# 9toppin# <P9E) database server: mPsqld. 8niciei o <P9E) sem senha: # m(sqld)safe --ski#-grant-tables * Z4[ >4L4 9tartin# mPsqld daemon =ith databases 'rom 3var3lib3mPsql mPsqldesa'eZ>4TL[: started /onectei ao <P9E) usando: $ m(sql client - m(sql -u root Aelcome to the <P9E) monitor. /ommands end =ith 1 or f#. :our <P9E) connection id is 4 to server version: M.a...-Debianeaubuntu^.a^..-lo# 7Ppe chelp1c or cfhc 'or help. 7Ppe cfcc to clear the bu''er. mPsqlI *o prompt do <P9E): mPsqlI use m(sql ;eadin# table in'ormation 'or completion o' table and column names :ou can turn o'' this 'eature to #et a quicer startup =ith -A Database chan#ed mPsqlI u#date user set #ass+ord,-.//012345671895: +;ere User,<root<= Onde *"A-;OO7-6A99AO;D , a senha de root. EuerP OB, . ro=s a''ected (a.aa sec) ;o=s matched: . /han#ed: . Aarnin#s: a mPsqlI flus; #rivileges= EuerP OB, a ro=s a''ected (a.aa sec) mPsqlI quit WPe 6arei o <P9E): # /etc/init.d/m(sql sto# 9toppin# <P9E) database server: mPsqld97O668*C server 'rom pid 'ile 3var3run3mPsqld3mPsqld.pid mPsqldesa'eZ>>>^[: ended . Z4[K Done mPsqldesa'e --sip-#rant-tables 8niciei o <P9E) novamente: # /etc/init.d/m(sql start 9tartin# <P9E) database server: mPsqld. 7estei se conectava ao banco de dados: $ m(sql -u root -# "nter pass=ord: Aelcome to the <P9E) monitor. /ommands end =ith 1 or f#. :our <P9E) connection id is ^ to server version: M.a...-Debianeaubuntu^.a^..-lo# 7Ppe chelp1c or cfhc 'or help. 7Ppe cfcc to clear the bu''er. mPsqlI 6ronto, 'uncionouS 1) Abraxxx a todosSSS )inu5eaDDict"D "ste tutorial explica como criar um novo banco de dados e conceder a um usu$rio as permissGes adequadas. O que 'aremos: U /riaremos um um banco de dados chamado alunodb U um usu$rio chamado jose U com senha ninguem U e que poder$ acessar o banco a partir da pr!pria m$quina (local;ost). 6assos: 4) 8nstalar um servidor mPsql g sudo a#t-get install m(sql-server .) O <P9E) na con'i#ura2%o padr%o traz um usu$rio root que n%o precisa de senha para autentica2%o no localhost. *este caso, lo#ue-se no servidor mPsql utilizando: g m(sql -u root L) /aso D$ tenha sido atribu(da um senha para o usu$rio root, utilize o parHmetro extra -#, assim: g m(sql -u root -# 9er$ exibido um prompt para inserir a senha: "nter pass=ord: O interpretador de comandos do mPsql exibir$ seu prompt: mPsqlI >) Ap!s ter se lo#ado, o pr!ximo passo , criar um banco de dados: mPsqlI create database alunodb= EuerP OB, 4 ro= a''ected (a.aa sec) M) D0 permiss%o ao usu$rio Dose para conectar ao servidor a partir de localhost utilizando a senha nin#uem: mPsqlI grant usage on >.> to jose?local;ost identified b( @ninguemA= EuerP OB, a ro=s a''ected (a.aa sec) ^) /onceda todos os privil,#ios no banco de dados alunodb para este usu$rio: mPsqlI grant all #rivileges on alunodb.> to jose?local;ost = EuerP OB, a ro=s a''ected (a.aa sec) Di#ite exit para sair do prompt do mPsql e retornar ao prompt do sistema ou ent%o, em outro terminal, para se conectar ao servidor mPsql, utilize este comando: g m(sql -u jose -#AninguemA alunodb O mPsql exibir$ uma mensa#em semelhante a esta abaixo e disponibilizar$ seu prompt. :our <P9E) connection id is . 9erver version: M.a.L`-+buntueaubuntu4-lo# +buntu &.a> distribution 7Ppe \help1] or \fh] 'or help. 7Ppe \fc] to clear the bu''er. mPsqlI 6ronto. <P9E) instalado e pronto para a utiliza2%o. ?inalmente, temos o vi, que por al#um motivo conquistou um #rupo de usu$rios 'i,is ao lon#o de seus quase La anos de vida e, #ra2as eles, continua vivo at, hoDe, muito embora seDa um dos editores menos ami#$veis. O vi tem tr0s modos de opera2%o: comando, edi2%o e o modo ex. Ao abrir o pro#rama, voc0 estar$ em modo de comando1 para come2ar a editar o texto, pressione a tecla FiF. A partir da(, ele 'unciona como um editor de textos normal, onde o "nter insere uma nova linha, as setas movem o cursor, etc. Euando terminar de editar o arquivo, pressione F%scF para voltar ao modo de comando e em se#uida F$$F (dois O mai@sculos) para salvar o arquivo e sair. 6ara sair sem salvar pressione %sc e di#ite F&q'F (exatamente como aqui, dois pontos, qu0, exclama2%o, se#uido de "nter). +ma se#unda op2%o para salvar e sair , pressionar %sc se#uido de F&+qF. 6ara apenas salvar, sem sair, pressione %sc se#uido de F&+F e para sair sem salvar use o %sc se#uido de F&q'F. ;esumindo, o "sc 'az com que o vi volte ao modo de comando, o F:F nos coloca no modo ex, onde podemos salvar e 'echar, entre outras 'un2Ges. O FqF 'echa o pro#rama, o F=F salva o arquivo e o FSF , uma con'irma2%o. "mbora n%o seDa exatamente pequeno (se comparado a editores mais simples, como o Doe ou o nano), muito menos '$cil de usar, o vi , praticamente o @nico editor que pode ser encontrado em qualquer distribui2%o. +ma observa2%o , que o Debian o +buntu e outras distribui2Ges derivadas deles utilizam o nvi como editor padr%o, no lu#ar do vi tradicional. "le se comporta de 'orma estranha e , bastante improdutivo. 9e voc0 #osta do vi, recomendo que instale o vim, que , a vers%o completa do editor: cho=n -; lucasmeireles:lucasmeireles 3var3===3lucasmeireles.or# /omo uso o comando shutdo=nY O comando shutdo=n serve para desli#ar o computador ou reinic$-lo na hora ou em al#um hor$rio espec('ico. como 'azerY 9e#ue abaixo o comando: $ sudo s;utdo+n -; no+ ou $ sudo s;utdo+n -; 9 /omo 'a2o para desli#ar o computador em umhor$rio espec('icoY 9uponhamos que queremos desli#ar o computador Ns 4`:>M. 9e#ue abaixo o comando. sudo s;utdo+n -; 17&8B C/ervidor serD desligado #ara manutenEFo.G Aten2%o: *ote que voc0 poder$ cancelar esta op2%o di#itando: $ sudo ;alt ou $ sudo #o+eroff /omo 'a2o para reiniciar o computadorY Wasta voc0 di#itar o se#uinte comando no terminal. $ sudo reboot ou $ sudo s;utdo+n -r 9 sudo useradd-p userftp 7!1"20-d /#ome/$%&/ bin / false 9ervidor e <onitoramento h ;oteamento ( ;oteadores, Cerenciando rotas no )inux, <ontando ;oteador com 867ables, *A7) h 9ervidor Db/6 (9o't=are, 9istema e /on'i#ura2%o de 9ervidor de atribui2%o de nomes) h 9ervidor Aeb Apache (8nstala2%o do servidor Aeb Apache, Cerenciamento de Virtual bosts) h 9ervidor 6roxP3/ache 9E+8D (8nstalando o 9E+8D, con'i#ura2%o, roteamento, lo#]s e se#uran2a ()OC e A/))) h *et=or 8n'ormation 9ervices (*89) (8nstala2%o, /on'i#ura2%o, Autentica2%o de seri2o *89 ) h 9ervidores de Arquivos *?9 (8nstala2%o, /on'i#ura2%o e /ompartilhamento com *et=or ?ile 9Pstem *?9) h 9A<WA (8nstala2%o e /on'i#ura2%o do 9amba, Dom(nio padr%o, *etW8O9 do 9amba, *(vel de se#uran2a, babilitar lo#ons em dom(nio, De'inindo usu$rios, )ibera2%o3;estri2%o de acesso por hosts, Arquivos de lo#s do 9amba, 9ervidor A8*9 no 9amba, 9uporte a impress%o) h Cerenciamento de ;edes e <onitoramento (Dia#n!stico de redes, An$lise de 6roblemas, /oleta de dados e "stat(stica de redes utilizando 7/6Dump, "therreal, *7O6, <;7C) h Acesso ;emoto e 7rans'er0ncia de Arquivos (Open99b (ssh e scp) e s'tp 6ro#rama2%o 9hell h /apacitar ao aluno o conhecimento sobre os aspectos de pro#rama2%o 9hell (W9b, B9b) em ambientte +nix3)inux, porporcionando conhecimento e habilidades necess$rias para administrar, ambiente +nix e )inux assim como a constru2%o de 'erramentas administrativas e de <onitoramento. 9e#uran2a )inux h Apresentar as diversas 'ormas de comportamentos anormais, suas simula2Ges e 'ormas de de'esa. h /apacitar ao aluno o conhecimento sobre os aspectos de se#uran2a de redes e aplica2Ges, porporcionando conhecimento e habilidades necess$rias para administrar 'ire=all e proxP assim como interpretar e administrar sistemas de detec2%o de intrus%o. Hriando um servidor de 3I/ local com o Jind de maneira sim#les .migosK 9auda2Ges 6in#uianas a todosS *este arti#o, vamos aprender como 'azer um D*9 local de maneira simples, r$pida e pr$tica. <as a( voc0 se per#unta: O que , D*9Y O D*9 , o banco de dados distribu(do de tradu2Ges de nome para endere2o 86. 7ecnicamente n%o , necess$rio usar nomes de host e de dom(nio, como ===.aprendendolinux.com, porque , o endere2o 86 que o computador usa para estabelecer comunica2%o. O D*9 'oi criado para permitir o uso de nomes de dom(nios mais convenientes. 6or exemplo, quando o usu$rio di#ita um nome D*9 como parte de uma +;) em um nave#ador, a parte do nome , enviada para o servidor D*9 para que seDa resolvido em um endere2o 86. +ma vez encontrado o endere2o, ele , usado para se reescrever a +;) e obter diretamente a p$#ina =eb. +m dos servidores D*9 mais conhecido , o Wind. *esse exemplo estaremos usando o WindT, que , uma vers%o mais atualizada e mais se#ura deste so't=are. O primeiro passo , instalar o Wind: $ sudo a#t-get install bindL A#ora com o Wind instalado, vamos conhecer e con'i#urar os arquivos usados por ele: Arquivos de con'i#ura2%o D*9: "dite seu resolv.con' para ele 'azer a busca do D*9 local: $ sudo #ico /etc/resolv.conf "ste arquivo lista os endere2os 86 dos servidores de nomes: nameserver 127.0.0.1 nameserver 192.168.254.1 A#ora vamos con'i#urar os arquivos do Wind: $ sudo #ico /etc/bind/named.conf.local "ste arquivo , onde voc0 indicar$ em que caminho estar%o suas zonas. "dite-o e inclua estas linhas: ## minhas zonas ## zone meudominio.com.br{ t!e master" #i$e %etc%bind%db.meudominio.com.br" &" #reverso da rede 192.168.254.0 zone 254.168.192.in'addr.ar!a{ t!e master" #i$e %etc%bind%db.254.168.192(" &" ## #im das minhas zonas ## A #ora criaremos os arquivos db.meudominio.com.br e db..M>.4^`.4T.: Dentro do diret!rio 3etc3bind existe um arquivo db.local que poderemos copiar para 'azermos nosso db.meudominio.com.br. /omo root execute: # cd /etc/bind # touc; db.meudominio.com.br # cat db.local M db.meudominio.com.br A#ora edite o seu arquivo db.meudominio.com.br para 'icar assim: " )**+ 604800 , -. /01 !c.meudominio.com.br. root.meudominio.com.br. 2 1 " /eria$ 604800 " 3e#resh 86400 " 3etr 2419200 " 45!ire 604800 6 " .e7ative 8ache **+ " internet -. 1 192.168.254.1 mai$ -. 1 192.168.254.1 , -. ./ !c.meudominio.com.br. , -. 1 192.168.254.1 Ainda como root, crie o db reverso de sua rede: # touc; db.B8.1N7.1L "dite o arquivo para que 'ique assim: )**+ 604800 , -. /01 !c.meudominio.com.br. root.meudominio.com.br. 2 1 " /eria$ 604800 " 3e#resh 86400 " 3etr 2419200 " 45!ire 604800 6 " .e7ative 8ache **+ , -. ./ meudominio.com.br. 254 -. 9*3 meudominio.com.br. ?eito isso reinicie seu bind: # /etc/init.d/bindL restart A#ora D$ podemos pin#ar internet.meudominio.com.br e mail.meudominio.com.br: # #ing internet.meudominio.com.br 68*C internet.meudominio.com.br (4T..4^`..M>.4) M^(`>) bPtes o' data. ^> bPtes 'rom 4T..4^`..M>.4: icmpeseq=4 ttl=^> time=>.`^ ms ^> bPtes 'rom 4T..4^`..M>.4: icmpeseq=. ttl=^> time=a...` ms ^> bPtes 'rom 4T..4^`..M>.4: icmpeseq=L ttl=^> time=a...T ms +tilidades e checando con'i#ura2Ges D*9: +m servidor D*9 interno , muito @til para os administradores de redes, por exemplo: se voc0 tem um servidor proxP autenticado, nos nave#adores dos clientes podemos usar um endere2o de proxP como internet.empresa.com.br, assim se um dia necessitar alterar o ip de seu proxP, s! mude as con'i#ura2Ges de D*9 no seu db.empresa.com.br. 6odemos usar al#uns comandos para checar as con'i#ura2Ges de seu dns. named-checcon' (veri'ica as con'i#ura2Ges do Wind) # named-c;eckconf 9e n%o retornar nada , que est$ o. named-checzone (veri'ica suas zonas): # named-c;eckzone zonename db.meudominio.com.br zone zonename38*: loaded serial . OB 9ervidor D*9 pronto e 'uncionandoS Voc0 D$ pode dar nomes a seus 86s, 'acilite seu trabalho. ## min#as 'onas ## 'one (aprendendolinu).com*+ type master, file (/etc/bind/db.aprendendolinu).com*, -, #reverso da rede 1.2.1/!.20".0 'one (20".1/!.1.2.in-addr.arpa*+ type master, file (/etc/bind/db.20".1/!.1.21, -, ## fim das min#as 'onas ## Arquivo de: Arti#os Us/ndo o n,o0 0/r/ 1on2,or/r / rede Calera, atualmente estou usando uma 'erramenta para monitoramento de tr$'e#o de rede. 7rata-se do nto#, uma 'erramenta muito usada nos dias de hoDe. 6ara instalar no Debian (onde testei), basta di#itar no console: # a#t-get install nto# 9er$ 'eito o do=nload e depois pedir$ para con'irmar al#umas coisas b$sicas. 6ronto, ele provavelmente abriu uma porta Laaa no seu server para acesso local, bastando a#ora di#itar no bro=ser a se#uinte +;): http:33localhost:Laaa O ntop o'erece muitas 'uncionalidades, a#ora cabe a cada um test$-las. Abra2os tucs http:33===.vivaolinux.com.br3arti#o3<onitoramento-8nstalando-o-Oenoss-no-Debian- "tch-43 sudo rm /var/lib/dpk2/lock OPtodo Antes de come2ar, vamos a al#umas considera2Ges. +tilizaremos dois comandos: Qps -auxR e Qill -Ti. O Qps -auxR te mostrar$ todos os processos abertos no sistema incluindo os inicializados durante o boot. j$ o Qill -Ti ir$ 'echar na marra o processo. "nt%o, che#a de 'alar e vamos a#ir. *o terminal, d0 o comando abaixo para listar todos os processos. g ps -aux ?azendo isso, aparecer$ v$rias linhas. *a se#unda coluna, h$ um n@mero de 68D para cada processo. Anote o n@mero 68D do processo que voc0 quer matar. *o exemplo, quero 'echar o ?ire'ox porque ele est$ com uma instabilidade. 9eu n@mero 68D , .`T^. ?eito isso, di#ito no terminal o comando para 'echar o processo n@mero .`T^, que , o ?ire'ox. g ill -T .`T^ a#t-get 6ara instalar um pro#rama: # a!t'7et insta$$ nome:do:!ro7rama 6ara remover um pro#rama instalado: # a!t'7et remove nome:do:!ro7rama 6ara remover um pro#rama completamente, iclusive suas depend0ncias: # a!t'7et remove ''!ur7e nome:do:!ro7rama 6ara pesquisar um pro#rama: # a!t'7et cache search nome:do:!ro7rama 6ara atualizar os reposit!rios: # a!t'7et u!date 6ara atualizar todo o sistema (#eralmente isso demora) # a!t'7et dist'u!7rade a#titude 6ara instalar um pro#rama: # a!titude insta$$ nome:do:!ro7rama 6ara remover um pro#rama: #a!titude remove nome:do:!ro7rama 6ara remover completamente um pro#rama, inclusive com suas depend0ncias: #a!titude !ur7e nome:do:!ro7rama 6ara procurar um pro#rama: # a!titude search nome:do:!ro7rama 6ara atualizar a lista de reposit!rios: # a!titude u!date 6ara atualizar todo o sistema: # a!titude dist'u!7rade d#kg /om o dp# voc0 dever$ baixar os pro#ramas da internet. Di'erente dos outros acima, ele n%o resolve as depend0ncias. Os pro#ramas baixados e instalados com o dp# s%o os .deb. erro mPql om php apt-#et install libmPsqlclient4M-dev A bit late, but maP help anPone searchin# 'or similar. ?ollo=in# these instructions on the Centoo =ii #ot rid o' this error 'or me (mine =as also correctlP con'i#ured). just do /ode: sudo mv /etc/vmare/not_confi2ured /etc/vmare/not_confi2ured_backup and re-run vmplaPer. Aored lie a charm 'or me. Also, i' Pou #et a 'ailed messa#e =hen it is trPin# to start vm=are services a'ter runnin# the con'i# pro#ramme, simplP restartin# them =ith /ode: sudo /etc/init.d/vmare restart #ot them all =orin#. i' Pou have the correct headers installed all Pou have to do is create a sPmlin 'or the missin# 3usr3src3linux 'or instance 'or me in the 3usr3src directorP 8 did: ln -s linux-headers-..^.4a-M-&3 linux and everP thin# =as 'ine a'ter that.