Unix & Linux

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

1
วิธีแก้ปัญหาระบบค้าง
ฉันพบข้อผิดพลาดแปลก ๆ เมื่อฉันปิดฝาแล็ปท็อปของฉัน - ระบบค้าง (ไม่มีปฏิกิริยาต่อปุ่มกดไม่มีรูปแบบการตอบสนอง) แข็งและแสดงเอฟเฟกต์สีแปลก ๆ บันทึกเคอร์เนล (หลังจากรีบูต) ไม่แสดงอะไรเลย คำถามของฉันคือ - จะแก้ไขข้อบกพร่องได้อย่างไร อาจจะมีวิธีการติดตามฟังก์ชั่นเคอร์เนลที่เรียกว่าครั้งสุดท้ายหรือสิ่งที่คล้ายกัน?

1
เคอร์เนลผู้ใช้แบ่งใน 64 บิต Linux
ผู้ใช้ / เคอร์เนลเริ่มต้นแยกใน Linux 64 บิตคืออะไร ฉันอ่านDocumentation/x86_64/mm.txt(ซึ่งมีคนชี้ให้เห็น) แต่ฉันไม่สามารถทำออกมาได้ ใครบางคนสามารถให้คำตอบโดยตรง (เช่น 3GB / 1GB สำหรับการใช้งานแบบ 32 บิต)

2
Bash: ใช้นามแฝงในตัวแปร
ฉันกำลังเขียนสคริปต์ทุบตีที่เรียกใช้อาร์กิวเมนต์แต่ละตัวเป็นคำสั่ง สิ่งนี้ใช้ได้กับคำสั่งในของฉันPATHแต่ไม่ใช่สำหรับนามแฝง ฉันสามารถเรียกนามแฝงในสคริปต์โดยตรง แต่ฉันไม่สามารถเรียกนามแฝงที่ถูกส่งผ่านเป็นอาร์กิวเมนต์ได้ ปัญหา (ฉันถือว่า) เป็นนามแฝงที่จะขยายก่อนตัวแปร มีวิธีเรียกใช้นามแฝงจากตัวแปรหรือไม่? สคริปต์ตัวอย่าง: #!/bin/bash # File: runall shopt -s expand_aliases source ~/.aliases while (( "$#" )); do $1 shift done runall "echo test"ทำงานได้ แต่runall "myalias"ให้runall: line 8: myalias: command not found
9 bash  alias 

1
สองท่อต่อหนึ่งคำสั่ง
ฉันสับสนเล็กน้อยตามไวยากรณ์ต่อไปนี้ แม้ว่ามันจะใช้งานได้ แต่ก็ไม่เข้าใจว่าทำไมมันถึงได้ผล ดูเหมือนว่ามีสองท่อที่ต่ออยู่กับคำสั่ง diff แต่ไม่มีเพียงอันเดียวSTDINใช่ไหม ตัวอย่าง: diff <(echo "foobar") <(echo "barbaz") diff <(cat foo.txt) <(cat bar.txt)
9 bash  shell 

