अद्यतित: `/var/lib/mlocate/mlocate.db 'के लिए एक अस्थायी फ़ाइल नहीं खोल सकता


15

मैं इंडेक्स को अपडेट करने के लिए अपडेटेड कमांड का उपयोग करता हूं और मुझे मिलता है

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$ 

अपडेटेड रन करने का प्रयास करने पर मैं इस समस्या को कैसे दूर कर सकता हूं?

जवाबों:


26

आपको अपडेटेड कमांड को सुपर यूजर के रूप में चलाना होगा। उदाहरण के लिए,

sudo updatedb

एक बार बनने के बाद, डेटाबेस को सुपर-उपयोगकर्ता विशेषाधिकारों के बिना एक नियमित उपयोगकर्ता ( जैसे से crontab) द्वारा अद्यतन किया जा सकता है ?
होल्डनवेब

1
अद्यतन db कैश फ़ाइल को / var / cache / ढूँढ / स्थित में बनाता है, जो केवल रूट द्वारा लिखने योग्य है। इसलिए नियमित उपयोगकर्ता कमांड नहीं चला सकता है। लेकिन एक अलग स्थान पर एक फ़ाइल बनाना संभव है जो एक नियमित उपयोगकर्ता द्वारा लिखने योग्य है। (लेकिन समस्या यह है कि नियमित उपयोगकर्ता पूरी फाइल प्रणाली को नहीं पढ़ सकते हैं)
मानुला वैद्यनाथ

1

यदि आपके पास समय की कमी है और आप किसी फ़ाइल को ढूंढना चाहते हैं, तो आपको sudo updatedbकैश अपडेट करने की आवश्यकता नहीं है । इसके बजाय, आप locate -e filenameकैश को स्किप करने के लिए उपयोग कर सकते हैं ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.