Wir haben einen NFS-Mount auf einer RHEL6-VM, der unseren Versionskontrollserver unterstützt. Vor kurzem ist eines der Repositorys etwas verrückt geworden, und Folgendes habe ich auf dem Server gefunden:
ls -latri repo.git/refs/heads/
total 28
5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21 .
5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21
5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21
5551209 drwxr-xr-x. 3 git git 4096 Jun 1 22:09 ..
Wenn ich tree
gegen das Verzeichnis renne, scheint es unendlich rekursiv zu sein - zB:
repo.git/refs/heads/
├──
│ ├──
│ │ ├──
│ │ │ ├──
│ │ │ │ ├──
│ │ │ │ │ ├──
│ │ │ │ │ │ ├──
│ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├──
Ich habe versucht, das Repository über seine Inode-Referenz zu löschen:
[root@node repo.git/refs]# ls -latri
total 16
5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21 heads
[root@node repo.git/refs]# find . -inum 5551210 -exec rm -rf {} \;
rm: cannot remove `./refs/heads': Directory not empty
find: `./refs/heads/': No such file or directory
find: `./refs/heads/': No such file or directory
Ich bin etwas ratlos, was ich hier tun soll - die Inode-Informationen im ls -latri
Befehl scheinen darauf hinzudeuten, dass sich im Verzeichnis 'Heads' 2 Verzeichnisse befinden, die Hardlinks zum Heads-Verzeichnis sind.
Alle Ideen zur Bereinigung wären sehr willkommen - ich glaube, ich habe das Anwendungsproblem gelöst, das es verursacht hat, aber das größere Problem mit dem Dateisystem muss behoben werden.
Vielen Dank!
Bearbeiten: Bit der zusätzlichen Ausgabe:
keine versteckten Zeichen:
[root@node repo.git/refs]# ls -latrib heads/
total 28
5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21 .
5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21
5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21
5551209 drwxr-xr-x. 3 git git 4096 Jun 1 22:09 ..
aber hier ist eine lustige Ausgabe, wenn ich tatsächlich in den Köpfen bin :
[root@node repo.git/refs/heads]# ls -latrib
ls: cannot access : No such file or directory
ls: cannot access : No such file or directory
total 12
? -?????????? ? ? ? ? ?
? -?????????? ? ? ? ? ?
5551210 drwxr-xr-x. 2 git git 8192 Jun 1 21:21 .
5551209 drwxr-xr-x. 3 git git 4096 Jun 1 22:09 ..
ls
Ausgabe sind mir verdächtig. Haben Sie fsck auf dem NFS-Server ausgeführt?
ls -latri
Ausgabe ist ungerade, da die Verbindungsanzahl für Inode 5551210 ungerade ist, wenn diese zwei zusätzlichen Verzeichnisse vorhanden sind. Könnten Sie es versuchenls -latrib
? Was ist der zugrunde liegende Dateisystemtyp?