Docker'da ubuntu kapsayıcısı çalıştırıyorum. Çevrimiçi bulduğum her şeyi denedim:
otomatik tamamlama "sudo apt-get install" için çalışmaz
ancak "sekme" ye basmanın hala bir etkisi yoktur
Docker'da ubuntu kapsayıcısı çalıştırıyorum. Çevrimiçi bulduğum her şeyi denedim:
otomatik tamamlama "sudo apt-get install" için çalışmaz
ancak "sekme" ye basmanın hala bir etkisi yoktur
Yanıtlar:
Bunun eski olduğunu biliyorum, ama ben de karşılaştım. Bu bash ayıklama modunda yardımıyla başarısız olduğunun açık: set -x
.
Docker konteynerinize girdikten apt install bash-completion
ve kullanıcılarınızı .bashrc
doğru dizini ve oturumu kapat / oturum açacak şekilde düzenledikten sonra (temel olarak başvurduğunuz q / a'daki adımları izleyin .
Başarısız olan komut:
# apt-cache --no-generate pkgnames firefox
E: Could not open file - open (2: No such file or directory)
Oradaki '--no-oluştur' size neler olduğuna dair bir ipucu vermelidir (bir şey, bir şey, önbellek eksik). Onsuz koşarsanız, paketlerin bir listesini geri alırsınız.
Bu beni, bu sistemin nasıl çalışması gerektiği ile ilgili referans bağlantılarımdan bazılarında arama yapmaya ve sonunda apt yapılandırmasını incelemeye götürdü:
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'in boş olduğuna dikkat edin. Bunu normal bir kurulumda (bir lxd kabı gibi) deneyin ve ayarlandığını göreceksiniz. Bu beni yapılandırma bilgilerinin saklandığı yere götürdü /etc/apt/apt.conf.d/
. Liman işçisi konteynırında:
# grep cache *
[...]
docker-clean:Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";
Yukarıda, docker görüntülerinin önbellek dosyasını yerel olarak depolamasını önlemek (görüntü boyutunu azaltmak için) için aktif olarak bu değerin ayarının kaldırıldığını göreceksiniz. Bu dosyadaki her şeyi açıkladım, bu yüzden dosya şimdi şöyle görünüyor:
# 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 "";
Ve şimdi, işler işe yarıyor (bir apt update
kez koştuktan sonra:
# apt update
[...]
# apt install firefox-d<tab>
firefox-dbg firefox-dev
Bunlar bu sistemin nasıl çalıştığını anlamama yardımcı oldu ...