Unix & Linux

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

4
จะเริ่มเปลี่ยนซอร์สโค้ด linux เพื่อสร้างระบบปฏิบัติการได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน10 เดือนที่ผ่านมา ฉันได้ยินมาว่าเราสามารถปรับแต่ง Linux (พูด Ubuntu) ได้ตามที่เราต้องการโดยการเปลี่ยนซอร์สโค้ดและสามารถสร้างระบบปฏิบัติการใหม่ได้ทั้งหมด ฉันได้ดาวน์โหลดซอร์สโค้ดของเคอร์เนล linux จากเว็บไซต์ www.kernel.org แต่เมื่อเห็นแล้วฉันไม่สามารถเข้าใจอะไรได้เลยมีไดเรกทอรีหลายไฟล์อยู่ในไฟล์ (อย่างที่ฉันคิดว่าจะมีโปรแกรมขนาดใหญ่หนึ่งโปรแกรม) ฉันต้องการทำโครงการวิทยาลัยและฉันต้องการมีส่วนร่วมกับ Linux โดยทำการเปลี่ยนแปลงที่จำเป็น แต่หลังจากถามคำถามนี้ในเว็บไซต์บางแห่งพวกเขากล่าวว่าซอร์สโค้ด Linux มีขนาดใหญ่มาก คุณอาจลองมินิกซ์ ตอนนี้ฉันสับสนมาก โปรดให้คำแนะนำพร้อมรายละเอียดเกี่ยวกับวิธีการเริ่มต้นการเดินทางครั้งนี้ (การเปลี่ยนซอร์สโค้ดเพื่อปรับแต่ง Linux) ด้วยขั้นตอนที่จำเป็นพร้อมกับหนังสือระดับเริ่มต้นบางเล่ม

4
ป้องกัน tar จากการใช้ CPU และดิสก์มากเกินไป (แล็ปท็อปเก่าล่มถ้า 100%)
ฉันต้องการสำรองข้อมูล 1 เทราไบต์ไปยังดิสก์ภายนอก ฉันใช้คำสั่งนี้: tar cf /media/MYDISK/backup.tar mydata ปัญหา: ฉันค้างแล็ปท็อปที่ไม่ดีและเกิดปัญหาเมื่อใดก็ตามที่ผมใช้ CPU 100% หรือดิสก์ 100% (ถ้าคุณต้องการที่จะตอบสนองเกี่ยวกับโปรดนี้เขียนที่นี่ ) ดังนั้นฉันต้องการอยู่ที่ประมาณ 50% CPU และสูงสุด 50% ดิสก์ คำถามของฉัน: วิธีการเร่งความเร็ว CPU และดิสก์ด้วยtarคำสั่ง? Rsync มีตัวเลือก --bwlimit แต่ฉันต้องการเก็บถาวรเพราะ 1) มีไฟล์ขนาดเล็กจำนวนมาก 2) ฉันชอบที่จะจัดการไฟล์เดียวมากกว่าต้นไม้ tarนั่นเป็นเหตุผลที่ผมใช้
15 tar  limit 

3
ใช้เข้า / ออกชื่อไปป์สำหรับการเชื่อมต่อ TCP
ฉันเล่นซอให้เรื่องนี้ทำงานได้ซักพักแล้วดังนั้นฉันจึงสงสัยว่าความเข้าใจผิดพื้นฐานบางอย่างเกี่ยวกับการทำงานของท่อเป็นสาเหตุของปัญหาของฉัน เป้าหมายของฉันคือการเริ่มต้นการเชื่อมต่อ TCP ไปยังรีโมตโฮสต์ผ่านnetcatและมีไพพ์ที่มีชื่อสองไฟล์ในระบบไฟล์: กระบวนการหนึ่งที่กระบวนการสามารถอ่านเพื่อรับข้อมูลขาเข้าและอื่น ๆ ที่กระบวนการสามารถเขียนไปยังข้อมูลขาออก ฉันกำลังใช้สิ่งก่อสร้างต่อไปนี้: mkfifo in mkfifo out cat out | netcat foo.bar.org 4000 > in & จากที่นี่ฉันต้องการอนุญาตให้กระบวนการอื่นอ่านและเขียนไปยัง / จากการเชื่อมต่อ TCP แบบเปิดนี้ ควร "ใช้งานได้" หรือมีเหตุผลว่าทำไมการสร้างเช่นนี้ไม่สามารถใช้งานได้? สิ่งที่ดูเหมือนจะเกิดขึ้นในปัจจุบันคือฉันสามารถอ่านได้outโดยไม่มีปัญหา แต่เมื่อฉันเขียนถึงinฉันรับเอาท์พุทพูดถึงท่อที่ขาดและการสื่อสารที่ตามมาทั้งหมดดูเหมือนจะตาย คิด? (ที่เกี่ยวข้อง: ฉันใช้มา แต่เดิม: netcat foo.bar.org 4000 < out > in & แต่พบว่ามันบล็อกการรอการป้อนข้อมูล ฉันอยากรู้เกี่ยวกับสิ่งนี้เช่นกัน แต่มันอาจจะดีกว่าในคำถามที่แยกต่างหาก)
15 bash  pipe  tcp  netcat 

