Portál AbcLinuxu, 13. května 2025 21:32

Dotaz: Existuje náhrada za updatedb?

17.5.2006 17:39 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Existuje náhrada za updatedb?
Přečteno: 143×
Odpovědět | Admin
Poslední dobou mě vadí program updatedb. Nelíbí se mi princip jeho fungování, kdy musí pokaždé projít celý disk a vygenerovat databázi souborů? Nevíte o nějaké rozumné náhradě?

Moje představa je, že se změny budou zapisovat při vytvoření/zrušení souboru a změně práv, takže to asi bude chtít spolupráci jádra. Ale bylo by to rozhodně méně náročné než to, co máme dnes a navíc by byla databáze dostupná ihned.
When your hammer is C++, everything begins to look like a thumb.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.5.2006 17:45 Radomír Fojtík | skóre: 33 | blog: jen to zkouším | Tísek
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Odpovědět | | Sbalit | Link | Blokovat | Admin
slocate >> rlocate ??

Já provedl náhradu nedávno, ale rlocate od verze 0.5 nějak začalo zlobit.
17.5.2006 17:59 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Díky, tohle jsem hledal ... až na to, že jsem mohl do vyhledávače zadat slocate, místo updatedb ;-)
When your hammer is C++, everything begins to look like a thumb.
13.6.2006 15:53 Radomír Fojtík | skóre: 33 | blog: jen to zkouším | Tísek
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
A funguje bez problému? Jak jsem psal výše, ta poslední verze dost zlobí, ale žádné hlášky jsem neměl nikde poznačeny. Tak dneska např.:

# locate linux/inotify.h

nevrátí žádný výsledek a nezbývá než CTRL-D. Ve stejný čas normálním userem OK:
$ locate linux/inotify.h
/usr/src/linux-2.6.16-ck9/include/linux/inotify.h
$
Několikrát jsem si všiml, že updatedb zůstalo viset (jako proces) pokud bylo spuštěno cronem. Neni to však dnešní případ. A co když rlocated zkusím zastavit?
# /etc/init.d/rlocated stop
 * Service rlocated stopping
 * WARNING:  you are stopping a boot service.                [ !! ]
    ERROR: Module rlocate is in use                                    [ !! ]
 * ERROR:  rlocated failed to stop
13.6.2006 16:55 Radomír Fojtík | skóre: 33 | blog: jen to zkouším | Tísek
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Ha. Zkusil jsem ještě ručně spustit updatedb a hlásí to:

updatedb: fatal error: The temp file '/var/lib/rlocate/rlocate.db.stf' already exists and does not appear to be a valid slocate database. Please remove before creating the database.

Smazal jsem tedy ten soubor a vzpomínám, že tohle dělám už po několikáté. Kdy a proč se tedy znovu a znovu vytváří? Nakonec bylo třeba killall rlocated a na chvíli to zase doufám poběží. Jak z toho ven?
17.5.2006 18:07 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Zajímavé, ale

"During the search also the file names are checked if they are accessible. If a file name was removed, it is not accessible, so it will be not shown."

to musí být pomalé, pokud je výsledků hodně, ne?
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
17.5.2006 18:10 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Tohle dělá i slocate. Protože updatedb běží pod rootem, zaindexuje všechny soubory, které locate zobrazí. Ale tím se obchází unixová práva, protože některé soubory a adresáře prostě viditelné být nemají, proto slocate ověřuje, zda má uživatel k danému souboru práva, aby jej mohl zobrazit.
When your hammer is C++, everything begins to look like a thumb.
17.5.2006 18:13 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Ha, žil jsem v bludu! Domníval jsem, že tomu tak není.
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
17.5.2006 17:46 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Odpovědět | | Sbalit | Link | Blokovat | Admin
beagle?
Na zaciatku vytvori databazu a potom ju aktualizuje cez inotify (kernel, ako si chcel ;-) )
Project Satan infects Calculon with Werecar virus
17.5.2006 18:04 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Beagle znám, ale tohle jsem nechtěl, šlo mi skutečně jenom o náhradu slocate.
When your hammer is C++, everything begins to look like a thumb.
17.5.2006 19:13 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Existuje náhrada za updatedb?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jinak to funguje super, po počátečním zaindexování a nahrátí modulu rlocate a spuštění démonu rlocated to pracuje
$ locate asdfg
$ touch asdfg
$ locate asdfg
/home/misak/asdfg
$ rm asdfg
$locate asdfg
$
When your hammer is C++, everything begins to look like a thumb.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.