2
วิธีการเปิดใช้งานรายงานข้อผิดพลาด / core dumps / stack การบันทึกทั่วโลก?
บั๊กที่ล้มเหลวอาจเป็นสิ่งที่น่ารำคาญที่สุดซึ่งนำไปสู่การสูญเสียข้อมูลการหยุดทำงานและผู้ใช้ที่หงุดหงิด มันจะดีถ้าแอปพลิเคชันขัดข้องน้อยกว่า เนื่องจากความซับซ้อนของบริบทเครื่องขัดข้องจึงไม่สามารถทำซ้ำได้ในเวลาที่เหมาะสมสำหรับผู้ใช้ทั่วไป ไม่ได้หมายความว่าบั๊กนั้นหายาก - อาจหมายถึงว่าสิ่งที่ทำให้เกิดมันเกิดขึ้นน้อยมากสำหรับผู้ใช้แต่ละคน (ตัวอย่างเช่นการเปลี่ยนแปลง DST) ข้อผิดพลาดดังกล่าวไม่น่าจะได้รับการแก้ไขเว้นแต่ผู้ใช้จำนวนมากรายงานพวกเขา มันจะดีถ้ามีรายงานการขัดข้องเพิ่มเติม ในการแก้ปัญหาการขัดข้องผู้พัฒนาจำเป็นต้องใช้บริบทที่ชัดเจนมากที่สุดเท่าที่จะทำได้ รายงานข้อผิดพลาดที่สร้างขึ้นนั้นดีเพราะปกติแล้วพวกเขาจะมีรายละเอียดและแม่นยำ ผู้ใช้ไม่สามารถคาดหวังให้สังเกตอย่างกระตือรือร้นและรายงานบริบททั้งหมดด้วยตนเองดังนั้นพวกเขาจึงมักส่งข้อมูลที่กระจัดกระจายและไม่ถูกต้อง กลุ่มเป้าหมายสำหรับแอปพลิเคชันจำนวนมากไม่ใช่นักพัฒนาหรือผู้ดูแลระบบ แต่เป็นบุคคลทั่วไปที่บ้านหรือที่ทำงาน คาดว่าผู้ใช้ดังกล่าวจะไม่ทราบวิธีรวบรวมข้อมูลข้อขัดข้องด้วยตนเองหรือติดตั้ง-dbgแพ็คเกจ แต่รายงานที่สร้างจากผู้ใช้ดังกล่าวยังสามารถใช้งานได้ แอปพลิเคชันบางตัวมีเครื่องมือรายงานข้อผิดพลาดของตัวเองแต่จากประสบการณ์ของฉันสิ่งเหล่านี้ไม่ค่อยได้ผลและเมื่อพวกเขารายงานว่าพวกเขาล้มเหลวในการรายงานข้อผิดพลาดดูเหมือนจะไม่มีข้อมูลใด ๆ เกี่ยวกับวิธีการทำงานด้วยตนเอง ทั้งเวอร์ชันล่าสุดของ Firefox และ Flash) การรายงานความผิดพลาดทั้งระบบจะเป็นสิ่งที่ดี มีการสร้างรายงานข้อผิดพลาดชนิดใด * ซึ่งสามารถเปิดใช้งานทั่วโลกได้ ** โดยไม่ต้องติดตั้ง-dbgแพคเกจจำนวนมากอ่านเอกสารของแต่ละแอปพลิเคชันและทุกแอปพลิเคชันหรือทำให้เครื่องปกติช้าลงเพื่อรวบรวมข้อมูล * บันทึก, ทิ้งหลัก, ร่องรอยสแต็ค, อะไรก็ตาม ** ไม่จำเป็นสำหรับinitแต่อย่างน้อยสำหรับชุดย่อยที่สำคัญของแอปพลิเคชันที่ทำงานบนการติดตั้ง Linux บนเดสก์ท็อปทั่วไป จากประสบการณ์ของฉันแอพพลิเคชั่น GUI ผิดพลาดมากกว่า 100 ครั้งมากกว่าแอพพลิเคชั่นของเชลล์ดังนั้นแอพพลิเคชั่นแบบ GUI จึงเป็นจุดสนใจ
9 debugging 

1
SSH ไม่สิ้นสุดหลังจากออกเมื่อมีโปรแกรม X Forward
หลังจากรันโปรแกรม X ผ่าน SSH แล้ว SSH จะไม่ยุติหลังจาก shell exit (ต้องใช้เช่นCtrlCเพื่อฆ่ามัน) ฉันเดาว่าแม้ว่าโปรแกรม X จะออกไปแล้วยังมี "การเชื่อมต่อ" เหลืออยู่ (ยังไม่ว่าง) มีข้อยกเว้นที่ฉันได้พบในขณะนี้และgtk-demoacroread ไม่มีใครรู้เหตุผลหรือไม่ นี่เป็นปัญหาของการกำหนดค่า ssh {, d} หรือไม่
9 ssh  x11  xforwarding 