2
ชื่อไฟล์ UTF 8 หรือไม่
ในระบบปฏิบัติการยูนิกซ์ที่อนุญาตให้ใช้ชื่อไฟล์ utf6 ได้หรือไม่ ถ้าเป็นเช่นนั้นฉันต้องทำอะไรเป็นพิเศษเพื่อเขียนไฟล์ลงดิสก์ ให้ฉันอธิบายสิ่งที่ฉันหวังว่าจะทำ ฉันกำลังเขียนแอปพลิเคชันที่จะถ่ายโอนไฟล์ผ่าน ftp ไปยังระบบระยะไกล แต่ชื่อไฟล์นั้นถูกตั้งค่าแบบไดนามิกเป็นผ่านชุดข้อมูล meta บางชุดซึ่งอาจเป็น utf8 ฉันสงสัยว่ามีสิ่งที่ฉันต้องทำเพื่อเขียนไฟล์ลงดิสก์ในยูนิกซ์ / ลินุกซ์หรือไม่ ทุกคนรู้ว่าจะเกิดอะไรขึ้นถ้าฉันอัพโหลดชื่อไฟล์ utf 8 ไปยังระบบไม่รองรับ utf8?

2
คุณควรเรียกใช้การปรับปรุงอัตโนมัติ
ฉันใช้งานเว็บเซิร์ฟเวอร์ของ Centos ฉันต้องการทราบว่าวิธีปฏิบัติที่ดีที่สุดสำหรับการเรียกใช้การปรับปรุง ฉันควรทำสิ่งนี้โดยอัตโนมัติด้วย yum-cron หรือ yum-updatesd? หรือมีอันตรายจากการอัปเดตที่ทำให้ไซต์แตกสลายดังนั้นควรทำการอัปเดตบนเซิร์ฟเวอร์ทดสอบแล้วจึงทำการอัปเดตด้วยตนเองทุกสัปดาห์ เซิร์ฟเวอร์ส่วนใหญ่ใช้ที่เก็บอย่างเป็นทางการเท่านั้น แต่บางแห่งมีที่เก็บอะตอมสำหรับโมดูล PHP ที่ไม่สามารถใช้งานได้ สิ่งที่ดีที่สุดในกรณีนี้คืออะไร? ฉันจะตั้งค่า yum ให้ใช้เฉพาะ Atomic สำหรับโมดูล PHP ได้หรือไม่ ฉันไม่ต้องการให้ทุกสิ่งอัปเดตเป็นสิ่งที่ทันสมัยใน Atomic ฉันจะไว้ใจ Centos (หรือ Red Hat) เพื่อให้เซิร์ฟเวอร์ของฉันมั่นคงและปลอดภัย
15 centos  security  yum 

2
วิธีการเทลเน็ตผ่านการรับรองความถูกต้องของพร็อกซี่?
ฉันอยู่หลังพร็อกซีเซิร์ฟเวอร์ในวิทยาลัยของฉัน มันใช้การรับรองความถูกต้องชื่อผู้ใช้และรหัสผ่านง่าย ๆ และฉันเชื่อมต่อกับพร็อกซีเซิร์ฟเวอร์พอร์ต 3128 ตอนนี้ฉันต้องการ telnet เพียงพูดเว็บไซต์ใด ๆ บนอินเทอร์เน็ตเช่น $ telnet www.google.com 80 สิ่งนี้ให้ฉัน error telnet: could not resolve www.udacity.com/80: Name or service not known ฉันจะกำหนดการตั้งค่าพร็อกซีสำหรับ telnet ได้อย่างไร เราได้ตั้งไว้แล้วตัวแปรสภาพแวดล้อมและhttp_proxy HTTP_PROXYนอกจากนี้ยังได้ใช้พร็อกซีทั้งระบบ

