Unix & Linux

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

1
ฉันแก้ไขไฟล์ Linux ด้วยโปรแกรม Windows ในขณะที่ใช้ระบบย่อย Windows สำหรับ Linux และตอนนี้ฉันไม่สามารถเข้าถึงได้อีกต่อไป
ฉันใช้Bash บน Ubuntu บน Windowsหรือการกระจาย Linux อื่นภายในระบบย่อย Windows สำหรับ Linuxและฉันแก้ไขไฟล์ Linux ภายในlxssไดเรกทอรีด้วยตัวแก้ไข Windows ตอนนี้เมื่อใดก็ตามที่ฉันหรือโปรแกรมพยายามเข้าถึงมันจาก Linux ฉันได้รับข้อผิดพลาด "ข้อผิดพลาดอินพุต / เอาท์พุต" หรือไฟล์หายไปอย่างสมบูรณ์แม้ว่าฉันจะเห็นว่ามีอยู่ใน File Explorer แน่นอน cat abc cat: abc: Input/output error ทำไมสิ่งนี้จึงเกิดขึ้น ฉันจะแก้ไขได้อย่างไร ฉันจะหลีกเลี่ยงได้ในอนาคตอย่างไร

2
Systemd: วิธีการทำให้บริการ systemd เริ่มต้นหลังจากเชื่อมต่อเครือข่ายอย่างสมบูรณ์?
พื้นหลัง ฉันกำลังเขียนสคริปต์อย่างง่าย ๆ เพื่อให้ทำงานใน Raspbain บน Raspberry Pi 2 ให้เปิดไฟ LED เพื่อระบุว่าฉันพร้อมที่จะเชื่อมต่อกับ SSH จากคอมพิวเตอร์เดสก์ท็อปของฉัน สคริปต์ไม่สำคัญที่นี่เพียงเพื่อพูดถึงว่าในขณะที่ฉันใช้การควบคุมความถี่เพื่อให้สคริปต์ทำงานวนรอบไม่สิ้นสุดเพื่อเปิดและปิดไฟ LED บ่อยครั้ง นี่คือตัวอย่างของการบริการที่เรียบง่าย อย่างไรก็ตามอย่างน้อยคำตอบที่ได้รับการยอมรับของคำถามนี้แนะนำให้ฉันตั้งค่าประเภทที่ไม่ได้ใช้งาน ดังนั้นไฟล์บริการของฉันดูเหมือนว่า [Unit] Description=Turn on LED after SSH is ready [Service] Type=idle ExecStart=/usr/bin/sshready.py [Install] Wants=network-online.target After=network-online.target ผล บริการทำงานตามที่คาดไว้ อย่างไรก็ตามฉันสังเกตเห็นเมื่อฉันเริ่มฉาบในคอมพิวเตอร์เดสก์ท็อปของฉันทันทีหลังจากที่ LED เปิดการแจ้งเตือนการเข้าสู่ระบบไม่ปรากฏขึ้นอย่างฉับพลัน ดังนั้นฉันจึงตรวจสอบด้วย $ systemd-analyze plot > output.svg ผลแสดงให้เห็น คำถาม ดูเหมือนว่าบริการของฉันจะไม่เริ่มหลังจากnetwork-online.targetเกิดอะไรขึ้นที่นี่และฉันจะแก้ไขได้อย่างไร
12 systemd  startup 

1
การติดตั้ง FreeBSD ควบคู่กับ Linux
ฉันใช้ Arch Linux กับ GNOME ฉันต้องการติดตั้ง FreeBSD ควบคู่กับ Arch Linux ด้วยข้อกำหนดต่อไปนี้: ฉันต้องการเก็บ Linux GRUB และเพิ่มรายการ FreeBSD ไว้ ฉันต้องการใช้พาร์ทิชันSWAP ที่แตกต่างกันสำหรับ Linux และ BSD ฉันไม่ต้องการทำลาย Linux / boot ข้อมูลระบบของฉัน: ฉันใช้ Arch Linux: โหมดUEFI ดิสก์คือ GPT เค้าโครงพาร์ติชันของฉันมีลักษณะเช่นนี้: . [severus@Tux ~]$ sudo parted -l Model: ATA TOSHIBA MQ01ABD1 (scsi) Disk /dev/sda: 1000GB Sector size …

