คำถามติดแท็ก inode

สำหรับคำถามเกี่ยวกับไอโหนด (โหนดดัชนี) โครงสร้างข้อมูลในระบบไฟล์สไตล์ยูนิกซ์ที่อธิบายอ็อบเจ็กต์ระบบไฟล์เช่นไฟล์หรือไดเร็กทอรี ใช้แท็กนี้สำหรับคำถามเกี่ยวกับโครงสร้างข้อมูลไอโหนดเองหรือคำถามเกี่ยวกับปัญหาที่เกิดจากการสืบค้นหรือการจัดการ inodes ในขอบเขตของระบบไฟล์


4
เหตุใดไฟล์อุปกรณ์พิเศษจึงมีไอโหนด
ไฟล์อุปกรณ์ไม่ใช่ไฟล์ต่อไฟล์ เป็นอินเทอร์เฟซ I / O เพื่อใช้อุปกรณ์ในระบบปฏิบัติการยูนิกซ์ พวกเขาไม่ใช้พื้นที่บนดิสก์อย่างไรก็ตามพวกเขายังคงใช้ inode ตามที่รายงานโดยstatคำสั่ง: $ stat /dev/sda File: /dev/sda Size: 0 Blocks: 0 IO Block: 4096 block special file Device: 6h/6d Inode: 14628 Links: 1 Device type: 8,0 ไฟล์อุปกรณ์ใช้ฟิสิคัล inodes ในระบบไฟล์หรือไม่และทำไมพวกเขาต้องการมันเลย?

1
หมายเลขไอโหนดตรวจสอบว่าไฟล์ใดถูกสร้างขึ้นก่อนหน้านี้กว่าไฟล์อื่น?
ในext4ระบบแฟ้มสมมติว่าfile1มีหมายเลขไอโหนด1และที่มีหมายเลขไอโหนดfile2 2ตอนนี้ไม่คำนึงถึงใด ๆcrtimeประทับเวลาที่อาจจะมีก็เป็นความผิดที่คิดว่าfile1ถูกสร้างขึ้นก่อนหน้านี้กว่าfile2เพียงเพราะ inode 1น้อยกว่า inode 2?
11 ext4  inode 

3
เป็นไปได้ไหมที่จะเปลี่ยนชื่อไฟล์หรือไดเรกทอรีโดยใช้ inode
ฉันเปลี่ยนไดเร็กทอรี / home เป็นพาร์ติชันอื่นและไม่สามารถเข้าถึงไฟล์จากสิ่งที่ฉันสามารถแก้ไขได้จากคำถามนี้คุณจะเข้าถึงเนื้อหาของการเมาต์ก่อนหน้าหลังจากเปลี่ยนเป็นพาร์ติชันอื่นได้อย่างไร . ในกรณีที่ฉันจดบันทึก inode ของไดเร็กตอรี่ก่อนที่ฉันจะสามารถใช้มันคนเดียวเพื่อเปลี่ยนชื่อไดเรคทอรีได้?
10 rename  inode 

2
ทำไมเคอร์เนล Linux รายงานว่า“ พื้นที่ดิสก์ไม่เพียงพอ” เมื่อในความเป็นจริงมันอยู่นอก i-nodes
เพื่อนของฉันที่ชอบเขียนโปรแกรมในสภาพแวดล้อม Linux แต่ไม่รู้เกี่ยวกับการดูแลระบบของ Linux เมื่อเร็ว ๆ นี้พบปัญหาที่ระบบปฏิบัติการ (Ubuntu) ของเขารายงานว่า แต่เมื่อเขาไปตรวจสอบระดับเสียงยังคงมี 700 GB เหลืออยู่ หลังจากเสียเวลามากในที่สุดเขาก็สามารถคิดได้ว่าเขาออกจาก inodes (เขาเก็บข้อมูลอัปเดตที่เพิ่มขึ้นจำนวนเล็กน้อยจากระบบสำรองข้อมูลในโวลุ่มนี้และเขียนผ่าน inodes ทั้งหมดของเขา) เขาถามฉันว่าทำไมเคอร์เนล Linux รายงานข้อความแสดงข้อผิดพลาด ("ออกจากพื้นที่ดิสก์") แทนที่จะรายงานอย่างถูกต้อง ("out of inodes") ฉันไม่รู้ดังนั้นฉันคิดว่าฉันจะถาม StackExchange ใครรู้ว่าทำไมสิ่งนี้เกิดขึ้น? และทำไมมันไม่ได้รับการแก้ไขหลังจากหลายปีที่ผ่านมา? (ฉันจำเพื่อนคนอื่นบอกฉันเกี่ยวกับปัญหานี้ในปี 1995)