5
วิธีการรีสตาร์ทเครื่อง Linux ผ่าน SSH หากระบบไฟล์รูทไม่ทำงาน
เช่นเดียวกับความอยากรู้ มีบางอย่างผิดพลาดกับเครื่อง Linux ทำให้ระบบไฟล์รูทแสดงเป็น "64Z" คำสั่งบางคำสั่งทำงาน, เช่นtop, dfและkill, แต่มีบางคำสั่งเช่นreboot"ไม่พบคำสั่ง" (เนื่องจากไม่สามารถอ่านระบบไฟล์รูท) และchmodเกิดข้อผิดพลาดในการแบ่งส่วน มีวิธีใดบ้างที่จะรีสตาร์ทระบบเช่นไม่มีrebootโปรแกรมหรือไม่ ฉันพยายามkill -PWR 1(ส่ง SIGPWR เพื่อเริ่มต้น) แต่สิ่งนี้ดูเหมือนจะไม่ทำอะไรเลย ส่วนใหญ่มันเป็นความอยากรู้ทางวิชาการ เพื่อนร่วมห้องที่กำลังทำงานอะไรก็ตามที่ทำงานกับฐานข้อมูลขนาดใหญ่ที่ทำให้เกิดความล้มเหลวก็จะทำการรีสตาร์ทเครื่องทันที
15 kernel  kill 

2
วัตถุประสงค์ของ `/ etc / group-` คืออะไร
ในการแจกแจงแบบมาตรฐานของ Linux (เช่น Ubuntu) มักจะมี/etc/groupและ/etc/group-ที่ที่สองสามารถอ่านได้โดย root man groupเพียง /etc/groupแต่อธิบาย ดังนั้นคำถามของฉัน: วัตถุประสงค์/etc/group-คืออะไร?

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

3
ตั้งค่าความดีเป็นคำสั่ง piped
ฉันต้องการรันชุดคำสั่ง "piped" ที่มีระดับความละเอียดที่เปลี่ยนไป ตัวอย่าง: nice -n 15 command1 | command2 | command3 ในกรณีนี้ความละเอียดจะเปลี่ยนเป็น "15" สำหรับ command1 เท่านั้น วิธีการเปลี่ยนสำหรับชุดคำสั่งทั้งหมด (command1, command2 และ command3)?
15 nice 

2
บีบอัดไดเรกทอรีโดยใช้ tar / gz ผ่าน SSH ไปยังเครื่องคอมพิวเตอร์หรือไม่
ฉันต้องการ tar / gz เป็นไดเรกทอรีบนเครื่องระยะไกลและบันทึกไฟล์ลงในเครื่องคอมพิวเตอร์ของฉันโดยไม่ต้องเชื่อมต่อกลับเข้าไปในเครื่องของฉันจากเครื่องระยะไกล มีวิธีการทำเช่นนี้กับ SSH หรือไม่? ไฟล์ tar ไม่จำเป็นต้องเก็บไว้ในเครื่องระยะไกลเฉพาะในเครื่องท้องถิ่น เป็นไปได้ไหม
15 bash  ssh  tar 

3
ฉันจะจัดการข้อมูลไบนารีดิบในท่อทุบตีได้อย่างไร
ฉันมีฟังก์ชั่นทุบตีที่ใช้ไฟล์เป็นพารามิเตอร์ตรวจสอบไฟล์ที่มีอยู่แล้วเขียนสิ่งที่มาจาก stdin ไปยังไฟล์ โซลูชันไร้เดียงสาทำงานได้ดีสำหรับข้อความ แต่ฉันมีปัญหากับข้อมูลไบนารีโดยพลการ echo -n '' >| "$file" #Truncate the file while read lines do # Is there a better way to do this? I would like one... echo $lines >> "$file" done
15 bash  shell  binary 

3
Mutt: สมัครสมาชิกกล่องจดหมาย IMAP โดยอัตโนมัติ
ฉันใช้พวงของกล่องจดหมายในซึ่งมีประชากรmutt imapfilterเพื่อหลีกเลี่ยงการตั้งค่าใหม่ด้วยตนเอง (โดยไปที่รายการโฟลเดอร์และกดsทุกรายการใหม่) ฉันต้องการกำหนดค่าmuttให้สมัครสมาชิกโฟลเดอร์ IMAP ทั้งหมดยกเว้นส่งขยะและเลื่อนออกไปเมื่อเริ่มต้น เป็นไปได้โดยไม่ต้องสร้างไฟล์กำหนดค่าหรือไม่
15 mutt  imap 



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