종종 ls와 같은 명령을 잘못 입력하면(예: "s"를 입력하기 전에 Enter 키를 누름) 터미널에 다음이 표시된 후 오랜(~2초) 지연이 발생합니다.
bash: l: command not found...
잘못된 비밀번호를 입력한 후에도 비슷한 지연이 발생하는 이유를 이해할 수 있습니다.잘못된 비밀번호를 입력하면 왜 큰 지연이 발생합니까?. 그런데 인식할 수 없는 명령 후에 왜 지연이 발생합니까? 이것도 영향이 있나요 FAIL_DELAY
?/etc/login.defs
답변1
약간의 조사 끝에 발견했습니다.이것:
- 명령으로 찾을 수 없는 패키지를 제거한 다음
$>yum remove command-not-found
다시 설치해 보십시오>$yum install command-not-found
(시스템에 설치된 경우에만 해당).
도움이 되지 않으면 다음을 시도해 보세요.
파일 에 다음을 추가하세요
~/.bashrc
.unset command_not_found_handle
답변2
적어도 Fedora에서 내가 찾은 최고의 솔루션은 구성 파일을 수정하는 것입니다.
/etc/PackageKit/CommandNotFound.conf
설치할 패키지를 검색하는 데 가장 큰 지연이 발생하기 때문에
SoftwareSourceSearch=true
수정 하는 경우SoftwareSourceSearch=false
지연 시간은 거의 0에 가깝고 오타에 대한 경고도 계속 표시되므로 유용할 수 있습니다.
답변3
Fedora는 비슷한 것을 사용합니다.
이 기능만 제거하려면 다음을 사용하세요.
yum remove PackageKit-command-not-found
답변4
제 경우에는 /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]
bare 컬 명령을 사용하여 정확히 동일한 URL을 다운로드하면 즉시 성공하므로 내 프록시 구성이 정확합니다.
pk-command-not-found 프로세스에 프록시 구성이 있는지 확인했습니다.
tr '\0' '\n' < /proc/$(pgrep -f pk-command-not-found)/environ | grep -i proxy
그러나 알 수 없는 이유로 사용하지 않습니다.