Unix & Linux

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

1
เหตุใด Linux จึงไม่ใช้ช่วงพอร์ตชั่วคราวของ IANA
ตามที่ Wikipedia ผู้ให้บริการอินเทอร์เน็ตกำหนดหมายเลข (IANA) แนะนำช่วง 49152 ถึง 65535 สำหรับพอร์ตแบบไดนามิกหรือส่วนตัว เคอร์เนล Linux หลายตัวใช้ช่วงพอร์ต 32768 ถึง 61000 แม้ว่าจะมีการเบี่ยงเบนทางประวัติศาสตร์บางส่วนจากช่วงที่ IANA แนะนำ แต่ก็น่าแปลกใจที่ Windows Vista, Windows 7, Windows Server 2008, FreeBSD 4.6+ และอื่น ๆ อีกมากมายที่เห็นด้วยกับช่วงนี้และ Linux ยังโดดเด่น มองเข้าไปในนั้นดูและดูเถิด: $ cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000 ทำไมลินุกซ์ถึงไม่ใช้ช่วงมาตรฐาน?
30 linux  ip  tcp 

2
การเปลี่ยนเส้นทางเอาต์พุตไปยังไฟล์ใช้การล็อกไฟล์หรือไม่?
ถ้าฉันมีคำสั่ง $ ./script >> file.log ที่ถูกเรียกสองครั้งเมื่อมีสายที่สองเกิดขึ้นก่อนที่สายแรกจะจบลงจะเกิดอะไรขึ้น การโทรครั้งแรกจะได้รับการล็อคแบบเอกสิทธิ์เฉพาะบุคคลในไฟล์เอาต์พุตหรือไม่? หากเป็นเช่นนั้นสคริปต์ที่สองจะล้มเหลวเมื่อพยายามเขียนหรือเชลล์ยอมรับเอาต์พุต (อนุญาตให้สคริปต์จบ) และส่งข้อผิดพลาดหรือไม่? หรือไฟล์บันทึกถูกเขียนถึงสองครั้งหรือไม่?

3
ทำไม mutt เก็บอีเมลที่ถูกลบไว้ในมุมมองจนกว่าคุณจะ“ ซิงค์กล่องจดหมายของคุณ” โดยใช้ $
โปรแกรมรับส่งเมลอื่นที่ฉันใช้จะลบอีเมลออกจากสายตาของฉันเมื่อฉันลบออก ถ้าฉันเปลี่ยนใจและต้องการอีเมลกลับมาฉันสามารถไปหามันได้ในถังขยะ ทำไม mutt ยังคงแสดงอีเมลในกล่องจดหมายหลังจากที่ฉันลบไปแล้ว? เป็นไปได้หรือไม่ที่จะซ่อนพวกเขาทันทีที่ฉันลบพวกเขา?
30 mutt 

6
เป็นกลุ่ม: แทนที่ตัวละครทั้งหมดจนจบบรรทัด
บางทีฉันอาจบ้าคลั่ง แต่คุณสามารถแทนที่ตัวละครทั้งหมดจากที่ที่เคอร์เซอร์อยู่ที่ท้ายบรรทัดด้วยคำสั่งเดียวได้หรือไม่? จากนั้นใช้.เพื่อทำสิ่งเดียวกันแทนที่ในบรรทัดถัดไปเป็นต้น
30 vim 

1
วิธีกำหนดไดรเวอร์ USB ให้กับอุปกรณ์
คำถามนี้เป็นสองเท่า: ขั้นแรกให้คุณถอดไดรฟ์เวอร์จากอุปกรณ์ USB ด้วยตนเองและต่อกับไดรฟเวอร์อื่นได้อย่างไร ตัวอย่างเช่นฉันมีอุปกรณ์ที่เมื่อเชื่อมต่อโดยอัตโนมัติจะใช้ไดรเวอร์เก็บข้อมูล usb เอาท์พุท usbview Vendor Id: xxxx Product Id: xxxx ... Number of Interfaces: 2 Interface Number: 0 Name: usb-storage Number of Endpoints: 2 ... Interface Number: 1 Name: (none) Number of Endpoints: 2 ... ฉันไม่ต้องการใช้ไดรเวอร์เก็บข้อมูล usb ดังนั้นในแอปพลิเคชันของฉันฉันใช้libusbห้องสมุดเพื่อถอดไดรเวอร์เก็บข้อมูล usb จากนั้นฉันอ้างสิทธิ์อินเทอร์เฟซ ฉันสามารถส่งข้อมูลไปยังและจากแอปพลิเคชันที่ทำงานบนอุปกรณ์ USB ของฉันและบนระบบโฮสต์ Linux ของฉัน คุณถอดไดรเวอร์ออกด้วยตนเองนอกแอพพลิเคชั่นอย่างไร …

