Ubuntu 'система ищет' другой диск

Одна вещь мне нравится Ubuntu по сравнению с другим дистрибутивом, это - возможность сделать быстрый поиск.

Я искал everything (Инструмент Windows) альтернатива для вполне иногда и кажется, что это является лучшим в данный момент.

Однако эта Ubuntu system search только ищите локальный диск, установленный с ОС.

Это не ищет другой физический диск.

Было бы возможно сделать это?

0
задан 3 April 2019 в 23:37

2 ответа

Ubuntu использует локальную базу данных для этого. locatedb является одной версией этого, и этому определили местоположение конфигурационного файла в /etc/updatedb.conf.

Содержание:

$ more  /etc/updatedb.conf
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 
ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs 
udf fuse.glusterfs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"

Как можно сказать для этого, много местоположений не добавляется к индексации.

Это - пример метода для добавления пути при использовании locatedb:

updatedb --localpaths '/ /media/usbdrive/dir/Music /media/usbdrive/dir/Photos'

Я не уверен в случае необходимости, но

sudo updatedb

воссоздаст базу данных путем сканирования дисков в случае, если изменение не инициировало ее.

2
ответ дан 25 October 2019 в 07:04

Имейте свои другие диски и разделы, автосмонтированные в Вашем /etc/fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p6 during installation
UUID=b40b3925-70ef-447f-923e-1b05467c00e7 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=D656-F2A8  /boot/efi       vfat    umask=0077      0       1
# Windows drives C, D & E
UUID=F2C2ACE4C2ACADF3 /mnt/e    ntfs-3g permissions,locale=en_US.utf8,x-gvfs-show   0       0
UUID=F03ED48E3ED44F6A /mnt/d    ntfs-3g permissions,locale=en_US.utf8               0       0
UUID=5CCC5867CC583E08 /mnt/c    ntfs-3g permissions,locale=en_US.utf8,x-gvfs-show   0       0
# Broken Ubuntu 16.04
UUID=f3f8e7bc-b337-4194-88b8-3a513f6be55b /mnt/old        ext4    x-gvfs-show       0       0
# Clone Ubuntu 18.04
UUID=8337e8c8-6461-44f2-b5fe-dfd5b6b05883 /mnt/clone      ext4    x-gvfs-show       0       0
# swap was on /dev/nvme0n1p9 during installation
UUID=b4512bc6-0ec8-4b17-9edd-88db0f031332 none            swap    sw                0       0

Все они будут автоматически индексированы для быстрого поиска. Например:

$ time locate .bashrc
/etc/bash.bashrc
/etc/skel/.bashrc
/home/rick/.bashrc
/home/rick/.bashrc~
/home/rick/restore/.bashrc
/home/rick/restore/.bashrc~
/mnt/clone/etc/bash.bashrc
/mnt/clone/etc/skel/.bashrc
/mnt/clone/home/rick/.bashrc
/mnt/clone/home/rick/.bashrc~
/mnt/clone/home/rick/eyesome/.bashrc
/mnt/clone/home/rick/restore/.bashrc
/mnt/clone/home/rick/restore/.bashrc~
/mnt/clone/usr/share/base-files/dot.bashrc
/mnt/clone/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/mnt/clone/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
/mnt/e/.bashrc
/mnt/e/Temporary Work/.bashrc
/mnt/old/etc/bash.bashrc
/mnt/old/etc/skel/.bashrc
/mnt/old/home/rick/.bashrc
/mnt/old/home/rick/.bashrc~
/mnt/old/usr/share/base-files/dot.bashrc
/mnt/old/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/mnt/old/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
/usr/share/base-files/dot.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
/usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

real    0m0.868s
user    0m0.852s
sys     0m0.017s

Даже файлы Windows индексируются:

$ time locate /cmd.exe
/mnt/c/Windows/SysWOW64/cmd.exe
/mnt/c/Windows/SysWOW64/en-US/cmd.exe.mui
/mnt/c/Windows/System32/cmd.exe
/mnt/c/Windows/System32/en-US/cmd.exe.mui
/mnt/c/Windows/WinSxS/amd64_microsoft-windows-c..andprompt.resources_31bf3856ad364e35_10.0.17134.1_en-us_65026a8ffb1498f6/cmd.exe.mui
/mnt/c/Windows/WinSxS/amd64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.17134.1_none_708d53148386ef59/cmd.exe
/mnt/c/Windows/WinSxS/wow64_microsoft-windows-c..andprompt.resources_31bf3856ad364e35_10.0.17134.1_en-us_6f5714e22f755af1/cmd.exe.mui
/mnt/c/Windows/WinSxS/wow64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.17134.1_none_7ae1fd66b7e7b154/cmd.exe
/mnt/d/Windows/SysWOW64/cmd.exe
/mnt/d/Windows/SysWOW64/en-US/cmd.exe.mui
/mnt/d/Windows/System32/cmd.exe
/mnt/d/Windows/System32/en-US/cmd.exe.mui
/mnt/d/Windows/WinSxS/amd64_microsoft-windows-c..andprompt.resources_31bf3856ad364e35_10.0.10586.0_en-us_0c0776913c41663d/cmd.exe.mui
/mnt/d/Windows/WinSxS/amd64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.10586.0_none_17925f15c4b3bca0/cmd.exe
/mnt/d/Windows/WinSxS/wow64_microsoft-windows-c..andprompt.resources_31bf3856ad364e35_10.0.10586.0_en-us_165c20e370a22838/cmd.exe.mui
/mnt/d/Windows/WinSxS/wow64_microsoft-windows-commandprompt_31bf3856ad364e35_10.0.10586.0_none_21e70967f9147e9b/cmd.exe

real    0m0.989s
user    0m0.980s
sys     0m0.008s

Я добавил time управляйте, таким образом, Вы видите, как это берет меньше, чем секунда. Для количества всех файлов индексированное использование:

$ time locate * | wc -l
625125

real    0m39.088s
user    0m38.644s
sys     0m0.423s

Это берет 39 секунды, чтобы перечислить 625 125 имен файлов и считать их.

1
ответ дан 25 October 2019 в 07:04

Другие вопросы по тегам:

Похожие вопросы: