Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

1
เหตุใด OOM-Killer จึงไม่สามารถฆ่ากระบวนการที่ขอมากเกินไปได้
มีการอธิบายที่นี่ว่า OOM-Killer สามารถกำหนดค่าผ่านทางovercommit_memoryและ: 2 = ไม่มี overcommit การจัดสรรล้มเหลวหากถามมากเกินไป 0, 1 = overcommit (heuristically หรือเสมอ) ฆ่ากระบวนการบางอย่างโดยยึดตามฮิวริสติกเมื่อเข้าถึงหน่วยความจำมากเกินไป ตอนนี้ฉันอาจเข้าใจผิดทั้งหมด แต่ทำไมไม่มีตัวเลือก (หรือทำไมจึงไม่เป็นค่าเริ่มต้น) เพื่อฆ่ากระบวนการที่พยายามเข้าถึงหน่วยความจำที่จัดสรรมากเกินไป

3
วิธีทดสอบ / etc / hosts
วิธีที่ดีที่สุดในการยืนยันว่าไฟล์ / etc / hosts ของคุณคือการจับคู่ชื่อโฮสต์กับที่อยู่ IP ที่ถูกต้อง การใช้เครื่องมือเช่นdigสอบถาม DNS ภายนอกโดยตรงผ่านไฟล์โฮสต์
12 dns  hosts 

7
ซีเรียลไลซ์ตัวแปรเชลล์ใน bash หรือ zsh
มีวิธีใดในการทำให้เชลล์เชลล์เป็นอนุกรม? สมมติว่าฉันมีตัวแปร$VARและฉันต้องการที่จะสามารถบันทึกลงในไฟล์หรืออะไรก็ตามแล้วอ่านมันอีกครั้งในภายหลังเพื่อรับค่าเดียวกันกลับมา? มีวิธีพกพาในการทำเช่นนี้? (ฉันไม่คิดอย่างนั้น) มีวิธีทำใน bash หรือ zsh หรือไม่
12 bash  shell  zsh  variable 

