web-dev-qa-db-ja.com

apt-getオートコンプリートパッケージ名が壊れています

ある瞬間に

apt-get install

オートコンプリートが壊れていた

パッケージ名を表示することは私にとって非常に役に立ちました Tab 押す

このオートコンプリートを修復する方法は?

他の回答へのコメントで述べられているように、最初にbash-completionがインストールされていることを確認してください:

Sudo apt-get install bash-completion

そして明らかに@diapirの場合、それは再インストールに役立ちました:

Sudo apt-get install --reinstall bash-completion

しかし、私にとって問題は、bash-completionがインストールまたは破損していないことではなく、問題は.bashrcファイルを誤って削除していたことです。 /etc/skelからコピーして、新しいものを取得できます。

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

次のコマンドを入力します。

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
Nur

http://bash-completion.alioth.debian.org/から最新の安定版リリースをダウンロードします

./configure
make
Sudo make install

インサート

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

〜/ .bashrcへ

このコマンドの出力に注意してください:

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
iman