docker'da apt-get kurulumu için otomatik tamamlamayı etkinleştirme (Ubuntu 14.04)


Yanıtlar:


11

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-completionve kullanıcılarınızı .bashrcdoğ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 updatekez koştuktan sonra:

# apt update
[...]        
# apt install firefox-d<tab>   
firefox-dbg  firefox-dev

Referanslar

Bunlar bu sistemin nasıl çalıştığını anlamama yardımcı oldu ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.