![]() | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Secção 9 - Mensagens de Erro Frequentemente EncontradasPergunta 9.1 - "Unknown terminal type linux" e semelhantes.Nas versões 1.3.x antigas do kernel, o tipo de terminal da consola default mudou de consola para linux. Deve editar o /etc/termcap e mudar a linha:console|con80x25:\ para linux|console|con80x25:\ (Se houver um dumb a mais nesta linha, ela deverá ser removida.) Para fazer o editor funcionar, provavelmente terá que digitar TERM=console (para o bash e ksh) ou setenv TERM console (csh, tcsh) antes. Alguns programas usam /usr/lib/terminfo em vez do /etc/termcap. Para esses
programas deve actualizar o terminfo, que é parte do ncurses. Pergunta 9.2 - Durante a "linkagem" aparecem Undefined symbol _mcount.Isso geralmente é devido a uma má interacção entre um defeito do SLS e as notas de instalação da biblioteca C. A libc.a foi trocada pela biblioteca de testes. Deve remover libc.a, libg.a e libc_p.a e reinstalar as bibliotecas (seguindo as notas de instalação delas).Pergunta 9.3 - lp1 on fire.Esta é uma mensagem tradicional de brincadeira indicando que algum tipo de erro está a ser reportado pela impressora, mas o status do erro é inválido. Pode ser que haja algum tipo de conflito de I/O ou IRQ - verificar a configuração das suas placas.Algumas pessoas dizem que recebem esta mensagem quando as suas impressoras estão desligadas. Provavelmente ela não está realmente em chamas... Nos kernels mais recentes a mensagem foi mudada para lp1 reported invalid
error status (on fire, eh?). Pergunta 9.4 - INET: Warning: old style ioctl(IP_SET_DEV) called!Está a tentar utilizar os utilitários de configuração de rede antigos; os novos podem ser encontrados em ftp.linux.org.uk em /pub/linux/Networking/PROGRAMS/NetTools (só as fontes, acho).Note que estes não podem ser usados como os antigos; veja o NET-2
HOWTO para as instruções em configurar redes de forma correcta.
Pergunta 9.5 - ld: unrecognized option '-m486'.Possui uma versão antiga do ld. Instale um pacote binutils que seja mais recente -- ele contem um ld mais recente. Procure por binutils-2.6.0.2.bin.tar.gz em tsx-11.mit.edu em /pub/linux/packages/GCC.Pergunta 9.6 - GCC diz Internal compiler errorSe o erro é reprodutível (i.e, ele ocorre sempre no mesmo local do mesmo arquivo -- mesmo após reiniciar e tentar novamente, usando um kernel estável) descobriu um erro no GCC. Ver a documentação do GCC em formato Info (digite Control-h i no Emacs, e seleccione GCC no menu) para detalhes de como reportar isso -- no entanto, certifique-se de que a última versão do GCC.Note que este provavelmente não é um erro específico do Linux; a não ser que esteja a compilar um programa que muitos outros utilizadores do Linux compilam, não deve enviar o seu aviso sobre o erro para os grupos comp.os.linux. Se o erro não poder ser reproduzido, provavelmente está a
experimentar corrupção de memória -- veja a Pergunta 9.7
- make diz Error 139. Pergunta 9.7 - make diz Error 139.O compilador (gcc) fez um core dump. Possivelmente tem uma versão antiga, com erros ou corrompida do GCC -- obtenha a última versão. Também pode estar com pouco espaço de swap -- ver a Pergunta 6.8 - A minha máquina trabalha muito lentamente quando eu executo GCC / X / ... para mais informações.Se isto não resolver o problema, está muito provavelmente a ter problemas de corrupção de memória ou disco. Verifique se a velocidade do clock, wait states etc. dos SIMMs e da cache estão correctos (os manuais de hardware algumas vezes estão incorrectos). Se estiverem, pode estar com SIMMs defeituosas ou com velocidades conflituantes ou motherboard ou controladora ou disco defeituosos. O Linux, como qualquer UNIX, é excelente a testar a memória -- muito melhor que os programas de teste de memória baseados no DOS. Alguns clones de co-processadores aritméticos x87 podem causar problemas; tente compilar um kernel com emulação de processamento aritmético (Kernel math emulation) habilitado; precisará passar o comando no387 para o kernel, no prompt do LILO, para forçar o kernel a usá-lo ou o kernel não usará o código de emulação. Mais informações sobre este problema estão
disponíveis na WWW em http://einstein.et.tudelft.nl/~wolff/sig11/. Pergunta 9.8 - shell-init: permission denied quando dou login.O directório raiz e todos os directórios até ao seu directório home devem estar com autorização de leitura e execução para todos. Ver a página do manual do chmod ou um livro de UNIX para ver como resolver o problema.Pergunta 9.9 - No utmp entry. You must exec ... quando dou login.O /var/run/utmp está corrompido. Deve ter:> /var/run/utmp no /etc/rc.local ou /etc/rc.d/* Note que utmp pode também ser encontrado em /var/adm/utmp ou
/etc/utmp nalguns sistemas mais antigos. Pergunta 9.10 - Warning - bdflush not running.Os Kernels modernos, usam estratégias melhores para escrever blocos de disco em cache. Em adição às mudanças no kernel, isto envolve a troca do programa update que costumava escrever tudo a cada 30 segundos, por um (na verdade dois) daemon mais subtis, conhecidos por bdflush.Obtenha o bdflush-n.n.tar.gz do mesmo local que as fontes do kernel, ver a
Pergunta 7.6 - Como actualizar/recompilar o kernel?, compile-o e instale-o;
ele deve ser iniciado antes da verificação usual dos sistemas de
arquivos em tempo de boot. Ele funciona sem problemas com os kernels mais
antigos, portanto não há motivos para manter o update antigo.
Pergunta 9.11 - Warning: obsolete routing request made.Não se preocupe com isto; isto só quer dizer que a versão do route que tem é um pouco desactualizada em relação ao kernel.Pode-se livrar da mensagem, obtendo uma versão mais recente do route
do mesmo local que as fontes do kernel, ver a Pergunta 7.6 - Como
actualizar/recompilar o kernel? Pergunta 9.12 - EXT2-fs: warning: mounting unchecked filesystem.Deve executar o e2fsck (ou fsck -t ext2 se tem o programa fsck) com a opção -a para limpar o flag de `dirty', e depois desmontar a partição durante cada finalização (shutdown) do sistema.A forma mais fácil de fazer isto é obter a última versão dos comandos fsck, umount e shutdown, disponíveis no pacote util-linux de Rik Faith, ver a Pergunta 2.5 - Onde ir buscar material sobre o Linux por FTP? Deve certificar-se de que os scripts /etc/rc* estão a ser devidamente utilizados. Nota: não tente verificar um sistema de arquivos que está montado como read-write - isso inclui a partição raiz. Se não vir VFS: mounted root ... read-only durante o booting, deve fazer com que a partição raiz seja montada só para leitura, verificar se necessário e então remontá-la como read-write. Ler a documentação que acompanha com o util-linux para ver como fazer isso. Tenha em atenção, que deve especificar a opção
-n para mount para fazer com que ele não tente actualizar o /etc/mtab,
caso contrário vai falhar, pois o sistema de arquivos raiz (onde
está /etc/mtab) ainda é só para leitura. Pergunta 9.13 - EXT2-fs warning: maximal count reached.Esta mensagem é emitida pelo kernel quando ele monta um sistema de arquivos marcado como limpo, mas cujo contador de "montagens desde a última verificação " atingiu um valor predefinido.A solução é obter a última versão dos utilitários ext2fs (e2fsprogs-0.5b.tar.gz no momento da escrita disto) dos sites habituais, ver a Pergunta 2.5 - Onde ir buscar material sobre o Linux por FTP? O número máximo de montagens pode ser examinado e mudado com
o programa tune2fs deste pacote. Pergunta 9.14 - EXT2-fs warning: checktime reached.Os Kernels 1.0 em diante, suportam a verificação de sistemas de arquivos baseados no tempo decorrido desde a última verificação assim como no número de montagens. Obtenha a última versão dos utilitários ext2fs (e2fsprogs-0.5b.tar.gz, ou a mais recente) dos sites habituais, ver a Pergunta 2.5 - Onde ir buscar material sobre o Linux por FTP?Pergunta 9.15 - df diz Cannot read table of mounted filesystems.Provavelmente há algo de errado com os arquivos /etc/mtab ou /etc/fstab. Se possuir uma versão razoavelmente recente do mount, /etc/mtab deve ser esvaziado ou apagado em tempo de boot em /etc/rc.local ou /etc/rc.d/*), usando algo como:rm -f /etc/mtab* Algumas versões do SLS têm uma entrada para a partição raiz em /etc/mtab feito no /etc/rc* usando rdev. Isso é incorrecto. As versões recentes do mount fazem isso de forma automática. Outras versões do SLS têm uma linha em /etc/fstab que se parece com: /dev/sdb1 /root ext2 defaults Isso é errado. O /root deve ser simplesmente /. Pergunta 9.16 - fdisk says Partition X has different physical /logical...Se o número da partição (X, na mensagem acima) for 1 esse é o mesmo problema que fdisk: Parttion 1 does not start on cylinder boundary.Se a partição começa ou termina num cilindro com
número maior do que 1024, isso é devido ao facto das
informações do DOS sobre a geometria do disco não
suportar números de cilindro com mais de 10 bits. Ver a Pergunta 4.1 -
Como se faz funcionar o Linux com um disco que tem mais de 1024 cilindros
lógicos? Pergunta 9.17 - fdisk: Partition 1 does not start on cylinder boundary.A versão do fdisk que vem com muitos sistemas Linux, cria partições que falham nos seus próprios testes de consistência. Infelizmente, se já instalou o sistema não há muito o que se possa fazer sobre isso, além de copiar os dados da partição, removê-lo, reconstruir e copiar os dados de volta.Pode evitar o problema obtendo a última versão do fdisk, do pacote util-linux de Rik Faith (disponível em todos os bons sites de FTP). Em alternativa, se estiver a criar uma nova partição 1 que começa no primeiro cilindro, pode fazer o seguinte para obter uma partição que o fdisk goste:
Pergunta 9.18 - fdisk says partition n has an odd number of sectors.O esquema de partição de disco do PC funciona com sectores de 512 bytes, mas o Linux usa blocos de 1K. Se tiver uma partição com um número ímpar de sectores o último sector não é utilizado. Ignore a mensagem.Pergunta 9.19 - O mtools diz cannot initialise drive XYZ.Isso significa que o mtools está com problemas em aceder à drive. Isso pode ser causado por várias coisas.Frequentemente, este problema ocorre, devido às autorizações nos dispositivos das unidades de disco flexível (/dev/fd0* e /dev/fd1*) estarem incorrectas -- o utilizador ao executar o mtools deve ter acesso apropriado. Ver a página de manual do chmod para mais detalhes. A maioria das versões do mtools distribuídos com os sistemas Linux (não a versão padrão GNU) usa o conteúdo do arquivo /etc/mtools para ver quais os dispositivos e densidades usar, ao contrário de ter essas informações compiladas no programa. Os erros nesse arquivos podem causar problemas. Frequentemente não há documentação sobre isso... Nota: jamais se deve utilizar o mtools para aceder a arquivos numa
partição ou disquetes com o msdosfs montado! Pergunta 9.20 - Memory tight no começo do booting.Isso significa que tem um kernel muito grande, o que leva o Linux a ter que realizar alguma magia para gerir a memória extra para se poder iniciar a partir da BIOS. Isso não é relacionado com a quantidade de memória física na sua máquina.Ignore a mensagem ou compile um kernel contendo só os drivers e
funções que precisa, ver a Pergunta 7.6 - Como
actualizar/recompilar o kernel? Pergunta 9.21 - You don't exist. Go away.Isto não é uma infecção a vírus -). Isto vem de vários programas como write, talk e wall, se o uid efectivo ao executar o programa não corresponde a um utilizador válido (provavelmente devido a uma corrupção no /etc/passwd), ou se a sessão (pseudo terminal, especificamente) que está a usar não estiver registado no arquivo utmp.
|