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

คำถามเหล่านี้เกี่ยวกับ Linux โดยทั่วไป - ไม่เฉพาะเจาะจงสำหรับการแจกจ่ายเฉพาะ หากคำถามเกิดขึ้นในสภาวะแวดล้อม Linux โปรดระบุการกระจาย Linux ของคุณในเนื้อความของคำถามของคุณ แต่อย่าใช้แท็ก / linux

5
init ทำอะไรได้บ้าง?
ฉันกำลังสร้างลินุกซ์ distro และตอนนี้ฉันต้องการโปรแกรมเริ่มต้น ฉันสามารถเขียนโค้ดใน c ได้ดีมากและฉันรู้ค่อนข้างน้อยเกี่ยวกับ linux (ไม่มาก แต่ฉันใช้ arch linux สำหรับการพัฒนาเป็นเวลา 4 ปี) ดังนั้นฉันคิดว่าฉันควรลองเขียนสคริปต์ init พื้นฐานของฉันเองใน C ฉัน แค่สงสัยว่างานเริ่มต้นทำอะไรเพื่อตั้งค่าระบบสำหรับเชลล์แบบง่าย? (เมื่อฉันถามว่า "init ทำอะไรได้บ้าง" ฉันรู้ว่า init คืออะไรและใช้ทำอะไรฉันไม่ทราบว่าจะทำงานอะไร) ฉันไม่จำเป็นต้องรหัสและฉันอาจไม่จำเป็นต้องมีแม้แต่คำสั่งพื้นฐาน แต่ฉันไม่ต้องการเพื่อที่พวกเขาจะทำงานใน
43 linux  startup  init 

10
ตรวจสอบว่าโฟลเดอร์เป็นระบบไฟล์รีโมตที่เมาท์หรือไม่
เป็นวิธีที่ดีที่สุด (เชื่อถือได้พกพา ฯลฯ ) เพื่อตรวจสอบว่าโฟลเดอร์ที่กำหนดอยู่ในระบบไฟล์ระยะไกลติดตั้ง (NFS) ภายในเปลือกสคริปต์คืออะไร? ฉันกำลังมองหาคำสั่งที่จะมีลักษณะ: chk-remote-mountpoint /my/path/to/folder

10
การค้นหาไฟล์ที่ใช้พื้นที่ดิสก์มากที่สุด
เป็นไปได้หรือไม่ที่จะแสดงรายการไฟล์ที่ใหญ่ที่สุดในฮาร์ดไดรฟ์ของฉัน ฉันใช้df -Hเพื่อแสดงการใช้งานดิสก์ของฉันบ่อยครั้งแต่นี่จะให้เปอร์เซ็นต์เต็ม, เหลือ GB เท่านั้นและอื่น ๆ ฉันทำการคำนวณข้อมูลจำนวนมากด้วยไฟล์ขนาดเล็กจำนวนมากและไฟล์ขนาดเล็กมากจำนวนมาก เนื่องจากพื้นที่ดิสก์ส่วนใหญ่ที่ฉันใช้อยู่มีจำนวนไฟล์น้อยมากจึงเป็นเรื่องยากที่จะติดตามว่าไฟล์ขนาดใหญ่เหล่านี้อยู่ที่ไหน การลบไฟล์ 1 kB ไม่มีพื้นที่ว่างมากนัก แต่การลบไฟล์มีขนาด 100 GB มีวิธีใดบ้างในการจัดเรียงไฟล์บนฮาร์ดไดรฟ์ตามขนาดไฟล์ ขอบคุณ
43 linux  ubuntu  df 