6
เปลี่ยนรูปร่างเคอร์เซอร์ (หรือสี) เพื่อระบุโหมด vi ใน bash
ชี้แจง:ผมไม่ได้ถามถึงวิธีการเปลี่ยนเคอร์เซอร์เมื่อใช้เป็นกลุ่มที่อยู่ในขั้ว ฉันต้องการให้เคอร์เซอร์เปลี่ยนเมื่อสลับระหว่างโหมดอินพุตและคำสั่งภายในโหมด Vi ของ Bash: set -o vi <CR> type some text <ESC> (the cursor changes shape/color) i (cursor change back) etc... ฉันพบสคริปต์ที่ทำให้การเปลี่ยนสีของเคอร์เซอร์ในโหมดการเปลี่ยนแปลงเป็นไปได้ในzshแต่ฉันไม่ต้องการเปลี่ยนเชลล์สำหรับคุณลักษณะนี้เพียงอย่างเดียว มีวิธีที่จะให้เคอร์เซอร์เปลี่ยนรูปร่างเช่นใน gvim (หรือเพียงแค่สี) เมื่อสลับระหว่างโหมดคำสั่งและโหมดแทรกในบรรทัดคำสั่ง Bash หรือไม่?
30 bash  vi  line-editor 


9
วิธีติดตามการเปลี่ยนแปลงใน / etc /
ฉันต้องการติดตามการเปลี่ยนแปลงใน / etc / โดยทั่วไปฉันต้องการทราบว่าไฟล์มีการเปลี่ยนแปลงโดยyum updateหรือโดยผู้ใช้และย้อนกลับถ้าฉันไม่ชอบ chage ฉันคิดว่าจะใช้ VCS เช่น git, LVM หรือ btrfs snapshot หรือโปรแกรมสำรองข้อมูลสำหรับสิ่งนี้ คุณจะแนะนำอะไร
30 backup  git  btrfs  etc 

14
จะค้นหาที่อยู่ IP ของเครื่องเสมือน KVM ที่ฉันสามารถใช้ SSH ได้อย่างไร
ฉันได้ปฏิบัติตามคำแนะนำนี้ (การจำลองเสมือนด้วย KVM บน Ubuntu 11.10 ) เพื่อตั้งค่า KVM (ซอฟต์แวร์เครื่องเสมือน) ของฉันบน Ubuntu 11.10 Server ของฉัน อย่างไรก็ตามฉันไม่ได้ตั้งค่าที่อยู่ IP ของ VM เมื่อสร้าง VM แทนที่จะใช้: vmbuilder kvm ubuntu --suite=oneiric --flavour=virtual --arch=amd64 --mirror=http://de.archive.ubuntu.com/ubuntu -o --libvirt=qemu:///system --ip=192.168.0.101 --gw=192.168.0.1 --part=vmbuilder.partition --templates=mytemplates --user=administrator --name=Administrator --pass=howtoforge --addpkg=vim-nox --addpkg=unattended-upgrades --addpkg=acpid --firstboot=/var/lib/libvirt/images/vm1/boot.sh --mem=256 --hostname=vm1 --bridge=br0 ฉันใช้: (ฉันลบ "--ip = 192.168.0.101 …
30 ubuntu  networking  ip  kvm 

5
วิธีค้นหากระบวนการที่ทำให้เกิดการใช้งาน CPU สูง
มีวิธีใดบ้างที่จะทราบได้จากเทอร์มินัลว่ากระบวนการใดทำให้เกิดการใช้งาน CPU สูง? มันจะมีประโยชน์ในการจัดลำดับกระบวนการตามลำดับของการใช้ cpu
30 linux  terminal  process  cpu 

5
Shell Script mktemp วิธีที่ดีที่สุดในการสร้าง pipe ที่มีชื่อชั่วคราวคืออะไร?
ฉันทราบดีที่สุดว่าควรสร้างไฟล์ชั่วคราวด้วยmktempแต่จะมีชื่อไพพ์ว่าอย่างไร ฉันชอบสิ่งที่จะเป็นไปตาม POSIX ที่สุดเท่าที่จะทำได้ แต่ Linux เท่านั้นที่ยอมรับได้ หลีกเลี่ยง Bashisms dashเป็นเกณฑ์อย่างหนักของฉันเท่านั้นที่ผมเขียน
30 linux  shell  security  pipe 