6
วิธีการพกพาเพื่อค้นหาหมายเลขไอโหนด
ตอนแรกฉันใช้stat -c %i file(เพื่อตรวจจับการปรากฏตัวของคุก ) ซึ่งดูเหมือนว่าจะทำงานกับการกระจาย Linux ใด ๆ ภายใต้ดวงอาทิตย์ บน OS X' ls -i file | cut -d ' ' -f 1ผมต้องใช้ มีวิธีการบางอย่างเพื่อหาหมายเลขไอโหนดของไฟล์ในสคริปต์เชลล์ซึ่งเป็นแบบพกพาข้ามแพลตฟอร์มระวัง * และไม่ได้ขึ้นอยู่กับตามอำเภอใจฉาวโฉ่ls?
10 shell  inode 

2
ความแตกต่างระหว่าง xattr และ chattr
ความสัมพันธ์และความแตกต่างระหว่างxattrและchattrคืออะไร? ฉันต้องการทราบเมื่อฉันตั้งค่าchattrคุณลักษณะใน Linux สิ่งที่เกิดขึ้นภายในเคอร์เนล Linux และข้อมูลเมตาของ inode
9 linux  files  inode  xattr 

1
ค้นหาฮาร์ดลิงก์ทั้งหมดของไฟล์โดยไม่ต้องข้ามระบบไฟล์
ฉันเห็นในหน้านี้ว่า inodes มีตัวนับลิงก์เพื่อทราบจำนวนไฟล์ (อ่าน: "รายการไดเรกทอรี") ชี้ไปที่ inode นี้ มีวิธีที่จะทราบว่าไดเรกทอรีใดมีรายการดังกล่าวโดยไม่ต้องข้ามทั้งระบบไฟล์? ข้อมูลนี้ถูกเก็บไว้ที่ไหน? struct inode { kdev_t i_dev; unsigned long i_ino; umode_t i_mode; nlink_t i_nlink; uid_t i_uid; gid_t i_gid; … };

3
ขนาดหน่วยความจำสำหรับการดำเนินการเคอร์เนล mmap
ฉันสนใจในวิธีที่ไฟล์ Linux mmaps ในหน่วยความจำหลัก (ในบริบทของฉันมันสำหรับการดำเนินการ แต่ฉันคิดว่ากระบวนการ mmap นั้นเหมือนกันสำหรับการเขียนและการอ่านเช่นกัน) และขนาดที่ใช้ ดังนั้นฉันรู้ว่าลินุกซ์ใช้เพจจิ้งโดยปกติ 4kB Pagesize (ที่เคอร์เนลฉันสามารถหาขนาดนี้ได้ที่ไหน) แต่สิ่งนี้มีความหมายอย่างไรสำหรับหน่วยความจำที่จัดสรรไว้: สมมติว่าคุณมีขนาดไบนารี่ขนาดไม่กี่ไบต์นับได้ว่าเพียง 5812B และคุณรันมัน จะเกิดอะไรขึ้นในเคอร์เนล: มันจัดสรร 2 * 4kB แล้วคัดลอก 5812B ลงในพื้นที่นี้เสียเปล่า> 3KB ของหน่วยความจำหลักในหน้า 2 หรือไม่? มันจะดีถ้าใครรู้ว่าไฟล์ในเคอร์เนลแหล่งที่มีการกำหนดขนาดหน้า คำถามที่สองของฉันก็ง่ายมากฉันเดาว่าฉันถือว่า 5812B เป็นขนาดไฟล์ ถูกต้องขนาดนี้ถูกนำมาจากไอโหนดหรือไม่?
9 kernel  memory  inode  mmap 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.