Unix & Linux

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

4
ฉันจะจับรหัสทางออก / จัดการผิดได้อย่างถูกต้องเมื่อใช้การทดแทนกระบวนการได้อย่างไร
ฉันมีสคริปต์ที่แยกวิเคราะห์ชื่อไฟล์ลงในอาร์เรย์โดยใช้วิธีการต่อไปนี้ที่นำมาจากQ&A บน SO : unset ARGS ARGID="1" while IFS= read -r -d $'\0' FILE; do ARGS[ARGID++]="$FILE" done < <(find "$@" -type f -name '*.txt' -print0) วิธีนี้ใช้งานได้ดีและจัดการรูปแบบชื่อไฟล์ทุกประเภทได้อย่างสมบูรณ์แบบ อย่างไรก็ตามบางครั้งฉันจะส่งไฟล์ที่ไม่มีอยู่ไปยังสคริปต์เช่น: $ findscript.sh existingfolder nonexistingfolder find: `nonexistingfile': No such file or directory ... ภายใต้สถานการณ์ปกติฉันจะให้สคริปต์จับรหัสออกด้วยสิ่งที่ชอบRET=$?และใช้เพื่อตัดสินใจว่าจะดำเนินการอย่างไร ดูเหมือนจะไม่ทำงานกับการทดแทนกระบวนการด้านบน ขั้นตอนที่ถูกต้องในกรณีเช่นนี้คืออะไร? ฉันจะจับรหัสส่งคืนได้อย่างไร มีวิธีอื่นที่เหมาะสมกว่าหรือไม่ในการพิจารณาว่ามีบางอย่างผิดพลาดในกระบวนการทดแทนหรือไม่

2
เราจะรันใหม่อีกครั้ง `createrepo 'หลังจากคัดลอกไฟล์ใหม่ในที่เก็บ
ฉันมีที่เก็บข้อมูลติดตั้งอยู่ ฉันต้องการอัปเดตพื้นที่เก็บข้อมูลนั้นด้วยไฟล์ rpm ใหม่ ฉันสามารถรันcreaterepoคำสั่งบนที่เก็บนี้อีกครั้งเพื่อให้ไฟล์ใหม่ของฉันพร้อมใช้งานกับเซิร์ฟเวอร์ที่ใช้ที่เก็บนั้นได้หรือไม่?
13 rhel  yum  repository 

1
รับเนื้อหาบัฟเฟอร์ TMux scroll
ด้วย TMux จะมีวิธีใดที่จะดึงเนื้อหาบัฟเฟอร์ของโปรแกรมจากด้านบนบรรทัดคำสั่งปัจจุบันโดยทางโปรแกรมหรือไม่? โดยทั่วไปฉันต้องการเขียนสคริปต์ทุบตีเพื่อทำซ้ำไปเรื่อย ๆ จนกระทั่งพบสตริงที่ตรงกัน เพื่อความชัดเจนฉันไม่ต้องการผ่านประวัติศาสตร์ของคำสั่งที่พิมพ์ ฉันต้องการผ่านทุกสิ่งที่ปรากฏบนคอนโซล
13 tmux 

3
สื่อมีการเปลี่ยนแปลง: โปรดใส่ดิสก์ที่มีป้ายกำกับ 'Debian GNU / Linux
ฉันติดตั้ง Debian 7 โดยใช้แฟลชไดรฟ์ USB "เบิร์น" จาก DVD ISO ตัวแรกของซีดี / ดีวีดีการติดตั้ง Debian ฉันทำการติดตั้งน้อยที่สุดโดยไม่ใช้เดเบียนเดสก์ท็อป, เซิร์ฟเวอร์การพิมพ์และยูทิลิตี้ระบบมาตรฐาน หลังจากการติดตั้งและการรีบูตที่ผมได้นำเสนอกับคอนโซลด้วยคำพูดที่Debian GNU / Linux 7 ชื่อโฮสต์ tty1 ฉันให้ชื่อผู้ใช้และรหัสผ่านสำหรับเข้าสู่ระบบ หลังจากที่ฉันพิมพ์คำสั่งsudo apt-get install xorgข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นระบุ: Media changed: please insert the disk labeled 'Debian GNU/Linux 7.4.0 _Wheezy_ - Official amd64 DVD Binary-1 20140208-13:47' in the drive and press Enter …
13 debian  usb  media 

