Gibt es eine schnelle Suchfunktion für Dateien?

Message
Author
User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#31 Post by Karl Godt »

Kannst du mal das pet hochladen ... bitte?
Attachments
mlocate-0.26-i486.pet
(42.06 KiB) Downloaded 346 times
mlocate_NLS-0.26-i486.pet
(55.2 KiB) Downloaded 351 times
mlocate_DOC-0.26-i486.pet
(6.05 KiB) Downloaded 343 times

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

mlocate

#32 Post by L18L »

Code: Select all

# time updatedb

real	0m3.294s
user	0m0.407s
sys	0m1.187s
# 
# time locate bark
/initrd/pup_ro2/usr/share/audio/2barks.au
/initrd/pup_ro2/usr/share/audio/2barks.wav
/initrd/pup_ro2/usr/share/audio/bark.au
/initrd/pup_ro2/usr/share/sounds/2barks.au
/initrd/pup_ro2/usr/share/sounds/bark.au
/usr/share/audio/2barks.au
/usr/share/audio/2barks.wav
/usr/share/audio/bark.au
/usr/share/sounds/2barks.au
/usr/share/sounds/bark.au

real	0m1.258s
user	0m0.863s
sys	0m0.023s
#
Sehr gut; Karl. 8)

Edit
Zum Vergleich:

Code: Select all

# time find / -name *bark*
/usr/share/audio/2barks.au
/usr/share/audio/2barks.wav
/usr/share/audio/bark.au
/usr/share/sounds/2barks.au
/usr/share/sounds/bark.au
/initrd/pup_ro2/usr/share/audio/2barks.au
/initrd/pup_ro2/usr/share/audio/2barks.wav
/initrd/pup_ro2/usr/share/audio/bark.au
/initrd/pup_ro2/usr/share/sounds/2barks.au
/initrd/pup_ro2/usr/share/sounds/bark.au

real	0m5.088s
user	0m1.020s
sys	0m1.300s
#

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#33 Post by der-schutzhund »

@Karl
War mal etwas weg.
Habe gerade die 3 pets geladen und folgendes getestet:

time find / >find.db.text
dauert ca. 4 Minuten. Die Datenbank ist ca. 52 MB groß

time find / -name *geany*
dauert bei mir ca. 16 sek.

Wenn ich das richtig verstehe sind das aber die ganz normalen Suchbefehle und haben nichts mit deinen Pets zu tun?

Wie wären denn nochmal die Befehle:

- zum erzeugen der Datenbank
- Update dieser Datenbank falls es diese Funktion gibt
- Suchfunktion in der Datenbank?

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#34 Post by der-schutzhund »

Wenn ich es richtig sehe dann wird mit /usr/bin/updatedb die Datenbank erzeugt?
updatedb meldet, dass die Datei /usr/var/mlocate/mlocate.db nicht gefunden wird.
/usr/var gibt es bei mir auch nicht als Verzeichnis.
[/code]

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#35 Post by Karl Godt »

Oh, Hallo Wolfgang !

Yup , hast recht , dass einfach --prefix=/usr auch in der Regel /usr/var in Hinsicht der --localestatedir bedeuted . Und in dem Haupt .pet ist der Ordner /usr/var nicht enthalten gewesen , oder gar ein Link nach /var .

Um einen Ordner anzulegen , kann man den Filemanager nutzen oder den Terminal :

Code: Select all

mkdir -p /usr/var/mlocate
oder als link

Code: Select all

ln -s /var /usr/var
War auch weg und habe jetzt erst gemerkt, dass Du geantworted hast .
Hmm, es scheint bei den ca. dreissig downloads selbststaendigere oder erfahrenere Leute dabei gewesen zu sein, oder die sind in Repositorien gelandet und nicht auch noch installiert worden .

Lutz18L jedenfalls scheint Probleme selbst geloest zu haben , oder seine Installation kommt standardmaessig mit /usr/var undoder /usr/local/var .

der-schutzhund
Posts: 1045
Joined: Mon 26 Nov 2007, 22:07
Location: Blomberg / Germany

#36 Post by der-schutzhund »