1
ความแตกต่างในการใช้งานระหว่างไฟล์อุปกรณ์, ioctl, sysfs, netlink
ฉันพยายามที่จะชี้แจงว่าวิธีการโต้ตอบกับอุปกรณ์ใน Linux มีประโยชน์มากที่สุด (ในแง่ของการทำงาน) อย่างไร ดังที่ฉันเข้าใจแล้วไฟล์อุปกรณ์แสดงเพียงส่วนหนึ่งของการทำงาน (บล็อกที่อยู่ในอุปกรณ์บล็อกสตรีมในอุปกรณ์ตัวละคร ฯลฯ ... ) ioctl(2)ดูเหมือนจะใช้กันมากที่สุด แต่บางคนบอกว่าไม่ปลอดภัยและอื่น ๆ ยินดีต้อนรับบทความดีๆหรือตัวชี้ที่เกี่ยวข้องอื่น ๆ
12 devices  sysfs  ioctl 

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 

3
ตีความว่า "โหลดเฉลี่ย" ในเอาต์พุต "ด้านบน" อย่างไร มันเหมือนกันสำหรับการแจกแจงทั้งหมดหรือไม่
ฉันอยากจะรู้ว่าการส่งออกของลินุกซ์ที่ใช้ Red-Hat สามารถตีความแตกต่างกันโดยลินุกซ์ที่ใช้ Debian เพื่อทำให้คำถามมีความเฉพาะเจาะจงมากขึ้นสิ่งที่ฉันเป็นคือทำความเข้าใจว่า "ค่าเฉลี่ยการโหลด" จากบรรทัดแรกของtopคำสั่งในระบบ Red-Hat ถูกตีความและวิธีการตรวจสอบโดยรหัส ro เอกสารอย่างเป็นทางการ [มีหลายวิธีในการเข้าถึงหัวข้อนี้ซึ่งทั้งหมดเป็นคำตอบที่ยอมรับได้สำหรับคำถาม] แนวทางหนึ่งที่เป็นไปได้คือค้นหาว่าข้อมูลนี้ได้รับการบันทึกไว้ที่ใด อีกอันหนึ่งก็คือการค้นหารุ่นของรหัสที่topสร้างขึ้นจากการแจกจ่ายเฉพาะและรุ่นที่ฉันกำลังทำงานอยู่ เอาต์พุตคำสั่งที่ฉันได้รับคือ: top - 13:08:34 up 1:19, 2 users, load average: 0.02, 0.00, 0.00 Tasks: 183 total, 1 running, 182 sleeping, 0 stopped, 0 zombie Cpu(s): 0.2%us, 0.2%sy, 0.0%ni, 96.8%id, 2.7%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 3922520k total, …
12 rhel  top  load-average 

2
ค้นหาแอปพลิเคชันเริ่มต้นสำหรับส่วนขยายที่แน่นอน
ให้ xdg-open และส่วนขยายมีวิธีรับแอปพลิเคชันที่ xdg-open ถูกตั้งค่าเป็นส่วนขยายเฉพาะหรือไม่? ยกตัวอย่างเช่นที่กำหนดxdg-openและผลที่ได้คือ.jpgeog
12 xdg-open 

4
CentOS 7 - yum ติดตั้งไม่ทำงาน
เมื่อใดก็ตามที่ฉันต้องการใช้คำสั่งyum install <packagename>ฉันได้รับข้อผิดพลาด: ไม่มีแพ็คเกจ ตัวอย่างเช่น, [root@cpanel1 etc]# yum install autossh Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.t-2.net * extras: centos.t-2.net * updates: centos.t-2.net No package autossh available. Error: Nothing to do [root@cpanel1 etc]# ฉันจะทำให้มันทำงานได้อย่างไร
12 centos  yum 

