Um roteador executa o firmware que contém o BusyBox e, além da memória flash, o dispositivo possui armazenamento de memória secundário. Esse stick USB é montado em /media/Main
e /opt
:
# mount | grep sda
/dev/sda1 on /media/Main type ext4 (rw,noatime,data=ordered)
/dev/sda1 on /opt type ext4 (rw,noatime,data=ordered)
Duplicatas no banco de dados de localização
O problema é que localize updatedb
indexes /media
e /opt
. Desejo remover permanentemente essas duplicatas de /opt/var/locatedb
sem alterar a montagem da unidade. Eu desejo usar o comando updatedb
sem adicionar opções a esse comando do cron e do shell. Um alias
pode ser uma opção. Embora minha primeira pesquisa por "locate database exclude" tenha retornado um postagem no blog que sugere usar um “/etc/updatedb.conf” para o Arch Linux .
updatedb.conf
A primeira tentativa foi criar um arquivo /opt/etc/updatedb.conf
contendo:
# directories to execlude from the locate database
PRUNEPATHS="/media /mnt /tmp /var/tmp /var/cache /var/lock /var/run /var/spool"
export PRUNEPATHS
# filesystems to exclude from the locate database:
PRUNEFS="afs auto autofs binfmt_misc cifs coda configfs cramfs debugfs devpts devtmpfs ftpfs iso9660 mqueue ncpfs
nfs nfs4 proc ramfs securityfs shfs smbfs sshfs sysfs tmpfs udf usbfs vboxsf"
export PRUNEFS
Isso não é suficiente para deixar updatedb
usar a configuração desejada. Em seguida estava lendo a documentação de localização do GNU. A documentação atualizada do GNU declara:
Typically, operating systems have a shell script that “exports”
configurations for variable definitions and uses another shell script
that “sources” the configuration file into the environment and then
executes updatedb in the environment.
As minhas variáveis de configuração de exportação e de origem do Linux incorporadas?
Este sistema operacional Linux embarcado pode ter os shell scripts sugeridos pelo GNU que exportam variáveis de configuração e também os retornam ao ambiente.
Como posso verificar se esse SO exporta e origina?
E quando o sistema operacional não funciona, como exportar corretamente e gerar variáveis de configuração aqui?
Ambiente
- GNU
locate
foi instalado via opkg
neste meio de armazenamento externo
- BusyBox v1.24.1 de acordo com
/bin/sh --version
- localize (GNU findutils) 4.6.0
- o shell é
-sh
de acordo com echo $0
-
/opt/home/admin/.ash_history
exists
$ cat /opt/etc/profile
#!/bin/sh
export PATH='/opt/usr/sbin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
export TMP='/opt/tmp'
export TEMP='/opt/tmp'
# This is for interactive sessions only
if [ "$PS1" ] ; then
export TERM=xterm
[ -d /opt/share/terminfo ] && export TERMINFO='/opt/share/terminfo'
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
fi
export TERMINFO=/opt/share/terminfo