อะไรจะทำให้ฉันไม่สามารถสร้างโฟลเดอร์ / dev / null ที่หายไปได้อีกครั้ง


3

ฉันสังเกตเห็นบนเครื่องที่บ้านของฉัน (OS X 10.6.6) ว่า/dev/nullโฟลเดอร์เสียหาย ดูเหมือนว่าจะมีอยู่เมื่อเรียกดูใน Finder หรือ Terminal แต่จะไม่ยอมรับเอาต์พุตที่เขียนไปแล้วและฉันไม่สามารถ CHMOD ได้ ฯลฯ ดูเหมือนว่าจะตายหรือเสียหาย!

ดังนั้นฉันจึงลบมันและรับการแก้ไขมาตรฐาน:

# rm /dev/null
# mknod /dev/null c 1 3
# chmod 666 /dev/null
# ls -l /dev/null

แต่เมื่อฉันลองพิมพ์mknod /dev/null c 1 3ฉันจะได้รับข้อความแสดงข้อผิดพลาด:

Illegal instruction

มันหายไปแล้ว - ฉันไม่คิดว่าฉันพยายามสร้างโฟลเดอร์เดียวกันโดยผิดกฎหมาย

ฉันได้ลองค้นหาชุดค่าผสมอื่น - ตัวอย่างเช่น: mknod / dev / null c 2 2 ฯลฯ - แต่ไม่มีอะไรทำงาน

ฉันควรทำอย่างไร?


3
/dev/nullไม่ใช่ "โฟลเดอร์" (หรือไดเรกทอรี) มันเป็นไฟล์พิเศษ
Dennis Williamson

1
คุณแน่ใจหรือไม่ว่าคุณมีmknodอยู่ใน/sbinและไม่ได้อยู่ที่อื่นในรุ่นก่อนหน้าPATH? (ตรวจสอบด้วยการtype -a mknodทุบตี)
Doug Harris

คำตอบ:


2

3, 2ในระบบของฉันมันเป็น

$ ls -l /dev/null
crw-rw-rw-  1 root  wheel    3,   2 28 Jan 19:01 /dev/null

ฉันยังได้รับ "คำสั่งที่ผิดกฎหมาย" เมื่อฉันลอง: 'sudo mknod / dev / null c 3 2'
Jamison

@ Jamison เกี่ยวกับsudo mknod null c 3 2อะไร? man mknodตัวอย่างไม่ได้ระบุเส้นทางทั้งหมด
Daniel Beck

อ่า! นั่นเป็นความคิดที่ดี! - พวกเขาเพียงแค่ระบุ "ชื่อ" เป็นพารามิเตอร์ Shucks - ฉันเพิ่งลองและได้รับข้อความคำสั่ง Illegal Instruction เดียวกัน
Jamison

นี่คือสิ่งที่แปลก: ใน FINDER มี symlink ของ DEV แต่ถ้าฉันพยายามติดตามฉันจะได้รับ "Dev ไม่สามารถเปิดได้เพราะไม่พบรายการต้นฉบับ" ข้อผิดพลาด symlink แต่ใน Terminal เทอร์มินัล cd dev พาฉันไปที่นั่นและฉันสามารถเรียกดูเนื้อหาตามปกติด้วย ls ฯลฯ ฉันไม่แน่ใจว่าโฟลเดอร์ DEV อยู่ที่ไหนในขณะนี้ ...
Jamison

@Jamison /devไม่เปิดให้ฉันใน Finder ด้วยเช่นกัน ไม่ไปที่โฟลเดอร์ (ซึ่งล้มเหลวด้วย "ไม่พบ") ​​หรือopen /devในเทอร์มินัล
Daniel Beck

2

ปัญหาเดียวกันที่นี่ใน Mac OS X 10.6.8 หลังจากทดสอบscriptคำสั่งGNU โดยใช้/dev/nullเป็นไฟล์บันทึกในทางที่ผิด:

# wrong use of GNU script command (do not use it!)
#sudo sh -c '
#0<&- gscript -q /dev/null -c "x11vnc -storepasswd ~/.vnc/passwd << EOF
#password
#password
#y
#EOF"
#sync
#'


sudo ls -ld /
# Illegal instruction

ls -l /dev/null
# crw-------  1 root  wheel    3,   2 31 Jan 15:31 /dev/null

วิธีแก้ปัญหาที่ใช้งานได้สำหรับฉันคือปิดคอมพิวเตอร์ (โดยกดปุ่มเปิด / ปิดค้างไว้) รีสตาร์ทในโหมดผู้ใช้คนเดียว (โดยกดปุ่ม cmd และ s) จากนั้นทำซ้ำ สองครั้ง/sbin/fsck -fyจนกระทั่งข้อความปรากฏขึ้น: ** The volume (name_of_volume) appears to be OK(ดู: แก้ไข ปัญหาการเริ่มต้นและดำเนินการบำรุงรักษาดิสก์ด้วย Disk Utility และ fsck )


บน Mac OS X 10.6.8 ฉันเสีย/dev/nullหลังจาก 'พอร์ตติดตั้ง' พร้อมกับอาการที่อธิบายโดย OP เพียงรีสตาร์ทในโหมดผู้ใช้คนเดียวจากนั้นรีบูตเครื่องshutdown -r now(โดยไม่ต้องทำการซ่อมแซมระบบไฟล์) แก้ไขปัญหา (ดูเพิ่มเติม/ dev / null สิทธิ์ก่อให้เกิด "คำสั่งที่ผิดกฎหมาย"สำหรับการแก้ปัญหาที่แน่นอนนี้)
orbeckst

