Unix & Linux

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

2
ลดเวลาในการลองใหม่ / บล็อกรอไม่ถูกต้องใน Ubuntu
ฉันจะลดเวลารอคอยของ IO และลองอีกครั้งเพื่อให้ระบบปฏิบัติการไม่พยายามเขียนลงในไดรฟ์ที่ล้มเหลวอย่างต่อเนื่องได้อย่างไร ฉันมีระบบที่ใช้ในการทำสำเนาของเนื้อหาตัวอย่างที่ยืมมาจากลูกค้าไปยังฮาร์ดไดรฟ์เดสก์ท็อป SATA ปกติ เราเชื่อมต่อไดรฟ์หลายตัวพร้อมกันผ่าน SAS และคัดลอกเนื้อหาไปยังพวกเขาโดยใช้สคริปต์ เนื่องจากไดรฟ์ยืมมาบางครั้งบางคนก็กลับมาเสียหาย แต่ฉันไม่ทราบว่าพวกเขาได้รับความเสียหายดังนั้นในครั้งต่อไปที่ไดรฟ์สามารถนำกลับมาใช้ในการดำเนินการคัดลอกได้ก็จะทำให้ไดรฟ์อื่นช้าลง บางครั้งอาจใช้เวลาหลายชั่วโมงก่อนที่ฉันจะสังเกตเห็นไดรฟ์ที่ไม่ดีและนำออก หลังจากถอดไดรฟ์แล้วไดรฟ์ที่เหลือจะเริ่มเขียนด้วยความเร็วปกติ ฉันไม่สนใจเกี่ยวกับการกู้คืนไดรฟ์ที่ไม่ดี ฉันแค่ต้องกำจัดพวกมันออกไปดังนั้นพวกมันจะไม่ทำให้ทุกอย่างช้าลง ฉันยังทำการวิจัยแบดเจ็ตและสมาร์ทแวร์และพิจารณาการเขียน pre-check บนไดรฟ์ก่อนเริ่มเขียน ระบบปฏิบัติการ: Ubuntu Linux (12.04 lts)

1
การใช้ getopts เพื่อแยกวิเคราะห์ตัวเลือกหลังจากอาร์กิวเมนต์ที่ไม่ใช่ตัวเลือก
ฉันมีสคริปต์ทุบตีดังต่อไปนี้ในแฟ้มที่ฉันต้องการที่จะทำงานเป็นnepleaks_upd.sh ./nepleaks_upd.sh bootstrap --branch offไม่สามารถทำให้มันจะใช้เวลาแต่สิ่งที่จะทำงานร่วมกับมี--branch./nepleaks_upd.sh bootstrap -b off usage() { echo "Usage: $0 [prepare | up | down] [-b <on/off>]" 1>&2; exit 1; } case "$1" in bootstrap) while getopts ":b:" o; do case "${o}" in b) b=${OPTARG} if [ ${b} == "off" ]; then echo "git clone https://github.com/iPrayag/dotfiles.git" ## …

1
ใช้ inotify เพื่อตรวจสอบไดเรกทอรี แต่ไม่ทำงาน 100%
ฉันได้เขียนสคริปต์ทุบตีเพื่อตรวจสอบไดเรกทอรีเฉพาะ/root/secondfolder/: #!/bin/sh while inotifywait -mr -e close_write "/root/secondfolder/" do echo "close_write" done เมื่อผมสร้างไฟล์ชื่อfourth.txtใน/root/secondfolder/และเขียนสิ่งที่มันบันทึกและปิดมันมันจะออกผลลัพธ์ต่อไปนี้: /root/secondfolder/ CLOSE_WRITE,CLOSE fourth.txt อย่างไรก็ตามมันไม่ได้สะท้อน "close_write" ทำไมถึงเป็นอย่างนั้น?

