Unix & Linux

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

3
เคอร์เนล Linux ไม่พบ initrd อย่างถูกต้อง
ฉันได้รวบรวมเคอร์เนล linux และฉันต้องการดีบักใน QEMU ฉันสร้างไฟล์เพื่อบู๊ตจากการทำคำสั่ง $ qemu-img create -f raw disk.img 200M $ mkfs.ext2 -F disk.img # mkdir /mnt/rootfs # mount -o loop disk.img /mnt/rootfs จากนั้นฉันก็ทำqemu -kernel bzImage -initrd disk.imgและได้หน้าจอด้านล่างที่ระบุว่า: Kernel panic - not syncing: VFS: unable to mount root fs on unknown block ฉันทำอะไรผิดและฉันต้องแก้ไขอย่างไร

2
GRUB2: วิธีการจำตัวเลือกสุดท้ายของด้วง
ฉันกำลังลอง distros ต่าง ๆ ดังนั้นเมื่อฉันบูตเครื่องแล็ปท็อปของฉันฉันมีระบบปฏิบัติการหลายตัวให้เลือก โดยปกติแล้ว distros เหล่านั้นจะติดตั้งgrub2และค้นหาตนเองที่ด้านบนสุดของรายการดังนั้นจึงเป็นค่าเริ่มต้นที่จะบู๊ตหลังจากการติดตั้งเสร็จสิ้น แต่มันจาโรทำสิ่งที่แตกต่าง มันติดตั้งเวอร์ชั่นบางส่วนgrub2ที่จะจำ distro ที่ฉันบูทครั้งสุดท้ายและทำการบูทนั้น (เมื่อรีสตาร์ท) จนกว่าฉันจะเลือกอันอื่น (และจากนั้นมันจะบู๊ตอันนั้นเป็นต้น) ฉันจินตนาการเรื่องนี้ไหม มันจาโร่ทำเช่นนั้นจริงหรือ? ถ้าเป็นเช่นนั้นวิธีการที่ฉันสามารถติดตั้งรุ่นที่ของgrubกับระบบของฉันได้อย่างไร ไชโย นี่คือ/etc/grub.d/40_customไฟล์ของฉัน: #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this …

3
แปลงพา ธ ไฟล์เป็น URI ใน bash
ฉันจะแปลงพา ธ ไฟล์เป็น URI ในบรรทัดคำสั่งได้อย่างไร ตัวอย่าง : /home/MHC/directory with spaces and ümläuts ถึง file:///home/MHC/directory%20with%20spaces%20and%20%C3%BCml%C3%A4uts
11 bash  filenames 

5
grep วิธีการระงับการแสดงไฟล์ที่ไม่ตรงกัน?
ฉันพยายามค้นหาไฟล์ที่มีคำเฉพาะที่ใช้grepอยู่ มีไฟล์จำนวนมากในไดเรกทอรี (> 500) คำสั่งที่ฉันวิ่ง $ grep 'delete' * เอาท์พุต validate_data_stage1:0 validate_data_stage2:0 validate_data_stage3:0 validate_data_stage4:0 validate_data_stage5:0 validate_input_stage1:0 validate_input_stage2:0 validate_input_stage3:0 validate_input_stage4:0 .... and hundred of such lines ไฟล์เหล่านี้เป็นไฟล์ที่ไม่มีการจับคู่ที่กำหนด ฉันต้องการระงับบรรทัดเหล่านั้นไม่ให้แสดงจนถึง stdout ฉันรู้ว่า-qสวิตช์ แต่นั่นจะระงับเอาต์พุตทั้งหมดซึ่งฉันไม่ต้องการ ฉันจะทำอย่างไร

5
วิธีการเรียกใช้กระบวนการนานในเหตุการณ์ Udev?
ฉันต้องการเรียกใช้การเชื่อมต่อpppเมื่อโมเด็ม USB ของฉันเชื่อมต่ออยู่ดังนั้นฉันจึงใช้udevกฎนี้: ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="16d8",\ RUN+="/usr/local/bin/newPPP.sh $env{DEVNAME}" (โมเด็มของฉันปรากฏ/devเป็นttyACM0) newPPP.sh: #!/bin/bash /usr/bin/pon prov $1 >/dev/null 2>&1 & ปัญหา: udevเหตุการณ์ fires และ newPPP.sh จะทำงาน แต่newPPP.shกระบวนการที่ถูกฆ่าตายหลังจาก ~ 4-5s pppไม่มีเวลาในการเชื่อมต่อ (การหมดเวลาใช้งานคือ 10 วินาทีสำหรับการหมุนโทรศัพท์) ฉันจะเรียกใช้กระบวนการที่ยาวนานซึ่งจะไม่ถูกฆ่าได้อย่างไร ฉันลองใช้nohupแต่ก็ไม่ได้ผลเหมือนกัน ระบบ: Arch Linux ปรับปรุง ผมพบว่าวิธีการแก้ปัญหาที่นี่ขอบคุณmaxschlepzig ฉันใช้at nowเพื่อให้งานของฉันหลุดจากกระบวนการ udev แต่คำถามหนึ่งยังคงไม่ได้รับคำตอบ: ทำไมnohupและ&ไม่ทำงาน
11 linux  udev  ppp 

