คำถามติดแท็ก linux

คำถามเหล่านี้เกี่ยวกับ Linux โดยทั่วไป - ไม่เฉพาะเจาะจงสำหรับการแจกจ่ายเฉพาะ หากคำถามเกิดขึ้นในสภาวะแวดล้อม Linux โปรดระบุการกระจาย Linux ของคุณในเนื้อความของคำถามของคุณ แต่อย่าใช้แท็ก / linux

1
ท่อ“ รั่ว” ใน linux
สมมติว่าคุณมีไพพ์ไลน์ดังนี้: $ a | b หากbหยุดการประมวลผล stdin หลังจากนั้นไม่นานท่อจะเต็มและเขียนจากaไปยัง stdout จะบล็อก (จนกว่าจะbเริ่มการประมวลผลอีกครั้งหรือไม่ก็ตาย) หากฉันต้องการหลีกเลี่ยงสิ่งนี้ฉันอาจถูกล่อลวงให้ใช้ท่อขนาดใหญ่กว่า (หรือมากกว่านั้นbuffer(1)) ได้เช่น: $ a | buffer | b นี่จะซื้อเวลาให้ฉันมากขึ้น แต่ในที่สุดaก็จะหยุด สิ่งที่ฉันชอบ (สำหรับสถานการณ์ที่เฉพาะเจาะจงมากที่ฉันกำลังพูดถึง) คือการมีท่อ "รั่ว" ที่เมื่อเต็มแล้วจะลดลงข้อมูลบางส่วน (นึกคิดทีละบรรทัดโดยบรรทัด) จากบัฟเฟอร์เพื่อให้aดำเนินการต่อ การประมวลผล (อย่างที่คุณคงจินตนาการได้ว่าข้อมูลที่ไหลในไพพ์นั้นมีค่าใช้จ่ายนั่นคือการมีข้อมูลที่ประมวลผลโดยbมีความสำคัญน้อยกว่าการaวิ่งโดยไม่ปิดกั้น) เพื่อสรุปมันขึ้นมาฉันชอบที่จะมีบางสิ่งบางอย่างเช่นบัฟเฟอร์ที่มีขอบเขตและมีรอยรั่ว: $ a | leakybuffer | b ฉันอาจใช้มันได้อย่างง่ายดายในภาษาใด ๆ ฉันแค่สงสัยว่ามีบางสิ่งที่ "พร้อมใช้" (หรือบางสิ่งบางอย่างเช่นทุบตีสายการบินเดียว) ที่ฉันขาดไป หมายเหตุ: ในตัวอย่างที่ฉันใช้ไพพ์ทั่วไป แต่คำถามก็ใช้ได้กับไพพ์ที่ตั้งชื่อด้วย ในขณะที่ฉันได้รับคำตอบด้านล่างฉันก็ตัดสินใจที่จะใช้คำสั่ง leakybuffer เพราะวิธีง่ายๆด้านล่างมีข้อ …
12 linux  pipe  fifo  buffer 

1
การเรียกครั้งต่อไปที่ wpa_supplicant ล้มเหลว - ไม่สามารถเชื่อมต่อกับ wifi ได้
ฉันมีเซิร์ฟเวอร์ ubuntu 15.10 ซึ่งใช้ wpa_supplicant เพื่อเชื่อมต่อกับส่วนกำหนดค่าเครือข่ายไร้สายที่สร้างด้วย wpa_passphrase ในการรีบูตครั้งใหม่ครั้งแรกที่ฉันโทรsudo wpa_supplicant -B -i wlp2s0 -c ./MVS(โดยที่ MVS เป็นชื่อของโปรไฟล์ที่บันทึกไว้สำหรับเครือข่าย) ฉันจะได้รับผลลัพธ์ Successfully initialized wpa_supplicant Could not read interface p2p-dev-wlp2s0 flags: No such device แต่รหัสออกเป็นศูนย์และฉันสามารถยืนยันได้ว่าฉันกำลังเชื่อมต่อกับเครือข่ายไร้สายด้วยการใช้งาน sudo iw wlp2s0 link อย่างไรก็ตามการเรียกที่ตามมาไปยัง wpa_supplicant (สำหรับโปรไฟล์อื่นหรือแม้แต่อันเดียวกัน) ให้เอาต์พุต verbose มากขึ้น: Successfully initialized wpa_supplicant Could not read interface p2p-dev-wlp2s0 flags: No …

