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

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

8
ค้นหาว่ามีการใช้ไอโหนดใด
ดังนั้นฉันจึงได้รับคำเตือนจากระบบตรวจสอบของเราบนกล่องใดกล่องหนึ่งของเราที่จำนวนของ inodes ฟรีในระบบไฟล์มีน้อย df -i เอาท์พุทแสดงสิ่งนี้: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/xvda1 524288 422613 101675 81% / อย่างที่คุณเห็นพาร์ติชั่นรูทนั้นใช้ไอโหนด 81% ฉันสงสัยว่ามันถูกใช้งานทั้งหมดในไดเรกทอรีเดียว แต่ฉันจะหาที่ที่อยู่ได้อย่างไร
189 filesystems  inode 

5
Superblock, Inode, Dentry และไฟล์คืออะไร?
จากบทความกายวิภาคของระบบไฟล์ลินุกซ์โดยเอ็มทิมโจนส์ผมอ่านที่ลินุกซ์ทุกมุมมองระบบไฟล์จากมุมมองของชุดทั่วไปของวัตถุและวัตถุเหล่านี้เป็นซุปเปอร์บล๊อก , ไอโหนด , Dentryและไฟล์ แม้ว่าส่วนที่เหลือของย่อหน้าจะอธิบายข้างต้น แต่ฉันก็ไม่สบายใจกับคำอธิบายนั้น ใครสามารถอธิบายคำศัพท์เหล่านี้ให้ฉันได้บ้าง

6
ฉันจะเพิ่มจำนวนของ inodes ในระบบไฟล์ ext4 ได้อย่างไร
ฉันมีปัญหา (ใหม่สำหรับฉัน) เมื่อสัปดาห์ที่แล้ว ฉันมีระบบไฟล์ ext4 (Fedora 15) แอปพลิเคชันที่ทำงานบนเซิร์ฟเวอร์หยุดทำงานกะทันหัน ฉันไม่พบปัญหาตั้งแต่แรกพบ dfแสดงพื้นที่ว่าง 50% df -iหลังจากการค้นหาประมาณหนึ่งชั่วโมงผมเห็นโพสต์ฟอรั่มที่คนใช้ ตัวเลือกนี้จะค้นหาการใช้งาน inodes ระบบหมด inodes ปัญหาง่าย ๆ ที่ฉันไม่รู้ พาร์ติชันมี inodes 3.2M เท่านั้น ตอนนี้คำถามของฉันคือ: ฉันสามารถทำให้ระบบมี inodes เพิ่มเติมได้หรือไม่ ควร / สามารถตั้งค่าเมื่อทำการฟอร์แมตดิสก์หรือไม่ ด้วย inode 3.2M ฉันจะได้ไฟล์กี่ไฟล์?

2
รายการไฟล์ทั้งหมดที่มีหมายเลขไอโหนดเดียวกันหรือไม่
ให้บอกว่าเมื่อฉันทำls -liในไดเรกทอรีฉันได้รับนี้ 12353538 -rw-r--r-- 6 me me 1650 2013-01-10 16:33 fun.txt ดังที่แสดงผลไฟล์fun.txtมี6ฮาร์ดลิงก์ และจำนวน inode คือ12353538 ในกรณีนี้ฉันจะหาฮาร์ดลิงก์ทั้งหมดสำหรับไฟล์เช่นไฟล์ที่มีหมายเลขไอโหนดเดียวกันได้อย่างไร
53 ls  inode 

