"क्या आप जड़ हैं?" का मतलब है?


16

यही मुझे मिलता रहा:

ascendermedia@magic2tower:~$ sudo apt-get install flashplugin-installer
bash: sudo: command not found
ascendermedia@magic2tower:~$ sudo apt-get install flashplugin-installer
bash: sudo: command not found
ascendermedia@magic2tower:~$ apt-get install flashplugin-installer
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
ascendermedia@magic2tower:~$ sudo aptitude install flashplugin-nonfree
bash: sudo: command not found
ascendermedia@magic2tower:~$ aptitude install flashplugin-nonfree
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
ascendermedia@magic2tower:~$ 

मैं क्या गलत कर रहा हूं?

जवाबों:


29

rootसिस्टम पर सुपरयूज़र खाता है - इसमें (मूल रूप से) सभी विशेषाधिकार हैं। कई सिस्टम कॉन्फ़िगर किए गए हैं ताकि आप sudoउस कमांड को "रूट" के रूप में चलाने के लिए किसी अन्य कमांड के सामने कमांड का उपयोग कर सकें - जैसे कि आप रूट उपयोगकर्ता हैं, एक ही विशेषाधिकार के साथ।

यह आमतौर पर मामला है कि आपको सिस्टम पैकेज स्थापित करने के लिए रूट विशेषाधिकार की आवश्यकता होती है, जो कि apt-getकरता है। तो, यह काम नहीं करता है, पहली बार क्योंकि आपके पास sudoउपलब्ध नहीं है ; दूसरी बार क्योंकि sudoजादुई रूप से सिर्फ इसलिए सामने नहीं आया क्योंकि आपने इसे दो बार चलाया था; और तीसरा (और पांचवां) बार क्योंकि apt-get(और aptitude) वास्तव में इस तरह के पैकेज स्थापित करने के लिए रूट प्राइवेट की आवश्यकता होती है।

जैसा कि आप अपने पहले त्रुटि संदेश से देखते हैं, सूडो या तो आपके मार्ग में स्थापित नहीं है या नहीं है, और शायद कॉन्फ़िगर नहीं किया गया है। संकेत मिलने पर आप su -cइसके बजाय स्थानापन्न कर सकते हैं , और रूट पासवर्ड ( rootखाते के लिए पासवर्ड ) दे सकते हैं।

यदि आप उस पासवर्ड को नहीं जानते हैं, तो आपको उस व्यक्ति से पूछने की ज़रूरत है जो आपके लिए यह कार्य करता है, यदि यह आपका सिस्टम नहीं है, या b) इसे पुनर्प्राप्त करने के लिए कोई रास्ता ढूंढना है।


यह ज्यादातर सही है, हालांकि मैं यह उल्लेख करूंगा कि sudoयह केवल कमांड नहीं चलाता है "जैसे कि आप रूट थे," यह वास्तव में उन्हें रूट के रूप में चलाता है। यदि आप इस प्रक्रिया को देखते हैं, तो आप देखेंगे कि यह रूट के रूप में चल रहा है, न कि आपकी उपयोगकर्ता आईडी के रूप में। संयोग से, उन मशीनों पर जो डिफ़ॉल्ट रूप से रूट द्वारा इंटरैक्टिव लॉगिन की अनुमति देने के लिए सेट नहीं की गई हैं, आप बस sudo bashरूट शेल प्राप्त करने के लिए चला सकते हैं । :)
पुनर्वसन

@ मुझे लगता है कि sudo -iहालांकि इसे पसंद किया जाता है, क्योंकि यह आपके वर्तमान शेल का सम्मान करता है।
new123456

2
@ new123456 sudo -i रूट के लिए डिफ़ॉल्ट शेल का उपयोग करेगा। sudo -s निष्पादित उपयोगकर्ता के लिए $ SHELL के मूल्य का उपयोग करेगा।
bgvaughan

@reirab आप उस हिस्से से उद्धृत कर रहे हैं, जहाँ मैं एक सरलीकृत उपयोगकर्ता के दृष्टिकोण से "मूल" के रूप में क्या व्याख्या कर रहा हूँ।
Mattdm

5

सिस्टम अपडेट को निष्पादित करने के लिए आपको रूट विशेषाधिकार की आवश्यकता होती है apt-get

आप का उपयोग कर एक रूट खाते पर स्विच कर सकते हैं su root। ऐसा प्रतीत होता है कि आपके पास sudoप्रोग्राम इंस्टॉल नहीं है ।


2
ओपी के पास sudoविशेषाधिकारों की कमी नहीं है , उन्होंने भी sudoस्थापित नहीं किया है।
n.st

1
वास्तव में, ओपी को स्थापित करने और स्थापित करने के लिए बस लंबे समय तक रूट करना चाहिए sudo
केविन