7
จะจัดระเบียบไฟล์. keywords บนระบบ gentoo ได้อย่างไร
หนึ่งสามารถเลือกแพคเกจการทดสอบในgentoo stableระบบโดยเพิ่มบรรทัดที่มีไวยากรณ์ต่อไปนี้ในรายการคำหลัก: cat /etc/portage/package.keywords =dev-python/ipython-0.13.2 ~amd64 # and many lines later =dev-python/ipython-0.14.1 ~amd64 # and many lines later >=dev-python/ipython-0.13.4 ~amd64 ไฟล์นี้จะเติบโตในเวลาและไม่ช้าก็เร็วหนึ่งไม่สามารถจำได้ว่าสายใดที่ล้าสมัย ฉันจะจัดระเบียบรายการด้วยสคริปต์เป็นครั้งคราวได้อย่างไร ควรลบบรรทัด ถ้าเวอร์ชั่นทดสอบนั้นเสถียรแล้ว > = ถูกใช้สำหรับแพ็คเกจเดียวกัน = ใช้สำหรับแพ็คเกจเดียวกันที่มีหมายเลขเวอร์ชันน้อยกว่า

4
จะแทรกบรรทัดของไฟล์ตั้งแต่สองไฟล์ขึ้นไปได้อย่างไร
ฉันพยายามรับไฟล์ 2 ไฟล์ในไฟล์เดียว ฉันได้ลองคำสั่งด้านล่าง: cat file1 file2 แต่ที่นี่ข้อมูลจะถูกผนวกกับfile2file1 สิ่งที่ฉันต้องการคือfile1บรรทัดที่ 1 ตามด้วยfile2บรรทัดแรกและfile1บรรทัดที่สองตามด้วยfile2บรรทัดที่สองเป็นต้น ใครช่วยบอกฉันได้ว่าจะทำในวิธีที่ง่าย?

1
ลืมที่จะ luks ปิด usb ถาวรพาร์ติชันนี่เป็นปัญหาหรือไม่?
ปฏิบัติตามเอกสาร Kali Linux สำหรับ "การเพิ่มความคงทนของ USB ด้วยการเข้ารหัส LUKS" ฉันสร้างพาร์ติชั่นถาวรและเข้ารหัสโวลุ่มด้วย: cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb2 cryptsetup luksOpen /dev/sdb2 my_usb mkfs.ext3 -L persistence /dev/mapper/my_usb e2label /dev/mapper/my_usb persistence mkdir -p /mnt/my_usb mount /dev/mapper/my_usb /mnt/my_usb echo "/ union" > /mnt/my_usb/persistence.conf umount /dev/mapper/my_usb (แทนชื่อไดรฟ์สำหรับ "my_usb") อย่างไรก็ตามฉันลืมปิดโวลุ่ม (บรรทัดต่อไปนี้ ophaned ในหน้าถัดไปในเอกสารประกอบดังนั้นฉันไม่เห็นมัน): cryptsetup luksClose /dev/mapper/my_usb นี่เป็นปัญหาหรือไม่? ถ้าเป็นเช่นนั้นจะมีวิธีใดและจะซ่อมได้อย่างไร? บทความนี้แสดงให้เห็นว่ามันเป็น …

1
โดเมนสามารถกำหนดค่าให้มีเฉพาะระเบียน DNS nameserver รองได้หรือไม่
ฉันถามว่ามีใครสามารถตรวจสอบว่าแนวคิดการโฮสต์ DNS ของฉันเป็นไปได้หรือมีข้อบกพร่องใด ๆ เราจะโฮสต์เซิร์ฟเวอร์ DNS หลักของเราเองสำหรับทุกโซนและกำหนดค่าให้อนุญาตการถ่ายโอนโซนไปยังชุดของ IP ซึ่งจะโฮสต์ข้อมูลเดียวกับ DNS รอง ที่นายทะเบียนของฉันสำหรับแต่ละโดเมนฉันต้องการตั้งค่าระเบียน NS ให้ชี้ไปที่เซิร์ฟเวอร์ DNS รองเท่านั้นเนื่องจากเราไม่ต้องการให้ผู้ใช้พึ่งพาเซิร์ฟเวอร์หลักของเราที่มีอยู่ตลอดเวลา สมมติว่าการถ่ายโอนโซนเสร็จสมบูรณ์แล้วสำหรับเซิร์ฟเวอร์ชื่อรองอยู่แล้วแผนนี้จะใช้ได้แม้ว่าเซิร์ฟเวอร์ DNS หลักจะไม่ปรากฏในโซนสำหรับทุกโดเมนหรือไม่
10 dns 

