Sie werden fast sicher einen Fehler während des Anmeldeprozesses feststellen. Etwas hängt und hindert Sie daran, eine interaktive Shell zu erreichen.
Versuche die folgenden Tricks, um wieder rein zu kommen:
- Melden Sie sich als anderer Benutzer an und finden Sie mit einem Login eine andere Person auf dem Server.
su <your username>
(Beachten Sie das Fehlen von '-' in su, dies überspringt die Umgebung des Zielbenutzers.) - Melden Sie sich als root an und bitten Sie den sysadmin, Ihr Profil als root zu bearbeiten
- Verbinden Sie sich über
ftp
oderftps
- Versuchen Sie Ihr Glück über eine nicht-interaktive Verbindung wie
scp
,rsync -e ssh
odersftp
Vorausgesetzt, Sie erhalten einen dieser Tricks und Sie erhalten eine interaktive Shell, sollten Sie Ihre Profildateien beiseite legen:
mkdir broken-profile-files ; mv .profile .bashrc .login .cshrc .bash_profile broken-profile-files
Wenn Sie über eine nicht interaktive Shell über etwas wie ftp verfügen, verwenden Sie ls
oder ls -a
, um alle Profildateien zu identifizieren, und verschieben oder löschen Sie sie (normalerweise rename
oder delete
).
Wenn Sie über rsync einsteigen können, können Sie zunächst die aktuelle Version der Dateien sichern, indem Sie einen rsync-Pull ausführen, und dann eine leere Datei sichern, um sie zu überschreiben.
Sobald Sie sich wieder in einem leeren Profil befinden, führen Sie folgende Schritte zum Debuggen aus:
- Öffnen Sie eine neue Shell, lassen Sie sie offen, berühren Sie sie nicht, schließen Sie sie nicht. Offene zwei, warum nicht? Dies wird Ihre Karte "aus dem Gefängnis frei" sein.
- Kopieren Sie nun Ihre Profildateien einzeln zurück und versuchen Sie, sich jedes Mal über ein neues Fenster anzumelden, bis Sie das Problem behoben haben
- Fügen Sie entweder set -x am Anfang der Datei hinzu, die Ihre Probleme verursacht, oder werfen Sie ein paar
echo "Here"
Zeilen hinein, um zu verfolgen, wie weit Sie durchkommen, bevor sie einfriert - Identifizieren Sie das Problem und debug / prune Sie bei Bedarf
Wahrscheinliche Ursachen für einen Hang:
- Versuch, eine ungültige oder veraltete Verzeichnisstruktur zu untersuchen (z. B. Shell-Erweiterung von * auf einem veralteten NFS-Mount des autohome-Verzeichnisses)
Noch ein letzter Gedanke: Es besteht auch die Möglichkeit, dass Sie eine größere Störung in einer der globalen Konfigurationsdateien haben. In diesem Fall würde ich Ihnen empfehlen, einfach im Einzelbenutzermodus aufzurufen und dies auf diese Weise zu beheben.