Unix & Linux

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

2
การใช้หน่วยความจำ httpd
มีปัญหากับhttpd( Apache/2.2.29) การใช้หน่วยความจำ เมื่อเวลาผ่านไปการใช้หน่วยความจำในhttpdกระบวนการจะเพิ่มขึ้นจนกว่าจะถึง 100% ครั้งสุดท้ายที่ฉันเริ่มต้นใหม่httpdประมาณ 24 ชั่วโมงที่ผ่านมา ผลลัพธ์จากfree -mคือ: [ec2-user@www ~]$ free -m total used free shared buffers cached Mem: 1655 1415 239 0 202 424 -/+ buffers/cache: 788 866 Swap: 1023 4 1019 เพื่อพิสูจน์ว่ามันแน่นอนhttpdฉันเริ่มต้นใหม่httpdและวิ่งfree -mอีกครั้ง: [ec2-user@www ~]$ sudo service httpd restart Stopping httpd: [ OK ] Starting httpd: …

2
การรีสตาร์ท init โดยไม่ต้องรีสตาร์ทระบบ
ในคำถามนี้คำตอบที่ได้รับการยอมรับระบุไว้ว่า ตัวอย่างเช่น / sbin / init ใช้ glibc [the lib ที่มีช่องโหว่] และการรีสตาร์ทโดยไม่มีการรีบูตไม่ใช่เรื่องเล็กน้อย ทีนี้ไม่ใช่เรื่องไร้สาระสำหรับวิศวกรที่เป็นไปไม่ได้แต่ฉันก็ยังสงสัยอยู่: เป็นไปได้ไหมที่จะรีสตาร์ท init โดยไม่ต้องรีสตาร์ททั้งระบบ?
13 init 

4
NFS ไม่เมานต์อีกต่อไป: rpc-statd ไม่สามารถเริ่มต้นได้
เมื่อใดก็ตามที่ฉันพยายามเริ่มต้นติดตั้ง NFS ฉันจะได้รับ: Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Version 1.3.2 starting Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Flags: TI-RPC Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: Running as root. chown /var/lib/nfs to choose different user Feb 12 00:02:19 martin-xps.lico.nl rpc.statd[23582]: failed to create RPC listeners, exiting Feb 12 00:02:19 martin-xps.lico.nl systemd[1]: rpc-statd.service: control …
13 linux  arch-linux  nfs 


4
ปัญหาเกี่ยวกับการทำความเข้าใจแนวคิดของการติดตั้ง
ต้องอ่านทั้งสองสิ่งมีความหมายโดยการติดตั้งอุปกรณ์ใน Linux? และการทำความเข้าใจ "mount" เป็นแนวคิดในระบบปฏิบัติการฉันมีปัญหาเมื่อมีการระบุว่า ที่เก็บข้อมูลที่เข้าถึงได้ทั้งหมดจะต้องมีตำแหน่งที่เกี่ยวข้องในแผนผังไดเรกทอรีเดียวนี้ สิ่งนี้แตกต่างจาก Windows โดยที่ (ในรูปแบบที่พบบ่อยที่สุดสำหรับเส้นทางของไฟล์) จะมีโครงสร้างไดเรกทอรีหนึ่งอันต่อองค์ประกอบหน่วยความจำ (ไดรฟ์) การเมาท์คือการเชื่อมโยงอุปกรณ์จัดเก็บข้อมูลกับตำแหน่งเฉพาะในแผนผังไดเรกทอรี แต่มีตำแหน่งที่สามารถเข้าถึงได้สำหรับไดรฟ์ซีดีรอมที่กล่าวถึงภายใต้ / dev / cdrom ซึ่งเห็นได้ชัดว่ามาในลำดับชั้นของไดเรกทอรี เหตุใดจึงต้องสร้าง "จุดเมานท์" แยกต่างหากใต้ / media / cdrom เหตุใดการเข้าถึงโดยตรงจาก / dev / cdrom จึงเป็นไปไม่ได้ ฉันได้ยินมาว่าไฟล์อุปกรณ์ของโหนดนั้นเหมือนกับไฟล์ทั่วไป และการอ่านและการเขียนถึงมันก็เหมือนกับไฟล์ทั่วไป นี่หมายความว่าระบบไฟล์ใน cdrom ไม่สามารถใช้ได้ถ้าเราเข้าถึงจาก / dev / cdrom และลำดับชั้นของระบบแฟ้ม (ภายใน cdrom) "มีชีวิต" เมื่อเรา "เมา" หรือไม่
13 linux  mount  devices 