10
ฉันจะนับไฟล์ทั้งหมดซ้ำผ่านไดเรกทอรีได้อย่างไร
ฉันต้องการดูว่ามีกี่ไฟล์ในไดเรกทอรีย่อยเพื่อค้นหาว่าการใช้ inode ทั้งหมดอยู่ในระบบอย่างไร ฉันชอบทำสิ่งนี้เพื่อการใช้พื้นที่ du -sh /* ซึ่งจะทำให้ฉันมีพื้นที่ที่ใช้ในไดเรกทอรีออกจากรูท แต่ในกรณีนี้ฉันต้องการจำนวนไฟล์ไม่ใช่ขนาด

3
ค้นหาไฟล์ที่เป็นของหมายเลข inode ที่ระบุอย่างรวดเร็ว
ฉันรู้ของคำสั่งนี้: find /path/to/mountpoint -inum <inode number> แต่มันเป็นการค้นหาที่ช้ามากฉันรู้สึกว่าต้องมีวิธีที่เร็วกว่าในการทำสิ่งนี้ ไม่มีใครรู้วิธีการที่เร็วขึ้น?
44 files  search  inode 

5
ฉันสามารถใช้พื้นที่ดิสก์หมดได้โดยสร้างไฟล์เปล่าจำนวนมากหรือไม่?
เป็นที่ทราบกันดีว่าไฟล์ข้อความว่างเปล่ามีศูนย์ไบต์: อย่างไรก็ตามแต่ละของพวกเขามีเมตาดาต้าซึ่งตามการวิจัยของฉันถูกเก็บไว้ในinodesและทำพื้นที่การใช้งาน รับนี้ดูเหมือนว่าฉันมีเหตุผลที่เป็นไปได้ที่จะเติมดิสก์โดยการสร้างไฟล์ข้อความที่ว่างเปล่า ถูกต้องหรือไม่ ถ้าเป็นเช่นนั้นฉันจะต้องเติมไฟล์เท็กซ์เปล่ากี่อันลงในดิสก์ของพูด 1GB? ในการตรวจสอบบางอย่างฉันเรียกใช้df -iแต่สิ่งนี้แสดงให้เห็นถึง% ของ inode ที่ใช้ (?) มากกว่าที่จะชั่งน้ำหนัก Filesystem Inodes IUsed IFree IUse% Mounted on udev 947470 556 946914 1% /dev tmpfs 952593 805 951788 1% /run /dev/sda2 28786688 667980 28118708 3% / tmpfs 952593 25 952568 1% /dev/shm tmpfs 952593 5 952588 1% /run/lock …

2
ทำไมไดเร็กตอรี่ / home, / usr, / var, ฯลฯ ล้วนมีหมายเลขไอโหนดเดียวกัน (2)?
ฉันพบว่าภายใต้ไดเรกทอรีรากของฉันมีบางไดเรกทอรีที่มีหมายเลขไอโหนดเดียวกัน: $ ls -aid */ .*/ 2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/ ฉันรู้เพียงว่าชื่อไดเรกทอรีนั้นถูกเก็บไว้ในไดเรกทอรีหลักและข้อมูลของพวกเขาจะถูกเก็บไว้ใน inode ของไดเรกทอรีเอง ฉันสับสนที่นี่ นี่คือสิ่งที่ฉันคิดว่าเมื่อฉันติดตามชื่อพา ธ / home / user1 ก่อนอื่นฉันจะเข้าสู่ inode 2 ซึ่งเป็นไดเรกทอรีรูทซึ่งมีรายการไดเรกทอรี จากนั้นฉันก็พบชื่อบ้านที่จับคู่กับ inode 2 ดังนั้นฉันกลับไปที่ดิสก์เพื่อค้นหา inode 2? และฉันจะได้รับชื่อผู้ใช้ 1 ที่นี่?

2
เหตุใดแพคเกจซอฟต์แวร์จึงทำงานได้ดีแม้ในขณะที่กำลังอัปเกรดอยู่
สมมติว่าฉันกำลังใช้งานซอฟต์แวร์และจากนั้นฉันเรียกใช้ตัวจัดการแพคเกจเพื่ออัปเกรดซอฟต์แวร์ฉันสังเกตเห็นว่า Linux ไม่ลดขั้นตอนการทำงานสำหรับการอัปเกรดแพ็คเกจ - มันยังทำงานได้ดี Linux ทำสิ่งนี้ได้อย่างไร
29 linux  files  inode 

4
สามารถเรียกไฟล์จาก inode ได้หรือไม่?
ฉันรันคำสั่งต่อไปนี้ตามลำดับที่ระบุ: $ln a b $ls -i a b 523669 a 523669 b $rm -f a $ls -i b 523669 b ฉันได้ข้อสรุปจากการทดสอบนี้ว่าคำสั่งrmจริงลบเฉพาะชื่อไฟล์ ( aในการทดสอบนี้) แทนไฟล์เนื่องจาก inode ยังคงอยู่และสามารถดึงผ่านชื่อไฟล์อื่น ( b) คำถามของฉันคือถ้าไฟล์ยากที่จะเชื่อมโยงกับชื่อไฟล์เดียวเมื่อrmถูกดำเนินการกับไฟล์เป็นไฟล์จริง (เช่น inode) ลบออกอย่างสมบูรณ์? และถ้าไม่สามารถเรียกใช้ไฟล์ inode ได้โดยไม่มีชื่อไฟล์และผ่าน inode เท่านั้น
27 rm  hard-link  inode 

