왜 명령 후 긴 지연이 발견되지 않습니까?


18

ls와 같은 명령을 잘못 입력 할 때 (예 : 's'를 입력하기 전에 ENTER를 누르는 경우) 터미널이 표시된 후 시간이 오래 (~ 2 초) 지연됩니다.

bash: l: command not found...

잘못된 비밀번호를 입력 한 후 비슷한 지연이 발생하는 이유를 이해할 수 있습니다. 잘못된 비밀번호를 입력 한 후 지연이 큰 이유는 무엇입니까? . 그러나 왜 인식되지 않은 명령 후에 지연 되는가? 있는가 FAIL_DELAY/etc/login.defs이 영향을 줍니까?


8
아마도 Fedora는 이제 "이 프로그램은 설치되어 있지 않습니다. 설치하려면 ..."이라고 알려주는 그 끔찍한 Ubuntu의 잘못된 기능을 사용하고 있습니까? 설치 가능한 모든 패키지의 데이터베이스를 검색하면 지연이 발생합니다. 기본적으로 설치되지 않았지만 리포지토리에있는 psql (PostgreSQL의 일부)을 호출 해보십시오.
Ulrich Schwarz

echo "$PROMPT_COMMAND"출력 은 무엇입니까 ?
rozcietrzewiacz

echo "$ PROMPT_COMMAND": printf "\ 033] 0; % s @ % s : % s \ 007" "$ {USER}" "$ {HOSTNAME %%. *}" "$ {PWD / # $ HOME / ~ } "
paislee

echo $ PATH는 무엇을 인쇄합니까? 리턴 키를 누를 때마다 시스템이 확인됩니다.
Hanan N.

답변:


19

일부 연구 후 나는 이것을 발견 했다 :

  • 찾을 수없는 명령 패키지를 $>yum remove command-not-found제거한 후 다시 >$yum install command-not-found설치하십시오 (시스템에 패키지가 설치되어있는 경우).

그것이 도움이되지 않으면 :

  • 이것을 ~/.bashrc파일에 추가 하십시오 :

    unset command_not_found_handle


2
두 번째 제안은 지연을 제거했습니다. 패키지 명령을 찾을 수 없습니다. 감사!
paislee

나는 기본적으로이 가능하도록 좋은 아이디어라고 생각 누구 이건의 판단에 의문
fostandy

16

적어도 Fedora에서 가장 좋은 해결책은 구성 파일을 수정하는 것입니다.
/etc/PackageKit/CommandNotFound.conf

가장 큰 지연이 검색에서 오는대로 수정하면 패키지는 설치에 대한 SoftwareSourceSearch=trueSoftwareSourceSearch=false

지연 시간이 거의 0이고 맞춤법 오류에 대한 경고가 계속 표시되므로 유용 할 수 있습니다.


3

페도라는 비슷한 것을 사용합니다.

이 기능을 제거하려면 다음을 사용하십시오.

yum remove PackageKit-command-not-found

후속 조치 :이 패키지를 제거하면 언급하지 bash: /usr/libexec/pk-command-not-found: No such file or directory 않았습니다 . 오류 메시지가 나타납니다. 패키지를 제거한 후 파일을 작성하려면 / usr / libexec / pk-command-not-found를 다음과 같이 찾으십시오. #!/bin/sh echo "Command not found: $1" 이것은 인쇄됩니다. 명령을 찾을 수 없음 : fail-command

0

제 경우에는 / usr / libexec / pk-command-not-found의 알려진 프록시 버그 때문입니다.

Failed to search for file: cannot update repo 'updates':
Cannot prepare internal mirrorlist:
Curl error (28): Timeout was reached for https://mirrors.fedoraproject.org/metalink?repo=updates-released-f28&arch=x86_64 
[Connection timed out after 30002 milliseconds]

베어 컬 명령으로 정확히 동일한 URL을 다운로드하면 즉시 성공하므로 프록시 구성이 정확합니다.

pk-command-not-found 프로세스에 프록시 구성이 있는지 확인했습니다.

tr  '\0' '\n' < /proc/$(pgrep -f pk-command-not-found)/environ | grep -i proxy

그러나 알 수없는 이유로 사용하지 않습니다.

https://bugzilla.redhat.com/show_bug.cgi?id=1553368

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