updatedb: `/var/lib/mlocate/mlocate.db 'の一時ファイルを開けない


14

updatedbコマンドを使用してインデックスを更新すると、

updatedb: can not open a temporary file for `/var/lib/mlocate/mlocate.db'

fyiロケートコマンドが機能している、例えば

$ locate Index.xml
/usr/share/mysql/charsets/Index.xml
durrantm.../durrantm$ 

updatedbを実行しようとすると、どうすればこの問題を克服できますか?

回答:


24

updatedbコマンドをスーパーユーザーとして実行する必要があります。例えば、

sudo updatedb

一度作成すると、データベースが(通常のユーザーによって更新することができます例えばからcrontabスーパーユーザー権限なし)?
holdenweb

1
更新データベースは、/ var / cache / locate / locatedbにキャッシュファイルを作成します。これは、rootのみが書き込み可能です。そのため、一般ユーザーはコマンドを実行できません。ただし、通常のユーザーが書き込み可能な別の場所にファイルを作成することは可能です。(しかし、問題は通常のユーザーがファイルシステム全体を読み取れないことです)
マヌラワイディアナータ

1

時間がないためにファイルを見つけたい場合、sudo updatedbキャッシュを更新する必要はありません。代わりに、locate -e filenameキャッシュをスキップするために使用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.