2
วิธีค้นหาว่าไฟล์ใดถูกเขียนโดยกระบวนการ
สถานการณ์ของฉันคือบางครั้งกระบวนการเฉพาะ (ในกรณีนี้คือธันเดอร์เบิร์ด) ไม่ตอบสนองต่อการป้อนข้อมูลของผู้ใช้เป็นเวลาหนึ่งนาที ฉันพบว่าการใช้iotopในช่วงเวลานี้มันเขียนลงดิสก์เยอะมากและตอนนี้ฉันต้องการค้นหาไฟล์ที่เขียน แต่น่าเสียดายที่iotopให้สถิติต่อกระบวนการเท่านั้นและไม่ใช่ต่อไฟล์ที่เปิด (-descriptor) ฉันรู้ว่าฉันสามารถใช้lsofค้นหาไฟล์ที่กระบวนการเปิดอยู่ในขณะนี้ แต่แน่นอนว่าธันเดอร์เบิร์ดมีไฟล์จำนวนมากที่เปิดอยู่ดังนั้นนี่จึงไม่เป็นประโยชน์ iostatแสดงสถิติต่ออุปกรณ์เท่านั้น ปัญหาเกิดขึ้นแบบสุ่มเท่านั้นและอาจต้องใช้เวลาสักครู่จึงจะปรากฏดังนั้นฉันหวังว่าฉันจะไม่ต้องไล่ทันเดอร์เบิร์ดเบิร์ดและลุยผ่านท่อนยาวเพื่อค้นหาว่าไฟล์ใดมีการเขียนมากที่สุด

2
คุณจะย้าย (หรือคัดลอก) ไฟล์ทั้งหมดไปยังไดเรกทอรีที่มีคำนำหน้าชื่อไฟล์ได้อย่างไร
ใช้ Bash ดังนั้นสมมติว่าฉันมีไฟล์หลายไฟล์วางอยู่ในไดเรกทอรีหลัก~/srcฉันต้องการคว้าไฟล์ทั้งหมดที่ตรงกับคำต่อท้ายและย้าย (หรือคัดลอก) ไปยัง~/distไดเรกทอรี สมมติว่าเพื่อจุดประสงค์นี้ว่าชื่อไฟล์ทั้งหมดมีแบบแผนการตั้งชื่อนี้: <filename_prefix>.<filename_suffix> ฉันพบว่านี่เป็นวิธีที่รวดเร็วในการรับไฟล์ทั้งหมดโดยเฉพาะfilename_suffixและวางไว้ในโฟลเดอร์ dist: mkdir ~/dst find source -name "*.xxx" -exec mv -i {} -t ~/dst \; ตอนนี้ขั้นตอนต่อไป ... ฉันจะใช้ผลลัพธ์การค้นหาในกรณีนี้filenameและใช้filename_prefixเพื่อสร้างไดเรกทอรีที่มีชื่อเดียวกัน~/distแล้วย้าย (หรือคัดลอก) ไฟล์ทั้งหมดที่มีคำนำหน้านั้นลงในไดเรกทอรีที่เหมาะสมได้อย่างไร mkdir ~/dst find source -name "*.xrt,*.ini,*.moo" -exec mv -i {} -t ~/dst \; โดยพื้นฐานแล้วฉันจะเปลี่ยนคำสั่งด้านบนได้อย่างไร (หรืออาจใช้คำสั่งอื่น) เพื่อสร้างโครงสร้างเช่นนี้ (ขาออก) ~/dist/people/people.xrt ~/dist/games/games.xrt ~/dist/games/games.moo ~/dist/games/games.ini ~/dist/monkeys/monkeys.ini ~/dist/monkeys/monkeys.xrt …

