ทำไมไม่พบคำสั่งล่าช้าเป็นเวลานาน


18

บ่อยครั้งเมื่อฉันพิมพ์คำสั่งเช่น ls (เช่นฉันกด 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=trueใน SoftwareSourceSearch=false

ความล่าช้าเป็นเกือบ 0 และคุณยังคงได้รับการเตือนเกี่ยวกับการสะกดผิดซึ่งอาจเป็นประโยชน์


3

Fedora ใช้สิ่งที่คล้ายกัน

หากคุณต้องการลบคุณลักษณะนี้ให้ใช้:

yum remove PackageKit-command-not-found

ติดตาม: ฉันลืมที่จะพูดถึงถ้าคุณเอาแพคเกจนี้คุณจะได้รับข้อความแสดงข้อผิดพลาด: bash: /usr/libexec/pk-command-not-found: No such file or directory การแก้ไขปัญหานี้สร้างแฟ้มหลังจาก removeing แพคเกจ / usr / libexec / PK-คำสั่งไม่ได้พบกับต่อไปนี้: #!/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 เดียวกันโดยใช้คำสั่ง curl แบบไม่สำเร็จก็ทำได้ทันที

ฉันตรวจสอบกระบวนการ 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.