6
ฉันจะได้รับ 'realpath' เพื่อค้นหาลิงก์สัญลักษณ์ของฉันได้อย่างไร
ฉันใช้ MacOSX bashเป็นเปลือกของฉัน ฉันมีลิงก์สัญลักษณ์สร้างขึ้นเช่นนี้: ln -s /usr/bin/python python2 ฉันมีแพ็คเกจที่ใช้ python2 และฉันต้องการสร้างลิงก์สัญลักษณ์ในไดเรกทอรีการทำงานปัจจุบันของฉัน/usr/bin/pythonซึ่งเป็น python2 จริง ๆ เมื่อฉันทำpython2จากบรรทัดคำสั่งฉันได้รับข้อผิดพลาดนี้: python2: realpath couldn't resolve "/usr/bin/python2" แต่การเรียกเช่นนี้./python2จะช่วยแก้ไขเส้นทางได้อย่างถูกต้อง ของฉันPATHมี.อยู่ในนั้น ในความเป็นจริงฉันปรับเปลี่ยนมันสำหรับการทดสอบจะมีเฉพาะ.ในนั้น ฉันจะแก้ไขปัญหานี้ได้อย่างไร ขอบคุณ! บริบท โซลูชันที่แนะนำด้านล่างจำนวนหนึ่งไม่สามารถใช้งานได้สำหรับฉัน ฉันพยายามที่จะกลั่นกรองคำถามของฉันโดยมุ่งเน้นและสั้นที่สุดเท่าที่จะเป็นไปได้เพื่อที่ผู้คนจะไม่จมลงในทะเลของข้อความ แต่ชัดเจนว่าฉันต้องการให้พื้นหลังเพิ่มเติม ฉันพยายามพัฒนาบนแพ็คเกจที่ฉันลอกแบบมาจากคอมไพล์ แพคเกจเดิมgit-multimailคือ / ได้รับการพัฒนาบน Linux บางรุ่น (ฉันคาดเดา Ubuntu) ฉันพยายามแก้ไขมันเพื่อให้สามารถใช้งานได้และชุดทดสอบใน MacOSX โดยมีการปรับเปลี่ยนน้อยที่สุด นี่คือสาเหตุที่โซลูชันที่เสนอบางรายการไม่เหมาะ: ในฐานะที่เป็น root ให้สร้างpython2symlink ใน / usr / bin / …
13 python  symlink 

1
ทำไม mutt ถามชื่อผู้ใช้และรหัสผ่านของ imap ต่อไป?
ตัวแปร unsetting โง่ของการกำหนดค่าimap_user, imap_pass(และอาจpreconnect, imap_authenticatorsเช่นกัน) ผ่านทางaccount-hook . "unset ... "โทรดูเหมือนว่าจะมีการปฏิบัติร่วมกันถ้าไม่จำเป็นสำหรับการจัดการบัญชีผู้ใช้ IMAP หลาย (ดูการจัดการหลายบัญชี IMAP / POP (อุปกรณ์เสริม) , Mutt IMAP หลายบัญชี , โง่ : Gmail IMAP ไม่ตอบสนอง , แฟ้มการกำหนดค่าบัญชีเบ็ดที่เกี่ยวข้องใน funtoo.org ) ขณะนี้ฉันจัดการบัญชีเดียวผ่าน IMAP แผนการจัดการหลายบัญชีทำให้ฉันทำตามคำแนะนำที่พบในลิงก์ล่าสุดที่กล่าวถึงข้างต้น ( ตัวอย่างของการตั้งค่า mutt ) ดังนั้นในทำนองเดียวกันฉันจึงใช้สิ่งต่อไปนี้: account-hook . 'unset imap_user; unset imap_pass; unset tunnel' account-hook 'imaps://mail.domain.net:993/INBOX/' "set …
13 mutt  imap 

3
ฉันจะอัพเกรด MySQL ใน Debian โดยใช้ apt-get ได้อย่างไร
ฉันใช้เครื่องเสมือน Turnkey Linux เวอร์ชั่นของ Debian นั้นเห็นได้ชัดบนเส้นทางอัพเกรด "Wheezy" (ถ้านั่นคือสิ่งที่คุณเรียก) ฉันไม่สะดวกสบายกับ Linux อย่างที่คุณเห็น ฉันต้องการคุณสมบัติใหม่ที่ MySQL 5.6 มีให้ในขณะที่การติดตั้งปัจจุบันของฉันคือ MySQL 5.5.35 ฉันต้องการรับรุ่นล่าสุด (5.6.17 ณ การโพสต์นี้) หรืออย่างน้อย 5.6.x ฉันพยายามapt-get updateแล้วapt-get upgrade, apt-get dist-upgrade. สิ่งเหล่านี้อัปเดตสิ่งต่าง ๆ ได้สำเร็จ แต่ไม่มี MySQL ฉันพยายามapt-get upgrade mysql-serverซึ่งบอกว่าฉันมีเวอร์ชันล่าสุดแล้ว รายการพื้นที่เก็บข้อมูลแพคเกจ Debian Wheezy บนเว็บแสดง MySQL 5.5 และไม่มีอะไรอื่นเมื่อฉันต้องการ 5.6 จากนั้นฉันก็อ่านอะไรบางอย่างเกี่ยวกับ "backport" ซึ่งฟังดูเหมือนว่าจะทำให้ฉันได้รับสิ่งที่ Debian เฉพาะของฉันไม่ควรมี - …
13 debian  apt  upgrade  mysql  turnkey 

