Ubuntuをインストールするときに、/ home /を暗号化するように選択しました。今、このような暗号化されたパーティションでlocate
を動作させることは可能ですか?
上記のように、「ログイン時にロケート(updatedb)を実行」し、暗号化された$ HOMEの下にmyロケートデータベースの一部を保持します。
export LOCATE_PATH="$HOME/var/mlocate.db"
そして、in$HOME
のファイルにインデックスを付けます
updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME
これで、$HOME
の完全なインデックスが作成されましたが、$HOME
がマウントおよび復号化されない限り、データベースは表示されません。
ファイルシステムが復号化され、環境変数を一致させて読み取り/書き込みを行うときにupdatedbを実行してみませんか?
マニュアルページを読んだ後、BASH RCファイルに2つの変数を追加します。
man locate
echo "export LOCATE_PATH=$HOME/var/lib/mlocate/mlocate.db:$LOCATE_PATH" >> ~/.bashrc
echo "export DBPATH=$HOME/var/lib/mlocate/mlocate.db:$DBPATH" >> ~/.bashrc
上記で指定したディレクトリを作成し、$ usernameをmlocateグループに追加します。
mkdir -p ~/var/lib/mlocate/
Sudo usermod -a -G mlocate $username
ログアウトしてから再度ログインして、mlocateグループのユーザーをカウントし、新しい環境変数を取得します。実行すると、
updatedb -o $LOCATE_PATH
ロケートデータベース内の復号化されたファイルは現在ですか?または、それを機能させるために何をしましたか?
また、ユーザーのcrontabにupdatedbを追加することもできます。ファーストラン:
crontab -e
そして、次の行を追加します。
0 12 * * * updatedb -o $HOME/var/locate
ログインせずにデータベースインデックスを更新することは実際には不可能です。ログインして、updatedbコマンドを実行する必要があります。
/etc/updatedb.conf
の設定を確認してください。 ecryptfs
からPRUNEFS
を削除し、おそらくPRUNEPATHS
から/home/.ecryptfs
を削除します。 Sudo updatedb
を実行することを忘れないでください。