คำถามติดแท็ก linux-kernel

คำถามเกี่ยวกับ Linux kernel และ Linux kernel หัวข้อที่เกี่ยวข้องเช่น รายละเอียดการนำไปใช้เช่นการเรียกใช้ระบบการปรับแต่งเคอร์เนล ฯลฯ สำหรับหัวข้อพื้นที่ผู้ใช้ Linux ซึ่งไม่เกี่ยวข้องกับรายละเอียดเคอร์เนล [linux] หรือแท็กการกระจายจะเหมาะสมกว่า

7
เหตุใดการเมานท์จึงต้องใช้สิทธิ์รูท
เหตุใดลีนุกซ์จึงต้องการให้ผู้ใช้รูท / ใช้ sudo / ได้รับอนุญาตเฉพาะต่อการเมาต์ ดูเหมือนว่าการตัดสินใจว่าจะอนุญาตให้ผู้ใช้เมานต์สิ่งที่ควรจะขึ้นอยู่กับสิทธิการเข้าถึงของพวกเขาเพื่อแบ่งปันปริมาณ / เครือข่ายแหล่งที่มาและไปยังจุดเชื่อมต่อ การใช้งานสองสามอย่างสำหรับการติดตั้งที่ไม่ใช่รูทคือการติดตั้งอิมเมจระบบไฟล์ไปยังทิศทางที่ผู้ใช้เป็นเจ้าของและการติดตั้งแชร์เครือข่ายไปยังไดเรกทอรีที่ผู้ใช้เป็นเจ้าของ ดูเหมือนว่าหากผู้ใช้สามารถควบคุมสมการทั้งสองด้านได้ทุกอย่างน่าจะดี ชี้แจงข้อ จำกัด การเข้าถึง: ฉันรู้สึกว่าฉันควรจะสามารถเมานต์อะไรก็ได้ที่ผู้ใช้จะเข้าถึงจุดเชื่อมต่อที่ผู้ใช้เป็นเจ้าของ ยกตัวอย่างเช่นในคอมพิวเตอร์ของฉัน / dev / sda1 brw-rw----เป็นเจ้าของโดยรากของผู้ใช้และกลุ่มดิสก์ที่มีสิทธิ์ ดังนั้นผู้ใช้ที่ไม่ใช่รูทจะไม่สามารถยุ่งกับ / dev / sda1 และการเมาท์ไม่ควรอนุญาตให้เมานต์ อย่างไรก็ตามหากผู้ใช้เป็นเจ้าของ /home/my_user/my_imagefile.img และจุดเชื่อมต่อ / home / my_user / my_image / เหตุใดพวกเขาจึงไม่สามารถเมานท์ไฟล์ภาพนั้นบนจุดเมานต์นั้น: mount /home/my_user/my_imagefile.img /home/my_user/my_image/ -o loop ขณะที่คอร์แม็คชี้ให้เห็นว่ามีปัญหาเรื่องการฆ่าตัวตาย ดังนั้นจะต้องมีการเพิ่มข้อ จำกัด บางอย่างเพื่อป้องกันไม่ให้ suid เป็นปัญหารวมถึงปัญหาอื่น ๆ …

3
บน Linux เมื่อใด““ สถานะการออนไลน์” เริ่มนับเมื่อไร
คอมพิวเตอร์ของฉันพูดว่า: $ uptime 10:20:35 up 1:46, 3 users, load average: 0,03, 0,10, 0,13 และถ้าฉันตรวจสอบlastฉันเห็น: reboot system boot 3.19.0-51-generi Tue Apr 12 08:34 - 10:20 (01:45) แล้วฉันจะตรวจสอบ: $ ls -l /var/log/boot.log -rw-r--r-- 1 root root 4734 Apr 12 08:34 boot.log จากนั้นฉันเห็นใน/var/log/syslogบรรทัดแรกของวันนี้เป็น: Apr 12 08:34:39 PC... rsyslogd: [origin software="rsyslogd" swVersion="7.4.4" x-pid="820" x-info="http://www.rsyslog.com"] …

