Portál AbcLinuxu, 25. prosince 2025 02:01
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.
$ 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
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.
slocate.
rlocate a spuštění démonu rlocated to pracuje
$ locate asdfg $ touch asdfg $ locate asdfg /home/misak/asdfg $ rm asdfg $locate asdfg $
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.