Dpkg पाथ चर में ldconfig / start-stop-daemon नहीं पा सकता है


41

मैं bsd-mailxउपयोगिता स्थापित करने की कोशिश कर रहा था लेकिन जो पैकेज स्थापित किया गया था वह त्रुटि के बारे में सोच रहा था।

यह मुझे मिलने वाली त्रुटि है:

Preconfiguring packages ...
dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

क्या आप $PATHकृपया इको का आउटपुट पोस्ट कर सकते हैं ?
अराजक

@ अराजकता, कैसे प्राप्त करें?
user87142

@ user87142 echo $PATHएक टर्मिनल में टाइप करें ।
जॉन डब्ल्यूएच स्मिथ

@ अराजकता, मुझे यह मिलता है ... / usr / स्थानीय / बिन: / usr / बिन: / बिन: / usr / खेल
user87142

और का उत्पादन cat /etc/environment?
अराजकता

जवाबों:


59

सबसे पहले, जिन रेखाओं में आप वास्तव में रुचि रखते हैं:

dpkg: warning: 'ldconfig' not found in PATH or not executable.
dpkg: warning: 'start-stop-daemon' not found in PATH or not executable.

इन त्रुटियों को कई बार डेबियन और उबंटू उपयोगकर्ताओं द्वारा सूचित किया गया है (आप अधिक जानकारी के लिए वास्तव में उन्हें Google कर सकते हैं)। ऐसा लगता है कि PATHजब उपयोगकर्ता किसी कमांड को निष्पादित करने का प्रयास करता है, तो चर ठीक से सेट नहीं sudoहोता है, जो कि शायद आप क्या करने की कोशिश कर रहे हैं।

समाधान 1: sudoडिफ़ॉल्ट डिफ़ॉल्ट सुरक्षित पथ सेट करें

अपने टर्मिनल में /etc/sudoersचलाकर खोलें visudo, और सुनिश्चित करें कि फ़ाइल में निम्न पंक्ति शामिल है:

Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

इस समस्या के बारे में अधिक जानकारी यहाँ मिल सकती है (समस्याएँ और सुझाव> पथ निर्धारित नहीं)।

समाधान 2: रूट खाते का सीधे उपयोग करें

उपयोग न करें sudo, बस rootअपनी आज्ञाओं को चलाने के लिए स्विच करें। ऐसा करने के लिए निम्न में से कोई एक आदेश चलाएँ:

$ sudo -i
$ su 

एक बार जब आप रूट के रूप में लॉग इन हो जाते हैं, तो अपने apt-getकमांड्स को फिर से रन करें:

# apt-get ...

आपको रूट का PATHपहला सेट करना पड़ सकता है । संपादित करें /root/.bashrc(निश्चित रूप से विशेषाधिकारों के साथ), और निम्नलिखित पंक्ति जोड़ें:

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

समाधान 3: निष्पादन समय पर PATHचर को पास करने का प्रयास करें sudo

चर sudoके पुनर्परिभाषित के साथ कॉल को उपसर्ग करें PATH:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin sudo apt-get ...

1
मैंने रूट उपयोगकर्ता का उपयोग करने की कोशिश की है, लेकिन मैंने काम नहीं किया है। मैंने पथ की भी जाँच की है।
user87142

@ user87142 ठीक है, आपने सही से जांच नहीं की है, क्योंकि /sbinगायब है। इसे फिर से सेट करने का प्रयास करें (समाधान 1 और / या 3)। मैंने समाधान 2 का संपादन किया, जिसमें रूट के PATH को संपादित करने के तरीके को शामिल किया गया था, जब अंतःक्रियात्मक रूप से खाते का उपयोग किया गया।
जॉन डब्ल्यूएच

मैंने जाँच की है कि ...... Defaults env_reset Defaults Secure_path = "/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin:" बिन "
user87142

क्या आपको इसका कोई हल मिला?
ब्रिजेश वलेरा

उसके तीसरे समाधान का एक रूपांतर export PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/binपहले, फिर उसके sudo -E apt install nginxबाद है। -Eस्विच साधन --preserve-envइस प्रकार आपके env निर्यात करने के लिए वार्स sudoसत्र।
मार्क हडसन

2

किसी तरह मैं एक ही समस्या थी।

कृपया अपने त्रुटि संदेश को ध्यान से पढ़ें और आपको समाधान मिल जाएगा। एक नोट है जो कहता है:

नोट: रूट के PATH में आमतौर पर / usr / स्थानीय / sbin, / usr / sbin और / sbin शामिल होना चाहिए।

तब मैंने अपने रास्ते की जाँच की और किसी तरह मुझे अपने रास्ते में / sbin याद आ रही थी।

$ PATH प्रतिध्वनि

फिर मैंने जोड़ा और समस्या दूर हो गई। :)

PATH = "$ PATH: / sbin" निर्यात करें

Tcharam!


यकीन है कि यह पहले से ही द्वारा कवर किया गया है एक मौजूदा जवाब है, हालांकि
जेफ स्कालर

1

मुझे आज यह समस्या थी, और लाइन (# का उपयोग करके) टिप्पणी करके इसे हल किया

Defaults    exempt_group=sudo

मेरे / etc / sudoers फ़ाइल का उपयोग करके

# visudo

जड़ के रूप में

इस परिवर्तन के कारण sudo समान फ़ाइल में डिफ़ॉल्ट Secure_path चर सेट का उपयोग करेगा।


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