3
เคอร์เนลมีฟังก์ชั่น main () หรือไม่? [ปิด]
ฉันกำลังเรียนรู้ไดรเวอร์อุปกรณ์และการเขียนโปรแกรมเคอร์เนล ตามหนังสือของ Jonathan Corbet ไม่มีmain()ฟังก์ชั่นในไดรเวอร์อุปกรณ์ ดังนั้นฉันสองคำถาม: ทำไมเราไม่ต้องการmain()ฟังก์ชั่นในไดรเวอร์อุปกรณ์? เคอร์เนลมีmain()ฟังก์ชั่นหรือไม่? มีคนอธิบายเรื่องนี้กับฉันได้ไหม

7
เคอร์เนล Linux: การสอนที่ดีสำหรับผู้เริ่มต้น [ปิด]
ฉันสนใจที่จะแก้ไขเคอร์เนลภายในใช้แพตช์จัดการไดรเวอร์อุปกรณ์และโมดูลเพื่อความสนุกส่วนตัวของฉันเอง มีทรัพยากรที่ครอบคลุมสำหรับการแฮ็กเคอร์เนลสำหรับโปรแกรมเมอร์ที่มีประสบการณ์หรือไม่?

7
เป็นไปได้หรือไม่ที่จะติดตั้งเคอร์เนล Linux เพียงอย่างเดียว?
ฉันแค่อยากรู้ว่าเป็นไปได้หรือไม่ที่จะติดตั้งเคอร์เนล Linux เพียงอย่างเดียวหรือถ้าคุณต้องการใช้รสชาติอย่างใดอย่างหนึ่ง ถ้าเป็นไปได้คุณจะทำอย่างไร ฉันไม่ต้องการรายละเอียดการสอน ฉันแค่อยากรู้ว่ามันจะต้องทำอย่างไรในแนวคิด ฉันไม่ค่อยเก่งกับเรื่องระดับต่ำและอยากรู้ว่าคุณจะนำระบบปฏิบัติการไปใช้ในคอมพิวเตอร์ได้อย่างไร ฉันคิดว่ามันมีบางอย่างเกี่ยวข้องกับ MBR โอ้และฉันสังเกตเห็นว่าคำตอบจำนวนมากแนะนำให้ใช้การกระจายบางอย่างของลีนุกซ์ขั้นต่ำบางตัว ฉันควรจะระบุว่าฉันไม่ต้องการติดตั้ง Linux หรือกระดูกเปล่า คำถามนี้เป็นทฤษฎีอย่างหมดจด ถึงกระนั้นฉันก็ขอบคุณคำตอบทั้งหมดและจะอ้างถึงพวกเขาทันทีหากฉันต้องการติดตั้ง Linux ในแบบของคุณอย่างแท้จริง

8
ps สามารถแสดงกระบวนการที่ไม่ใช่เคอร์เนลบน Linux ได้หรือไม่
ฉันpsจะขอให้แสดงเฉพาะกระบวนการของผู้ใช้และไม่ใช่เคอร์เนลเธรดได้อย่างไร ดูคำถามนี้เพื่อดูว่าฉันหมายถึงอะไร ...