Ein Verzeichnis von Hand zu erzeugen hatte ich natürlich auch schon getestet aber das funktioniert dann auch noch nicht!

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#37 Post by Karl Godt »

Tja, werde mal dann eine lupu booten muessen .

Einzigst witheout-Flagg-Schnipsel oder Berechtigungen fielen mir dazu auf_anhieb ein .

Code: Select all

find /initrd/pup_rw -name "*.wh.*"
find /initrd/pup_ro1-name "*.wh.*"
whoami
find /usr -type d -name "var" -exec ls -lR {} \; | grep -i 'locate'
ls -lR /var | grep -i 'locate'
grep -nHi 'locate' /etc/group /etc/gshadow
Und vielleicht um updatedb zu ueberlisten , einen leeren Ruehr-Futzel creieren :

Code: Select all

touch /usr/var/mlocate/mlocate.db
Jedenfalls ein kurzer Test durch

Code: Select all

mv -i /usr/var/mlocate/mlocate.db /usr/var/mlocate/mlocate.db-old
und ein updatedb meckerte nicht ueber einen fehlenden Database-Brocken .

Wenn ich allse wuesste, waere ich in Hollywood und nicht hier . Am besten ist immer der direkte Zugang bei Trubel .

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#38 Post by Karl Godt »

So, hab jetzt ein Lupu-511 Derivat hochgeschossen , das Haupt- .pet von hier kopiert (heruntergeladen) , darauf links-geklickt und akzeptiert, es zu installieren :

Code: Select all

# locate geany
locate: can not stat () `/usr/var/mlocate/mlocate.db': No such file or directory

# mkdir -p /usr/var/mlocate
# locate geany
locate: can not stat () `/usr/var/mlocate/mlocate.db': No such file or directory

# touch /usr/var/mlocate/mlocate.db
# locate geany
locate: unexpected EOF reading `/usr/var/mlocate/mlocate.db'

# echo "" >/usr/var/mlocate/mlocate.db
# locate geany
locate: unexpected EOF reading `/usr/var/mlocate/mlocate.db'

# echo -e "\n" >/usr/var/mlocate/mlocate.db
# locate geany
locate: unexpected EOF reading `/usr/var/mlocate/mlocate.db'

# echo -e "Dummy\n" >/usr/var/mlocate/mlocate.db
# locate geany
locate: unexpected EOF reading `/usr/var/mlocate/mlocate.db'

# updatedb
updatedb: can not find group `mlocate'

# addgroup -S -g 9876 mlocate
# updatedb

# locate geany
/initrd/mnt/dev_save/Pet.D/tmp/langpack_de-20130204/usr/share/doc/nls/geany
/initrd/mnt/dev_save/Pet.D/tmp/langpack_de-20130204/usr/share/doc/nls/geany/geany.pot
[ .. ]

Gruppe 9876 is (natuerlich) Ermessenssache ; hatte kurz im Inter-Netz recherchiert, ob es bei den grossen Distros irgend einen stillschewigenden Usus ueber eine allgemein distro-uebergreifende Gruppen-ID-Nummer gaebe, und nichts gefunden - auch in dem regulaeren .deb aus der Debian-Squeeze-Repo nicht .
apt-get scheint dies ueber einen zentralen Konfigurations-Mechanismus zu bewerkstelligen . Ich habe nur Puppy-Linux, und kann darum nicht sagen, wie andere GNU/Linux Operations-Systeme diese Gruppen-ID handhaben .
changelog.Debian wrote:mlocate (0.18-1) experimental; urgency=low

* Initial release. (Closes: #435787)

* Create a "mlocate" group, and make the locate binary setgid on postinst
(with dpkg-statoverride).
README wrote:new releases will be available at https://fedorahosted.org/mlocate/ .

Installation
============
Before installation it is necessary to create a group called "mlocate" to allow
hiding the contents of the database from users.

When updatedb is run by root, the database contains names of files of all
users, but only members of the "mlocate" group may access it. "locate" is
installed set-GID "mlocate", no other program should need to run with this GID.
Was GID und SID anbelangt, muesste ich mich mal weiterbilden ..

HDH soweit erstmal .

Gruss, Karl

Post Reply