再起動後、外付けハードドライブのファイルのインデックスが作成されなくなりました。再マウントしてから実行する必要があります
# updatedb
再起動するたびに。問題が更新されましたb外付けハードドライブの場合は数分かかります。再起動後に外部のインデックスを保持して、locateコマンドで外部を検索できるようにする方法はありますか?
編集:リクエストごとに私の仕様は次のとおりです:
$ cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf fuse.glusterfs fuse.sshfs ecryptfs fusesmb devtmpfs"
# mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/me/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=me)
/dev/sdb1 on /media/me type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
/dev/sdd1 on /media/Little Boy type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
/dev/sde1 on /media/Fat Man type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
# on_ac_power; echo $?
255
ベストアンサー
updatedb
のため、外付けハードディスクのファイルはインデックスに登録されません /media
の下に何もインデックスを付けないように構成されています 、これは通常、外部ストレージがマウントされる場所です。この構成は、ファイル/etc/updatedb.conf
で設定されます。 。具体的には、エントリ/media
PRUNEPATHS
で 行。
updatedb
を作成する方法に関するいくつかのアイデア 外付けドライブにインデックスを付けるには:
1。 /mnt
に外付けドライブをマウントします 。
外付けハードディスクが永続的にマウントされることになっている場合 次に、/mnt
の下にマウントされるように構成することをお勧めします /media
の下ではなく 。これは通常、/etc/fstab
を編集することで実行できます。 。それについて学ぶために「fstab」を検索してください。 /etc/fstab
を編集するには、sudo権限が必要です。 。
2。外付けハードディスク専用のデータベースを作成し、オンデマンドでクエリを実行します。
次のコマンドは、専用のデータベースを作成します。
updatedb -l 0 -o ~/.externalharddisk.db -U /media/externalharddisk
これにより、隠しファイル.externalharddisk.db
にデータベースが作成されます。 あなたの家で。 sudo
は必要ありません そのコマンドのために。同じコマンドを再度実行して、データベースを最新の状態に保ちます。注意:外付けハードディスクがマウントされていないときにそのコマンドを実行すると、updatedb
ファイルが削除されたと見なし、データベースを空にします。
そのタスクを自動化するスクリプトを設定できます。その方法については、「cronjob」を検索してください。注:ユーザーcronjobをユーザーとして設定できます。ユーザーのcronジョブを設定するためにsudo権限は必要ありません。
関連:Ubuntu13.04でUnityWebAppsを再度有効にする方法は?次のコマンドはデータベースにクエリを実行します:
locate -d ~/.externalharddisk.db searchterm
専用データベースとデフォルトデータベースを同時にクエリすることもできます:
locate -d ~/.externalharddisk.db: searchterm
最後のコロンの後に何も表示されないということは、デフォルトのデータベースでも検索することを意味します。
使いやすいエイリアスを作成できます。 .bashrc
に次の行を入力します :
alias locate-external='locate -d ~/.externalharddisk.db:'
これで、locate
を使用できます デフォルトのデータベースとlocate-external
のみを検索します 外付けハードディスクも検索します。
3。 /media
を削除します PRUNEPATHS
から
注:これはお勧めしません !これは、updatedb
の方法によるものです 動作します。 updatedb
の場合 外付けハードディスクが取り外されている間に実行されると、外付けハードディスクを指すすべてのエントリがデータベースから削除されます。 updatedb
の場合 外付けハードディスクが接続されている間に実行され、外付けハードディスクを指すエントリが再度追加されます。 updatedb
以降 はバックグラウンドで定期的に実行されているため、外付けハードディスクのファイルが現在インデックスに登録されているかどうかを確認することはできません。
さらに:/media
を削除した場合 PRUNEPATHS
から 、この動作は、updatedb
中にマウントした他の外部ストレージにも適用されます。 データベースを更新しています。