3
สามารถใช้ vmlinux แทน uImage ได้หรือไม่?
ฉันต้องการใช้เคอร์เนลอิมเมจที่ไม่มีการบีบอัดและบู๊ต BeagleBoard โดยทั่วไปฉันใช้ uImage เพื่อบูตเคอร์เนลซึ่งอยู่ในรูปแบบที่บีบอัด ฉันจะใช้เคอร์เนลอิมเมจที่ไม่บีบอัดได้อย่างไร?

1
คู่มือผู้ใช้ Linux สำหรับ windows? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Unix & Linux Stack Exchange ปิดให้บริการใน8 ปีที่ผ่านมา ฉันเป็นนักเรียนที่จบซึ่งเพิ่งค้นพบว่าฉันจะต้องเปลี่ยนไปใช้กล่อง Windows สำหรับการวิจัยของฉัน (แม้จะมีการอ้อนวอนของฉัน) ฉันรู้ว่ามีคำแนะนำมากมายสำหรับผู้ใช้ Windows ที่เปลี่ยนมาใช้ Linux แต่ฉันไม่พบมากเกินไปสำหรับการย้อนกลับ ใครบ้างมีทรัพยากรที่ดีบ้างไหม? ฉันคุ้นเคยกับการทำทุกอย่างใน bash shell ฉันชอบแก้ไขข้อความด้วยเสียงเรียกเข้าและฉันชอบตั้งค่าสคริปต์เชลล์ ฉันต้องการที่จะทำให้การเปลี่ยนแปลงที่เจ็บปวดที่สุดเท่าที่จะทำได้

1
ฉันสามารถใช้การตั้งค่าใดเพื่อเพิ่มประสิทธิภาพ FFMpeg ให้สูงสุด
ฉันพยายามทำ screencasting บางส่วน แต่เนื่องจากคอมพิวเตอร์ของฉันเก่าเกินไปและช้ากว่าวิดีโอที่ผลิตจึงล่าช้าและแอพพลิเคชั่นที่ฉันพยายามบันทึกนั้นไม่ตอบสนองเนื่องจากการใช้ CPU เนื่องจากฉันไม่สามารถอัปเกรดได้ในขณะนี้ฉันจึงต้องการปรับปรุงสิ่งที่ฉันมี ฉันเปลี่ยนจาก GNOME เป็น OpenBox และฉันได้ฆ่ากระบวนการที่ไม่จำเป็น ฯลฯ ก็ยังไม่ดี ฉันได้เพิ่มประสิทธิภาพแอปพลิเคชันที่ฉันบันทึกด้วยดังนั้นสิ่งเดียวที่เหลือก็คือตัวบันทึกซึ่งก็คือ FFMpeg ตัวเลือกและแฟล็กอะไรบ้างที่สามารถใช้เพื่อให้ได้ประสิทธิภาพที่ดีที่สุดจาก FFMpeg มีตัวแปลงสัญญาณเฉพาะที่ประมวลผลได้ง่ายกว่าตัวแปลงสัญญาณอื่น ๆ หรือไม่? ฉันจะบันทึกประมาณ 10-15 นาทีต่อครั้งดังนั้นสิ่งที่ไม่ได้สร้างขนาดไฟล์ใหญ่จะได้รับการชื่นชม ความคิดใด ๆ