3
ทำไมมีนโยบายเคอร์เนลของ Linux ที่จะไม่ทำลายพื้นที่ผู้ใช้?
ฉันเริ่มคิดถึงปัญหานี้ในบริบทของมารยาทในลิสต์การส่งเมลเคอร์เนล ในฐานะที่เป็นโครงการซอฟท์แวร์ฟรีที่เป็นที่รู้จักและประสบความสำเร็จมากที่สุดในโลกลินุกซ์เคอร์เนลจึงได้รับความนิยม และผู้ก่อตั้งและผู้นำโครงการ Linus Torvalds ไม่ต้องการคำแนะนำที่นี่อย่างชัดเจน ไลนัสดึงดูดความขัดแย้งกับเปลวไฟบน LKML เป็นครั้งคราว เปลวไฟเหล่านี้เกิดขึ้นบ่อยครั้งโดยการยอมรับของเขาเองที่เกี่ยวข้องกับการแบ่งพื้นที่ผู้ใช้ ซึ่งนำมาสู่คำถามของฉัน ฉันสามารถมีมุมมองทางประวัติศาสตร์เกี่ยวกับสาเหตุที่ทำให้การแบ่งพื้นที่ผู้ใช้เป็นเรื่องเลวร้ายได้หรือไม่ ตามที่ฉันเข้าใจแล้วการแบ่งพื้นที่ของผู้ใช้จะต้องมีการแก้ไขในระดับแอปพลิเคชัน แต่นี่เป็นสิ่งที่ไม่ดีถ้ามันปรับปรุงรหัสเคอร์เนล ตามที่ฉันเข้าใจแล้วนโยบายที่ระบุไว้ของ Linus คือการไม่ทำลายพื้นที่ของผู้ใช้ทำให้สำคัญกว่าทุกอย่างรวมถึงคุณภาพของรหัส เหตุใดสิ่งนี้จึงสำคัญและข้อดีและข้อเสียของนโยบายดังกล่าวคืออะไร (เห็นได้ชัดว่ามีข้อเสียบางประการเกี่ยวกับนโยบายดังกล่าวซึ่งมีการนำมาใช้อย่างสม่ำเสมอเนื่องจากบางครั้งไลนัสมี "ความไม่เห็นด้วย" กับผู้แทนระดับสูงของ LKML ในหัวข้อนี้อย่างแน่นอนเท่าที่ฉันสามารถบอกได้

1
การกำหนดค่าการรวบรวมและการติดตั้งเคอร์เนล Linux ที่กำหนดเอง
ฉันต้องการลองใช้เคอร์เนลที่นอกเหนือจากที่ distro ของฉันจัดหาให้ไม่ว่าจะจากที่อื่นหรือปรับแต่งตามความต้องการของฉัน มันยากหรืออันตรายไหม ฉันจะเริ่มที่ไหน


1
การตั้งค่าตัวควบคุม CPU ตามความต้องการหรือแบบอนุรักษ์นิยม
ฉันกำลังดิ้นรนกับcpupowerArchLinux ฉันต้องการชุดว่าราชการจังหวัดไปหรือแม้กระทั่งการondemandconservative ครั้งแรกถ้าผมทำผมจะได้รับ$ sudo cpupower frequency-info --governorsperformance powersave ดังนั้นฉันจึงมองหาโมดูลที่มีอยู่เช่นนี้ ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/ ... และฉันได้รับ acpi-cpufreq.ko.gz amd_freq_sensitivity.ko.gz cpufreq_conservative.ko.gz cpufreq_powersave.ko.gz cpufreq_stats.ko.gz cpufreq_userspace.ko.gz p4-clockmod.ko.gz pcc-cpufreq.ko.gz powernow-k8.ko.gz speedstep-lib.ko.gz ดังนั้นก่อนอื่นไม่มีโมดูลสำหรับ "ondemand" ดูเหมือนจะพร้อมใช้งาน ฉันคิดถึงอะไร จากนั้นฉันพยายามเปิดใช้งานอย่างน้อยอนุรักษ์นิยม: $ sudo modprobe cpufreq_conservative จากนั้นฉันตรวจสอบโมดูลที่โหลดจริง $ lsmod | grep cpufreq และตรวจสอบว่าใช้ได้หรือไม่ $ sudo cpupower frequency-info --governors แต่น่าเสียดายที่ฉันยังคงเหมือนเดิม: performance powersaveเท่านั้นและถ้าฉันพยายามเปิดใช้งานการอนุรักษ์ $ …

2
เหตุใดการปิดเครื่องของฉันหลังจากที่ `` RM 'ไม่ดีบันทึกไฟล์ของฉัน
สถานการณ์แบบคลาสสิก: ฉันวิ่งได้ไม่ดีrmและรับรู้ได้ทันทีหลังจากนั้นฉันก็ลบไฟล์ผิด (ไม่มีอะไรสำคัญและฉันมีการสำรองข้อมูลล่าสุดอย่างอดทน แต่ก็น่ารำคาญ) รู้ว่ากิจกรรมของดิสก์ต่อไปเป็นศัตรูของฉันถ้าฉันต้องการกู้คืนไฟล์ด้วยextundeleteหรือเครื่องมือดังกล่าวฉันก็ขับเคลื่อนเครื่องลงทางกายภาพทันที (เช่นด้วยปุ่มเปิดปิดไม่ใช่ด้วยhaltหรือคำสั่งใด ๆ ) นี่เป็นแล็ปท็อปที่ไม่มีงานสำคัญที่ทำงานอยู่หรือมีอะไรเปิดอยู่ดังนั้นจึงเป็นการทำงานที่ยอมรับได้ (โดยวิธีการที่ฉันได้เรียนรู้ตั้งแต่นั้นมาสิ่งแรกที่ต้องทำในสถานการณ์ดังกล่าวจะประเมินก่อนหากไฟล์ที่หายไปอาจจะยังคงเปิดโดยกระบวนการhttps://unix.stackexchange.com/a/101247 - หากเป็นเช่นนั้นคุณควรกู้คืนด้วยวิธีนี้แทนที่จะปิดเครื่อง) ถึงกระนั้นเมื่อเครื่องถูกปิดฉันคิดว่าในขณะที่และตัดสินใจว่าไฟล์ไม่คุ้มค่ากับการลงทุนในการบูทระบบสดเพื่อการพิสูจน์หลักฐานที่เหมาะสม ดังนั้นฉันจึงขับเคลื่อนเครื่องสำรอง แล้วฉันก็ค้นพบว่าไฟล์ของฉันยังคงนั่งอยู่บนดิสก์: สิ่งที่rmไม่ได้แพร่กระจายไปยังดิสก์ก่อนที่ฉันจะปิดตัวลง ฉันเต้นเล็กน้อยและขอบคุณพระเจ้าแห่งดูแลระบบสำหรับการให้อภัยที่ไม่คาดคิดของเขา คำถามของฉันคือตอนนี้เพื่อทำความเข้าใจว่ามันเป็นไปได้อย่างไรและอะไรคือความล่าช้าทั่วไปก่อนที่rmจะแพร่กระจายสู่ดิสก์ ฉันรู้ว่าดิสก์ IO ไม่ได้ถูกลบทิ้งทันที แต่มันอยู่ในหน่วยความจำระยะหนึ่ง แต่ฉันคิดว่าดิสก์เจอร์นัลจะทำให้แน่ใจได้อย่างรวดเร็วว่าการดำเนินการที่ค้างอยู่จะไม่สูญหายทั้งหมด https://unix.stackexchange.com/a/78766ดูเหมือนจะบอกกล่าวกับกลไกแยกต่างหากเพื่อล้างหน้าสกปรกและเพื่อล้างการดำเนินการของวารสาร แต่ไม่ได้ให้รายละเอียดที่เพียงพอเกี่ยวกับวิธีที่วารสารจะเกี่ยวข้องกับrmและความล่าช้าที่คาดไว้ก่อนหน้า การดำเนินการจะถูกล้างออก รายละเอียดเพิ่มเติม: ข้อมูลอยู่ในพาร์ติชัน ext4 ภายในโวลุ่ม LUKS และเมื่อบูตเครื่องสำรองข้อมูลฉันเห็นสิ่งต่อไปนี้ในsyslog: Sep 24 10:24:58 gamma kernel: [ 11.457007] EXT4-fs (dm-0): 1 orphan inode deleted Sep 24 10:24:58 gamma kernel: …

5
FIFO, pipe & Unix socket socket เป็นสิ่งเดียวกันใน Linux kernel หรือไม่?
ฉันได้ยินมาว่า FIFO มีชื่อว่าไพพ์ และพวกเขามีความหมายเดียวกัน ในทางกลับกันฉันคิดว่าซ็อกเก็ตโดเมน Unix ค่อนข้างคล้ายกับไพพ์ (แม้ว่าฉันจะไม่เคยใช้มัน) ดังนั้นฉันสงสัยว่าพวกเขาทั้งหมดอ้างถึงการใช้งานเดียวกันในเคอร์เนล Linux ความคิดใด ๆ

2
เมื่อใดที่ฉันต้องระบุ add_efi_memmap เป็นอาร์กิวเมนต์เคอร์เนลในการบูต UEFI / EFI
ฉันอ่านบทเรียนบางส่วนเกี่ยวกับวิธีการ EFI stub (efistub) โหลดเคอร์เนลลินุกซ์ add_efi_memmapคำแนะนำเหล่านี้มักจะใช้เคอร์เนลบูตพารามิเตอร์ ฮาร์ดแวร์ที่ต้องการคือ Intel x64 มี RAM 8GB การตั้งค่าปัจจุบันของฉันกำลังใช้grub-efibootloader และเคอร์เนล v3.13 ด้วงบูตโดยไม่ต้องadd_efi_memmapอาร์กิวเมนต์บูต: 23เส้น BIOS-e820 นับด้วยdmesg | grep BIOS-e820: | wc -l 243เส้นหน่วยความจำ EFI นับด้วยdmesg | grep efi:\ mem | wc -l เขต DMA: 24หน้าที่สงวนไว้ หน่วยความจำ: 7840568K / 8283384K ใช้ได้ ลิขสิทธิ์ 442816K การบูตด้วย GRUBadd_efi_memmapและขนาดแผนที่หน่วยความจำ EFI นั้นแตกต่างกัน: 23 …

2
ip vs ifconfig สั่งข้อดีและข้อเสีย
ในบางจุดในสื่อการสอน (จาก Linux Foundation) บน Linux ที่ฉันเจอมีการกล่าวถึงสิ่งต่อไปนี้: ipคำสั่งมีความหลากหลายและมีประสิทธิภาพมากกว่าifconfigเพราะมันใช้ซ็อกเก็ตnetlinkมากกว่าการเรียกระบบioctl ใครสามารถอธิบายรายละเอียดเล็กน้อยเกี่ยวกับเรื่องนี้เพราะฉันไม่เข้าใจว่าเกิดอะไรขึ้นภายใต้ประทุน? ป.ล. ฉันทราบเกี่ยวกับหัวข้อนี้ในเครื่องมือเหล่านั้น แต่ไม่ได้ระบุความแตกต่างเฉพาะนี้เกี่ยวกับวิธีการใช้งาน

2
การปิดระบบของเคอร์เนล linux ทำงานอย่างไรภายใน
ฉันมีความคิดคร่าวๆเกี่ยวกับวิธีที่ userspace และ init-system (ไม่ว่าจะเป็น sysV / upstart / systemd แบบคลาสสิค) ทำงานเมื่อปิดระบบ (ที่สำคัญคือมีการสืบทอดคำสั่ง "หยุด!", "กรุณาหยุดตอนนี้จริงๆ", "กระบวนการที่ฉันต้องฆ่าคุณเพื่อหยุด" และรอ ... สิ่งที่เกิดขึ้น) ฉันไม่ทราบว่าการปิดระบบทำงานอย่างไรในเคอร์เนล (ซึ่งแน่นอนว่ายังมีสิ่งที่ต้องทำอีกมากมาย) ฉันพยายามตรวจสอบเอกสารเกี่ยวกับเคอร์เนลhttps://www.kernel.org/doc/htmldocs/และใช้เครื่องมือค้นหาเพื่อนของ NSAเพื่อให้ฉันได้เริ่มต้นค้นหาวิธีการทำงาน ฉันค้นหาด้วย SE U + L และไม่พบสิ่งใด (ฉันมองข้ามไปหรือไม่) อย่างไรก็ตามคำถามอาจมีความท้าทายอยู่บ้าง แต่จะได้รับคำตอบในเครือข่ายคำถาม & คำตอบนี้เนื่องจากฉันคิดว่าผู้คนจำนวนมากสนใจที่จะร่างภาพสิ่งที่เกิดขึ้นในเคอร์เนลลินุกซ์เมื่อปิดเครื่อง อาจมีการเปลี่ยนแปลงเพื่อเชื่อมโยงไปยังคำอธิบายรายละเอียดเพิ่มเติม คำตอบอาจรวมถึงการที่ระบบเรียกและสัญญาณ kernal ใดบ้าง? https://github.com/torvalds/linux/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/arch/x86/kernel/reboot.c น่าจะเป็นไฟล์ x86 ที่เกี่ยวข้องกับการรีบูต (แล้วปิดการปิดระบบใช่มั้ย) อาจพบข้อมูลโค้ดได้ที่นี่http://lxr.free-electrons.com/source/kernel/reboot.c#L176 สามารถใช้เพื่ออธิบาย 176 โมฆะ kernel_power_off (เป็นโมฆะ) 177 …

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