it-swarm.com.de

apt-get Autocomplete-Paketname ist fehlerhaft

Irgendwann

apt-get install

autocomplete war kaputt

Es war sehr nützlich für mich, den Paketnamen mit zu sehen Tab Drücken Sie

Wie kann ich diese Autovervollständigung reparieren?

Stellen Sie, wie in den Kommentaren zu der anderen Antwort angegeben, zunächst sicher, dass bash-completion installiert ist:

Sudo apt-get install bash-completion

und anscheinend hat es bei @diapir geholfen, es neu zu installieren:

Sudo apt-get install --reinstall bash-completion

Für mich bestand das Problem jedoch nicht darin, dass die Bash-Vervollständigung nicht installiert oder fehlerhaft war. Das Problem bestand darin, dass ich versehentlich meine .bashrc -Datei gelöscht hatte. Sie können ein neues erhalten, indem Sie es aus /etc/skel kopieren:

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

Geben Sie den folgenden Befehl ein:

Sudo -H gedit /etc/bash.bashrc

Suchen Sie nach diesen Zeilen:

# 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

Kommentieren Sie einige Zeilen aus, damit es so aussieht:

# 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

Speichern, Terminal schließen und erneut öffnen.

Ich habe dieses Problem nach der Installation von 13.04, und so löse ich es.

36
Nur

Laden Sie die neueste stabile Version von http://bash-completion.alioth.debian.org/ herunter.

./configure
make
Sudo make install

einfügen

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

zu ~/.bashrc

Beachten Sie die Ausgabe dieses Befehls:

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

Sollte ungefähr so ​​aussehen:

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

Wenn der Wert von Dir::Cache::pkgcache leer ist, kann apt die Paketnamen nicht automatisch vervollständigen. Schauen Sie sich Ihre /etc/apt/apt.conf.d/ -Dateien an und suchen Sie nach diesem Schlüssel, um sicherzustellen, dass er nicht auf leere Zeichenfolge eingestellt ist.

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

Schauen Sie sich auch diese Antwort an.

0
iman