2
ฉันจะได้รับจำนวนหน่วยความจำที่พร้อมใช้งานแบบพกพาข้ามการกระจายได้อย่างไร
ไฟล์ / เครื่องมือมาตรฐานที่รายงานหน่วยความจำดูเหมือนจะมีรูปแบบที่แตกต่างกันในการแจกแจง Linux ที่แตกต่างกัน ตัวอย่างเช่นบน Arch และ Ubuntu โค้ง $ free total used free shared buff/cache available Mem: 8169312 3870392 2648348 97884 1650572 4110336 Swap: 16777212 389588 16387624 $ head /proc/meminfo MemTotal: 8169312 kB MemFree: 2625668 kB MemAvailable: 4088520 kB Buffers: 239688 kB Cached: 1224520 kB SwapCached: 17452 kB …
12 linux  memory  meminfo 

1
มันสมเหตุสมผลหรือไม่ที่จะวาง btrfs ลงใน lvm?
นี่คือ OpenSUSE Leap 42 ฉันมีคอมพิวเตอร์ที่มีไดรฟ์SATA HDD 500 x 2x500 GBและเพื่อเพิ่มความเร็วฉันใส่ไดรฟ์SSD ขนาดเล็ก 30GBสำหรับระบบ ในระหว่างการติดตั้ง HDD ถูกตัดการเชื่อมต่อเนื่องจากพวกเขาสับสนกับตัวติดตั้ง (และฉัน) เมื่อระบบหยุดทำงานฉันค่อนข้างจะแลกเปลี่ยนไดเร็กตอรี่/ homeสำหรับโลจิคัลวอลุ่ม XFS (ฉันใช้ LVM เป็นหลักเพื่อเพิ่มพื้นที่ได้อย่างง่ายดาย) จากนั้น/ เลือกเติม (โครเมียมและพฤกษศาสตร์) และฉันต้องการที่จะวางบนไดรฟ์ข้อมูลบน HDD ดังนั้นฉันจึงสร้างวอลลุ่มและฟอร์แมตด้วย BTRFS หลังจากมีรอยขีดข่วนหัว - @ subvolumesใน fstab ทำให้ฉันอ่าน BTRFS ฉันทำสิ่งที่ฉันต้องการ - / opt ตอนนี้มีขนาด 100 GB แต่คำถามคือ: การจัดรูปแบบปริมาณ LVM ด้วย btrfs หรือไม่ โดยพื้นฐานแล้วทั้งคู่เป็นระบบการจัดการปริมาณ …
12 linux  partition  lvm  btrfs 

