Paradoxon: find -ctime als root

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
geraldh
Beiträge: 19
Registriert: 22.04.2009 08:19:56
Lizenz eigener Beiträge: MIT Lizenz

Paradoxon: find -ctime als root

Beitrag von geraldh » 14.02.2012 20:53:02

Hallo,

meine Problem ist Folgendes

Code: Alles auswählen

/home/user> sudo find . -ctime 3 | wc -l
331
/home/user> sudo find ~ -ctime 3 | wc -l
331
/home/user> sudo find / -ctime 3 | wc -l
0
Wie kann das sein?

Wie man sieht, versuche ich die Anzahl
der vor drei Tagen geänderten Dateien
zu bestimmen. Das müssten doch aber
in einem übergeordnetem Verzeichnis
immer mehr oder mindestens gleich
viele wie im untergeordneten Verzeichnis
sein, niemals aber weniger.

Wie kann ich im Homeverzeichnis schon 331
solche Dateien haben, auf dem ganzen
Rechner aber keine? 8O Wo liegt mein
Denkfehler?

Gruß, Gerald

Benutzeravatar
whisper
Beiträge: 3393
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Paradoxon: find -ctime als root

Beitrag von whisper » 15.02.2012 06:41:52

schonmal probiert, erst sudo bash.
dann als root die Befehle abzusetzen?
Bei mir geht es nämlich wie vermutet
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

Benutzeravatar
geraldh
Beiträge: 19
Registriert: 22.04.2009 08:19:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Paradoxon: find -ctime als root

Beitrag von geraldh » 15.02.2012 09:12:03

Hallo,
whisper hat geschrieben:schonmal probiert, erst sudo bash.
dann als root die Befehle abzusetzen?
Bei mir geht es nämlich wie vermutet
Danke für die Anregung, aber leider

Code: Alles auswählen

/home/user> sudo bash
asus-793756736:/home/user> find / -ignore_readdir_race -ctime 4 | wc -l
0
asus-793756736:/home/user> find . -ignore_readdir_race -ctime 4 | wc -l
331
Ich würd ja in meiner Verzweiflung auch
außen rum programmieren, also per Skript
einzeln alle Unterverzeichnisse von /
durchnudeln und die Werte addieren :roll:
aber dann muss ich mich immer als root
einloggen, da bei Skripten ja das SUID
ignoriert wird.

Gruß, Gerald

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Paradoxon: find -ctime als root

Beitrag von Livingston » 15.02.2012 12:43:39

Was kommt denn raus, wenn Du jeweils die pipe >> | wc -l << weglässt?

Benutzeravatar
geraldh
Beiträge: 19
Registriert: 22.04.2009 08:19:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Paradoxon: find -ctime als root

Beitrag von geraldh » 16.02.2012 23:40:45

Hallo,
Livingston hat geschrieben:Was kommt denn raus, wenn Du jeweils die pipe >> | wc -l << weglässt?
Das, was man erwarten würde.
Ich bekomme im Homeverzeichnis
alle Dateinamen der geänderten
Dateien angezeigt, in / aber nix.

Der wc -l Teil scheint zu funktionieren.

Und das hier ist auch sehr "lustig":

Code: Alles auswählen

/home/user> touch /tmp/foobar
/home/user> sudo find /tmp/ -ignore_readdir_race -ctime 5 | wc -l
0
/home/user> ls -l /tmp/foobar
-rw-r--r-- 1 user user 0 2012-02-16 23:48 /tmp/foobar

8O

Gruß, Gerald

Benutzeravatar
geraldh
Beiträge: 19
Registriert: 22.04.2009 08:19:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Paradoxon: find -ctime als root

Beitrag von geraldh » 16.02.2012 23:56:53

Hallo,

Verzeihung wegen des Blödsinns :evil:
geraldh hat geschrieben:

Code: Alles auswählen

/home/user> sudo find /tmp/ -ignore_readdir_race -ctime 5 | wc -l
0

Mit 0 statt 5 geht's.

Das ursprüngliche Problem ist
aber immer noch vorhanden.

Gruß, Gerald

uname
Beiträge: 12492
Registriert: 03.06.2008 09:33:02

Re: Paradoxon: find -ctime als root

Beitrag von uname » 17.02.2012 08:30:11

Deine Ausgabe kann ich nicht nachvollziehen. Bei mir funtkioniert das vollkommen korrekt.
Prüfe ob du nicht ein falsches "find" nutzt. Sollte standardmäßig das Paket Debianfindutils ergeben.

Code: Alles auswählen

