web-dev-qa-db-ja.com

暗号化されたパーティションでのロケートの使用

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

25
m33lky

上記のように、「ログイン時にロケート(updatedb)を実行」し、暗号化された$ HOMEの下にmyロケートデータベースの一部を保持します。

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

そして、in$HOMEのファイルにインデックスを付けます

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

これで、$HOMEの完全なインデックスが作成されましたが、$HOMEがマウントおよび復号化されない限り、データベースは表示されません。

28
waltinator

ファイルシステムが復号化され、環境変数を一致させて読み取り/書き込みを行うときに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
user8290

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

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