1
คำเตือนของ CPU - abrt-watch-log
ฉันใช้Red Hat Enterprise Linux Server รีลีส 7.1 (Maipo)บนIntel (R) Xeon (R) CPU X5690 @ 3.47GHz ฉันได้รับข้อผิดพลาดนี้abrt-watch-logต่อไป root 888 1 0 Aug03 ? 00:00:00 /usr/bin/abrt-watch-log -F BUG: WARNING: at WARNING: CPU: INFO: possible recursive locking detected ernel BUG at list_del corruption list_add corruption do_IRQ: stack overflow: ear stack overflow (cur: eneral …

1
การเปลี่ยนค่า TCP RTO ใน Linux
ฉันต้องการเปลี่ยนค่า TCP RTO (retransmission timeout)สำหรับการเชื่อมต่อและการอ่านบางอย่างที่ฉันทำเสร็จแล้วแสดงให้เห็นว่าฉันสามารถทำได้ แต่ไม่เปิดเผยที่และวิธีการเปลี่ยน ฉันดู/proc/sys/net/ipv4ตัวแปรแล้ว แต่ไม่มีตัวแปรใดที่เกี่ยวข้องกับ RTO ฉันจะขอบคุณถ้ามีคนบอกฉันว่าจะแก้ไขค่านี้ได้อย่างไร

3
สิทธิ์ลินุกซ์ทำงานอย่างไรเมื่อกระบวนการทำงานเป็นกลุ่มเฉพาะ
นี่คือสิ่งที่ฉันไม่สามารถหาข้อมูลได้มากนักเพื่อช่วยในการชื่นชม ความเข้าใจของฉันจึง ใช้ไฟล์ต่อไปนี้: -rw-r----- 1 root adm 69524 May 21 17:31 debug.1 ผู้ใช้philไม่สามารถเข้าถึงไฟล์นี้: phil@server:/var/log$ head -n 1 debug.1 cat: debug.1: Permission denied หากphilถูกเพิ่มลงในadmกลุ่มสามารถ: root@server:~# adduser phil adm Adding user `phil' to group `adm' ... Adding user phil to group adm Done. phil@server:/var/log$ head -n 1 debug.1 May 21 11:23:15 server …

4
การจัดการกลุ่ม cg ต้องการการเข้าถึงรูตหรือไม่?
ฉันพยายามทำงานกับกลุ่มควบคุมในระบบปฏิบัติการสองระบบ (Ubuntu และ CentOS) มีข้อกังวลเล็กน้อยที่ฉันอยากจะถาม ฉันพยายามสร้างกลุ่มควบคุมโดยใช้cgcreateคำสั่งและดูเหมือนว่าต้องมีการเข้าถึงรูทบนเครื่อง ตัวอย่างทั้งหมดที่ฉันเห็นมาแล้วไม่ได้พูดอะไรเกี่ยวกับการเป็นผู้ใช้รูทสำหรับการสร้างหรือแก้ไขกลุ่มควบคุม จำเป็นหรือไม่ที่จะต้องเป็นผู้ใช้รูท? เป้าหมายสุดท้ายคือการเขียนแอปพลิเคชัน C ++ ที่สร้างและจัดการกลุ่มควบคุมเพื่อควบคุมทรัพยากรโดยใช้ libcgroup API แต่แอปพลิเคชัน C ++ จะไม่ถูกเรียกใช้โดยผู้ใช้รูทใด ๆ อาจเป็นผู้ใช้ทั่วไปก็ได้

2
เปลี่ยนรหัสผ่านโดยทางโปรแกรม
ใน Raspian รุ่นปัจจุบันฉันรู้ว่ามันเป็นไปได้ที่จะเปลี่ยนรหัสผ่านของผู้ใช้ที่เข้าสู่ระบบในปัจจุบันจากบรรทัดคำสั่งดังนี้: sudo passwd ซึ่งจะแจ้งให้ผู้ใช้ป้อนรหัสผ่านใหม่สองครั้ง สิ่งนี้จะสร้างผลลัพธ์เช่น: Changing password for pi. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully ฉันสงสัยว่ามีวิธีที่เป็นไปได้ในการเปลี่ยนรหัสผ่านโดยทางโปรแกรมเช่นจากเชลล์สคริปต์ ฉันพยายามสร้างสคริปต์การกำหนดค่าเพื่อปรับใช้กับ Raspberry Pis ของฉันและฉันไม่ต้องการพิมพ์รหัสผ่านใหม่ด้วยตนเอง

2
SIGINFO บน GNU Linux (Arch Linux) หายไป
ฉันกำลังพัฒนาแอปพลิเคชันและฉันต้องการพิมพ์สถิติรันไทม์บางส่วนไปยังคอนโซลตามต้องการ killและสัญญาณมาถึงใจของฉันทันที การอ่านสัญญาณ Unixบน Wiki SIGINFOดูเหมือนจะเป็นไปได้เพราะ: มันมีไว้สำหรับวัตถุประสงค์เหล่านี้ ไม่ยุติกระบวนการหากไม่มีการใช้งานตัวจัดการสัญญาณ (ตรงกันข้ามกับSIGUSRx- ดูที่นี่ ) อย่างไรก็ตามโดยการตรวจสอบผลลัพธ์ของkill -lดูเหมือนว่าเซิร์ฟเวอร์ของฉันไม่ได้ใช้สัญญาณนี้ คำถามของฉันคือ: ทำไมSIGINFOระบบของฉันถึงหายไป มันหายไปกับระบบ GNU Linux ทั้งหมดหรือไม่? มีวิธีง่าย ๆ (เช่นไม่มีเคอร์เนล / glibc recompilation) เพื่อเปิดใช้งานสัญญาณนี้หรือไม่? ถ้าไม่มีสิ่งใดจะเป็นวิธีที่ยาก? ฉันสามารถใช้สัญญาณทางเลือกใดเพื่อจุดประสงค์ของฉันที่จะไม่ทำให้เกิดผลข้างเคียงใด ๆหากไม่ได้รับการจัดการโดยกระบวนการเป้าหมาย (ฉันไม่คิดเลยเพราะฉันไม่สามารถหาสัญญาณอื่นที่เหมาะสมในคู่มือของglibc ) Linux metainfo: Linux whatever 3.18.2-2-ARCH #1 SMP PREEMPT Fri Jan 9 07:37:51 CET 2015 x86_64 GNU/Linux อัปเดต:ฉันยังคงค้นหาข้อมูลเพิ่มเติมว่าทำไมสัญญาณนี้จึงถูกแยกแบบมีเงื่อนไขจากระบบอื่นที่ไม่ใช่ BSD (ดูความคิดเห็นด้านล่าง) …
12 linux  signals  glibc 

1
Linux น้อยที่สุดที่มีเคอร์เนลและ BusyBox: / etc / inittab จะถูกละเว้นจะดำเนินการ / init เท่านั้น
ฉันจัดการเพื่อสร้างซีดีลินุกซ์สดขนาดเล็กและใช้งานได้เต็มรูปแบบซึ่งมีเคอร์เนลเท่านั้น (คอมไพล์ด้วยตัวเลือกเริ่มต้น) และ BusyBox (คอมไพล์ด้วยตัวเลือกเริ่มต้น + สแตติกแอปเพล็ตทั้งหมดที่มีอยู่/sbin/init) ผมมีปัญหาใด ๆ ในการสร้างinitrdและเติม/dev, /procและ/sysและข้าพเจ้ายังมีปัญหาที่ไม่ทั้งหมดของฉันกับ/initเชลล์สคริปต์ เมื่อเร็ว ๆ นี้ฉันอ่านว่า BusyBox รองรับ/etc/inittabการกำหนดค่า (อย่างน้อยถึงระดับหนึ่ง) และฉันต้องการทำอย่างใดอย่างหนึ่งต่อไปนี้: ลืม/initเชลล์สคริปต์ของฉันและพึ่งพา/etc/inittabการกำหนดค่าทั้งหมด ใช้ทั้ง/initเชลล์สคริปต์และ/etc/inittabการกำหนดค่า ตอนนี้ปัญหาที่เกิดขึ้นจริง - ดูเหมือนว่า/etc/inittabจะถูกละเว้นอย่างสมบูรณ์เมื่อ distro บูตของฉัน อาการคือ: เมื่อฉันลบ/initและปล่อยให้/etc/inittabฉันจบลงด้วยความตื่นตระหนกเคอร์เนล สมมติฐานของฉันคือว่าเมล็ดไม่ได้ดำเนินการ/sbin/initเลยหรือว่า/sbin/initไม่พบ /etc/inittab(หรืออ่าน) ผมอ่านที่ BusyBox /etc/inittabควรปรับการทำงานได้โดยไม่ต้อง ดังนั้นฉันออกทั้งสอง/initและ/etc/inittabและคาดเดาสิ่งที่ - ตื่น kernel อีกครั้ง ผมพยายามที่จะดำเนินการ/sbin/initจากเปลือกของฉันและหลังจากที่หลายคาดเดาซึ่งรวมถึงexec /sbin/init, setsid /sbin/initและexec setsid /sbin/initฉันจบลงด้วยความตื่นตระหนกเคอร์เนล ทั้งที่มีและไม่มี / etc / inittab อยู่ในระบบไฟล์ นี่คือเนื้อหาของ/initสคริปต์เชลล์ของฉัน: …

1
ไม่สามารถโหลดโมดูล: ไม่เห็นด้วยเกี่ยวกับรุ่นของสัญลักษณ์ module_layout
ทำตามบทช่วยสอนนี้เพื่อเขียนไดรเวอร์แรกของฉัน Makefile คือ: # Makefile – makefile of our first driver # if KERNELRELEASE is defined, we've been invoked from the # kernel build system and can use its language. ifneq (${KERNELRELEASE},) obj-m := ofd.o # Otherwise we were called directly from the command line. # Invoke the kernel build …

1
สถานการณ์การใช้งานเดสก์ท็อป Zswap, Zram, Zcache
ฉันพยายามเข้าใจถึงความแตกต่างของกรณีการใช้งานสำหรับ Zswap, Zram และ Zcache ขออภัยล่วงหน้าสำหรับคำถามที่มีคำยาว / เล็กน้อยเลอะเทอะ ฉันทำ googling เสร็จแล้วและฉันเข้าใจว่า zram นั้นเป็นอุปกรณ์บล็อกสำหรับการแลกเปลี่ยนแบบบีบอัดในขณะที่ zswap บีบอัดในเคอร์เนลโดยใช้ frontswap api ปรากฏว่าข้อดีอย่างหนึ่งของ zswap คือสามารถย้ายหน้าบางหน้าไปยัง swap swap ได้เมื่ออยู่ภายใต้ความกดดันในลักษณะ LRU ในขณะที่ zram ไม่สามารถทำได้ (โปรดยืนยันไม่แน่ใจว่านี่เป็นเรื่องจริงหรือไม่) ดังนั้นนี่คือคำถามของฉัน: 1. ) ในฐานะผู้ใช้เดสก์ท็อปประสิทธิภาพของ zcache / zswap / zram โดยเฉพาะ zswap และ zram คืออะไร? ตัวอย่างเช่นหนึ่งดีขึ้น / แย่ลงที่การกระจายตัวของหน่วยความจำ (ชนิดที่นำไปสู่การใช้งานหน่วยความจำมากเกินไปและเสีย)? คำถามโบนัส: 2. ) มีการผสมผสานที่ลงตัวของข้างต้น …