1
ช่องโหว่ผี - CVE-2015-0235
ที่ไม่ช่องโหว่ผีจำเป็นต้องเข้าถึง (ในขณะที่เป็นอยู่ในระบบต่อผู้ใช้) กับระบบปฏิบัติการได้รับผลกระทบในคำถาม? บางคนสามารถอธิบาย 'ผู้โจมตีจากระยะไกลที่สามารถโทรแอปพลิเคชัน' ได้หรือไม่? ฉันดูเหมือนจะหาการทดสอบเพื่อทำงานบนระบบโลคัลโดยตรง แต่ไม่ใช่จากโฮสต์ระยะไกล ข้อมูลทั้งหมดที่ฉันได้รวบรวมเกี่ยวกับGhost Vulnerabilityจากหลายแหล่ง (เครดิตไปยังแหล่งข้อมูลเหล่านั้น) ฉันได้โพสต์ไว้ด้านล่างในคำตอบในกรณีที่คนอื่นอยากรู้อยากเห็น แก้ไขฉันพบคำตอบของฉัน: ในระหว่างการตรวจสอบรหัสนักวิจัย Qualys ค้นพบบัฟเฟอร์มากเกินไปในฟังก์ชัน __nss_hostname_digits_dots () ของ glibc ข้อผิดพลาดนี้สามารถถูกเรียกทั้งในประเทศและจากระยะไกลผ่านฟังก์ชั่น gethostbyname * () ทั้งหมด แอปพลิเคชันสามารถเข้าถึงตัวแก้ไข DNS เป็นหลักผ่านชุดฟังก์ชัน gethostbyname * () ฟังก์ชั่นเหล่านี้แปลงชื่อโฮสต์เป็นที่อยู่ IP

4
ฉันจะแทนที่ bash ด้วย Python ได้อย่างไร
ตามที่ได้รับการยอมรับคำตอบสำหรับคำถามนี้ SO: งูหลามสามารถสร้างทดแทนทุบตีที่ดี คำถามของฉันคือ: ฉันจะเปลี่ยนสวิตช์ได้อย่างไร? ฉันคิดว่าสิ่งสำคัญในการเรียงลำดับเพื่อให้สวิตช์เป็นเช่น: เมื่อเริ่มต้นเทอร์มินัลเสมือนโทรหา Python shell (จะเป็นอย่างไร) แทนที่จะเป็นบอร์นเชลล์ มันสมเหตุสมผลไหม ถ้าใช่ฉันจะทำสิ่งนั้นได้อย่างไร การเปรียบเทียบวิกิพีเดียของเชลล์ทั่วไปไม่ได้แสดงรายการ Python เชลล์เดี่ยว: การเปรียบเทียบเชลล์คำสั่ง
13 shell  python 

4
ฉันจะรันคำสั่งและรับรหัสการออกโดยใช้อักขระน้อยลงได้อย่างไร
ฉันเคยเขียนสคริปต์ของฉันเช่นนี้: some_command while [ $? -ne 0 ] ; do sleep 1 some_command done มันทำให้ฉันรำคาญอยู่เสมอว่าฉันต้องเขียนsome_commandสองครั้ง ฉันสามารถวางมันไว้ในส่วนการทดสอบลูปได้ไหม?

