Nous avons un montage NFS sur une machine virtuelle RHEL6 qui prend en charge notre serveur de contrôle de version - récemment, l'un des référentiels est devenu un peu fou et voici ce que j'ai trouvé sur le serveur:
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 ..
Lorsque je cours tree
contre le répertoire, il semble être infiniment récursif - par exemple:
repo.git/refs/heads/
├──
│ ├──
│ │ ├──
│ │ │ ├──
│ │ │ │ ├──
│ │ │ │ │ ├──
│ │ │ │ │ │ ├──
│ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├──
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├──
J'ai tenté de supprimer le référentiel via sa référence d'inode:
[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
Je ne sais pas trop quoi faire ici - les informations d'inode sur la ls -latri
commande semblent indiquer qu'il y a 2 répertoires dans le répertoire «têtes» qui sont des liens physiques vers le répertoire têtes?
Toutes les idées sur la façon de nettoyer cela seraient les bienvenues - pensez que j'ai résolu le problème d'application qu'il causait, mais le plus gros problème avec le système de fichiers doit être trié.
Je vous remercie!
Edit: bit de sortie supplémentaire:
pas de caractères cachés:
[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 ..
mais voici une sortie amusante quand je suis en fait dans le répertoire des têtes:
[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
sortie me sont suspects. Avez-vous exécuté fsck sur le serveur NFS?
ls -latri
sortie est étrange car le nombre de liens pour l'inode 5551210 est impair s'il y a ces deux répertoires supplémentaires. Pourriez-vous essayerls -latrib
? Quel est le type de système de fichiers sous-jacent?