2
linux + g ++: ไม่พบคำสั่ง
gettext-0.19.1.tar.xzฉันต้องการที่จะติดตั้งบนเครื่องสีแดงหมวกของฉันลินุกซ์ ครั้งแรกฉันทำต่อไปนี้ cd gettext-0.19.1 ./configure make ระหว่างmakeนั้นก็ล้มเหลวg++: command not found libtool: compile: g++ -DIN_LIBASPRINTF -DHAVE_CONFIG_H -I. -c autosprintf.cc - o .libs/autosprintf.o ./libtool: line 1128: g++: command not found make[5]: *** [autosprintf.lo] Error 1 make[5]: Leaving directory `/var/tmp/gettext-0.19.1/gettext-runtime/libasprintf' make[4]: *** [all] Error 2 make[4]: Leaving directory `/var/tmp/gettext-0.19.1/gettext-runtime/libasprintf' make[3]: *** [all-recursive] Error …
43 linux  g++ 

4
ขนาดหน้าถูกกำหนดในพื้นที่ที่อยู่เสมือนอย่างไร
Linux ใช้ระบบหน่วยความจำเสมือนที่อยู่ทั้งหมดเป็นที่อยู่เสมือนไม่ใช่ที่อยู่จริง ที่อยู่เสมือนเหล่านี้จะถูกแปลงเป็นที่อยู่จริงโดยโปรเซสเซอร์ เพื่อให้การแปลนี้ง่ายขึ้นหน่วยความจำเสมือนและกายภาพจะถูกแบ่งออกเป็นหน้า ๆ แต่ละหน้าเหล่านี้จะได้รับหมายเลขที่ไม่ซ้ำกัน; หมายเลขเฟรมหน้า ขนาดหน้าบางขนาดอาจเป็น 2 KB, 4 KB เป็นต้น แต่จะมีการกำหนดหมายเลขขนาดหน้านี้อย่างไร มันได้รับอิทธิพลจากขนาดของสถาปัตยกรรมหรือไม่? ตัวอย่างเช่นบัส 32 บิตจะมีพื้นที่ที่อยู่ 4 GB

4
เหตุใดลีนุกซ์จึงนิยมใช้เป็นระบบปฏิบัติการสำหรับซุปเปอร์คอมพิวเตอร์?
ตั้งแต่เดือนพฤศจิกายน 2010, Linux ใช้งานบน 459 จาก 500 ซูเปอร์คอมพิวเตอร์ของ TOP500 อ้างถึงตารางผ่านทางอินเทอร์เน็ตเอกสารเก่า อะไรคือเหตุผลเบื้องหลังการใช้งานลีนุกซ์ขนาดใหญ่ในพื้นที่ซุปเปอร์คอมพิวเตอร์?

5
วิธีการผูกอุปกรณ์ USB ในชื่อคงที่?
ฉันมี Arduino ซึ่งบางครั้งก็ถูกผูกมัด/dev/ttyUSB0และบางครั้ง/dev/ttyUSB1ทำให้สคริปต์ของฉันล้มเหลว ฉันไม่ต้องการให้ระบุเป็นไปได้ทั้งหมดของการที่อุปกรณ์ของฉันอาจจะมี /dev/arduinoแต่ฉันอยากจะมีมันจะผูกพันแบบคงที่บางแห่งเช่น ฉันจะบรรลุสิ่งนั้นได้อย่างไร