2
dpkg: ข้อผิดพลาด: ไม่สามารถลบสถาปัตยกรรม 'i386' ที่ฐานข้อมูลใช้อยู่ในปัจจุบัน
ฉันใช้คำสั่งนี้เพื่อเพิ่มซุ้ม i386: sudo dpkg --add-architecture i386 และหลังจากนั้นทันทีโดยไม่ต้องติดตั้งแพ็คเกจใด ๆ ฉันพยายามลบ arch i386 ดังนี้: sudo dpkg --remove-architecture i386 และฉันได้รับข้อผิดพลาด: dpkg: error: cannot remove architecture 'i386' currently in use by the database วิธีแก้ไขที่ฉันได้เห็นแล้วเกี่ยวกับการลบแพ็คเกจ i386 ฉันยังไม่ได้ติดตั้งใด ๆ แพ็คเกจที่ติดตั้งนั้นมีความสำคัญต่อการทำงานของระบบปฏิบัติการ ฉันจะทำอย่างไร แก้ไขโปรดอ่านต่อไปนี้เพื่อหลีกเลี่ยงการทำลายระบบปฏิบัติการของคุณ: ปรากฎว่าระบบปฏิบัติการ Linux แบบ 64 บิตมีส่วนโค้ง i386 อยู่แล้วดังนั้นคำสั่งsudo dpkg --add-architecture i386จึงไม่ได้ทำอะไรเลย

2
ตัวแก้ไข Vi: วิธีที่เร็วที่สุดในการลบหลายแถวในไฟล์คืออะไร?
ฉันต้องการใช้เครื่องมือแก้ไข Vi เพื่อลบหลายแถวในไฟล์ โปรดแจ้งแนวคิดหรือข้อเสนอแนะให้ฉัน เป้าหมายของฉันเป็นเช่นนี้: ก่อน: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 . . 29 30 . . หลังจาก; 1 10 20 30 40 . .
12 vim  vi 

2
รีบูตโดยไม่ต้องถอดรหัสพาร์ติชัน LUKS หรือไม่
มีวิธีการkexecรีบูตเคอร์เนลที่ใช้งานอยู่โดยไม่ต้องถอดรหัสระบบไฟล์รูทของ LUKS ที่เข้ารหัสหรือไม่? ฉันไม่คิด แต่ฉันไม่แน่ใจว่ามีวิธีแก้ปัญหานี้หรือไม่
12 luks  kexec 

4
POSIX จำกัด จำนวนไดเรกทอรีในระบบปฏิบัติการหรือไม่?
ฉันพยายามเรียนรู้มาตรฐาน POSIX เมื่อใช้ระบบปฏิบัติการยูนิกซ์ฉันได้/bin, /etc, /dev, /mediaและมักจะ/optแต่ที่ได้มาตรฐานหรือถึงการดำเนินการข้อมูลจำเพาะของคุณหรือไม่ อาจมีไดเรกทอรีจำนวนมากในรูทหรือถูก จำกัด โดยมาตรฐานหรือไม่

1
อินเทอร์เน็ตหยุดทำงาน“ ไม่สามารถเพิ่ม / เรียกใช้ / systemd / ask-password ไปยังไดเรกทอรีเฝ้าดู: ไม่มีพื้นที่เหลือบนอุปกรณ์”
ฉันกำลังใช้ Lubuntu 16.04 หลังจากใช้งานระบบไประยะหนึ่งแล้วอินเทอร์เน็ตไร้สายก็จะหยุดทำงาน ตามหน้าที่ฉันทำงาน: sudo service network-manager restart แต่สิ่งนี้จะส่งคืนข้อความ: Failed to add /run/systemd/ask-password to directory watch: No space left on device แต่ฉันมีจำนวนมากของพื้นที่ว่างบนฮาร์ดดิสก์ใน RAM, และผ่านการแลกเปลี่ยน เกิดอะไรขึ้น?

2
ความแตกต่างระหว่าง rsync กับ remote และ rsync local บน sshfs ที่ติดตั้งอยู่หรือไม่
มีความแตกต่างหรือไม่ถ้าฉันเรียกใช้ rsync ด้วยรีโมตโฮสต์ (ssh: //) เป็นต้นทาง / ปลายทางหรือใช้โลคัลพา ธ เพื่อแชร์ไดเร็กทอรีที่เมาท์ผ่าน sshfs? อาจมีความแตกต่างเกี่ยวกับความปลอดภัยหรือความเร็วในการคัดลอกโดยไม่ต้องใช้สวิตช์ใด ๆ เพียงแค่ใช้โหมดเก็บถาวร rsync และเส้นทางโฮสต์ระยะไกล (ssh) เช่นเดียวกันกับ sshfs mount เพียงแค่กับแหล่งที่มาและปลายทาง (ไม่มีการเปลี่ยนแปลงตัวเลขศูนย์เพียงค่าเริ่มต้น)

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 …

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