2011-12-07 19 views
6

Ho uno strano problema. Dopo aver inserito la mia password su un sistema debian 6.0, ottengo il motd ma poi c'è una pausa di 5-10 secondi fino a quando non ottengo un prompt della shell. Se premo ctrl-c durante quella pausa, il prompt si presenta istantaneamente. Cosa potrebbe accadere qui? Sto uccidendo la procedura di accesso? Perché potrebbe richiedere così tanto tempo per invocare bash? Apprezzo qualsiasi suggerimento.10 secondi di ritardo tra login e prompt della shell.

Grazie

+0

Forse questa domanda è più appropriato al sito [superuser.com] (http://superuser.com) –

risposta

11

È possibile eseguire il debug di script shell bash utilizzando set -x e set +x. Il comando set -x abilita la modalità di debug e il comando set +x lo disabilita.

Inserire set -x nella parte superiore di $ HOME/.bash_profile dovrebbe causare la stampa delle informazioni di debug per i file di inizializzazione della shell personali. Se come dici tu hai un ritardo di 10 secondi dovresti riuscire a rintracciarlo abbastanza facilmente. Se ciò non fa luce, andare al file di inizializzazione del sistema /etc/profile.

Bash Debugging e shell initialisation files

+0

Grazie, mi ha aiutato a rintracciarlo fino al completamento di bash! Apparentemente fa molta inizializzazione. –

+1

Grazie anche da parte mia! Ho avuto un problema molto simile a questo su un sistema virtuale distribuito da un file OVA in VMWare ESXi. Ho trovato (usando set -x) che il problema era causato da uno script di VMWare Tools chiamato /etc/profile.d/zzzz-vamilocale.sh, che stava tentando di leggere le impostazioni dell'ambiente OVF tramite/opt/vmware/bin/ovfenv, che a sua volta cercava di recuperare le impostazioni da varie posizioni, incluso il CDROM. Se il dispositivo CD era vuoto o non collegato, ciò causerebbe il ritardo. La rimozione dello script (che imposta/aggiorna solo l'env var LANG) era una soluzione semplice! –

3

E 'probabile che ci sia qualcosa nel vostro .bashrc o .bash_profile. O forse qualche altro file di avvio (/etc/profile e altri).

+0

Grazie, era davvero nel mio .bashrc; il completamento di bash è stato il colpevole –

0

stesso problema come John Rix per me./opt/vmware/bin/ovfenv era il colpevole.

ho trovato questo post dopo aver fatto le seguenti indagini: di iniziare un altro bash dovrebbe richiedere fino a 30 secondi su un CentOS6

strace bash 

mostra poche righe prima si blocca:

read(3, "LANG=`/opt/vmware/bin/ovfenv --q"..., 183) = 183 

rimosso il script da esecuzione con:

mv /etc/profile.d/zzzz-vamilocale.sh /etc/profile.d/zzzz-vamilocale.sh.ko 
Problemi correlati