6
ฉันสามารถดูรูปภาพและชมภาพยนตร์ภายในเทอร์มินัลอีมูเลเตอร์ได้ไหม
ฉันสามารถดูรูปภาพและชมภาพยนตร์ภายในเครื่องจำลองเทอร์มินัลได้หรือไม่? ในกรณีของ virtual console ฉันสามารถทำได้ผ่าน framebuffer แต่ terminal emulators ล่ะ?

3
ข้อผิดพลาดของสคริปต์ทุบตี: คาดว่าจะเป็นจำนวนเต็ม
ฉันมีปัญหาค่อนข้างแปลกฉันกำลังเรียกใช้สคริปต์ (Bash) บนเซิร์ฟเวอร์หลายเครื่องและหยุดทำงานกับเซิร์ฟเวอร์ตัวใดตัวหนึ่ง (ใช้งานได้ดีกับเซิร์ฟเวอร์อื่นทั้งหมด) นี่คือส่วนปัญหาของสคริปต์: (ฉันไม่ได้เขียนด้วยตัวเองเครดิตทั้งหมดไปที่ "รวย") ( http://www.notrainers.org/monitoring-memory-usage-on-linux-with-nagios-) and-nrpe / ) if [ "$result" -lt "$warn_level" ]; then #Line 56 echo "Memory OK. $result% used." exit 0; elif [ "$result" -ge "$warn_level" ] && [ "$result" -le "$critical_level" ]; then #Line 59 echo "Memory WARNING. $result% used." exit 1; …
13 bash 

2
การตั้งค่าโหมดเคอร์เนลหยุดการบู๊ตของฉัน แต่ไดรเวอร์ ATI ต้องการ
ฉันมี MacBook Pro ปลายปี 2011 มีการ์ดแสดงผล Intel ในตัวและการ์ดแสดงผล ATI แบบแยก เป็นการดีที่ฉันต้องการ Xorg ของฉันที่จะใช้การ์ด ATI กับไดรเวอร์ฟรี (ไม่มีตัวเร่งปฏิกิริยา) นี่คือปัญหา: การตั้งค่าโหมดเคอร์เนลค้างบูตของฉัน (ตรวจสอบโดยการเพิ่มnomodesetพารามิเตอร์เคอร์เนล) และฉันไม่สามารถหาสาเหตุ อย่างไรก็ตามไดรเวอร์ ATI ต้องการ KMS เช่นเดียวกับไดรเวอร์ของ Intel ฉันมีตัวเลือกอะไรบ้างในการรับกราฟิกด้วยการตั้งค่าที่ต้องการตามที่อธิบายไว้ข้างต้น ฉันใช้เคอร์เนล 3.13.8, Arch GNU / Linux ฉันได้ลองใช้กับเคอร์เนล 3.10.35, AKA the LTS kernel ไม่มีโชค. ตามที่แนะนำในความคิดเห็นฉันพยายาม ping เครื่องที่ได้รับผลกระทบหลังจากล็อค ฉันไม่สามารถบอกได้อย่างแน่นอน แต่ดูเหมือนว่ามันจะแข็งไปหมดไม่ใช่แค่จอแสดงผล ฉันได้ลองบูทใน Mac OS X และใช้gfxCardStatusเพื่อบังคับใช้การ์ด …

4
พอร์เทจบน Gentoo วิธีดูเวอร์ชั่นซอฟต์แวร์ที่มีอยู่?
ฉันต้องการติดตั้งโปรแกรม foo โดยใช้emergeบนระบบ Gentoo; ดังนั้นฉันเพียงแค่ใช้emerge fooในการติดตั้งและพอร์เทจเลือกซอฟต์แวร์เวอร์ชันล่าสุดที่อยู่ในที่เก็บ ถ้าฉันรู้หมายเลขรุ่นและการตั้งชื่อการบรรจุฉันสามารถทำemerge =foo.1.2และใช้eselectเพื่อเลือกสิ่งที่แพคเกจ inforce ปัจจุบันอยู่นอกชุดติดตั้งถ้าแพคเกจสนับสนุน แต่ถ้าฉันไม่ทราบหมายเลขรุ่นหรือหลักการตั้งชื่อและต้องการรายการของ foo รุ่นใดที่ฉันสามารถใช้งานได้ ฉันไม่เห็นตัวเลือกที่โผล่ออกมาซึ่งทำสิ่งนี้และการสอดแนมรอบ ๆ ภายใต้/usr/portageนั้นไม่ทำให้ฉันรู้สึกอะไรเลย โบนัส: มีเพื่อค้นหาว่าสถานที่ใดที่emergeสำรวจเพื่อพิจารณาว่ามีแพ็คเกจอะไรบ้าง ตัวอย่างเช่น ebuilds จำนวนมากในระบบของฉันอยู่ในสถานที่ที่ไม่ได้มาตรฐาน แต่ก็emergeพบพวกมันอยู่แล้วดังนั้นฉันจึงพยายามที่จะพิจารณาว่าemergebuilds เป็นรายการของเวอร์ชันซอฟต์แวร์ที่มีอยู่อย่างไร
13 gentoo  emerge 

4
เรียกซ้ำ umount หลังจากเมานต์ rbind
เมื่อเข้าสู่ chroot บางครั้งจำเป็นต้องเมานต์ / sys และ / dev โดยใช้ -rbind แทน -bind เพื่อให้แน่ใจว่าทุกอย่างอยู่ในที่ที่ถูกต้องเมื่อใครบางคนกำลังมองหา ปัญหาเกิดขึ้นเมื่อไม่ได้ต่อเชื่อม umount ที่เรียบง่ายล้มเหลวเสมอ; ขณะที่เด็ก ๆ กำลังขี่ม้าอยู่มันก็ดูเหมือนจะใช้งาน: $ umount /mnt/chroot/sys umount: /mnt/chroot/sys: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) อีกวิธีหนึ่งที่เป็นไปได้คือการแสดงรายการการติดตั้งจาก proc และขยายแต่ละรายการดังนี้: $ grep /mnt/chroot/sys …
13 mount  unmounting 

