J’ai un problème étrange. Après avoir entré mon mot de passe sur un système debian 6.0, j’obtiens le motd mais il y a une pause de 5 à 10 secondes jusqu’à ce que je reçoive une invite du shell. Si j’appuie sur ctrl-c pendant cette pause, l’invite apparaît instantanément. Que pourrait-il se passer ici? Est-ce que je tue le processus de connexion? Pourquoi cela prend-il autant de temps pour invoquer bash? J’apprécie toutes les suggestions.
Merci
Vous pouvez déboguer les scripts shell bash en utilisant set -x
et set +x
. La commande set -x
active le mode debug et la commande set +x
désactive.
Si vous set -x
en haut de votre fichier $ HOME / .bash_profile, les informations de débogage doivent être imprimées pour vos fichiers d’initialisation de shell personnels. Si, comme vous le dites, vous obtenez un délai de 10 secondes, vous devriez pouvoir le retrouver facilement. Si ceci ne fait pas de lumière, optez pour le fichier d’initialisation du système /etc/profile
.
Bash Debugging et fichiers d’initialisation du shell
Il y a probablement quelque chose dans votre .bash_profile
.bashrc
ou .bash_profile
. Ou peut-être un autre fichier de démarrage ( /etc/profile
et al).
Même problème que John Rix pour moi. / opt / vmware / bin / ovfenv était le coupable.
J’ai trouvé ce post après avoir fait l’investigation suivante: démarrer une autre bash pourrait prendre jusqu’à 30 secondes sur un CentOS6
strace bash
affiche quelques lignes avant de se bloquer:
read(3, "LANG=`/opt/vmware/bin/ovfenv --q"..., 183) = 183
Suppression du script de son exécution avec:
mv /etc/profile.d/zzzz-vamilocale.sh /etc/profile.d/zzzz-vamilocale.sh.ko