Sadece belirli dizinleri indekslemek için nasıl mellet alırım?

18

Ubuntu sunucumda mlocate kullanmak istiyorum, ancak yalnızca belirli dizinleri dizine eklemek istiyorum (ör. /home ve /data , ancak% co_de altındaki her şey% değil). Bununla birlikte, mlocate'in standart konfigürasyonu ters yönde çalışır; Kaldırmak istediğiniz yolları belirtirsiniz ( / ile).

Bunu elde etmenin kolay bir yolu var mı, yoksa istediğimi yapacak herhangi bir benzer yarar var mı? (Not: PRUNE_PATHS gibi bir endeksi korumalıdır, bu nedenle mlocate kabul edilemez, örneğin) Teşekkürler.

    
sordu Andrew Ferrier 06.07.2012 15:31

3 cevap

12

-U seçeneğini kullanabilirsiniz (--database-root PATH)

updatedb -l 0 -U /home/user/music -o /home/user/databasefile

-o çıktı dosyasına yazar

-l 0, okuyabildiğiniz anlamına gelir, aksi halde yalnızca bulmak için erişilebilir

Ardından şunları kullanabilirsiniz:

locate -d /home/user/databasefile Dylan

-d veri tabanını ayarlar

Birden fazla kök dizini olan mlocate'i kullanmak için, iki veritabanı hazırlamanız yeterlidir ve iki veritabanında bu gibi seçenekleri kullanın:

locate -d /home/user/dbfile1 -d /home/user/dbfile2 searchstring

Özetlemek ve soruyu daha spesifik bir şekilde yanıtlamak için:

updatedb -l 0 -U /home -o /home/user/home_dbfile
updatedb -l 0 -U /data -o /home/user/data_dbfile
locate -d /home/user/home_dbfile -d /home/user/data_dbfile Dylan
    
verilen cevap Janghou 10.12.2013 13:44
17

Dosyayı /etc/updatedb.conf

olarak düzenleyin

PRUNEPATHS öğesini aramak istemediğiniz dizinlerle ayarlayın

PRUNEPATHS="/tmp /var/spool /media"

PRUNEPATHS : Güncellenmiş bir şekilde taranmaması gereken dizinlerin yol adlarının boşluklarla ayrılmış bir listesi. Her yol adı, dizinin yer belirterek bildirileceği formda olmalıdır. Varsayılan olarak, hiçbir yol atlanmaz.

Yukarıdaki yapılandırma bilgilerinin hepsinin de komut satırı seçenekleriyle updatedb yardımcı programına değiştirilebileceğini veya güncelleştirilebileceğini unutmayın.

    
verilen cevap LnxSlck 06.07.2012 15:38
1

Deneyebileceğiniz başka bir şey buldum:

  1. Hızlı Arama - "Dolayısıyla, SearchTool'um farklı bir yol kullanıyor: aranan klasörün içeriğini listelemek için 'ls' komutunu kullanıyor, ardından arama yapıyor Bu şekilde arama hızı çok hızlıdır (ilk kez 'ls' çıkışını yapmak zorunda kaldığı zaman hariç). ”

İndeksleme hakkında çok emin değilim.

  1. Aracı kullan izleyici-gui
  2. Oldukça topal bir çözüm sudo "arama dizinlerinizi buraya yerleştirin" & gt; files.list grep 'dosya adı' files.list
verilen cevap LnxSlck 06.07.2012 16:16

Etiketlerdeki diğer soruları oku