
locate
Ubuntu をインストールするときに、/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.conf
。ecryptfs
から を削除しPRUNEFS
、おそらく/home/.ecryptfs
からも を削除してくださいPRUNEPATHS
。 の後に を実行することを忘れないでくださいsudo updatedb
。