6
จะปิดการใช้ swap อย่างสมบูรณ์ได้อย่างไร
ฉันใช้ Debian sid, ฮาร์ดไดรฟ์ที่ฟอร์แมตด้วย ext4, ทำงานบน linux 3.1 ฉันจำรุ่นก่อนหน้าของ linux (อาจจะก่อนหน้า 3.0) หากฉันมีหน่วยความจำไม่เพียงพอและไม่ได้เปิดใช้งาน swap โปรแกรมมักจะทำงานผิดพลาด สิ่งนี้เหมาะสำหรับสภาพแวดล้อมของฉัน: การท่องเว็บอย่างง่าย ๆ โดยไม่มีการดำเนินการที่สำคัญ นั่นคือถ้าฉันบังเอิญวิ่งข้ามเว็บไซต์ที่ไม่ดีซึ่งใช้หน่วยความจำมากเกินไปมันก็จะขัดข้องโดยไม่แสดงผลเทอร์มินัลของฉัน แต่ในการตั้งค่าปัจจุบันของฉันคอมพิวเตอร์แฮงค์ด้วยปริมาณข้อมูล I / O ที่รุนแรงในพื้นหลัง iotop เผย kswapd0 เป็นผู้ร้ายซึ่งหมายความว่าเกิดจากการแลกเปลี่ยน หลังจากใช้swapon -sเพื่อกำหนด swaps ใด ๆ ที่เปิดใช้งานฉันใช้swapoff -aเพื่อปิดใช้งาน swaps ทั้งหมดและswapon -sอีกครั้งเพื่อยืนยันว่า swaps ทั้งหมดถูกปิดใช้งาน จากนั้นฉันพยายามเพิ่มการใช้หน่วยความจำให้สูงสุดอีกครั้ง อนิจจาพฤติกรรมที่ฉันคาดไว้ไม่ได้เกิดขึ้น kswapd0 จะพยายามแลกเปลี่ยน RAM ซ้ำและล้มเหลวเนื่องจากไม่มีพื้นที่สว็อป เพราะมันไม่เคยยอมแพ้คอมพิวเตอร์ของฉันถูกล็อคด้วยการแช่แข็ง I / …
30 linux  debian  swap  freeze 

5
วิธีบันทึกเซสชัน GNOME 3
GNOME 2 อนุญาตให้บันทึกเซสชันโดยอัตโนมัติหรือด้วยตนเอง (เช่นบันทึกเซสชันตามที่เห็นตอนนี้ ) นี่เป็นคุณสมบัติที่ดีเพราะจะคืนสถานะเดสก์ท็อปที่หลากหลายระหว่างการเข้าสู่ระบบ (และรีสตาร์ทระบบ): แอปใดที่เปิดอยู่ โดยที่ (ทางร่างกาย) อยู่บนเดสก์ท็อป แอปเหล่านี้ตั้งค่าขนาดหน้าต่างที่เฉพาะเจาะจง เมื่อมองไปรอบ ๆ ฉันไม่พบคุณลักษณะใน GNOME 3 ใช่ไหม ฉันดูไม่หนักพอหรือเปล่า?
30 gnome3 

2
การเชื่อมต่อที่ไม่ได้ใช้งานในสถานะ CLOSE_WAIT
ฉันมีเครื่อง SLES ที่สะสมการเชื่อมต่อ TCP ในสถานะ CLOSE_WAIT สำหรับสิ่งที่ดูเหมือนจะเป็นตลอดไป ตัวอธิบายเหล่านี้ดูดหน่วยความจำที่มีอยู่ทั้งหมดในที่สุด ในขณะนี้ฉันมี 3037 ของพวกเขา แต่มันสูงกว่ามากก่อนที่จะรีบูตเครื่องเร็ว ๆ นี้ สิ่งที่น่าสนใจคือพวกเขาไม่ได้มาจากการเชื่อมต่อไปยังพอร์ตท้องถิ่นที่ฉันคาดว่าจะมีกระบวนการฟัง พวกเขาไม่มี PID ที่เกี่ยวข้องและตัวจับเวลาดูเหมือนว่าจะหมดอายุแล้ว # netstat -ton | grep CLOSE_WAIT tcp 176 0 10.0.0.60:54882 10.0.0.12:31663 CLOSE_WAIT off (0.00/0/0) tcp 54 0 10.0.0.60:60957 10.0.0.12:4503 CLOSE_WAIT off (0.00/0/0) tcp 89 0 10.0.0.60:50959 10.0.0.12:3518 CLOSE_WAIT off (0.00/0/0) # netstat …
30 linux  networking  tcp 

5
แหล่งข้อมูลที่ดีที่สุดในการเรียนรู้สคริปต์ทุบตี? [ปิด]
ฉันได้ตั้งโปรแกรมในหลายภาษาเป็นเวลาสองปีแล้วฉันหมายความว่าฉันรู้วิธีออกแบบและใช้งานโซลูชันที่เหมาะสมสำหรับปัญหาที่กำหนด อย่างไรก็ตามการทุบตีทำให้ฉันปวดหัวอย่างมากไม่มีอะไรที่ทำได้ตามที่คาดไว้หรือแม้แต่ไม่มีข้อผิดพลาด คำแนะนำทั้งหมดที่ฉันพบนั้นไม่เป็นทางการอย่างไม่น่าเชื่อสรุปไวยากรณ์ของมันไม่ถูกต้องหรือบอกข้อผิดพลาดทั่วไปที่คุณสามารถทำได้ ดังนั้นคุณสามารถแนะนำฉันได้อย่างไร
30 bash  reference 

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