6
เปิดเทอร์มินัลจาก emacs
มีวิธีที่รวดเร็ว (แป้นพิมพ์ลัด) เพื่อเปิดเทอร์มินัลอีมูเลเตอร์ (ในกรณีของฉัน urxvt) ในไดเรกทอรีเดียวกันกับไฟล์ในบัฟเฟอร์ emacs ปัจจุบันหรือไม่?

2
ProxyCommand ของ ssh_config สามารถรันคำสั่งโลคัลก่อนเชื่อมต่อกับเครื่องรีโมตได้หรือไม่?
ก่อนที่ฉันจะสามารถเชื่อมต่อกับเครื่องระยะไกลโดยเฉพาะฉันต้องเรียกใช้คำสั่งท้องถิ่น ดังนั้นแทนที่จะssh me@remote.machineต้องทำ local_command ssh me@remote.machine ฉันอยากจะทำสิ่งนี้โดยอัตโนมัติเพื่อที่ฉันจะได้ทำssh remote.machineเท่านั้น ฉันรู้ว่าฉันสามารถทำสิ่งนี้ได้ในระดับเชลล์โดยการสร้างsshสคริปต์ของตัวเองที่เรียกใช้/usr/bin/sshแต่ฉันสามารถทำได้โดยใช้ตัวเลือกProxyCommandssh_configใช่หรือไม่ เท่าที่ฉันเข้าใจฉันต้องการบางสิ่งบางอย่าง Host remote.machine ProxyCommand local_command; ssh me@remote.machine ใน~/.ssh/configไฟล์ของฉันแต่ไม่ใช่อย่างแน่นอนเพราะมันเป็นวงกลม!
11 proxy  openssh 

4
การอยู่ในกลุ่ม 0 หมายความว่าอย่างไร
ผู้ใช้หลายคนในระบบที่ฉันสืบทอดได้ตั้งกลุ่มเป็น 0 ใน / etc / passwd นั่นหมายความว่าอย่างไร? พวกเขาจำเป็นต้องได้รับสิทธิพิเศษอย่างเต็มที่หรือไม่? ระบบกำลังเรียกใช้ CentOS 5 และผู้ใช้ดูเหมือนจะเกี่ยวข้องกับระบบเป็นหลักแม้ว่าผู้ดูแลระบบเดิมจะอยู่ในกลุ่มนั้นด้วย: $ grep :0: /etc/passwd root:x:0:0:root:/root:/bin/bash sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt operator:x:11:0:operator:/root:/sbin/nologin jsmith:x:500:0:Joe Smith:/home/jsmith:/bin/bash $
11 centos  root  group 

3
วิธีการเขียนสคริปต์ทุบตีที่เข้าสู่เครื่องอื่นเพื่อทำสิ่ง?
เป็นไปได้ไหมที่จะเขียนสคริปต์ทุบตี จะเริ่มจากเครื่อง A, เข้าสู่ระบบในเครื่อง B อื่นโดย ssh (ทั้งเครื่อง A และ B จะเป็น Linux-Machines), คัดลอกไฟล์บางไฟล์ไปยังเครื่อง B รันสคริปต์ python กับสคริปต์ python ที่ระบุบนเครื่องเหล่านี้ โอนผลลัพธ์กลับไปที่เครื่อง A ออกจากระบบบี เทคนิคนี้ใช้ได้หรือไม่?
11 bash  ssh  shell-script 

2
16 สีใน ZShell
ฉันดูเหมือนจะสามารถเรียก 8 สีในพร้อมท์ zshell ของฉัน ตัวอย่าง: PROMPT="[%n@%{$fg[magenta]%}%m%{$reset_color%} %.] %# " ทำงานได้ดี อย่างไรก็ตาม PROMPT="[%n@%{$fg[brmagenta]%}%m%{$reset_color%} %.] %# " ใช้งานไม่ได้ โดยทั่วไปจะไม่มีการเปลี่ยนแปลงของสี "สว่าง" หลังจากทำการวิจัยบางอย่างฉันพบว่าสีของ zsh ถูกเรียกโดย setopt "colours" การทำ echo ${(o)color} ให้ผลลัพธ์นี้: 00 01 02 03 04 05 07 08 22 23 24 25 27 28 30 30 30 30 31 31 32 32 …
11 terminal  zsh  colors 

1
ตัวเลือกเคอร์เนลในเครื่องหมายวงเล็บหมายถึงอะไร
ฉันเห็นตัวเลือกเคอร์เนลวันนี้ในmenuconfigวงเล็บที่ใช้สำหรับช่องทำเครื่องหมายของมัน {*} Button สิ่งนี้ไม่ได้อยู่ในตำนานที่ด้านบนของหน้าจอ [*] built-in [ ] excluded <M> module < > module capable เครื่องมือจัดฟันหมายถึงอะไร