4
Bluetoothctl: ไม่มีตัวควบคุมเริ่มต้น
ฉันมีปัญหาในการเชื่อมต่อคีย์บอร์ด Logitech K810 Bluetooth ใน Debian Jessie กับ BlueZ รุ่น 5.23-1, เคอร์เนล 3.16.0-4 แป้นพิมพ์ใช้งานได้ดีเกือบตลอดเวลา แต่บางครั้งก็ใช้งานไม่ได้และbluetoothctlทำให้ฉันมีข้อผิดพลาดที่ตัวควบคุมไม่พร้อมใช้งาน เมื่อสิ่งนี้เกิดขึ้น hciconfig ยังคงจดจำอุปกรณ์และฉันได้รับผลลัพธ์นี้: # hciconfig hci0 up # hciconfig hci0: Type: BR/EDR Bus: USB BD Address: 40:2C:F4:68:02:CA ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNING PSCAN RX bytes:21820 acl:1132 sco:0 events:68 errors:0 TX bytes:1182 acl:11 …

1
urxvt เพิ่มการขยาย (ระยะห่างระหว่างข้อความและเส้นขอบ)
เป็นไปได้หรือไม่ที่จะเพิ่มช่องว่างระหว่างข้อความกับเส้นขอบใน urxvt และถ้าเป็นเช่นนั้นจะเป็นอย่างไร ฉันหาแหล่งข้อมูลออนไลน์ไม่พบ
13 urxvt 

2
ตัวแปรใช้“ ~” สำหรับ cd'ing ได้อย่างไร
ฉันจะใช้ตัวแปร - $BASEในซีดีของฉันได้อย่างไร ฉันลองสิ่งต่อไปนี้ แต่ฉันได้รับข้อผิดพลาด $ cd ~/z/repo_1_ruby_193/ 23:23:57 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ BASE="~/z" 23:24:03 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193 $ cd $BASE/repo_1_ruby_193 -bash: cd: ~/z/repo_1_ruby_193: No such file or directory 23:24:25 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193

3
USB เป็น VGA บน Linux
ฉันได้รับข้อเสนอ Macbook Pro เมื่อกลางปี ​​2012 แม้ว่ามันจะไม่ได้เป็นตัวเลือกแรกของฉัน แต่มันก็ยังเป็นฮาร์ดแวร์ที่ยอดเยี่ยม แต่ปัญหาสำหรับฉันคือมันมีเพียงพอร์ต Thunderbolt เดียวที่อนุญาตให้ฉันเสียบจอภาพภายนอกหนึ่งจอเป็นค่าเริ่มต้นเท่านั้น ฉันใช้ Debian 64 บิตและฉันกำลังมองหาวิธีแก้ปัญหาเพื่อเพิ่มจอภาพภายนอกตัวที่สอง (รวมเป็นสาม) ตัวเลือกเดียวของฉันดูเหมือนว่าจะใช้อะแดปเตอร์USB เป็น DVI / VGA ฉันตระหนักถึงข้อ จำกัด มันจะเป็นบทเรียนพื้นฐานและสิ่งสำนักงาน ฉันใช้ Google มาระยะหนึ่งแล้วและไม่สามารถหาข้อมูลที่เชื่อถือได้เกี่ยวกับการใช้อุปกรณ์ประเภทนี้บน Linux ฉันชอบผจญภัยดังนั้นฉันไม่รังเกียจที่จะสกปรกในไฟล์ปรับแต่งแม้ว่าฉันจะไม่ได้มีประสบการณ์กับสิ่งเหล่านี้มากบน Linux มีใครเคยมีประสบการณ์ในการทำงานเหล่านี้บ้างไหม? คุณจะแนะนำอุปกรณ์ใด ความช่วยเหลือ / คำแนะนำ / ประสบการณ์ส่วนตัว หมายเหตุ:ฉันไม่ได้ขอข้อมูลสำหรับอุปกรณ์เฉพาะที่เชื่อมโยงคำถามของฉันเป็นหลักไม่มีใครมีประสบการณ์ในการทำให้อุปกรณ์ USB กับ VGA ทำงานบน Linux และถ้าเป็นเช่นนั้นอุปกรณ์ใด? บางทีความคิดเห็นเกี่ยวกับการกำหนดค่าเฉพาะที่ใช้เนื่องจากการตั้งค่าเหล่านั้นบน Linux ดูเหมือนจะไม่สำคัญ

