apt-get имя пакета автозаполнения не работает

В какой-то момент

apt-get install

автозаполнение было прервано

Мне было очень полезно увидеть имя пакета с помощью Tab нажатия

Как восстановить это автозаполнение?

71
задан 25 June 2014 в 20:01

4 ответа

Введите следующую команду:

sudo -H gedit /etc/bash.bashrc

Ищите эти строки:

# 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

Не прокомментируйте некоторые строки, чтобы заставить его быть похожим на это:

# 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

Сохраните, закройте терминал, затем вновь откройте его.

У меня есть эта проблема после установки 13.04, и это - то, как я разрешаю его.

36
ответ дан 25 June 2014 в 20:01

Обратите внимание, что вывод этой команды:

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

должен быть примерно таким:

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

Если значение Dir::Cache::pkgcache пусто, apt не сможет автоматически полные имена пакетов. Посмотрите на ваши /etc/apt/apt.conf.d/ файлы и найдите этот ключ, чтобы убедиться, что в нем не задана пустая строка.

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

Также взгляните на этот ответ .

0
ответ дан 25 June 2014 в 20:01

Загрузите последнюю стабильную версию из http://bash-completion.alioth.debian.org/

./configure
make
sudo make install

и вставьте

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

в ~ / .bashrc

0
ответ дан 25 June 2014 в 20:01

Как указано в комментариях к другому ответу, сначала убедитесь, что установлено bash-completion:

sudo apt-get install bash-completion

и, по-видимому, для @diapir, это помогло переустановить его:

sudo apt-get install --reinstall bash-completion

Однако для меня проблема была не в том, что bash-complete не был установлен или сломан, а в том, что я случайно удалил свой файл .bashrc. Вы можете получить новый, скопировав его из /etc/skel:

cp /etc/skel/.bashrc ~/
0
ответ дан 25 June 2014 в 20:01

Другие вопросы по тегам:

Похожие вопросы: