it-swarm.dev

Název balíčku automatického doplňování apt-get je poškozen

V určitém okamžiku

apt-get install

automatické doplňování bylo přerušeno

Bylo pro mě velmi užitečné vidět název balíčku Tab lis

Jak opravit tento automatický doplněk?

Jak je uvedeno v komentářích k druhé odpovědi, nejprve se ujistěte, že bash-completion je nainstalován:

Sudo apt-get install bash-completion

a zřejmě pro @diapir, pomohl jej přeinstalovat:

Sudo apt-get install --reinstall bash-completion

Problém pro mě však nebyl v tom, že dokončení bash nebylo nainstalováno nebo přerušeno, problém byl v tom, že jsem omylem smazal svůj .bashrc soubor. Nový můžete získat jeho zkopírováním z /etc/skel:

cp /etc/skel/.bashrc ~/
108
Ian Hincks

Zadejte následující příkaz:

Sudo -H gedit /etc/bash.bashrc

Hledejte tyto řádky:

# enable bash completion in interactive shells
# if ! shopt -oq posix; then
#  if [ -f /usr/share/bash-completion/bash_completion ]; then
#    . /usr/share/bash-completion/bash_completion
#  Elif [ -f /etc/bash_completion ]; then
#    . /etc/bash_completion
#  fi
# fi

Uvolněte některé řádky, aby to vypadalo takto:

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  Elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Uložte, zavřete terminál a znovu jej otevřete.

Mám tento problém po instalaci 13.04, a tak to vyřeším.

36
Nur

Stáhněte si nejnovější stabilní verzi z http://bash-completion.alioth.debian.org/

./configure
make
Sudo make install

vložit

if [ -f /etc/bash_completion ]; then
  . /etc/bash_completion
fi

do ~/.bashrc

Výstup tohoto příkazu:

apt-config dump | grep "Dir::Cache"

Mělo by to být něco takového:

Dir::Cache "var/cache/apt";
Dir::Cache::archives "archives/";
Dir::Cache::srcpkgcache "srcpkgcache.bin";
Dir::Cache::pkgcache "pkgcache.bin";

Pokud je hodnota Dir::Cache::pkgcache je prázdné, apt nebude moci automaticky dokončovat názvy balíků. Podívejte se na svůj /etc/apt/apt.conf.d/ soubory a vyhledejte tento klíč, abyste se ujistili, že není nastaven na prázdný řetězec.

grep -r pkgcache /etc/apt/apt.conf.d/

Podívejte se také na tato odpověď .

1
iman