3
เปลี่ยนเวลา (วันที่) ในหรือจากข้อมูล exif
ในคำถาม เปลี่ยนวันที่สร้างไฟล์จากข้อมูลเมตาของ JPEG EXIF มีสคริปต์ที่ยอดเยี่ยมเพื่ออัปเดตวันที่ของระบบไฟล์เพื่อให้ตรงกับวันที่จัดเก็บในไฟล์ แต่จะเกิดอะไรขึ้นถ้า“ วันที่และเวลา (ดั้งเดิม)” ไม่ดีในข้อมูล exif (เพราะเวลาที่ตั้งไว้ผิดในกล้อง) มีวิธีแก้ไขเวลาสำหรับไฟล์ทั้งหมดในไดเรกทอรีประมาณ +/- n นาทีหรือไม่? แก้ไขข้อมูล exif ให้ถูกต้อง (จากนั้นใช้หนึ่งในสคริปต์ที่ยอดเยี่ยมจากลิงก์ด้านบน) หรือแก้ไขการประทับเวลาของไฟล์เท่านั้น
10 date  exif 

1
mutt: วิธีแสดงข้อความใหม่ที่เลือกแตกต่างกันในดัชนี
muttฉันได้สีของตัวเองกำหนดไว้สำหรับ เมื่อฉันเริ่มmuttเคอร์เซอร์ (เช่นตัวบ่งชี้) อยู่บนข้อความแรก (เช่นข้อความแรกที่ด้านบนถูกเลือก) ฉันได้กำหนดสีสำหรับข้อความที่เลือกและฉันได้กำหนดสีสำหรับข้อความใหม่ด้วย: ... color indicator color233 color67 color index color75 color232 ~N .... น่าเสียดายที่ข้อความที่เลือกมีลักษณะเหมือนกันไม่ว่าข้อความนั้นจะใหม่หรือไม่ก็ตาม มีวิธีที่จะมีสีที่แตกต่างกันสำหรับข้อความใหม่ที่เลือกไว้หรือไม่เพื่อให้ฉันสามารถรับรู้ได้ทันทีว่าข้อความที่เลือกนั้นเป็นข้อความใหม่? ไม่เช่นนั้นฉันต้องเลื่อนเคอร์เซอร์ลงเพื่อดูว่าข้อความนั้นใหม่ ฉันได้ลองวิธีแก้ปัญหาที่ชัดเจนแล้ว: color indicator color233 color67 ~N แต่นั่นไม่ได้ผล มัทท์บ่นว่า: Error in .muttrc, line 15: too many arguments
10 mutt 

1
วิธีการตรวจสอบการตั้งค่าแบบสุ่มบนพอร์ตไคลเอนต์ TCP ที่เชื่อมต่อผ่านทางวนกลับไปยังเซิร์ฟเวอร์
ฉันมีชุดทดสอบที่เริ่มต้นเซิร์ฟเวอร์บน localhost แล้วรันการทดสอบหลายพันครั้งซึ่งรวมถึงการเริ่มต้นและหยุดไคลเอ็นต์ที่เชื่อมต่อกับเซิร์ฟเวอร์ในเครื่องนี้ในเครื่องเดียวกัน ฉันพยายามค้นหาสาเหตุของ RST ที่ลูกค้าส่งไปยังเซิร์ฟเวอร์ นี่คือลำดับเหตุการณ์: ไคลเอ็นต์เริ่มต้น SYN เซิร์ฟเวอร์ส่งกลับ SYN, ACK ไคลเอนต์ส่ง RST (แทน ACK และสร้างการเชื่อมต่อ) การสังเกตการณ์หนึ่งครั้งในหลาย ๆ ครั้งเซิร์ฟเวอร์ใช้ CPU ประมาณ 99 เปอร์เซ็นต์แม้ว่ามันจะกลับมาเป็นปกติในไม่กี่วินาที / นาที ตอนแรกฉันคิดว่าอาจเป็นเพราะลูกค้าใช้พอร์ตจากการเชื่อมต่อที่ปิดก่อนหน้านี้ซึ่งอยู่ในสถานะ TIME_WAIT และเมื่อเซิร์ฟเวอร์ส่ง SYN, ACK ในไคลเอ็นต์การเชื่อมต่อนั้นออก RST แม้ว่าฉันจะสงสัยว่าทำไมลูกค้าควรใช้พอร์ตในสถานะ TIME_WAIT แต่ฉันใช้ fedora core 4 แบบเก่าและคิดว่าอาจจะไม่ได้ใช้ TCP / IP :-) ตอนนี้ฉันไม่เชื่อว่าเป็นเหตุผลเพราะการปรับแต่งทั้งหมดที่ทำในการแก้ไขปัญหาข้างต้นไม่ได้ช่วยบรรเทาปัญหา FYI ต่อไปนี้เป็นการเปลี่ยนแปลงที่ฉันได้ลอง/etc/sysctl.conf: net.ipv4.ip_local_port_range = 1024 …
10 fedora  tcp  tcpdump  tcp-ip 