0

ใช่ความคิดเห็นและการแก้ปัญหาทั้งหมด (ด้านบน) ถูกต้อง - ในที่สุดระบบไฟล์เสียหายอย่างที่ฉันสงสัย

วิธีแก้ปัญหาคือการบูตด้วยดิสก์ INSTALL / BOOT และเรียกใช้ Disk Utility ใน Disk Utility ฉันเพียงแค่เลือก Hard Disk ของฉัน (พวกเขาอยู่ในรายการตามชื่อ) จากนั้นคลิกปุ่ม "Repair Disk" - สแกนเป็นเวลา 1.5 ชั่วโมงที่ดีและแก้ไขข้อผิดพลาดทั้งหมดรวมถึงการกู้คืน Dev / โฟลเดอร์ Null

ฉันเห็นคำแนะนำที่แตกต่างกันมากมายในฟอรัมออนไลน์เกี่ยวกับวิธีการบูตโดยตรงใน Disk Utility - รวมถึง "ใส่ดิสก์สำหรับบูตลงในไดรฟ์ปิดคอมพิวเตอร์เมื่อทำการบูทใหม่กดปุ่ม" C "ค้างไว้และคุณจะเข้าสู่ดิสก์ ยูทิลิตี้!"

ที่จริง - นั่นใช้ไม่ได้กับ OS X 10.6.6 ของฉัน - ฉันต้องบูตเครื่องด้วยดิสก์สำหรับบูตของฉันเข้าสู่หน้าจอติดตั้ง OS X และคุณสามารถหาโปรแกรม "Disk Utility" ในเมนู "Utilities"

นี่คือขั้นตอน - ใช้งานได้กับการบำรุงรักษาใด ๆ / ทั้งหมดที่คุณต้องการทำบนระบบไฟล์ OS X 10.6.6 ของคุณ:

หมายเหตุ: เหล่านี้เป็นเพียงคำแนะนำในการซ่อมดิสก์หลักที่คุณมักจะใช้ในการบูตเครื่อง คุณไม่สามารถซ่อมแซมดิสก์นี้ได้เมื่อคุณใช้งาน OS X ดังนั้นคุณจะต้องเริ่มระบบใหม่ใน BootUp Disk เพื่อทำการซ่อมแซม ในการซ่อมแซมดิสก์อื่น ๆ / ทั้งหมดคุณสามารถไปที่ UTILITIES> Disk Utility เลือกดิสก์ที่คุณต้องการซ่อมแซมและคลิกปุ่ม "ซ่อมแซม"

วิธีแก้ไข MAIN HARD-DISK (ดิสก์สำหรับบูตหลัก):

  1. ใส่แผ่นดิสก์ OS X ของคุณลงในคอมพิวเตอร์ (อาจเป็นแผ่นซีดี OS X ดั้งเดิมของคุณหรือปุ่ม USB ที่โหลดด้วยสำเนาแผ่นดิสก์ OS X INSTALL)
  2. ปิดคอมพิวเตอร์
  3. รีสตาร์ทคอมพิวเตอร์ในขณะที่กดปุ่ม ALT / OPTION ค้างในระหว่างการบูทขึ้นค้างไว้จนกว่าคุณจะเห็นหน้าจอที่แสดงรายการฮาร์ดไดรฟ์ "บูต" และ / หรือคีย์ USB ที่ต่ออยู่กับระบบของคุณ ในกรณีของฉันฉันเห็นฮาร์ดดิสก์ที่ติดตั้งไว้ (ตัวเก่าที่ฉันต้องการแก้ไข) และซีดี OS X ซึ่งระบบรับรู้ว่าเป็นดิสก์สำหรับบูต
  4. คลิกที่ซีดี (หรือปุ่ม USB)
  5. ใช้เวลา 30 วินาทีต่อนาที แต่หน้าจอการติดตั้ง OS X ของคุณจะเปิดขึ้น - คลิกที่ภาษาที่คุณต้องการ (ภาษาอังกฤษในกรณีของฉัน) และคลิกดำเนินการต่อ
  6. ระวังให้ดี - ในอีกไม่กี่หน้าจอคุณไม่ต้องการคลิกที่ "ติดตั้ง" หรืออะไรที่คล้ายกัน - ตอนนี้คุณควรเห็นแถบเมนูใหม่ที่ด้านบนของหน้าจอพร้อมเมนูที่เรียกว่า "ยูทิลิตี้" 7. คลิกที่ "Utilities" และเลือก "Disk Utility"
  7. ตอนนี้คุณอยู่ในโปรแกรม Disk Utility - เพียงเลือกฮาร์ดดิสก์ที่คุณต้องการซ่อมแซมจากนั้นคลิกที่ปุ่ม "ซ่อมแซม" จะใช้เวลาหนึ่งหรือสองชั่วโมงในการสแกนและแก้ไขทุกอย่าง แต่มันควรจะใช้ได้!

เมื่อเสร็จสิ้นให้คลิกเพื่อปิดโปรแกรม Disk Utility ฉันหาวิธีรีสตาร์ทคอมพิวเตอร์ไม่พบฉันเลยกดปุ่มเปิด / ปิดค้างไว้จากนั้นจึงเริ่มใหม่อีกครั้ง อย่ากดปุ่มใด ๆ และคอมพิวเตอร์ควรรีบูตในการติดตั้ง OS X หลักของคุณ (ฮาร์ดดิสก์) โดยไม่มีปัญหา

ขอบคุณ -


มันไม่ใช่โฟลเดอร์
miniBill
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.