मैं डॉकटर में एक ubuntu कंटेनर चला रहा हूं। मैंने वह सब कुछ आज़माया जो मुझे ऑनलाइन मिला था, जिसमें शामिल हैं:
स्वत: पूर्णता "sudo apt-get install" के लिए काम नहीं करता है
लेकिन "टैब" दबाने पर अभी भी कोई प्रभाव नहीं पड़ा है
मैं डॉकटर में एक ubuntu कंटेनर चला रहा हूं। मैंने वह सब कुछ आज़माया जो मुझे ऑनलाइन मिला था, जिसमें शामिल हैं:
स्वत: पूर्णता "sudo apt-get install" के लिए काम नहीं करता है
लेकिन "टैब" दबाने पर अभी भी कोई प्रभाव नहीं पड़ा है
जवाबों:
मुझे पता है कि यह पुराना है, लेकिन मैं इसमें भी भाग गया। यह स्पष्ट है कि बैश में डिबग मोड की मदद से क्या विफल हो रहा है set -x
:।
एक बार जब आप अपने डॉकटर कंटेनर में पहुंच जाते हैं apt install bash-completion
, और अपने उपयोगकर्ताओं .bashrc
को सही निर्देशिका स्रोत के लिए संपादित करते हैं , और लॉगआउट / लॉगिन (मूल रूप से q / आप संदर्भित में चरणों का पालन करते हैं) ।
जो आदेश विफल हो रहा है वह है:
# apt-cache --no-generate pkgnames firefox
E: Could not open file - open (2: No such file or directory)
वहां '--no-generate' आपको एक सुराग देना चाहिए कि क्या चल रहा है (कुछ, कुछ, कैश गायब है)। यदि आप इसके बिना चलते हैं, तो आपको पैकेजों की एक सूची मिलती है।
इसने मुझे अपने कुछ संदर्भ लिंक में खोज करने के लिए प्रेरित किया कि यह प्रणाली कैसे काम करने वाली है, और आखिरकार उपयुक्त कॉन्फ़िगरेशन का निरीक्षण करें:
root@edb76551d1dd:/var/cache/apt# apt-config dump |grep Dir::C
Dir::Cache "var/cache/apt/";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "";
Dir::Cache::pkgcache "";
ध्यान दें कि 'pkgcache' खाली है। कोशिश करें कि एक सामान्य इंस्टॉल (एक lxd कंटेनर की तरह) पर, और आप देखेंगे कि यह सेट है। यह मुझे उस जगह तक ले गया जहां कॉन्फ़िगरेशन जानकारी संग्रहीत है /etc/apt/apt.conf.d/
,। डॉकटर कंटेनर पर:
# grep cache *
[...]
docker-clean:Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";
आप ऊपर देखेंगे कि डॉक छवियां सक्रिय रूप से इस मान को परेशान कर रही हैं, स्थानीय रूप से कैश फ़ाइल को संग्रहीत करने से रोकने के लिए (छवि का आकार कम करने के लिए)। मैंने उस फ़ाइल में सब कुछ टिप्पणी की, इसलिए अब वह फ़ाइल इस प्रकार दिखती है:
# file: /etc/apt/apt.conf.d/docker-clean
#DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };
#APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };
#Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";
और अब, चीजें काम करती हैं ( apt update
एक बार चलाने के बाद:
# apt update
[...]
# apt install firefox-d<tab>
firefox-dbg firefox-dev
इनसे मुझे यह पता लगाने में मदद मिली कि इस प्रणाली ने कैसे काम किया ...