De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Daniel Duclos
Data de Publicação: 06 de Dezembro de 2001
Aqui vao algumas dicas simples e truques de resolucao de problemas em informatica que aprendi e me ajudam todos os dias. Espero que seja util. Se nao for, flames para <daniduc (a) cybershark net>.
1. Leia os logs, leia os erros
Principal: na maioria dos casso o computador te diz qual é o problema!! Serio! Entao, leia os logs e leia as mensagens de erro! Elas ajudam muito a ter uma nocao do que esta ocorrendo! Leia a saida do comando no shell, entre no /var/log e leia os logs que estao la. Veja, a maioria das vezes isso te ajuda muito!
Exemplo:
Situacao: eu tenho um servidor conectiva linux e resolvi atualizar meu bind! A atualizacao ocorreu, mas notei que meu bind nao mais respondia!!!
Resolvi executar o script de incializacao na mao e ver o que acontecia:
[root@ace init.d]# ./named start Iniciando named: named: -u not supported on Linux kernels older than 2.3.99-pre3 when using threads [FALHOU] [root@ace init.d]#
Opa, o erro me diz claramente o que aconteceu! A opcao de incializacao -u do named nao é suportada com meu kernel. Abri o script e editei a opcao de inicializacao, que estava assim:
daemon named -u named $CHROOT
para
daemon named $CHROOT
<eu sei que isso incia o named como root e nao é o certo, é so um exemplo>
E reiniciei o rapaz:
[root@ace init.d]# ./named start Iniciando named: [ OK ] [root@ace init.d]#
Mas ele ainda nao resolvia os nomes... opa! algo errado! Vamos verificar:
[root@ace init.d]# ./named status named inativo mas seus subsistemas trancados [root@ace init.d]#
Arra! Mais um erro! E agora??? Ler os logs! =)
[root@ace init.d]# tail -f /var/log/messages Nov 24 16:43:23 ace named[3829]: couldn't open pid file '/var/run/named/named.pid': Permission denied Nov 24 16:43:23 ace named[3829]: exiting (due to early fatal error)
Ahhhhh... erro de permissao nao permite o named inciar corretamente! ele tentou criar o arquivo named.pid no diretorio '/var/run/named/ e nao conseguiu!!
Mudamos o dono do diretorio para root e pronto:
chown root: /var/run/named/
O named levanta direitinho:
[root@ace init.d]# ./named start Iniciando named: [ OK ] [root@ace init.d]# ./named status named (pid 4215 4220 4219 4214 4210) está rodando... [root@ace init.d]#
2. Leia a documentacao. Serio. Leia. De novo.
Todos sabem que existem FAQ's, README's e manuais. Quando nos viravamos no DOS e no windows, ler manual era coisa de coxinhas <sim, eu era um moleque>. Clique em next e pronto, o programa esta instalado, e ninguem lia os readme.
Mas agora somos profissionais da area, usamos Linux && UNICES, os programas sao complexos e ja nao tao facil assim.
Voce teve problemas com um programa? *va ate o site do programa* e leia os docs dele. Sim, parece obvio, mas isso salva muitas vidas e nem todo mundo faz. Duvida de sendmail? www.sendmail.org! Apache?? www.apache.org! La tem toneladas de documentacao, exemplos, FAQ's e o escambau. Nada melhor do que ir direto aa fonte!!
Exemplo:
Eu recem instalei um postfix. Meu chefe quer que os mails sejam fulano@dominio como 99% dos mails, e nao fulano@maquina.dominio. Putz, nao sei fazer isso! E agora? Vamos ver o que o site da postfix me diz <http://www.postfix.org/> Chego la e tem um link chamado: Documentation, Howtos and FAQs. esse mesmo! Clico la. Encontro o link:
* Configuration. Postfix configuration, basic and advanced.
Esse mesmo. *click*. Lendo a pagina, encontro logo no comeco um link:
;What domain to use in outbound mail - Cliquemos.
"The myorigin parameter specifies the domain that appears in mail that is posted on this machine. The default is to use the local machine name, $myhostname, which defaults to the name of the machine. Unless you are runninga really small site, you probably want to change that into $mydomain, which defaults to the parent domain of the machine name.
Examples:
myorigin = $myhostname (default) myorigin = $mydomain (probably desirable)"
Problema resolvido!!
Ah, e use o search engine do site!!!! Muitas vezes o programa contem README's, leia-os! Serio mesmo =)
3. Use o google. google is your friend.
E se a mensagem de erro nao faz nenhum sentido pra voce? E se eu nao sei o site do desenvolvedor do programa? E se a FAQ nao resolve meu problema?? Google is the answer. Google é o melhor search engine que ja encontrei! Ele tem um sistema de rankeamento muito bom, e em geral o que voce quer esta no comeco. Nao deixe a aparencia simples dele enganar voe <http://www.google.com>
Exemplo 1:
Quero ir no site do bind... e *nao* é www.bind.org <nesse tem um link pro site de verdade, mas suponhamos que nao tem>. Jogue simplesmente "bind" no google e o site correto vira <http://www.isc.org/products/BIND/>
Exemplo 2:
Jogue o erro no google! Sim, copie e cole o erro e faca uma busca! Isso muitas vezes retorna a solucao! elimne da mensagem as partes especificas, como o numero do pid, ou o nome da maquina, isso a torna mais geral e facilita. Ja vi o google achar respostas no site do fabricante que nem o proprio search engine do fabricante acha!!
4. Documente os problemas
Resolveu um problema? Documente! Anote de alguma forma, guarde o mail com a solucao, escreva no vi, no word, no ed, como for. Anote eum caderno. Imprima. Nao tem importancia. Mas confie em mim: o problema vai voltar <pode ser em outra maquina, pode ser em outro emprego> e voce nao vai lembrar como resolveu! Anote e depois *consulte* o que anotou <ja vi pessoas quebrarem a cabeca resolvendo um problema e depois descobrir que ja tinham resolvido e *notado*, era so ter lido a propria documentacao). crie um dir de documentacao. Sim, da preguica. Mas salva vidas! Ah, e se quiser, depois, divulgue e compartilhe as suas dicas =)
5. Aprenda ingles
Essa é a mais dificil e a menos especifica das minhas dicas, mas nao tem jeito: o conhecimento humano esta, na usa maioria, em ingles. Hoje em dia a lingua universal é o ingles. =/ Cada um tem um metodo para isso, entao vou ficar na minha. =//
6. Listas
Claro, ler as listas ajuda. Perguntar nas listas tambem. Ler o historico da lista tambem. Mas uma coisa que ajuda é tentar realmente resolver os problemas dos outros, mesmo que voce nao saiba a resposta. Leia o mail do outro e entre no site do fabricante, procure a FAQ q responde aquela duvida, enfim, gaste um tempo <o quanto vc puder, claro. Eu dedico muito de fim de semana pra fazer isso, por exemplo> em um problema que vc nao sabe a resposta e nao é seu. Isso é util de varias maneiras. Voce pratica resolver problemas, e como tudo na vida, a capacidade de resolucao de problemas melhora com a pratica. E voce se beneficia. Outra coisa: voce aprende coisas novas que voce pode precisar! Alem de ajudar os outros, o que é bom ;) E, de novo, compartilhe o que aprendeu!
do touch 200112$n.SRC done
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários