Unix & Linux

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

2
วิธีการเติมไดเรกทอรี / dev เมื่อสร้าง initrd ของฉันเอง
ฉันพยายามที่จะเรียนรู้สิ่งที่เกี่ยวกับ initrd ฉันได้ทำตามบทช่วยสอนนี้เพื่อสร้าง initrd ของฉันเองตั้งแต่เริ่มต้นและฉันได้ติดตั้ง busybox ไว้ในนั้น จากนั้นฉันทำ. iso จากนั้นด้วย isolinux ดังนั้นฉันสามารถทดสอบใน virtualbox มันใช้งานได้ดี! ฉันมีคำสั่งพื้นฐานจาก busybox ดังนั้นฉันจึงต้องการติดตั้งระบบไฟล์ แต่ไดเรกทอรี / dev เกือบจะว่างเปล่า (ไม่มี sda) ยกเว้นไฟล์บางไฟล์ที่ฉันสร้างขึ้นในขณะที่ทำตามบทช่วยสอน ฉันเรียนรู้เกี่ยวกับ udev และฉันคิดว่านี่เป็นสิ่งที่ฉันต้องการ อย่างไรก็ตามฉันไม่แน่ใจว่าจะทำอย่างไรต่อไป ฉันควรจะคว้าซอร์สโค้ดล่าสุดจาก udev รวบรวมและเพิ่มลงใน initrd ของฉันหรือไม่ แล้วโทร / bin / udev หรืออะไรทำนองนั้นในสคริปต์ init ของฉัน หรือมีวิธีอื่น / ดีกว่าในการเติมไดเรกทอรี / dev? แก้ไข:ข้อมูลเพิ่มเติมและการปรับปรุงบางอย่างเกี่ยวกับสิ่งที่ฉันได้ทำไปแล้ว ฉันทดสอบทุกอย่างในกล่องเสมือน ฉันเพิ่งติดตั้ง Ubuntu …
9 udev  initrd 