4
ระบบไฟล์ Linux ประสิทธิภาพสูงที่สุดสำหรับการจัดเก็บไฟล์ขนาดเล็กจำนวนมาก (HDD ไม่ใช่ SSD) คืออะไร
ฉันมีแผนผังไดเรกทอรีที่มีไฟล์ขนาดเล็กจำนวนมากและไฟล์ขนาดใหญ่จำนวนเล็กน้อย ขนาดเฉลี่ยของไฟล์ประมาณ 1 กิโลไบต์ มีไฟล์ 210158 และไดเรกทอรีในต้นไม้ (จำนวนนี้ได้รับจากการทำงานfind | wc -l) ไฟล์จำนวนเล็กน้อยได้รับการเพิ่ม / ลบ / เขียนใหม่หลายครั้งต่อสัปดาห์ สิ่งนี้ใช้กับไฟล์ขนาดเล็กเช่นเดียวกับไฟล์ที่มีขนาดใหญ่ขึ้น ระบบไฟล์ที่ฉันลอง (ext4, btrfs) มีปัญหากับการวางตำแหน่งไฟล์บนดิสก์ เมื่อเวลาผ่านไปนานกว่าตำแหน่งทางกายภาพของไฟล์บนดิสก์ (สื่อที่หมุนไม่ได้เป็นดิสก์สถานะของแข็ง) มีการกระจายแบบสุ่มมากขึ้น ผลกระทบเชิงลบของการกระจายแบบสุ่มนี้คือระบบไฟล์เริ่มช้าลง (เช่น: ช้ากว่าระบบไฟล์ใหม่ถึง 4 เท่า) มีระบบไฟล์ Linux (หรือวิธีการบำรุงรักษาระบบไฟล์) ที่ไม่ได้รับผลกระทบจากการลดลงของประสิทธิภาพนี้และสามารถรักษาโปรไฟล์ประสิทธิภาพที่มั่นคงบนสื่อที่หมุนได้หรือไม่? ระบบไฟล์อาจทำงานบน Fuse แต่จำเป็นต้องเชื่อถือได้

4
วิธีอ่านตัวแปรสภาวะแวดล้อมของกระบวนการ
ลินุกซ์/proc/<pid>/environไม่อัปเดต (ตามที่ฉันเข้าใจว่าไฟล์มีสภาพแวดล้อมเริ่มต้นของกระบวนการ) ฉันจะอ่านสภาพแวดล้อมปัจจุบันของกระบวนการได้อย่างไร

2
ดีบักหน่วยความจำไม่เพียงพอด้วย / var / log / messages
รายงานต่อไปนี้จะถูกโยนลงในบันทึกข้อความของฉัน: kernel: Out of memory: Kill process 9163 (mysqld) score 511 or sacrifice child kernel: Killed process 9163, UID 27, (mysqld) total-vm:2457368kB, anon-rss:816780kB, file-rss:4kB ไม่สำคัญว่าถ้าปัญหานี้คือสำหรับhttpd, mysqldหรือpostfixแต่ผมอยากรู้ว่าฉันสามารถดำเนินการต่อการแก้จุดบกพร่องปัญหา ฉันจะรับข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุที่ทำให้ PID 9163 ถูกฆ่าได้อย่างไรและฉันไม่แน่ใจว่า linux เก็บประวัติของ PID ที่ถูกยกเลิกที่ไหนสักแห่งหรือไม่ หากสิ่งนี้เกิดขึ้นในไฟล์บันทึกข้อความของคุณคุณจะแก้ไขปัญหานี้ทีละขั้นตอนได้อย่างไร # free -m total used free shared buffers cached Mem: 1655 934 721 0 10 …

6
รันคำสั่งเฉพาะในไดเรกทอรีที่กำหนดโดยไม่ต้อง cd'ing หรือไม่
มีวิธีดำเนินการคำสั่งในไดเรกทอรีอื่นโดยไม่ต้องไปcdหรือไม่ ฉันรู้ว่าฉันสามารถcdเข้าcdออกได้ง่าย ๆ แต่ฉันแค่สนใจในความเป็นไปได้ที่จะเดินตามขั้นตอนพิเศษ :)
42 linux  bash  cd-command 

1
ConsoleKit และ PolicyKit คืออะไร พวกเขาทำงานอย่างไร
ฉันเห็นว่า GNU / Linux ล่าสุดใช้ ConsoleKit และ PolicyKit สิ่งที่พวกเขาสำหรับ? พวกเขาทำงานอย่างไร คำตอบที่ดีที่สุดควรอธิบายว่าแต่ละปัญหาพยายามแก้ปัญหาอย่างไรและพวกเขาจัดการเพื่อแก้ปัญหาอย่างไร ฉันเป็นผู้ใช้ GNU / Linux มาเป็นเวลานานจากสิ่งที่ไม่มีอยู่จริง ฉันใช้ Slackware และ Gentoo เร็ว ๆ นี้ ฉันเป็นผู้ใช้ขั้นสูง / ผู้ดูแลระบบ / นักพัฒนาดังนั้นคำตอบสามารถ (และควร!) มีรายละเอียดและแม่นยำที่สุดเท่าที่จะทำได้ ฉันต้องการเข้าใจว่าสิ่งเหล่านี้ทำงานอย่างไรฉันจึงสามารถใช้พวกเขา (ในฐานะผู้ใช้หรือในฐานะนักพัฒนา) วิธีที่ดีที่สุด