4
แกลเลอรี่ของแบบอักษรที่ติดตั้ง
ฉันต้องการดูแบบอักษรที่ติดตั้งบนระบบของฉัน โดยเฉพาะฉันต้องการแบบอักษรฝั่งไคลเอ็นต์ (fontconfig) ไม่ใช่แบบอักษรบิตแมป X11 แบบเก่าบนเซิร์ฟเวอร์ (ซึ่ง xfontsel ทำงานได้อย่างเพียงพอ) ฉันเดาสิ่งที่ฉันกำลังมองหาจะเรียกว่าตัวแสดงแบบอักษรหรือแกลเลอรีแบบอักษร ฉันต้องการดูข้อความตัวอย่างเล็กน้อยสำหรับแต่ละแบบอักษรข้อความตัวอย่างที่กำหนดค่าได้อย่างสมบูรณ์แบบ ความสามารถในการกรองตามชื่อแบบอักษรชุดอักขระที่มีอยู่และคุณสมบัติอื่น ๆ จะเป็นข้อดี การค้นหาแพ็คเกจใน Debian wheezy พบgnome-font-viewerและkfontviewแต่สามารถแสดงแบบอักษรเดียวได้ ฉันควรหลีกเลี่ยงขึ้นอยู่กับซอฟต์แวร์ที่ไม่สามารถใช้ได้อย่างกว้างขวางรวมถึง Debian เสถียรและ Ubuntu LTS ปัจจุบัน
13 x11  fonts  fontconfig 

1
มีวิธีการเปลี่ยนชื่ออุปกรณ์ในไดเรกทอรี / dev หรือไม่?
ฉันเขียนกฎนี้เพื่อวัตถุประสงค์ในการทดสอบ: SUBSYSTEMS=="usb", ATTRS{manufacturer}=="Kingston", ATTRS{serial}=="001CC0EC34A2BB318709004B", ATTRS{idVendor}=="0951", ATTRS{idProduct}=="1642", SYMLINK+="pen", NAME="pendrak" ตามข้อมูลต่อไปนี้: # udevadm info --name=/dev/sdb --attribute-walk Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule …
13 devices  udev 

1
ไม่สามารถปิดพาร์ติชัน Luks
เพื่อวัตถุประสงค์ในการสำรองข้อมูลฉันมี "snapshotted" พาร์ติชัน LVM พาร์ทิชันนี้ได้รับการเข้ารหัสดังนั้นฉันจึงได้เปิดพาร์ติชัน Luks (ภาพรวม) เพื่อทำการสำรองข้อมูลของฉัน ปัญหาคือฉันลืมลบสแนปชอตจึงใช้งานได้ 100% เมื่อฉันพยายามที่จะลบภาพรวม: lvremove /dev/mapper/vgx-LogVolDBSnapshot /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 375809572864: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 375809630208: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 0: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after …
13 partition  lvm  io  disk  cryptsetup 

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