CD kann nicht in ein Verzeichnis verschoben werden, kein sichtbares Problem

7

Ich habe versucht zu suchen und konnte kein ähnliches Szenario finden.

Ich habe ein Verzeichnis, in das ich nicht kann cd:

# cd /var/log
# cd apache2
bash: cd: apache2: No such file or directory
# ll -d apache2
drwxr-xr-x 2 root root 0 Jun 15 12:58 apache2/
# echo $EUID
0
# lsof | awk '$NF ~ /log\/apache2/'
# mount | grep apache
#

Ich bin am Ende, wie man dieses Verzeichnis überprüft. Irgendwelche Vorschläge, was los ist? Und was soll ich tun, um wieder auf dieses Verzeichnis zugreifen zu können?


BEARBEITEN:

# stat apache2
  File: `apache2'
  Size: 0               Blocks: 0          IO Block: 1024   directory
Device: 16h/22d Inode: 21665       Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-06-15 12:58:54.542248000 +0700
Modify: 2015-06-15 12:58:54.542248000 +0700
Change: 2015-06-15 12:58:54.542248000 +0700
 Birth: -
pepoluan
quelle
Können Sie versuchen, cdmit einer anderen Shell in dieses Verzeichnis zu gelangen? Ich habe auch keine Ahnung, was hier los sein könnte. EDIT: ACL vielleicht?
Arkadiusz Drabczyk
1
Ich würde versuchen, eine Dateisystemprüfung für diese Partition / dieses Dateisystem durchzuführen, bevor ich fortfahre.
Anthon
Noch eine Frage: Können Sie den Inhalt dieses Verzeichnisses auflisten? Oder ist das gesamte /var/logVerzeichnis als externes Dateisystem gemountet?
Arkadiusz Drabczyk
1
Ich hatte einmal einen solchen Effekt mit einem beschädigten Dateisystem.
Janis
1
Welches Dateisystem ist das? Ich bin etwas überrascht über die Größe 0 dieses Verzeichnisses.
Dubu

Antworten:

1

wahrscheinlich gibt es am Ende von apache2 einen Leerraum. Versuchen

cd /var/log/apache2*

Wenn es in Ordnung ist, gehe in ein oberes Verzeichnis und benenne den Apache2 wie folgt um:

cd /
mv /var/log/apache2* /var/log/apache2
George Ivanov
quelle
Nein, funktioniert nicht. Immer noch die gleiche Fehlermeldung erhalten.
Pepoluan
Wenn dies der Fall wäre, hätte die Ausgabe von llein Leerzeichen zwischen apache2und /(das bedeutet, dass es sich um ein Verzeichnis handelt).
Anthon
Okay, dann sehen wir uns die Flaggen mit lsattr /var/log/apache2und dann SELINUX (nur für den Fall) getenforce undls -Z /var/log
George Ivanov