1
@ n.st संभवतः गलत है, यह नहीं हो सकता है PATH
o11c

2
@ o11c मैं तर्क दूंगा कि वे वही लोग हैं जो कभी सूडो के बिना उस समस्या का सामना नहीं करेंगे क्योंकि वे हमेशा रूट के रूप में लॉग इन होते हैं।
केविन

1
@ o11c जबकि संभव है, कि संभावना नहीं लगती है, खासकर जब से sudoऔर apt-getदोनों /usr/binडिफ़ॉल्ट रूप से स्थापित हैं (कम से कम डेबियन पर)।
n.st

5

"क्या आप जड़ हैं?" का मतलब है?

संकुलित apt-getसिस्टम को स्थापित करने के लिए (क्या करता है), इसे रूट विशेषाधिकारों की आवश्यकता है, क्योंकि आप सिस्टम फाइल बना रहे होंगे और बदलते रहेंगे ( rootयह * निक्स प्रशासक खाते का सामान्य नाम है)।

«आप जड़ हैं?» संदेश एक कोमल अनुस्मारक है जिसे चलाने के लिए आपको "जड़ होने की आवश्यकता है" apt-get install। यह उस समस्या के लिए सबसे अधिक बार सामना करना पड़ा कारण है (ऊपर दिखाया गया है):

/ var / lib / dpkg / lock - खुला (13: अनुमति अस्वीकृत)

जड़ कैसे बनें?

सु

"रूट बनने" का पारंपरिक तरीका है su(और रूट उपयोगकर्ता का पासवर्ड प्रदान करना)। सु (1) के लिए खड़ा है रों uper यू सेवा या रों डायन यू सेवा।

ध्यान दें कि इसका उपयोग किसी भी उपयोगकर्ता बनने के लिए किया जा सकता है, इसलिए आप su johnजॉन के रूप में एक शेल प्राप्त करने के लिए चला सकते हैं । suबिना उपयोगकर्ता नाम के साथ चलना एक आशुलिपि है su root

यह काम करने के लिए, रूट उपयोगकर्ता खाते को सक्षम होना चाहिए और एक पासवर्ड सेट होना चाहिए। कुछ सिस्टम डिफॉल्ट (डिफॉल्ट रूप से भी), रूट अकाउंट डिसेबल के साथ, किसी से बचने के लिए। एक हमलावर- व्यवस्थापक खाते के साथ लॉगिन करें। उन मामलों में वे प्रशासनिक आदेशों को चलाने के लिए एक और तरीका प्रस्तुत करते हैं, जैसे कि सूडो।

sudo

sudo (1) एक प्रोग्राम है जो आपको किसी अन्य उपयोगकर्ता के रूप में एक कमांड निष्पादित करने की अनुमति देता है (जैसे ऊपर, आमतौर पर रूट के लिए किया जाता है)। इसे कॉन्फ़िगर किया गया है /etc/sudoers, और अधिक महीन नियंत्रण की अनुमति देता है, जैसे कि केवल एक प्रोग्राम को रूट के रूप में चलाने की अनुमति देता है, एक विशिष्ट उपयोगकर्ता को (जो फिर से अपने पासवर्ड की आवश्यकता के लिए सेट किया जा सकता है), और लॉगिंग सुविधाएं भी प्रदान करता है (जैसे। " जॉन ने विनाश प्रणाली को जड़ के रूप में निष्पादित किया ")।

बढ़ी हुई विशेषाधिकारों (जैसे कैलीफ़ ) के साथ रनिंग के लिए अन्य विकल्प हैं, लेकिन उनका उपयोग बहुत कम है।

आपका उपर्युक्त लॉग इंगित करता sudoहै Magic2tower पर स्थापित नहीं है।


0

वे पहले ही बता चुके हैं कि रूट क्या है, जब आपके पास "कमांड नहीं मिली" शायद इसलिए क्योंकि आपने प्रोग्राम को स्थापित नहीं किया है जिसे चलाने की कोशिश कर रहे हैं, या आपके एनवी चर में पथ नहीं है।

कॉमैंड को इस तरह चलाने की कोशिश करें:

/usr/bin/sudo apt-get install flashplugin-installer

कुछ लिनक्स डिस्ट्रोस में आप रूट में बदलाव नहीं कर सकते हैं इसलिए हर कमांड मास्क को सुडो के साथ चलाया जाए। =)


1
यकीन है कि अगर आपके पास bash: sudo: command not foundसबसे अच्छा विचार जैसा कोई संदेश है sudo apt-get install sudo, तो इसे स्थापित करना है , और यदि यह आपको वही त्रुटि देता है तो आप सीखेंगे कि पुनरावृत्ति क्या है
pqnet

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