apt-get 자동 완성 패키지 이름이 깨졌습니다.


71

언젠가

apt-get install

자동 완성 기능이 중단되었습니다

Tab프레스로 패키지 이름을 보는 것이 매우 유용했습니다.

이 자동 완성을 복구하는 방법?


더 많은 정보를 추가하려면 질문을 편집하십시오. 탭을 누를 때 지금 무엇을합니까? 오류가 있습니까? 포함 시키십시오.
Oli

어떤 패키지를 찾으려고 했습니까? apt-cache search mypkg를 통해 사용할 수 있습니까? Oneiric에서 Kubuntu를 사용하고 있습니다.
koolhead17

예를 들어 난 후 탭을 눌러 sudo는 apt-get을 루비를 설치하고 터미널은 나에게 루비 모든 패키지 표시 : 등 루비 MySQL을, RYBY-DEV,
Вячеслав Логинов을

예, 탭을 누를 때 대신 무엇을 볼 수 있습니까?
Oli

cd + [TAB]와 같은 폴더 목록이 표시됩니다.
Вячеслав Логинов

답변:


105

다른 답변에 대한 의견에서 언급했듯이 먼저 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 ~/

2
고마워, bashrc 팁은 나에게도 문제를 해결했다. 명령 sudo에 대한 사용 chmod은 불필요합니다.
BHSPitMonkey

2
에있는 파일 /etc/입니다 0644/-rw-r--r--사용자와 : 그룹 = root:root및 사용자 폴더에 복사하면 자동으로 사용자로 이동합니다 : 사용자
kevinf

cp /etc/skel/.bashrc ~ /가이 문제를 해결하는 데 도움이되었습니다.
Jacob Abraham

/etc/skel/.bashrc를 다시 설치하고 복사 해 주셔서 감사합니다. 감사합니다!
Sergey

36

다음 명령을 입력하십시오 :

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를 설치 한 후이 문제가 발생하여 해결 방법입니다.


이것이 나를 위해 일한 유일한 것입니다. 감사합니다.
this.foo

초등학교 OS LoKi에서 나를 위해 일했습니다
Rodrigo Lopez Guerra

4

최신 안정 릴리스를 다음에서 다운로드하십시오. http://bash-completion.alioth.debian.org/

./configure
make
sudo make install

끼워 넣다

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

~ / .bashrc


bash-completion패키지에 있습니다-수동으로 한 이유가 있습니까? 패키지는 정확히이 작업을 수행해야합니다 :)
Cesium

:) 항상 그렇듯이, 앉아 있고, 매뉴얼을 읽고, 구성한 다음이 소프트가 저장소에 존재하는 것으로 나타났습니다.
Вячеслав Логинов

3
sudo apt-get install --reinstall bash-completion나를 위해 그것을했다.
diapir

2
@ diapir, 같은 문제가 있지만 재설치 만 작동하지 않습니다. bashrc파일에 줄을 적용해야 합니다.
Anwar

0

이 명령의 출력은 다음과 같습니다.

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/

또한 이 답변을 살펴보십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.