1
คุณช่วยอธิบายการประมาณค่าเอนโทรปีที่ใช้ใน random.c ได้ไหม
/dev/randomใช้การกำหนดเวลาของเคอร์เนล interupts เพื่อเพิ่มไปยังกลุ่มเอนโทรปี entropy_countปริมาณของเอนโทรปีในสระว่ายน้ำที่มีการติดตามในชื่อตัวแปร random.cนี่คือข้อมูลที่เกี่ยวข้องของรหัสจาก เพราะมันหมายถึงเวลา (jiffies ฉันคิด) ระหว่างสอง interupts สุดท้ายในตัวแปรและความแตกต่างในสันดอนเป็นdeltadelta2 delta = time - state->last_time; state->last_time = time; delta2 = delta - state->last_delta; state->last_delta = delta; if (delta < 0) delta = -delta; if (delta2 < 0) delta2 = -delta2; delta = MIN(delta, delta2) >> 1; for (nbits = …
12 linux  kernel  random 

8
ฉันจะรับจำนวนตัวอักษรของคำในคอลัมน์ใดคอลัมน์หนึ่งได้อย่างไร
ฉันมีไฟล์ CSV เช่นนี้: abd,123,egypt,78 cde,456,england,45 ฉันจะรับจำนวนตัวอักษรของคำในคอลัมน์ที่ 3 ได้อย่างไร ฉันไม่สามารถหาวิธีwcทำสิ่งนี้ได้
12 shell  columns  csv  wc 

5
มีอีกทางเลือกหนึ่งที่กระชับกว่าการ pip ไปยัง wc สำหรับการนับไฟล์ในไดเรกทอรี
ถ้าเป็นเช่นls -1 target_dir | wc -lนั้นฉันจะได้จำนวนไฟล์ในไดเรกทอรี ฉันพบว่ามันค่อนข้างยุ่งยาก มีวิธีที่สง่างามหรือรวบรัดมากขึ้นหรือไม่?


1
ฉันจะ "avconv" ทุก m4a ใน dir ถึง mp3 ได้อย่างไร?
ดังนั้นฉันพยายามที่จะแปลงจำนวนมาก m4as เพื่อ mp3s avconvและผมคิดว่าวิธีที่ดีที่สุดที่จะทำคือการใช้ ปัญหาคือฉันไม่สามารถหาตัวอย่างที่ชัดเจนเกี่ยวกับวิธีการใช้งานavconvได้ เมื่อมองไปที่หน้าคนมันมีจำนวนธง / ตัวเลือกที่ไร้สาระและฉันก็ไม่สามารถเข้าใจได้ ฉันจะแปลงเป็นชุดได้avconvอย่างไร
12 files  mp3  avconv 

2
กระบวนการทดแทนถูกนำมาใช้ในการทุบตี?
ฉันกำลังค้นคว้าคำถามอื่นเมื่อฉันรู้ว่าฉันไม่เข้าใจว่าเกิดอะไรขึ้นภายใต้ประทุน/dev/fd/*ไฟล์เหล่านั้นคืออะไรและกระบวนการของเด็กสามารถเปิดได้อย่างไร

7
เป็นไปได้ไหมที่จะลบคำนำหน้าโฟลเดอร์ออกจากคำสั่ง `ls`
ฉันอยู่ในสคริปต์ทุบตีและฉันต้องการได้รับรายชื่อของไฟล์ทั้งหมด (สมมติว่าไฟล์ jar ทั้งหมด) ฉันรันคำสั่งls -1 lib/*.jarและได้รับผลลัพธ์: lib/mylib_1.jar lib/mylib_2.jar ... มีตัวเลือกใด ๆ ที่จะมีผลลัพธ์ต่อไปนี้: mylib_1.jar mylib_2.jar ... การทำcd libก่อนไม่ใช่ตัวเลือกเนื่องจากฉันอยู่ในลูปและจำเป็นต้องอยู่ในโฟลเดอร์พาเรนต์สำหรับการกระทำที่ฉันต้องการทำภายในลูป ฉันพยายามค้นหาข้อมูลด้วยการพิมพ์man lsแต่ไม่พบวิธีแก้ปัญหา วิธีแก้ปัญหาที่มีคำสั่งอื่นจะดีตราบใดที่ฉันสามารถส่งไปยังlsคำสั่งหรือพอเพียงได้
12 bash  shell  directory  ls 

3
เชลล์สคริปต์รอคำสั่งพื้นหลัง
ฉันกำลังเขียนสคริปต์ แต่มีบางสิ่งที่ฉันต้องการฉันไม่สามารถหาวิธีที่จะทำ ... ฉันต้องสร้างคำสั่งในพื้นหลัง "command1 &" จากนั้นบางส่วนในสคริปต์ฉันต้องรอให้เสร็จก่อนที่ฉันจะ command2 โดยทั่วไปฉันต้องการสิ่งนี้: หมายเหตุ: แต่ละคำสั่งจะทำงานในไดเรกทอรีเฉพาะ! ในตอนท้ายของ while ในขณะที่ command1 ของฉันสร้าง 4 ไดเร็กตอรี่, ซึ่งแต่ละอันรันโพรเซสเฉพาะ, ดังนั้นจำนวนโพรเซสที่กำลังทำงานอยู่คือ 4 a=1 while [$a -lt 4 ] . command1 #Generates 1 Process a= `export $a +1` done #Wait until the 4 process end and then run the command2 . command2 …

5
ฉันจะสร้างสมนามเชลล์ได้อย่างไร?
ในของฉัน.profile(ที่มาในshโหมดการจำลองจากของฉัน.zshrc) ฉันมีตัวอย่างต่อไปนี้: if [ -f /usr/bin/pacmatic ]; then alias pacman=pacmatic fi # Colorized Pacman output alias pacman="pacman --color auto" อย่างไรก็ตามนามแฝงที่สองจะแทนที่สิ่งแรกเสมอ: % type pacman pacman is an alias for pacman --color auto ฉันจะทำอย่างไรเพื่อให้การมอบหมายนามแฝงที่สอง "สืบทอด" การมอบหมายครั้งแรกดังนั้นถ้า/usr/bin/pacmaticมีอยู่นามแฝงจะกลายเป็นpacmatic --color auto? ฉันไม่รังเกียจที่จะใช้ฟังก์ชั่นแทนนามแฝง แต่ฉันต้องการมันถ้าตรรกะไม่ได้ถูกดำเนินการทุกครั้งที่pacmanถูกเรียกใช้ (ฉันต้องการpacmaticตรวจสอบหนึ่งครั้งเมื่อเริ่มต้นเชลล์ไม่ใช่ทุกครั้งที่pacmanทำงาน ฉันต้องการใช้shสคริปต์แบบพกพาด้วย แต่ถ้าไม่สามารถทำได้คุณสามารถใช้zshไวยากรณ์แบบเต็มได้ (ใช่ฉันรู้ว่าเรื่องนี้อาจจะได้รับการแก้ไขได้อย่างง่ายดายโดยการผนวก--color autoกับpacmaticนามแฝง. แต่ฉันต้องการที่จะทำทางขวา™.) ฉันลองใช้ Google และค้นหา manpages แต่ก็ไม่มีประโยชน์
12 zsh  alias 

4
“ ไม่มีผู้ใช้ดังกล่าว” แต่ผู้ใช้อยู่ในไฟล์ passwd
ดูไฟล์ใน / etc /: /etc/group:lbutler:*:1005: /etc/master.passwd:lbutler:$6$s..../:1005:1005::0:0:L Butler:/home/lbutler:/bin/bash /etc/passwd:lbutler:*:1005:1005:L Butler:/home/lbutler:/bin/bash แต่: $ passwd lbutler passwd: lbutler: no such user รวมถึงไฟล์ที่/home/lbutler/แสดงเป็น uid 1005 และ gidlbutler ผู้ใช้รายอื่นใน/etc/passwdดูเหมือนจะไม่มีปัญหา
12 freebsd  passwd 

1
การพัฒนา 25 ปีของเคอร์เนล Linux สามารถผ่านการรับรองหรือสรุปในแง่ของคนธรรมดาได้หรือไม่? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ลินุกซ์เคอร์เนลเก่าเกือบ 25 ปีที่ผ่านมา ถ้าฉันต้องมากับเวอร์ชั่นสั้น ๆ เกี่ยวกับประวัติการพัฒนาของเคอร์เนลลินุกซ์ตั้งแต่ปี 1991 (วันที่เริ่ม) และในระดับตั้งแต่ปี 1994 (1.0.0) จนถึงวันนี้ฉันไม่สามารถทำได้ สิ่งที่ดีที่สุดที่ฉันสามารถทำได้เพียงอ่านทุกครั้งที่รีลีสเคอร์เนลรีลีสคือการให้ฟีเจอร์ต่อไปนี้ซึ่งเป็นฟีเจอร์รีลีสทั่วไปที่เพิ่มเข้าไปในเคอร์เนลจนถึงเวอร์ชัน 3.11 (บันทึกและลิงก์ที่ละเว้น): เคอร์เนล Linux เวอร์ชัน 1.0เปิดตัวเมื่อวันที่ 14 มีนาคม 2537 เคอร์เนล Linux รุ่นนี้รองรับระบบคอมพิวเตอร์ที่ใช้โปรเซสเซอร์ i386 ตัวเดียวเท่านั้น การพกพากลายเป็นปัญหาและ รุ่น 1.2 (วางจำหน่าย 7 มีนาคม 2538) ได้รับการสนับสนุนสำหรับระบบคอมพิวเตอร์ที่ใช้โปรเซสเซอร์โดยใช้สถาปัตยกรรมแบบ Alpha, SPARC และ MIPS รุ่น 2.0ได้รับการปล่อยตัว 9 มิถุนายน …
12 kernel  history 


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