1
การนำทาง url แบบไม่ระบุชื่อในบรรทัดคำสั่ง?
มีวิธีใดที่จะไม่เปิดเผยการร้องขอ http ผ่านบรรทัดคำสั่งหรือไม่ กล่าวอีกนัยหนึ่งเป็นไปได้ไหมที่wgetเพจที่ไม่มี IP ของผู้ร้องขอปรากฏขึ้น

4
มีวิธีให้เลือกหลายเงื่อนไขใน `ps` หรือไม่?
ดูเหมือนว่าฉันขาดอะไรบางอย่างที่เห็นได้ชัด แต่ยัง: ps -f -u myuser --ppid 1 ดูเหมือนว่าจะใช้เวลาเพียงดูที่ pid แม่ของกระบวนการและผลตอบแทนทุกกระบวนการที่มี pid แม่ของ 1 - myuserแม้ในขณะที่ผู้ใช้ไม่ได้ -uงานคนเดียวได้อย่างถูกต้อง (เลือกเฉพาะกระบวนการของการmyuser): ps -f -u myuser ฉันกำลังคิดถึงอะไร มีบางตัวในทางที่จะกรองตามเงื่อนไขในหลาย ๆps? แก้ไข: วิธีแก้ปัญหาปัจจุบันของฉัน: ps -f -p $(join <(ps h --ppid 1 -o pid | sort) <(ps h -u myuser -o pid | sort))
12 linux  ps 

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