2
ฉันจะค้นหาจำนวนไฟล์ในระบบไฟล์ได้อย่างไร?
ฉันต้องการทราบจำนวนไฟล์ที่ฉันมีในระบบไฟล์ของฉัน ฉันรู้ว่าฉันสามารถทำสิ่งนี้: find / -type f | wc -l ดูเหมือนว่าจะไม่มีประสิทธิภาพสูง สิ่งที่ฉันต้องการทำคือค้นหาจำนวน inodes ที่ไม่ซ้ำกันทั้งหมดซึ่งถือเป็น 'ไฟล์' มีวิธีที่ดีกว่า? บันทึก: ฉันต้องการทำเช่นนี้เพราะฉันกำลังพัฒนาโปรแกรมการซิงโครไนซ์ไฟล์และฉันต้องการทำการวิเคราะห์ทางสถิติ (เช่นจำนวนไฟล์ที่ผู้ใช้โดยเฉลี่ยมีทั้งหมดเทียบกับจำนวนไฟล์ที่อยู่ในระบบ) อย่างไรก็ตามฉันไม่จำเป็นต้องรู้อะไรเกี่ยวกับไฟล์เหล่านั้นเพียงแค่มีอยู่ (พา ธ ไม่สำคัญเลย) โดยเฉพาะอย่างยิ่งฉันต้องการทราบข้อมูลนี้สำหรับแต่ละระบบไฟล์ที่ติดตั้ง (และเป็นจุดเชื่อมต่อที่เชื่อมโยงกัน)


3
ทำไมตารางไอโหนดจึงไม่สามารถปรับขนาดได้
ระบบไฟล์ Unix มักจะมีตารางไอโหนดและจำนวนรายการในตารางนี้มักจะได้รับการแก้ไขในเวลาที่ระบบไฟล์ถูกสร้างขึ้น บางครั้งสิ่งนี้นำไปสู่ผู้ที่มีพื้นที่ดิสก์จำนวนมากได้รับข้อความแสดงข้อผิดพลาดที่ทำให้สับสนเกี่ยวกับที่ว่างและแม้กระทั่งหลังจากที่พวกเขาทราบว่าปัญหาคืออะไรไม่มีวิธีแก้ง่ายสำหรับสิ่งที่ต้องทำ แต่ดูเหมือนว่า (สำหรับฉัน) ว่ามันจะเป็นที่พึงปรารถนาอย่างยิ่งที่จะหลีกเลี่ยงความยุ่งเหยิงทั้งหมดนี้ด้วยการจัดสรร inode ตามความต้องการโดยสมบูรณ์โปร่งใสให้กับผู้ใช้และผู้ดูแลระบบ หากคุณเข้าสู่แฮ็คที่น่ารักคุณสามารถทำให้ตารางไอโหนดนั้นเป็นไฟล์ได้และใช้รหัสที่คุณมีอยู่แล้วเพื่อหาพื้นที่ว่างบนดิสก์ หากคุณโชคดีคุณอาจท้ายด้วย inodes ซึ่งอยู่ใกล้กับไฟล์โดยไม่ต้องพยายามให้ได้ผลลัพธ์นี้ แต่ไม่มีใคร (ที่ฉันรู้) ทำสิ่งนี้จริง ๆ ดังนั้นอาจมีการจับที่ฉันหายไป มีความคิดอะไรที่อาจเป็น?

2
วิธีสร้างฮาร์ดลิงก์ไปยัง inode (ext4)
ถ้าฉันรู้ว่าโหนดดัชนี (inode) ของไฟล์ แต่ฉันไม่รู้เส้นทางของมัน (หรือเส้นทางใด ๆ ) มันเป็นไปได้ไหมที่จะสร้างฮาร์ดลิงก์ไปยัง inode นั้นโดยตรง ฉันพบไฟล์ที่ใช้sudo find / -inum 123546แล้วสร้างฮาร์ดลิงก์ แต่มันจะช้าเกินไปสำหรับแอปพลิเคชันของฉัน NB ฉันใช้ระบบไฟล์ ext4
17 inode  hard-link 

3
inode ของเด็กกำพร้าคืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันเข้าใจว่า inode คืออะไร แต่คำจำกัดความที่แน่นอนของ inode ที่กำพร้าคืออะไร? ฉันไม่ได้รับความหมายที่แท้จริง UPDATE มีเวลาที่เซิร์ฟเวอร์ที่ฉันจัดการหมด inodes แต่เมื่อฉันจะทำ df -h มันแสดงให้ฉันเห็นว่าเซิร์ฟเวอร์มีพื้นที่ว่างเพียง 60% เท่านั้น ฉันเดาว่านี่เป็นเพราะ inodes เด็กกำพร้า inodes ทั้งหมดจะถูกใช้ไปได้อย่างไร แต่ยังมี "พื้นที่" เหลืออยู่บนเซิร์ฟเวอร์? คุณตอบคำถามนี้ได้ไหม?

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