9
เครื่องมือบรรทัดคำสั่งเพื่อ“ cat” การขยายแบบคู่ของแถวทั้งหมดในไฟล์
สมมติว่าฉันมีไฟล์ (เรียกว่า sample.txt) ที่มีลักษณะดังนี้: Row1,10 Row2,20 Row3,30 Row4,40 ฉันต้องการที่จะทำงานกับสตรีมจากไฟล์นี้ซึ่งเป็นการรวมกันแบบคู่ของทั้งสี่แถว (ดังนั้นเราควรจะจบด้วย 16 ทั้งหมด) ตัวอย่างเช่นฉันกำลังมองหาคำสั่งสตรีม (เช่นมีประสิทธิภาพ) โดยที่เอาต์พุตคือ: Row1,10 Row1,10 Row1,10 Row2,20 Row1,10 Row3,30 Row1,10 Row4,40 Row2,20 Row1,10 Row1,20 Row2,20 ... Row4,40 Row4,40 กรณีการใช้งานของฉันคือฉันต้องการสตรีมเอาต์พุตนี้ไปยังคำสั่งอื่น (เช่น awk) เพื่อคำนวณเมทริกบางส่วนเกี่ยวกับชุดค่าผสมแบบคู่นี้ ฉันมีวิธีที่จะทำสิ่งนี้ใน awk แต่ข้อกังวลของฉันคือการใช้บล็อก END {} ของฉันหมายความว่าฉันกำลังเก็บไฟล์ทั้งหมดไว้ในหน่วยความจำก่อนส่งออก รหัสตัวอย่าง: awk '{arr[$1]=$1} END{for (a in arr){ for (a2 in …

5
ฉันจะเขียนโปรแกรมได้อย่างไรถ้าชื่อไฟล์ตรงกับรูปแบบของเชลล์กลม?
ผมอยากจะบอกว่าสตริงจะตรงตามรูปแบบ $string glob อาจหรืออาจไม่ใช่ชื่อของไฟล์ที่มีอยู่ ฉันจะทำสิ่งนี้ได้อย่างไร$pattern$string สมมติรูปแบบต่อไปนี้สำหรับสตริงอินพุตของฉัน: string="/foo/bar" pattern1="/foo/*" pattern2="/foo/{bar,baz}" ฉันต้องการที่จะหาสำนวนทุบตีที่กำหนดว่า$stringจะได้รับการจับคู่โดย$pattern1, $pattern2หรือรูปแบบ glob พลอื่น ๆ นี่คือสิ่งที่ฉันได้ลองไปแล้ว: [[ "$string" = $pattern ]] เกือบจะใช้งานได้ยกเว้นว่า$patternตีความเป็นรูปแบบสตริงและไม่เป็นรูปแบบแบบกลม [ "$string" = $pattern ] ปัญหาด้วยวิธีนี้คือการที่$patternมีการขยายและจากนั้นเปรียบเทียบสตริงจะดำเนินการระหว่างและการขยายตัวของ$string$pattern [[ "$(find $pattern -print0 -maxdepth 0 2>/dev/null)" =~ "$string" ]] อันนี้ใช้งานได้ แต่เฉพาะถ้า$stringมีไฟล์ที่มีอยู่ [[ $string =~ $pattern ]] สิ่งนี้ไม่ทำงานเนื่องจาก=~โอเปอเรเตอร์ทำให้เกิด$patternการตีความว่าเป็นนิพจน์ปกติแบบขยายไม่ใช่รูปแบบแบบกลมหรือไวด์การ์ด
13 bash  wildcards 


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