6
ใช้ Perl เพื่อนับจำนวนของตัวเลขทางวิทยาศาสตร์ในไฟล์
ฉันจะนับจำนวนตัวเลขทางวิทยาศาสตร์ในไฟล์ได้อย่างไร ไฟล์นี้ยังมีส่วนหัวสองสามบรรทัดที่ต้องข้าม ส่วนหนึ่งของเนื้อหาของไฟล์อยู่ด้านล่าง FileHeaderLine1 FileHeaderLine2 FileHeaderLine3 FileHeaderLine4 2.91999996E-001 2.97030300E-001 3.02060604E-001 3.07090908E-001 3.12121212E-001 3.17151517E-001 3.22181821E-001 3.27212125E-001 3.32242429E-001 3.37272733E-001 3.42303038E-001 3.47333342E-001 3.52363646E-001 3.57393950E-001 3.62424254E-001 3.67454559E-001 3.72484863E-001 3.77515137E-001 3.82545441E-001 3.87575746E-001 3.92606050E-001 3.97636354E-001 4.02666658E-001 4.07696962E-001 4.12727267E-001 4.17757571E-001 4.22787875E-001 4.27818179E-001 4.32848483E-001 4.37878788E-001 4.42909092E-001 4.47939396E-001 4.52969700E-001 ดังนั้นฉันจะข้ามสี่บรรทัดแรกของตัวอย่างด้านบนและนับจำนวนตัวเลขทางวิทยาศาสตร์ในไฟล์ได้อย่างไร
10 perl 

1
ทำไมฉันถึงมีภาพซ้อนและฉีกขาดด้วยตัวจัดการหน้าต่าง i3 ที่จับคู่กับ xcompgmr เมื่อเรียงหน้าจอเทอร์มินัล?
ฉันใช้ตัวจัดการหน้าต่างเรียงต่อกันของi3 ฉันไม่ได้เปิดใช้งานตัวxcompmgrแต่งเพลงในไฟล์~ / .i3 / configรวมถึงfehการแสดงรูปพื้นหลัง: exec --no-startup-id xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 exec feh --bg-scale ~/Downloads/Arch-Linux-Bluewave.jpg ตอนนี้lxterminalรองรับความโปร่งแสงเป็นต้น แต่เมื่อฉันจัดเรียงเครื่องของฉันในแนวตั้งวัตถุghosting การฉีกขาดและการตกแต่งบางส่วนจากพื้นที่ทำงานอื่น ๆ จะปรากฏที่ด้านบนขวา - และหายไปทันทีที่หน้าต่างปูกระเบื้องในแนวนอน นอกจากนี้เมื่อtransmission-gtk"ลอย" กล่องโต้ตอบการย้ายกล่องรอบ ๆ ใบโกสต์ในรูปแบบของเส้นแนวนอนเล็ก ๆ ซึ่งยังคงอยู่จนกว่าจะรีเฟรชบางส่วน มีวิธีแก้ปัญหาหรือไม่?

