暗号化されたパーティションでlocateを使用する

暗号化されたパーティションでlocateを使用する

locateUbuntu をインストールするときに、/home/ を暗号化するように選択しました。このように暗号化されたパーティションで動作させることは可能ですか?

答え1

私は、上記のように「ログイン時にlocate (updatedb)を実行する」と同時に、私の暗号化された $HOME の下にある検索データベースの一部。

export LOCATE_PATH="$HOME/var/mlocate.db"

そして、ファイルをインデックスし$HOMEます

updatedb -l 0 -o $HOME/var/mlocate.db -U $HOME

現在、完全なインデックスはありますが、マウントして復号化しない$HOME限りデータベースは表示されません。$HOME

答え2

ファイル システムが復号化されたときに 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

答え3

ログインせずにデータベース インデックスを更新することはできません。ログインして updatedb コマンドを実行する必要があります。

の設定を確認してください/etc/updatedb.confecryptfsから を削除しPRUNEFS、おそらく/home/.ecryptfsからも を削除してくださいPRUNEPATHS。 の後に を実行することを忘れないでくださいsudo updatedb

関連情報