2
วิธีรายการคอนโซลและแบบอักษรเคอร์เนล?
ฉันติดตั้งฟอนต์คอนโซลจำนวนหนึ่งในการ/lib/kbd/consolefonts/ติดตั้งแล้ว ฉันจะแสดงรายการเหล่านั้นได้อย่างไร (เห็นได้ชัดว่าฉันทำได้แค่ดูชื่อไฟล์ แต่ไม่ใช่รายการที่มีแบบอักษร) ฉันจะเปลี่ยนแบบอักษรคอนโซลได้อย่างไร ฉันจะสร้างไดเรกทอรีที่จัดการได้โดยผู้ใช้สำหรับแบบอักษรเหล่านั้นได้อย่างไรฉันควรใช้/usr/local/lib/consolefonts/อย่างไร ตอนนี้ฉันยอมรับเคอร์เนลพารามิเตอร์ SYSFONT SYSFONT=latarcyrheb-sun16นี้: ฉันต้องการมีรายการซึ่งฟอนต์เคอร์เนลของฉันรองรับและฉันสามารถเลือกพวกมันได้อย่างไร (เช่นในฉันจะแสดงรายการฟอนต์ที่คอมไพล์แล้วของเคอร์เนลได้อย่างไร)

2
อะไรคือจุดของ ls -f (หรือทำไมสิ่งนี้ถึงแขวนอยู่)
ฉันมีไดเรกทอรีที่มีประมาณ 100,000 ไฟล์อยู่ในนั้น ls -f ค้างไว้นานกว่าหนึ่งนาที ฉันวิ่งตาม strace และเริ่มเห็น getdents ในทันทีดังนั้น ls จึงอ่านไดเรกทอรีอย่างชัดเจน ฉันเห็นการโทรไปยัง brk เป็นจำนวนมากดังนั้น ls จึงบัฟเฟอร์สิ่งต่าง ๆ ในหน่วยความจำอย่างชัดเจน ฉันเขียนโปรแกรมง่าย ๆ ที่เรียก readdir และชื่อไฟล์ output และมันจะตอบสนองทันที แต่ ls -f ไม่ได้ให้ผลลัพธ์ สิ่งที่ช่วยให้? ฉันคิดว่าจุดทั้งหมดของ -f คือมันทำให้ ls ไม่ทำอะไรมากไปกว่า readdir มีวิธีพกพาและเชื่อถือได้ในการแสดงรายการเนื้อหาของไดเรกทอรีหรือไม่? (หมายเหตุนี่คือ ls จาก coreutils ของ gnu บน Linux) -EDIT- มีนามแฝงอยู่ในสถานที่ แต่ …
9 linux  ls  gnu  coreutils 

2
นิยาม task_struct อยู่ที่ไหนในเคอร์เนล 2.6.30.5
ในเคอร์เนลเวอร์ชัน 2.6.15 ฉันได้ว่าฉันสามารถเขียนtask_structในไฟล์ (รวมถึง / linux / sched.h), เช่น: struct task_struct { unsigned did_exec:1; pid_t pid; pid_t tgid; ... char hide; } แต่น่าเสียดายที่เมื่อฉันอัปเกรดเป็นเวอร์ชัน 2.6.30.5 ฉันดูไฟล์เดียวกันฉันเพิ่งพบคำประกาศของtask_structเช่น: struct task_struct; และผมก็มีความคิดที่ยื่นฉันควรดูเพื่อวัตถุประสงค์ในการระบุของตัวเองไม่task_struct? มีคนช่วยฉันได้ไหม

3
เป็นไปได้ไหมที่จะเรียกใช้งานสคริปต์ใน BIND โดยอิงตามการค้นหา
เป็นไปได้หรือไม่ที่จะตั้งค่า BIND เป็นเซิร์ฟเวอร์ DNS ในเครือข่ายท้องถิ่นของฉันและสร้างสคริปต์เมื่อมันได้รับการค้นหา? ฉันต้องการเรียกใช้งานสคริปต์ Python หรือ Bash ตามการค้นหา DNS ขาเข้าฉันจะแก้ไขปัญหานี้ได้อย่างไร ถ้าเป็นไปได้ในการผูกโปรดบอกฉันว่าและถ้าไม่บอกฉันว่ามันเป็นไปได้ในการใช้งานเซิร์ฟเวอร์ DNS อื่น ๆ ที่ทำงานบน Ubuntu ขอบคุณมาก.
9 ubuntu  python  bind 

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