dpkg -S `which find`
findutils: /usr/bin/find
Auch wiederhole (nun wohl mit "-ctime 6" für andere Ordner, immer als "root":

Code: Alles auswählen

find / -ignore_readdir_race -ctime 6 | wc -l
find /home -ignore_readdir_race -ctime 6 | wc -l
find /home/user -ignore_readdir_race -ctime 6 | wc -l
find /home/user/<subdir> -ignore_readdir_race -ctime 6 | wc -l
Schau auch ob bei "find /" wirklich "/home" durchsucht wird.

Code: Alles auswählen

find / |grep "^/home" 
find / |grep "^/home" |wc -l 
(kein fgrep wegen regulärem Ausdruck)
(könnte jeweils etwas dauern)

Benutzeravatar
geraldh
Beiträge: 19
Registriert: 22.04.2009 08:19:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Paradoxon: find -ctime als root

Beitrag von geraldh » 17.02.2012 21:31:28

Hallo,

danke für den Kommentar.
uname hat geschrieben:Prüfe ob du nicht ein falsches "find" nutzt. Sollte standardmäßig das Paket Debianfindutils ergeben.

Code: Alles auswählen

dpkg -S `which find`
findutils: /usr/bin/find
Exakt dieses Ausgabe bekommen ich.

Übrigens

Code: Alles auswählen

/home/user> find -version
GNU find Version 4.2.28
Features enabled: D_TYPE O_NOFOLLOW(enabled) LEAF_OPTIMISATION

Code: Alles auswählen

/home/user> sudo find / -ignore_readdir_race -ctime 6 | wc -l
0
/home/user> sudo find /home/ -ignore_readdir_race -ctime 6 | wc -l
323
/home/user> sudo find /home/user/ -ignore_readdir_race -ctime 6 | wc -l
323
/home/user> sudo find /home/user/.kde/share/config/ -ignore_readdir_race -ctime 6 | wc -l
78
Also konsistente Ergebnisse mit Ausnahme von /
uname hat geschrieben:Schau auch ob bei "find /" wirklich "/home" durchsucht wird.

Code: Alles auswählen

/home/user> find / 2>/dev/null |grep "^/home" |wc -l
73
Scheint auch zu stimmen.

Alles im grünen Bereich mit Ausnahme von /

Gruß, Gerald

Benutzeravatar
whisper
Beiträge: 3393
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Paradoxon: find -ctime als root

Beitrag von whisper » 17.02.2012 21:39:56

Welches Filesystem ist / ?
Nicht das du mit den fileattributes rumgespielt hast... Stichwort lsattr
Damit wären solche Effekte denkbar.
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

Benutzeravatar
geraldh
Beiträge: 19
Registriert: 22.04.2009 08:19:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Paradoxon: find -ctime als root

Beitrag von geraldh » 17.02.2012 22:46:37

Hallo,
whisper hat geschrieben:Welches Filesystem ist / ?

Code: Alles auswählen

/home/user> df -h /
Dateisystem          Größe Benut  Verf Ben% Eingehängt auf
unionfs               1,4G  611M  738M  46% /
/home/user> sudo fdisk -l /dev/sda

Disk /dev/sda: 4001 MB, 4001292288 bytes
255 heads, 63 sectors/track, 486 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1         300     2409718+  83  Linux
/dev/sda2             301         484     1477980   83  Linux
/dev/sda3             485         485        8032+   c  W95 FAT32 (LBA)
/dev/sda4             486         486        8032+  ef  EFI (FAT-12/16/32)
whisper hat geschrieben:Nicht das du mit den fileattributes rumgespielt hast... Stichwort lsattr
Damit wären solche Effekte denkbar.
Müsste unbewusst geschehen sein,
aber ausschließen kann ich nichts.

Der tiefere Grund warum ich rumstochere ist,
dass das System sich plötzlich sonderbar
verhielt und der Grund dafür war, das die
Inodes bei 0 lagen. Durch Löschen einiger
temporärer Daten habe ich mir wieder etwas
Luft verschafft, aber weiterhin verschwinden
Inodes, ohne dass ich bisher genau feststellen
kann, was dafür verantworlich ist.

Gruß, Gerald

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Re: Paradoxon: find -ctime als root

Beitrag von cirrussc » 25.02.2012 21:25:32

Code: Alles auswählen

Dateisystem          Größe Benut  Verf Ben% Eingehängt auf
unionfs               1,4G  611M  738M  46% /
/home/user> sudo fdisk -l /dev/sda
Ist das ein Life-System? Oder warum hast Du da unionfs?
geraldh hat geschrieben: Der tiefere Grund warum ich rumstochere ist,
dass das System sich plötzlich sonderbar
verhielt und der Grund dafür war, das die
Inodes bei 0 lagen. Durch Löschen einiger
temporärer Daten habe ich mir wieder etwas
Luft verschafft, aber weiterhin verschwinden
Inodes, ohne dass ich bisher genau feststellen
kann, was dafür verantworlich ist.
Woran meinst du denn zu erkennen, ob da "0 Inodes frei" sind?

Was ist das denn überhaupt für Hardware und System am laufen?
Gruß cirrussc
--------------------
„Der Mensch steigert zur Zeit die Nutzung dessen, was seiner Willkür unterliegt - und kommt sich sehr klug dabei vor.“ H. Gruhl

Benutzeravatar
geraldh
Beiträge: 19
Registriert: 22.04.2009 08:19:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Paradoxon: find -ctime als root

Beitrag von geraldh » 15.03.2012 13:01:36

Hallo,

Danke für den Kommentar.

Ich muss vorausschicken, dass ich inzwischen die Nerven verloren und das ganze neu aufgesetzt habe. Insofern ist das alles nur mehr von historischem Interesse.
cirrussc hat geschrieben:Woran meinst du denn zu erkennen, ob da "0 Inodes frei" sind?

Code: Alles auswählen

df -i
cirrussc hat geschrieben:Was ist das denn überhaupt für Hardware und System am laufen?
EeePC mit Xandros Debian 4.1,1-21

Gruß, Gerald

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Paradoxon: find -ctime als root

Beitrag von Cae » 15.03.2012 13:08:23

geraldh hat geschrieben:EeePC mit Xandros Debian 4.1,1-21
Waaaaah!

Gruß Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

Benutzeravatar
geraldh
Beiträge: 19
Registriert: 22.04.2009 08:19:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Paradoxon: find -ctime als root

Beitrag von geraldh » 16.03.2012 00:05:39

Hallo,
Cae hat geschrieben:Waaaaah!
Oh Verzeihung.
Das sollte natürlich ein Punkt zwischen
den beiden Einsern sein.

Gruß, Gerald

Antworten