2
วิธีเมานต์ cryptsetup container ด้วย `mount 'ได้อย่างไร
ฉันสร้างคอนเทนเนอร์ที่เข้ารหัสผ่าน #!/bin/bash dd if=/dev/zero of=$1 bs=1 count=0 seek=$2 MAPPER=$(mktemp -up /dev/mapper) LOOPDEV=$(losetup --find --show $1) cryptsetup luksFormat $LOOPDEV cryptsetup luksOpen $LOOPDEV $(basename $MAPPER) mkfs.ext3 $MAPPER cryptsetup luksClose $MAPPER losetup -d $LOOPDEV เช่นเช่นไฟล์containerที่ระบุสคริปต์นี้จะมี ext3 cryptsetup luksFormatระบบไฟล์ที่เข้ารหัสผ่านทาง หากต้องการติดตั้งฉันใช้สคริปต์อื่นในปัจจุบันdm.mount container /mnt/decrypted: #!/bin/bash set -e MAPPER=$(mktemp -up /dev/mapper) LOOPDEV=$(losetup --find --show $1) cryptsetup luksOpen …

1
โฮสต์ getent พิมพ์ IPv6, ahosts getent พิมพ์ IPv4
เอาท์พุทคำต่อคำจาก terminal ของฉัน: $ getent hosts example.org 2001:500:88:200::10 example.org $ getent ahosts example.org 192.0.43.10 STREAM 43-10.any.icann.org 192.0.43.10 DGRAM 192.0.43.10 RAW ฉันคิดว่าพวกเขาทั้งคู่ (อย่างน้อยahosts ) ควรพิมพ์ทั้งที่อยู่ IPv4 และ IPv6 เหตุใดการพิมพ์ประเภทที่อยู่เหล่านี้จึงแตกต่างกัน $ uname -srvmpio Linux 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:17:36 UTC 2012 i686 i686 i386 GNU/Linux แก้ไข : ดูเหมือนว่าอาจเกี่ยวข้องกับรายงานข้อผิดพลาดนี้
9 getent 

2
การร้องขออินพุตของผู้ใช้ขณะอ่านบรรทัดไฟล์ตามบรรทัด
สำหรับคลาสฉันต้องเขียนสคริปต์ Bash ที่จะเอาท์พุทจากispellและเมื่อฉันลองและขอให้ผู้ใช้ป้อนข้อมูลในขณะที่ลูปมันก็แค่บันทึกบรรทัดถัดไปของไฟล์เป็นอินพุตของผู้ใช้ ฉันจะขอผู้ใช้ในขณะที่วนรอบได้อย่างไร? #!/bin/bash #Returns the misspelled words #ispell -l < file #define vars ISPELL_OUTPUT_FILE="output.tmp"; INPUT_FILE=$1 ispell -l < $INPUT_FILE > $ISPELL_OUTPUT_FILE; #echo a new line for give space between command #and the output generated echo ""; while read line; do echo "'$line' is misspelled. Press "Enter" to keep"; …

2
Piped input to nano
ทำไมls | nano -เปิดตัวแก้ไขใน Ubuntu แต่ปิดตัวแก้ไขและบันทึกไฟล์ลง-.saveใน CentOS ฉันจะทำให้ nano ใน CentOS ยังคงเปิดอยู่ได้อย่างไรเมื่ออ่าน stdin
9 ubuntu  centos  stdin  nano 


2
ไม่พบแพ็คเกจ smbfs ใน Debian Wheezy
ในการบีบมีแพคเกจsmbfsสำหรับการติดตั้งระบบไฟล์ samba ในเสียงฮืด ๆ นี้ไม่มีอยู่อีกต่อไป ชื่อแพ็คเกจใหม่คืออะไร มีสูตรทั่วไปในการแก้ปัญหาเช่นนี้หรือไม่?
9 debian 

1
วิธีการส่งออกไปยังหน้าจอและจดหมาย?
ฉันใช้สิ่งต่อไปนี้เพื่อส่งอีเมลที่ท้ายสคริปต์ echo "Script finished on `date`" | /usr/bin/Mail -s "Script complete" "myaccount@myserver.com". อย่างไรก็ตามฉันต้องการที่จะสะท้อนข้อความเดียวกันบนหน้าจอเช่นกัน ฉันจะทำเช่นนั้นในคำสั่งเดียวกันได้อย่างไร


1
การเปลี่ยนเส้นทางและช่องว่างเอาท์พุท
ฉันหวาดระแวงเกี่ยวกับเรื่องนี้ แต่หวังว่ามันจะเป็นคำถามง่าย ๆ : มีความแตกต่างระหว่าง cat file1 | egrep -oP "[Mm]y string" > /home/user/file.txt และ cat file1|egrep -oP "[Mm]y string">/home/user/file.txt เช่นจะเป็นสิ่งสำคัญหรือไม่หากฉันมีช่องว่างที่เติมช่องว่าง (|) และเปลี่ยนเส้นทาง (>) ฉันหวาดระแวงจริงๆที่มีช่องว่างที่นั่นช่องว่างนั้นจะจบลงในไฟล์เอาต์พุตเมื่อฉันไม่ต้องการมัน ทุกคนสามารถอธิบายได้หรือไม่ (การใช้ Ubuntu 12 / bash หากมีความสำคัญ)

1
เชิงลบของกระบวนการทำงานที่มีลำดับความสำคัญตามเวลาจริงหรือไม่
มีข้อเสียของกระบวนการทำงานที่มีลำดับความสำคัญตามเวลาจริง ( chrt -f 99) หรือไม่? สมมติฐานของฉันคือว่าสิ่งนี้รวมกับ affinity จะช่วยให้มั่นใจว่ากระบวนการใด ๆ ของฉัน pre-emption มีน้อยและดังนั้นใด ๆ ที่กระวนกระวายใจ เกี่ยวข้องกับกระวนกระวายใจ (เคอร์เนล: 2.6.16 / 3.0)

1
มีอะไรผิดปกติในการใช้ dnsmasq เป็นเซิร์ฟเวอร์ dhcp แทนที่จะเป็น isc-dhcp-server หรือไม่?
ดังนั้นฉันจึงกำหนดค่าการเชื่อมต่อที่บ้านของฉันให้ทำงานกับ dnsmasq เนื่องจากมันรวมเซิร์ฟเวอร์ dhcp ไว้ด้วยและค่อนข้างดีในการตั้งค่า มีแพ็คเกจอื่น - isc-dhcp -... ที่ทำเช่นนี้และอาจเป็นวัตถุประสงค์ที่ตั้งใจไว้ ฉันกำลังแพ้อะไร
9 dhcp  dnsmasq 

2
การบันทึกประวัติทุบตีจาก Konsole หลายอันทำงานไม่ถูกต้อง
ฉันใช้เทอร์มินัล Konsole หลายอัน และฉันต้องการให้คำสั่งทั้งหมดที่ฉันพิมพ์ในทุก ๆ เทอร์มินัลถูกบันทึกไว้ในประวัติคำสั่งดังนั้น konsole ที่ฉันเปิดถัดไปจะมีทั้งหมด เพื่อป้องกันไม่ให้แต่ละเทอร์มินัลเขียนทับคำสั่งประวัติเทอร์มินัลอื่นฉันได้ตั้งค่าต่อไปนี้ใน.bashrc # avoid duplicates and commands starting with space export HISTCONTROL=ignoredups:erasedups:ignorespace # append history entries.. shopt -s histappend #My machine reboots without warning sometimes.Hence to save commands instantaneously. export PROMPT_COMMAND="history -a" export HISTSIZE=1000 PS1="\[\e[1;34m\]\! \[\e[0m\]"$PS1 ฉันให้บรรทัดสุดท้ายเพื่อดูหมายเลขคำสั่งในพรอมต์ของฉัน หมายเลขคำสั่ง ไม่เคยไปเกิน 600 แต่ยังคงคำสั่งเก่าของฉันบางส่วนจะหายไปจากประวัติศาสตร์ มีหลายคำสั่งที่ให้ซ้ำ ๆ …

3
การ Rebinding“ clear prompt” เป็น mutt
โดยค่าเริ่มต้นเมื่อป้อนข้อมูลที่พร้อมท์คำสั่งmuttคุณสามารถล้างข้อมูลพร้อมกับCtrlgตามที่อธิบายไว้ในคู่มือ : ^ G n / a ยกเลิก Escapeผมได้พยายามที่จะผูกฟังก์ชันนี้เพื่อ แต่น่าเสียดายที่abortไม่ได้อยู่ในฟังก์ชั่นที่มีอยู่ทั้งในคู่มือหรือในแหล่งที่มา ฉันได้ลองใช้สิ่งนี้ใน.muttrc: ผูกเอดิเตอร์ <esc> ยกเลิก แต่มันเกิดข้อผิดพลาด: ข้อผิดพลาดใน /home/jason/.mutt/muttrc บรรทัด 143: ยกเลิก: ไม่มีฟังก์ชันดังกล่าวในแผนที่ ฉันได้ลองใช้แผนที่อื่นเช่น ( generic) และทดลองฟังก์ชั่นอื่น ๆ ที่เป็นตำนานเช่นclearเพื่อไม่เกิดประโยชน์ ฉันจะผูกมัดEscapeเพื่อล้างเส้นพรอมต์ได้อย่างไร

5
วิธีนับแถวที่เรียงลำดับโดยเขตข้อมูลแรกใน bash
นี่คือตัวอย่างจาก INPUT: ... #################### Bala Bela;XXXXXX12345;XXXXXX12345678;A SERVER345Z3.DOMAIN.com0 SERVER346Z3.DOMAIN.com0 SERVER347Z3.DOMAIN.com0 SERVER348Z3.DOMAIN.com0 ssh-dss ...pubkeyhere... #################### Ize Jova;XXXXXX12345;XXXXXX12345;A SERVER342Z3.DOMAIN.com0 SERVER343Z3.DOMAIN.com0 SERVER345Z3.DOMAIN.com0 ssh-rsa ...pubkeyhere... ... และนี่คือตัวอย่างจากผลลัพธ์ที่ฉันต้องการ: Bala Bela;XXXXXX12345;XXXXXX12345678;A 4 Ize Jova;XXXXXX12345;XXXXXX12345;A 3 ดังนั้นฉันต้องการ OUTPUT จาก INPUT เพื่อที่ฉันจะได้เห็นว่ามีกี่แถวที่ขึ้นต้นด้วย "SERVER" ไปถึงผู้ใช้ที่ให้ไว้ (เช่น: "Bala Bela; XXXXXX12345; XXXXXX12345678; A") ฉันจะทำสิ่งนี้ในทุบตีได้อย่างไร

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