1
ssh เข้าสู่บัญชีที่ไม่มีโฮมไดเร็กตอรี่
ตามคำถามก่อนหน้านี้ของฉันฉันได้ตัดสินใจสร้างบัญชีผู้ใช้ท้องถิ่นดังต่อไปนี้ adduser --system --no-create-home USERNAME sshตอนนี้ผมอยากให้ผู้ใช้ในท้องถิ่นเพื่อให้สามารถเข้าถึงเครื่องใช้ ตามความเข้าใจของฉันsshทำงานได้ดังนี้ สมมติว่าฉันมี 2 เครื่อง (พูดว่าอัลฟ่าและเบต้า ) จากเครื่องอัลฟ่า :ssh user@beta รหัสสาธารณะของอัลฟาจะแสดงภายใต้~/.ssh/authorized_keysในเครื่องเบต้า รหัสส่วนตัวของอัลฟ่าจะปรากฏภายใต้/~/.sshในเครื่องอัลฟา ตอนนี้ฉันได้วางแผนที่จะไม่ใช้บ้านสำหรับผู้ใช้ ดังนั้นสมมติว่าฉันadduserเข้าสู่เครื่องเบต้าโดยไม่ต้องมีผู้ใช้ที่บ้านฉันจะยังสามารถเปลี่ยนสถานะเป็นเบต้าจากอัลฟ่าได้หรือไม่

3
การเพิ่ม "หมายเลขสุ่มเอนโทรปี" สำหรับคีย์ GPG
ในวิดีโอต่อไปนี้: ลินุกซ์ HOWTO: การรักษาความปลอดภัยข้อมูลของคุณกับ PGP ส่วนที่ 2gpgคุณจะได้แสดงให้เห็นถึงวิธีการสร้างคู่คีย์ด้วย เมื่อเวลาประมาณ1:50ผู้สอนพูดสิ่งต่อไปนี้: ในขณะที่กำลังสร้างคีย์มันเป็นความคิดที่ดีที่จะเลื่อนเมาส์ไปรอบๆ เล็กน้อยเพื่อให้เอนโทรปีของเลขสุ่มเพิ่มขึ้นสำหรับการสร้าง keypair นี่ดูเหมือนว่าฉันจะเป็นตำนานโดยเฉพาะอย่างยิ่งเนื่องจากเครื่องมือบรรทัดคำสั่งไม่ควรได้รับผลกระทบจากเคอร์เซอร์ ในทางกลับกันฉันไม่มีเงื่อนงำว่าตัวสร้างตัวเลขสุ่มของ Linux ทำงานอย่างไรไม่ว่าจะใช้งานร่วมกับ GUI หรือเป็นอิสระจากมัน มีสต็อคในสิ่งที่เขาอ้างหรือเป็นตัวอย่างของการเขียนโปรแกรมลัทธิขนส่งสินค้าหรือไม่?
10 linux  gpg  random 

3
การใช้เชลล์สคริปต์เป็นเครื่องพิมพ์เสมือน
ฉันมีเชลล์สคริปต์ที่ใช้ไฟล์ PDF เป็นอาร์กิวเมนต์และพิมพ์ด้วยตัวเลือกเฉพาะเครื่องพิมพ์เพิ่มเติม ฉันจะเพิ่มสคริปต์นี้เป็นเครื่องพิมพ์เสมือนที่สามารถเลือกได้จาก GUI ได้อย่างไร เชลล์สคริปต์เป็นสคริปต์เพล็กซ์แบบแมนนวลที่ใช้ไฟล์ PDF พิมพ์หน้าคู่ให้พรอมต์ผู้ใช้โดยใช้ zenity เพื่อให้ผู้ใช้พลิกหน้าจากนั้นพิมพ์หน้าคี่ เวิร์กโฟลว์ปัจจุบันของฉันคือ: ไฟล์ -> พิมพ์ -> บันทึกเป็นไฟล์ -> tmp.pdf my_duplex_script tmp.pdf rm tmp.pdf มีวิธีที่จะทำให้มันเป็น: ไฟล์ -> พิมพ์ -> my_script_as_virtual_printer หมายเหตุ: นี่เป็นบน Linux mint 13 cinnamon ฉันลองแล้วgnome-manual-duplexแต่ใช้ไม่ได้สำหรับฉัน กล่องโต้ตอบ GUI ซึ่งฉันสามารถพิมพ์เป็นไฟล์ PDF ได้ my_duplex_script #!/bin/bash lp_args= while getopts o: opt do case …

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