GNU/Linux >> Belajar Linux >  >> Ubuntu

Updateb &Cari Masalah Perintah - File Dari Hard Drive Eksternal Tidak Lagi Diindeks Setelah Reboot?

File dari hard drive eksternal saya tidak lagi diindeks setelah reboot. Saya harus me-remount dan kemudian menjalankan

# updatedb

setelah setiap reboot. Masalahnya diperbaruib membutuhkan beberapa menit untuk hard drive eksternal saya. Apakah ada cara saya dapat mempertahankan pengindeksan untuk eksternal saya setelah saya reboot sehingga perintah locate dapat mencari melalui eksternal saya?

EDIT:Per Permintaan, inilah spesifikasi saya:

$ 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

Jawaban Terbaik

File dari harddisk eksternal Anda tidak diindeks karena updatedb dikonfigurasi untuk tidak mengindeks apa pun di bawah /media , yang merupakan tempat penyimpanan eksternal biasanya dipasang. Konfigurasi ini diatur dalam file /etc/updatedb.conf . Khususnya entri /media di PRUNEPATHS baris.

Beberapa ide bagaimana Anda dapat membuat updatedb untuk mengindeks drive eksternal Anda:

1. Pasang drive eksternal di bawah /mnt .

Jika harddisk eksternal Anda seharusnya dipasang secara permanen maka saya sarankan untuk mengkonfigurasinya agar terpasang di bawah /mnt alih-alih di bawah /media . Itu biasanya dapat dilakukan dengan mengedit /etc/fstab . Cari "fstab" untuk mempelajarinya. Anda memerlukan hak sudo untuk mengedit /etc/fstab .

2. Buat database khusus untuk harddisk eksternal Anda dan buat kueri sesuai permintaan.

Perintah berikut akan membuat database khusus:

updatedb -l 0 -o ~/.externalharddisk.db -U /media/externalharddisk

Ini akan membuat database di file tersembunyi .externalharddisk.db di rumah Anda. Anda tidak perlu sudo untuk perintah itu. Jalankan perintah yang sama lagi untuk menjaga database diperbarui. Hati-hati:jika Anda menjalankan perintah itu saat harddisk eksternal tidak terpasang maka updatedb akan mengira file-file tersebut dihapus dan akan mengosongkan database.

Anda dapat mengatur skrip untuk mengotomatiskan tugas itu. Cari "cronjob" untuk mempelajari cara melakukannya. Catatan:Anda dapat mengatur cronjob pengguna sebagai pengguna. Anda tidak memerlukan hak sudo untuk menyiapkan cronjob pengguna.

Terkait:Bagaimana cara mengaktifkan kembali Unity WebApps di Ubuntu 13.04?

Perintah berikut akan menanyakan database:

locate -d ~/.externalharddisk.db searchterm

Anda juga dapat menanyakan database khusus dan database default secara bersamaan:

locate -d ~/.externalharddisk.db: searchterm

Titik dua di akhir diikuti oleh apa-apa berarti juga mencari di database default.

Anda dapat membuat alias agar lebih mudah digunakan. Letakkan baris berikut di .bashrc . Anda :

alias locate-external='locate -d ~/.externalharddisk.db:'

Sekarang Anda dapat menggunakan locate untuk hanya mencari database default dan locate-external untuk juga mencari di harddisk eksternal Anda.

3. Hapus /media dari PRUNEPATHS

Catatan:Saya tidak menyarankan ini ! Ini karena cara updatedb bekerja. Jika updatedb berjalan saat harddisk eksternal dihapus maka semua entri yang mengarah ke harddisk eksternal akan dihapus dari database. Jika updatedb berjalan saat harddisk eksternal terhubung maka entri yang menunjuk ke harddisk eksternal akan ditambahkan lagi. Sejak updatedb berjalan secara teratur di latar belakang Anda tidak akan pernah bisa memastikan apakah file dari harddisk eksternal sedang diindeks atau tidak.

Selanjutnya:jika Anda menghapus /media dari PRUNEPATHS , perilaku ini juga akan berlaku untuk penyimpanan eksternal lain yang kebetulan telah Anda pasang saat updatedb sedang memperbarui database.


Ubuntu
  1. Cara menginstal Ubuntu pada hard drive eksternal

  2. Bagaimana cara menghapus file dari tempat sampah di Ubuntu?

  3. Bagaimana cara mencegah pengguna menyalin file ke hard drive lain?

  1. Bagaimana Cara Menggunakan Btrfs Dengan Kompresi Pada Hard Drive Usb Eksternal?

  2. Bagaimana Mengubah Asosiasi File Untuk File yang Dibuka Di Dolphin Dari Baris Perintah Di Gnome?

  3. Ubuntu Tidak Akan Boot Dari Hard Drive Setelah Instalasi?

  1. Dapatkan Pesan 'hdio_get_identity Failed' Saat Booting Dengan Hard Drive Usb Eksternal?

  2. Kemungkinan Memulihkan File Dari Hard Disk yang Diisi Nol Dd?

  3. Pulihkan Data Dari Hard Disk FAT32?