1
อะไรคือความแตกต่างที่สำคัญระหว่างเมล็ด Unix และ Linux
ฉันรู้ว่าโปรแกรมเดียวกันจำนวนมากทำงานได้อย่างไม่มีที่ติบนทั้งสองเมล็ด ฉันรู้ว่าในอดีตเมล็ดทั้งสองนั้นมาจากต้นกำเนิดที่แตกต่างกัน ฉันรู้ปรัชญาด้วยเหมือนกันว่าพวกเขายืนหยัดเพื่อสิ่งต่าง ๆ คำถามของฉันคือในวันนี้ในปี 2011 อะไรทำให้เคอร์เนล Unix แตกต่างจาก Linux หนึ่งและในทางกลับกัน

3
linux ทำงานกับลิงค์สัญลักษณ์อย่างไร
ฉันหมายถึงสิ่งที่เกิดขึ้นเมื่อบางกระบวนการต้องการอ่าน symlink? เกิดอะไรขึ้นเมื่อมีบางสิ่งเปลี่ยน symlink ในระหว่างกระบวนการอ่านหรือการเขียน ตัวอย่าง: ฉันมีขนาดใหญ่ไฟล์ 100G ที่คล้ายกัน 2 และ/mnt/1 สามารถใช้ได้ผ่านทาง symlink บางโปรแกรมจะเริ่มต้นการอ่าน และในขณะที่บางสิ่งบางอย่างเปลี่ยนลิงค์จากเป็นแต่ยังคงอ่านไฟล์อยู่/mnt/2/mnt/1/home/user/fileA/home/user/file/mnt/1/mnt/2A โปรแกรมแคชเส้นทางสัมบูรณ์หรือไม่ มันจะล้มเหลวและผิดพลาดเพราะ symlink เปลี่ยนไปหรือมันจะทำงานได้ดีเหมือนไม่มีอะไรเกิดขึ้น? มันจะแตกต่างกันในกรณีที่/home/user/fileเชื่อมโยงกับอุปกรณ์บล็อก (ตัวอย่างเช่นดิสก์ iscsi ที่จำลองแบบ 2)?

4
มีวิธีการปิดการใช้งาน wget จากการรับไฟล์จากไดเรกทอรีแม่ให้ลึก?
wgetมีตัวเลือก-npที่ปิดใช้งานการรับไฟล์จากไดเรกทอรีหลัก ฉันต้องการบางสิ่งที่คล้ายกัน แต่ยืดหยุ่นกว่าเล็กน้อย พิจารณา: www.foo.com/bar1/bar2/bar3/index.html ฉันต้องการรับทุกสิ่ง แต่ไม่ใช่ "สูงกว่า" (ในลำดับชั้นต้นไม้) กว่าbar2(!) ดังนั้นbar2ก็ควรจะลึกซึ้ง bar1แต่ไม่ มีวิธีที่จะทำให้เลือกมากขึ้นหรือไม่ พื้นหลัง: ฉันพยายามทำมิเรอร์เว็บไซต์ด้วยโครงสร้างเชิงตรรกะที่คล้ายกัน - จุดเริ่มต้นจากนั้นขึ้นและลง หากมีเครื่องมืออื่นที่wgetเหมาะสมกว่าสำหรับเค้าโครงดังกล่าวโปรดแจ้งให้เราทราบด้วย ปรับปรุง หรือแทนที่จะระบุความลึกที่เป็นไปได้บางทีอาจเป็น "ไม่มีผู้ปกครองยกเว้นว่าตรงกับ URL นี้หรือ" อัปเดต 2 มีโครงสร้างบางอย่างบนเซิร์ฟเวอร์ใช่ไหม คุณสามารถมองเห็นมันเป็นต้นไม้ ดังนั้นโดยปกติด้วย "- ไม่มีแม่" คุณเริ่มจากจุด A และลงเท่านั้น ความปรารถนาของฉันคือความสามารถในการขึ้น - แสดงโดยบอกว่ามันได้รับอนุญาตให้ขึ้นไปยังโหนด X หรือ (ซึ่งเทียบเท่า 100%) ที่ได้รับอนุญาตให้ขึ้นไปยังโหนด B (โดยที่ระยะทาง BA = X) ในทุกกรณีกฎสำหรับการหยุดทำงานยังคงอยู่ตามที่ผู้ใช้กำหนด (ตัวอย่างเช่น - ลดระดับโดย …
11 wget  mirror  tree 

2
ฉันจะระบุว่า curl (ผ่านทางบรรทัดคำสั่ง) เขียนทับไฟล์ได้อย่างไรถ้ามันมีอยู่แล้ว?
ฉันใช้ curl ในไวยากรณ์นี้: curl -o myfile.jpg http://mysite.com/myfile.jpg หากฉันรันคำสั่งนี้สองครั้งฉันจะได้รับสองไฟล์: myfile.jpg myfile-1.jpg ฉันจะบอก CURL ได้อย่างไรว่าฉันต้องการให้มันเขียนทับไฟล์หากมีอยู่?
11 filenames  io  curl 

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