Saya menjalankan wadah ubuntu di buruh pelabuhan. Saya mencoba semua yang saya temukan online, termasuk:
penyelesaian otomatis tidak berfungsi untuk "sudo apt-get install"
tetapi menekan "tab" tetap tidak berpengaruh
Saya menjalankan wadah ubuntu di buruh pelabuhan. Saya mencoba semua yang saya temukan online, termasuk:
penyelesaian otomatis tidak berfungsi untuk "sudo apt-get install"
tetapi menekan "tab" tetap tidak berpengaruh
Jawaban:
Saya tahu ini sudah tua, tetapi saya juga menabraknya. Sudah jelas apa yang gagal dengan bantuan mode debug di bash: set -x
.
Setelah Anda memasukkannya ke dalam wadah buruh pelabuhan dan apt install bash-completion
, dan edit pengguna Anda .bashrc
untuk mencari direktori yang benar, dan logout / login (pada dasarnya ikuti langkah-langkah dalam q / a yang Anda referensikan .
Perintah yang gagal adalah:
# apt-cache --no-generate pkgnames firefox
E: Could not open file - open (2: No such file or directory)
The '--tidak menghasilkan' di sana harus memberi Anda petunjuk apa yang sedang terjadi (sesuatu, sesuatu, cache tidak ada). Jika Anda menjalankan tanpa itu, Anda mendapatkan kembali daftar paket.
Ini mengarahkan saya untuk mencari di beberapa tautan referensi saya dengan bagaimana sistem ini seharusnya bekerja, dan akhirnya memeriksa konfigurasi apt:
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 "";
Perhatikan bahwa 'pkgcache' kosong. Coba itu pada instalasi normal (seperti wadah LXD), dan Anda akan melihat itu sudah diatur. Ini membawa saya ke tempat informasi konfigurasi disimpan /etc/apt/apt.conf.d/
,. Di wadah buruh pelabuhan:
# grep cache *
[...]
docker-clean:Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";
Anda akan melihat di atas bahwa gambar buruh pelabuhan secara aktif mengurungkan nilai ini, agar tidak menyimpan file cache secara lokal (untuk mengurangi ukuran gambar). Saya mengomentari semua yang ada di file itu, jadi file itu sekarang terlihat seperti:
# 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 "";
Dan sekarang, semuanya bekerja (setelah berjalan apt update
sekali:
# apt update
[...]
# apt install firefox-d<tab>
firefox-dbg firefox-dev
Ini membantu saya mengetahui bagaimana sistem ini bekerja ...