ฉันต้องกังวลเกี่ยวกับ“ tail: ระบบไฟล์ที่ไม่รู้จักชนิด 0xbeefdead” หรือไม่?


32

tail -f -n 50 filenameฉันพยายามที่จะปฏิบัติตามแฟ้มข้อความปกติด้วย ฉันได้รับข้อมูลจากไฟล์ได้ดียกเว้นฉันได้รับข้อความแสดงข้อผิดพลาดนี้เสมอ:

tail: ระบบไฟล์ที่ไม่รู้จักชนิด 0xbeefdead

มันเกิดขึ้นกับทุกไฟล์ 0xbeefdeadกังวลฉัน - มันดูเหมือนว่าแท็กแฮ็กเกอร์

$ tail --version
tail (GNU coreutils) 8.4

3
มันไม่ควรจะเป็น0xdeadbeefแทน :P
devnull

1
ถอนการโหวตอย่างใกล้ชิด
slm

1
อาจจะชัดเจน แต่ 0xDEADBEEF มักใช้เพื่อระบุไบต์ที่ไม่ได้กำหนดค่าเริ่มต้นและสิ่งต่าง ๆ เช่นนั้น BEEFDEAD น่าจะเป็นสิ่งที่ฉลาดกว่า en.wikipedia.org/wiki/Hexspeak (ค้นหา deadbeef)
user426724

@goldilocks: มันเป็นเรื่องที่ดี แต่ไม่มีคำถาม แก้ไขคีย์แคปล็อคของคุณด้วย
Ben Voigt

3
@BenVoigt Caps ล็อคกันเขาทำจุดที่ถูกต้อง คำถามนั้นชัดเจนมาก: เขาแค่ถามว่าเนื้อของเขาปกติหรือไม่
Navin

คำตอบ:


34

หากคุณได้รับคำเตือนนี้เมื่อใช้ระบบไฟล์ StorNext และใช้งานcoreutils8.21 หรือเร็วกว่านั้นไม่ต้องกังวลอะไรมากมาย คาดว่าจะมีข้อความเตือนนี้

GNU tailมีความรู้ด้านการเดินสายเกี่ยวกับระบบไฟล์หลายประเภทและเตือนเมื่อพบประเภทที่ไม่รู้จัก การสนับสนุนสำหรับระบบแฟ้ม StorNext ถูกเพิ่มเข้าไปtailในcoreutilsในเดือนเมษายนปี 2013 และได้รับการปล่อยตัวในcoreutils8.22 กระทำมีที่นี่ หากคุณไม่สามารถรับรุ่นcoreutilsนั้นหรือต้องการแก้ไขและรวบรวมแหล่งข้อมูลซ้ำด้วยตัวเองนี่คือความแตกต่างจากการกระทำดังกล่าว:

src/stat.c
@@ -399,6 +399,8 @@ enum
     return "selinux";
   case S_MAGIC_SMB: /* 0x517B remote */
     return "smb";
+  case S_MAGIC_SNFS: /* 0xBEEFDEAD remote */
+    return "snfs";
   case S_MAGIC_SOCKFS: /* 0x534F434B local */
     return "sockfs";
   case S_MAGIC_SQUASHFS: /* 0x73717368 local */

11
ทำไมโปรแกรม userspace เช่นนั้นtailจำเป็นต้องเข้ากันได้กับระบบไฟล์ที่เฉพาะเจาะจง? ฉันเดาสิ่งที่ฉันหมายถึงคือไม่มีระบบไฟล์ที่สามารถพึ่งพาได้?

15
@ illuminÉเหตุผลหลักในการพิจารณาประเภทของระบบไฟล์คือการทำงาน "tail -f": วิธีที่มีประสิทธิภาพมากที่สุดในการพิจารณาว่าข้อมูลใหม่ถูกเขียนลงในไฟล์แตกต่างจากระบบไฟล์หนึ่งไปยังอีกระบบหนึ่งหรือไม่
มาร์ค

9
tailด้วย-fตัวเลือกที่ใช้inotifyถ้ามันสามารถ แต่inotifyสามารถตรวจสอบการเปลี่ยนแปลงที่เกิดจากกิจกรรมที่ทำโดยเคอร์เนลของระบบโลคัล ดังนั้นtailจะใช้inotifyเฉพาะถ้าอาร์กิวเมนต์ไฟล์อยู่ในสิ่งที่มันจัดว่าเป็นระบบไฟล์ "ท้องถิ่น"
Mark Plotnick

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