ฉันไม่ได้ไปไกลขนาดนั้นด้วยการพูดแบบนี้ แต่มีโอกาสมากที่มันจะไม่ได้รับการอัพเดตที่ทำให้เกิดปัญหาของคุณ อาจเป็นอย่างอื่นที่คุณไม่ต้องการไม่ว่าจะเป็นแอปพลิเคชันสำรองที่คุณไม่ได้กำหนดค่าให้กับ 'ความชอบ' หรือปัญหาด้านความปลอดภัยของคุณด้วยโครงสร้างกลุ่มโปรไฟล์ / ระบบของคุณ
อีกกรณีหนึ่งที่ดูเหมือนว่าการจัดสรรหน่วยความจำระบบทำงานกับผู้ใช้เป็นสถานการณ์สมมติเมื่อ 'ไม่รู้ระบบไฟล์สแต็กเสมือน' โดยไม่รู้ตัว และนั่นคือปัญหาที่เกิดขึ้น 'ระเบิดความชั่วช้าเสมือนจริง' เพื่อพูด
ค่อนข้างบ่อยเกิดขึ้นกับไดรฟ์ USB ที่จัดรูปแบบใน fat32 บนระบบ ext 4 ที่ถูกถ่ายโอนไปยังระบบ zfs ที่ตั้งค่าอย่างไม่เหมาะสมกับ csh shell เป็น man login shell มันสร้างการเรียกซ้ำเสมือนจริงของปัญหา "ระบบไฟล์ USB อ่านอย่างเดียว - ไฟล์" บนดิสก์และฟอร์แมต / เมานต์ไดรฟ์ไปยัง vFat จาก fat32 ซึ่งจะสร้างเซกเตอร์บล็อกที่ไม่ดีและแยกไดเรกทอรี (จริง ๆ ) ระดับไดเรกทอรีหลักซึ่งทำให้เกิดวงวนไม่สิ้นสุด! ไดเรกทอรีไม่ได้อยู่ในระดับลำดับชั้นของผู้ปกครอง ไวยากรณ์ของสาเหตุ csh เป็นสาเหตุของสิ่งนี้ * หมายเหตุ: ไดรฟ์นั้นอ่านได้ในทุกระบบเท่านั้น แต่เป็นระบบล็อกอิน zfs c-shell
หากต้องการปิดใช้งาน updatedb อย่างสมบูรณ์สามารถสร้าง ill-logic อ้างอิงการจัดสรรหน่วยความจำและ 'เอฟเฟกต์การย้อนกลับ' .. หากคุณเคยย้อนกลับเมื่อคุณไม่ต้องการคุณจะรู้ว่าฉันหมายถึงอะไรเมื่อบรรทัดคำสั่งมูลค่าสองชั่วโมง การเขียนสคริปต์คือ Fubar-ed เพราะคุณไม่ได้จัดสรรการประมวลผลงานของคุณไว้ในหน่วยความจำ
ตอนนี้ถ้าคุณมีตัวประมวลผลทางกายภาพตั้งแต่สองตัวขึ้นไป (เช่นดูอัลคอร์หรือมากกว่า) และ ddr3 ram คุณก็สามารถปรับได้ ตราบใดที่กราฟิกของคุณไม่ทำงานหนักซึ่งในกรณีนี้หาก powerload นั้นทำให้เกิดปัญหาของคุณ updatedb จะอยู่ในรายการของคุณ หากคุณพยายามปิดบังการเคลื่อนไหวของคุณไปยังระบบด้วยเหตุผลบางอย่างแล้วมีวิธีอื่นที่จะทำแทนการปิดการใช้งาน updatedb และในความเป็นจริง updatedb จะทำให้การกระทำของคุณเป็นจริงโดยที่ 'ไม่มีอะไรเกิดขึ้น'
ค่อนข้างตรงไปตรงมากับขนาดของไฟล์ไบนารี / usr / bin / updatedb และพิจารณาสถาปัตยกรรมของการสื่อสารสัญญาณ / ระบบที่มีในระบบปฏิบัติการและ Bash นั้นมีขนาดเป็น 10 เท่าของขนาดของเชลล์ที่เชื่อมโยงซึ่งกันและกัน ราคาไม่แพงมากในระบบ
หากคุณล็อกอินเข้าสู่เชลล์โดยใช้สคริปต์ลำดับที่คุณเขียนและคุณเป็นผู้ดูแลระบบ (เช่น sudo) ให้รันคำสั่งต่อไปนี้:
~$ sudo bash
:~# ./script.sh
จากนั้นคุณอาจต้องการสร้างตัวแปรท้องถิ่นภายในสคริปต์ของคุณ (updatedb ต้องการสิทธิ์ของระบบ, รูท AKA / sudo / wheel), เช่น:
#! /bin/sh
# Create local variables
UPD="updatedb"
echo "Beginning Execution of sequence "
ในกรณีนี้ลำดับจะใช้ STDOUT / STDIN จากเชลล์สคริปต์อื่น ๆ ที่คุณเขียนและใช้งานเป็นตัวแปรในสคริปต์หลักของคุณหรือว่าคุณมีแพ็คเกจผู้ดูแลระบบส่วนบุคคลหรือธุรกิจที่คุณอัพโหลด / ดาวน์โหลด / พอร์ตจาก cdrom หรือ ยูเอสบีหรืออะไรก็ตามที่มีขนาดใหญ่มากและมีสคริปต์การติดตั้งส่วนตัวสำหรับพวกเขา เมื่อเทอร์มินัลเชลล์เปิดขึ้นนั่นคือแอปพลิเคชันหลักของคุณ แอปพลิเคชั่นอื่น ๆ สามารถ / ทำงาน asyncronously แต่ updateb เป็นหนึ่งในราคาที่ถูกที่สุดในแง่ของความต้องการระบบ / การคำนวณโดยรวม หลายครั้งโดยเฉพาะกับ lxdm Desk Enviro's และ Lxterm (สิ่งนั้นเร็วมาก) แต่ไม่ใช่เพียงอย่างเดียว เมื่อเพิ่มการอัปเดตไปยังสคริปต์ของฉันแล้วระบบได้ยิงฉันถึงข้อผิดพลาดที่ไฟล์ไม่มีอยู่หรือมีบางอย่างผิดปกติเกิดขึ้น และฉันชอบอะไร!
เชลล์นั้นเร็วกว่าระบบที่จัดการฉันรับประกันได้ว่า!
ในกรณีนี้คุณจะเรียกตัวแปร updatedb เพื่อล็อคลำดับก่อนหน้านี้ในหน่วยความจำดังที่แสดง
echo "Updating local database "
$UPD
echo "Exiting script two "
exit
คุณเห็นสิ่งที่ฉันพูดหรือไม่ หากคุณถามสิ่งนี้เพราะคุณใช้การทดสอบความเร็วในการดำเนินการนั่นคือสไตล์ Andrew Tanenbaum มากกว่าที่คิดไว้ ฉลาดอื่น ๆ ใช้เครื่องมือเพื่อประโยชน์ของคุณ
rpm
--whatrecommends
นอกจากนี้ยังมี ฉันคิดว่า Fedora เริ่มมองมันเป็นแนวคิดในช่วงสองสามปีที่ผ่านมา (นานหลังจากฝั่ง debian / ubuntu เริ่มต้นที่การติดตั้ง "แนะนำ" อ้างอิงเช่นเดียวกับคน "ต้อง")