Sto eseguendo un contenitore Ubuntu nella finestra mobile. Ho provato tutto ciò che ho trovato online, tra cui:
il completamento automatico non funziona per "sudo apt-get install"
ma premendo "tab" non ha ancora alcun effetto
Sto eseguendo un contenitore Ubuntu nella finestra mobile. Ho provato tutto ciò che ho trovato online, tra cui:
il completamento automatico non funziona per "sudo apt-get install"
ma premendo "tab" non ha ancora alcun effetto
Risposte:
So che questo è vecchio, ma mi sono imbattuto anche in esso. E 'chiaro che cosa sta venendo a mancare con l'aiuto di modalità di debug in bash: set -x
.
Dopo aver inserito il contenitore nel docker apt install bash-completion
e aver modificato gli utenti .bashrc
per ottenere la directory corretta e disconnettersi / accedere (in pratica, seguire i passaggi nella q / a cui si fa riferimento .
Il comando che sta fallendo è:
# apt-cache --no-generate pkgnames firefox
E: Could not open file - open (2: No such file or directory)
Il "--no-generate" lì dentro dovrebbe darti un indizio su cosa sta succedendo (manca qualcosa, qualcosa, cache). Se corri senza di essa, otterrai un elenco di pacchetti.
Questo mi ha portato a cercare in alcuni dei miei collegamenti di riferimento con come dovrebbe funzionare questo sistema, e alla fine ispezionare la configurazione 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 "";
Si noti che "pkgcache" è vuoto. Provalo su una normale installazione (come un contenitore lxd) e noterai che è impostato. Questo mi ha portato al posto che le informazioni di configurazione vengono memorizzate, /etc/apt/apt.conf.d/
. Sul contenitore della finestra mobile:
# grep cache *
[...]
docker-clean:Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";
Noterai sopra che le immagini della finestra mobile stanno attivamente disattivando questo valore, per impedire a apt di archiviare il file della cache localmente (per ridurre le dimensioni dell'immagine). Ho commentato tutto in quel file, quindi il file ora assomiglia a:
# 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 "";
E ora, le cose funzionano (dopo aver eseguito apt update
una volta:
# apt update
[...]
# apt install firefox-d<tab>
firefox-dbg firefox-dev
Mi hanno aiutato a capire come funzionava questo sistema ...