4
ความแตกต่างระหว่าง / tmp และ / run คืออะไร
ตามที่FHS-3.0 , /tmpเป็นไฟล์ชั่วคราวและ/runสำหรับข้อมูลตัวแปรเวลาทำงาน ข้อมูล/runจะต้องลบที่บูตต่อไปซึ่งไม่จำเป็นสำหรับการ/tmpแต่ยังคงโปรแกรมจะต้องไม่คิดว่าข้อมูลใน/tmpจะสามารถใช้ได้ในช่วงเริ่มต้นโปรแกรมถัดไป ทั้งหมดนี้ดูเหมือนจะค่อนข้างคล้ายกับฉัน ดังนั้นความแตกต่างระหว่างสองคืออะไร เกณฑ์ใดที่โปรแกรมควรตัดสินใจว่าจะนำข้อมูลชั่วคราวไปไว้ใน/tmpหรือ/runไม่ ตามที่ FHS: โปรแกรมอาจมีไดเรกทอรีย่อยของ/run; สิ่งนี้ได้รับการสนับสนุนสำหรับโปรแกรมที่ใช้มากกว่าหนึ่งไฟล์รันไทม์ สิ่งนี้บ่งชี้ว่าความแตกต่างระหว่าง "โปรแกรมระบบ" และ "โปรแกรมทั่วไป" ไม่ใช่เงื่อนไขและไม่ใช่อายุการใช้งานของโปรแกรม (เช่นกระบวนการที่ใช้เวลานานและระยะสั้น) แม้ว่าจะไม่ได้ให้เหตุผลต่อไปนี้ใน FHS แต่/runก็ยังได้รับการแนะนำให้รู้จักกับปัญหาที่/varติดตั้งสายเกินไปดังนั้นจึงจำเป็นต้องมีลูกเล่นสกปรกเพื่อให้/var/runมีเร็วพอ แต่ตอนนี้มี/runการแนะนำและให้คำอธิบายใน FHS มีดูเหมือนจะไม่เป็นเหตุผลที่ชัดเจนที่จะมีทั้งและ/run/tmp
42 linux  files  filesystems  fhs 

1
Makefile นี้ทำให้โปรแกรม C โดยไม่ต้องระบุคอมไพเลอร์ได้อย่างไร
ผมก็ใช้ Makefile จากหนังสือ " การเขียนโปรแกรมขั้นสูงลินุกซ์ (2001)" [code] มันแปลกสำหรับฉันที่เห็นว่าGNU make ทำการคอมไพล์โค้ดอย่างถูกต้องโดยไม่ต้องระบุคอมไพเลอร์ใน Makefile มันเหมือนการอบไม่มีสูตรใด ๆ ! นี่เป็นรหัสขั้นต่ำ: test.c int main(){} Makefile all: test และทำให้ได้ผลจริง ๆ ! นี่คือคำสั่งที่รัน: cc test.c -o test ฉันไม่พบสิ่งที่มีประโยชน์ในเอกสาร เป็นไปได้อย่างไร? PS หมายเหตุเพิ่มเติมหนึ่ง: แม้ภาษาจะไม่ได้ระบุ; เพราะtest.cใช้ได้ GNU ใช้make ccหากมีอยู่test.cppหรือtest.cc(เมื่อไม่มีtest.c) ก็ใช้g++(และไม่c++)
41 linux  make  gcc  gnu-make 


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