Fedora의 command-not-found가 작동하지 않습니다

Fedora의 command-not-found가 작동하지 않습니다

최근 Fedora 19를 설치했습니다.Packagekit 명령을 찾을 수 없습니다설치되었습니다. 그러나 그 자체의 예는 작동하지 않습니다. gedti출력을 입력하면 다음과 같습니다 .

bash: gedti: command not found... Similar command is: 'gedit'

잘 작동하지만 powertop을 입력하면 출력은 다음과 같습니다.

bash: powertop: command not found...

패키지에 대한 제안 사항이 없습니다. 왜? 일부 구성 파일을 편집하거나 일부 캐시를 업데이트해야 합니까? 아니면...?

답변1

PackageKit에는 확실히 이상한 점이 있습니다. 이미 powertop설치했지만 발생한 문제를 테스트하고 싶었습니다.

$ rpm -ql PackageKit-command-not-found
/etc/PackageKit/CommandNotFound.conf
/etc/profile.d/PackageKit.sh
/usr/libexec/pk-command-not-found

따라서 위에서 PackageKit이 실행할 명령을 실행하여 다음과 같이 검색을 수행할 수 있습니다.

$ /usr/libexec/pk-command-not-found <command>

$ /usr/libexec/pk-command-not-found powertop
bash: powertop: command not found...

$ which powertop
/usr/bin/powertop

두 번째로 실행했을 때 추천을 받았습니다 powertop.

$ /usr/libexec/pk-command-not-found powertop
bash: powertop: command not found...
Install package 'powertop' to provide command 'powertop'? [N/y] 

그렇다면 왜 파워톱을 찾지 못하는 걸까요?

궁극적으로 근본 원인은 구성 파일에 정의된 시간 초과라고 생각합니다 /etc/PackageKit/CommandNotFound.conf.

MaxSearchTime=2000

이 시간 제한은 PackageKit이 쿼리를 실행하는 데 걸리는 시간을 제한하는 데 사용됩니다. 이 쿼리는 로컬 Yum 캐시에 대한 것이 아니라 인터넷에 구성한 Yum 저장소에 대한 실시간 검색입니다. 따라서 보다 철저하고 성능을 높이려면 다음과 같은 절충안을 적용해야 합니다.

# aggressive find
MaxSearchTime=15000

# more responsive
MaxSearchTime=250    

관련 정보