Unix & Linux

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

3
วิธีสำรองไฟล์ขนาดใหญ่หนึ่งไฟล์ที่มีการเปลี่ยนแปลงเล็กน้อย
หากชุดของไฟล์ (แต่ละไฟล์มีขนาดใหญ่หลาย GB) และการเปลี่ยนแปลงแต่ละครั้งจะเล็กน้อยทุกวัน (ในสถานที่สุ่มไม่เพียง แต่ข้อมูลต่อท้าย) จะทำการคัดลอกอย่างมีประสิทธิภาพได้อย่างไร ฉันหมายถึงในแง่ที่ว่ามีการอัพเดทเฉพาะส่วนที่เปลี่ยนแปลงเท่านั้นไม่ใช่ไฟล์ทั้งหมด นั่นหมายถึงความแตกต่างระหว่างการคัดลอก Kb บางส่วนที่นี่และที่นั่นหรือบาง GB
9 backup 

7
ไม่พบ linux-headers-4.3.0-kali-amd64
ฉันกำลังพยายามติดตั้งเครื่องมือ VMware ใน VMPlayer VM แต่ในจุดหนึ่งของการติดตั้งฉันจำเป็นต้องตั้งเส้นทางของ linux-headers ดังนั้นฉันไปลองติดตั้งด้วยคำสั่งนี้: apt-get install gcc make linux-headers-$(uname -r) จากนั้นฉันได้รับข้อผิดพลาด: Couldnt find any package by glob 'linux-headers-4.3.0-kali-amd64' ไฟล์source.listของฉันมีแหล่งข้อมูลเหล่านี้: deb http://http.kali.org/kali kali-rolling main contrib non-free deb http://http.kali.org/kali kali main contrib non-free deb http://http.kali.org/kali sana main contrib non-free deb http://http.kali.org/kali-security kali/updates main contrib non-free deb http://http.kali.org/kali-security sana/updates …

3
วิธีการแทนที่รหัสหลายบรรทัดด้วย sed
ฉันมีไฟล์ขนาดใหญ่ที่มีอักขระพิเศษอยู่ sedมีรหัสหลายคู่สายจะมีที่ฉันต้องการจะเปลี่ยน นี้: text = "\ ------ ------\n\n\ This message was automatically generated by email software\n\ The delivery of your message has not been affected.\n\n\ ------ ------\n\n" จำเป็นต้องเปลี่ยนเป็น: text = "" ฉันลองใช้รหัสต่อไปนี้ แต่ไม่มีโชค: sed -i '/ text = "*/ {N; s/ text = .*affected.\./ text = ""/g}' /etc/exim.conf มันไม่ได้แทนที่อะไรและไม่แสดงข้อความผิดพลาดใด ๆ …

3
Debian Jessie ติดตั้ง backport มากเกินไป
ฉันมี Debian Jessie และได้เพิ่ม backport (ตามคำแนะนำเหล่านี้ ): echo "deb http://http.debian.net/debian jessie-backports main contrib non-free" | sudo tee /etc/apt/sources.list.d/backports.list (ฉันทำสิ่งนี้เพื่อให้ได้เคอร์เนลที่ใหม่กว่าตามที่ต้องการสำหรับฮาร์ดแวร์บางอย่างในแล็ปท็อปของฉัน) คำแนะนำบอกว่าไม่มีอะไรจะเกิดขึ้นเว้นแต่ฉันขอแพคเกจ backported อย่างชัดเจน apt-get -t jessie-backports install "package"เช่น อย่างไรก็ตามตอนนี้ฉันดูเหมือนจะมีการโหลดระบบทั้งหมดของฉันจาก backport และมีแพ็คเกจหนึ่งที่ไม่ได้ติดตั้งเพราะมันขึ้นอยู่กับเวอร์ชันที่แน่นอนของสิ่งที่อัปเดตเป็นพอร์ตด้านหลัง ดังนั้นคำถามของฉัน: ฉันจะหยุดมันก่อนได้อย่างไรเพื่อไม่ให้ติดตั้ง backport เพิ่มเติมอีก? ฉันจะลบ backport ที่มีอยู่ได้อย่างไร หมายเหตุ: สิ่งนี้จะได้รับรายชื่อของแพ็คเกจที่ติดตั้งซึ่งมาจาก backports (และในรูปแบบที่สามารถส่งผ่านไปapt-get installได้ด้วยเหตุผลบางประการที่ทำให้sudo apt-get installecho ที่จุดสิ้นสุดของไพพ์ไลน์ไม่ทำงาน): cat /var/log/dpkg.log.1 |grep -v linux …
9 debian  apt  backports 

5
วิธีการจัดกลุ่มบรรทัดในไฟล์สอง?
ฉันมีไฟล์ข้อความดังนี้: a b c d e f g ฉันจะจัดกลุ่มบรรทัดเหล่านั้นเพื่อรับเอาต์พุตดังนี้: a-b b-c c-d d-e e-f f-g ฉันต้องทำสิ่งนี้ในเปลือก (sh, csh, bash) ฉันได้พบสิ่งนี้: cat file | xargs -n2 แต่องค์ประกอบสุดท้ายของกลุ่มแรกไม่ได้กลายเป็นองค์ประกอบแรกของกลุ่มที่สอง

3
วิธีใช้ bash builtin เพื่อแทนที่เอาต์พุตของ subshell หรือฟังก์ชัน
ฉันพยายามใช้สตริงย่อยของ bash ในตัวเพื่อแทนที่เอาต์พุตของ subshell หรือฟังก์ชัน bash อื่น คำสั่งต่อไปนี้ทำงานได้ค่อนข้างดีใน zsh; แต่ส่งผลให้เกิดbad substitutionข้อผิดพลาดในทุบตี: ${${PWD##*/}//trunk/latest} หรือ ${$(basename $PWD)//trunk/latest} ผลลัพธ์ควรเป็นโฟลเดอร์สุดท้ายของ$PWD, แทนที่ด้วยlatestเมื่อไดเรกทอรีปัจจุบันของฉันคือtrunk ดังนั้น/home/user/trunkควรเป็นlatest มีการทุบตีเทียบเท่าอนุญาตให้สายโซ่รุ่นโดยไม่ต้องอาศัยตัวแปรหรือท่อ? หรือ bash บิวด์อินอนุญาตให้อินพุตเป็นสตริงหรือตัวแปรธรรมดาเท่านั้น?
9 bash 

7
เก็บเฉพาะบรรทัดที่มีจำนวนตัวคั่นที่แน่นอน
ฉันมีไฟล์ csv ขนาดใหญ่ที่มี 10 ฟิลด์คั่นด้วยเครื่องหมายจุลภาค น่าเสียดายที่บางบรรทัดมีรูปแบบไม่ถูกต้องและไม่มีเครื่องหมายจุลภาค 10 รายการ (สาเหตุที่ทำให้เกิดปัญหาเมื่อฉันต้องการอ่านไฟล์ลงใน R) ฉันจะกรองเฉพาะบรรทัดที่มีเครื่องหมายจุลภาค 10 รายการได้อย่างไร
9 csv  filter 

5
เหตุใดบางครั้งการค้นหาจึงจับคู่อาร์กิวเมนต์ของพา ธ บรรทัดคำสั่ง
บน Linux cd /tmp mkdir foo; cd foo ตอนนี้ทำงาน find . -name 'foo' ไม่ให้ผลลัพธ์ ในขณะที่วิ่ง find /tmp/foo -name 'foo' ให้ผลลัพธ์/tmp/fooที่ไม่สมเหตุสมผลกับฉัน มีใครอธิบายได้ไหม
9 find 

2
รับเอาต์พุตของ "posix_spawn"
ดังนั้นฉันจึงสามารถเรียกใช้กระบวนการใน Unix / Linux โดยใช้ POSIX แต่มีวิธีที่ฉันสามารถจัดเก็บ / เปลี่ยนเส้นทางทั้ง STDOUT และ STDERR ของกระบวนการไปยังไฟล์ได้หรือไม่ spawn.hส่วนหัวมีการชะลอตัวของposix_spawn_file_actions_adddup2ซึ่งมีลักษณะที่เกี่ยวข้อง แต่ผมไม่แน่ใจว่าค่อนข้างวิธีการใช้งาน กระบวนการวางไข่: posix_spawn(&processID, (char *)"myprocess", NULL, NULL, args, environ); การจัดเก็บข้อมูลเอาท์พุท: ...?
9 c  posix  fork 

2
diff characterwise
มีเครื่องมือที่มีเสถียรภาพ (ตัวเลือก / ปลั๊กอินของเครื่องมือที่มีอยู่: vimdiff, diff, ฯลฯ ) ใน Linux เพื่อทำ diff ระหว่างสองไฟล์ข้อความตามตัวอักษร? ฉันต้องการดูการเรียงลำดับทั่วไปที่ยาวที่สุดระหว่างไฟล์สองไฟล์ที่ไฮไลต์ มีอัลกอริธึมเวลาพหุนามคลาสสิกสำหรับเรื่องนั้น แต่เครื่องมือมาตรฐานดูเหมือนจะทำงานทีละบรรทัด

3
Swap: ดีกว่าที่จะสร้างพาร์ติชั่น swap เฉพาะหรือสร้างไฟล์ swap?
มีเหตุผลเมื่อใดที่จะสร้าง swap partition เฉพาะกับการสร้างไฟล์ swap ตัวอย่างเช่น / tmp / swap? ในกรณีของฉันหน่วยความจำค่อนข้างต่ำ (1GB) พื้นที่ดิสก์บน SSD ค่อนข้างใหญ่ (256GB) ดังนั้นการแลกเปลี่ยนจะเกิดขึ้นอย่างสม่ำเสมอ ความคิดเห็นใด ๆ ชื่นชม! Carsten
9 linux  debian  swap 

1
ไม่สามารถระงับเมื่อปิดฝาแม้ว่าจะเชื่อมต่อจอแสดงผลภายนอกแล้ว
แล็ปท็อปของฉันมี Fedora 22 พร้อม Gnome 3.16.4 โดยปกติมันจะหยุดหากฝาปิดอยู่ แต่เมื่อเชื่อมต่อกับจอแสดงผลภายนอก (ผ่าน VGA) เดสก์ท็อป gnome จะถูกถ่ายโอนไปยังจอแสดงผลภายนอกแทนเมื่อปิดฝา อย่างไรก็ตามฉันต้องการให้แล็ปท็อปของฉันระงับแม้ว่าจะเชื่อมต่อจอแสดงผลภายนอก นี่คือสิ่งที่ฉันตรวจสอบและลอง: เมื่อผมเปิดและปิดฝาไม่บันทึกการดำเนินการที่ฉันสามารถดูโดยsystemd-logindjournalctl -b -u systemd-logind Dec 09 08:39:39 workstation systemd-logind[980]: Lid closed. Dec 09 08:39:47 workstation systemd-logind[980]: Lid opened. ฉันได้กำหนดค่า/etc/systemd/logind.confต่อไปนี้: [Login] #NAutoVTs=6 #ReserveVT=6 #KillUserProcesses=no #KillOnlyUsers= #KillExcludeUsers=root #InhibitDelayMaxSec=5 #HandlePowerKey=poweroff #HandleSuspendKey=suspend #HandleHibernateKey=hibernate #HandleLidSwitch=suspend HandleLidSwitchDocked=suspend #PowerKeyIgnoreInhibited=no #SuspendKeyIgnoreInhibited=no #HibernateKeyIgnoreInhibited=no #LidSwitchIgnoreInhibited=yes …

5
ค้นหาการเกิดขึ้นครั้งสุดท้ายของสตริงในหลายไฟล์
ฉันต้องการค้นหาไฟล์บันทึกหลายไฟล์ (ไฟล์ทั้งหมดที่สร้างใน 24 ชั่วโมงที่ผ่านมาทั้งหมดเก็บไว้ในไดเรกทอรีเดียวกัน) เพื่อค้นหาสตริงที่เกิดขึ้นครั้งล่าสุด นี่คือคำสั่งที่ฉันเขียน: find . -mtime 1 | grep fileprefix | xargs grep 'search string' | tail -1 แต่นี่จะส่งคืนบรรทัดสุดท้ายสำหรับไฟล์เดียวเท่านั้น ข้อเสนอแนะเกี่ยวกับวิธีการปรับแต่งนี้เพื่อให้ได้ทุกบรรทัด?

1
การร้องขอ curl ไปยัง IPv6 localhost ติดขัด
คอนเทนเนอร์นักเทียบท่าของฉันจะเปิดเผยอินเตอร์เฟส HTTP บนพอร์ต 8500 ซึ่งถูกแมปกับโฮสต์พอร์ต 8500 ซึ่งไม่ได้เปิดใช้งาน IPv6 ยังคงหมายความว่าฉันควรจะสามารถเข้าถึงได้ที่ localhost: 8500 เป็นที่ต้องการ IPv6 ดังนั้นฉันเลยจบด้วยการร้องขอ [:: 1]: 8500 อันนี้ติดมันไม่เคยกลับมา ทำซ้ำสิ่งนี้ด้วย curl คำสั่งนี้ค้าง: curl -g -6 "http://[::1]:8500" ตัวเลือก --verbose ของ curl ไม่แสดงอะไรเลย --ascii-trace ในเวลาเดียวกันการร้องขอไปยัง localhost ของ IPv4 สำเร็จ: curl http://127.0.0.1:8500 ให้ HTML ที่คาดหวังกับฉัน ถ้าฉันใช้เซิร์ฟเวอร์ IPv4 HTTP บนลูปแบ็คให้ใช้ python -m SimpleHTTPServer 4001 แล้วฉันจะได้รับ …
9 ipv6  docker  ipv4 

1
rsyslogd HUPed ซ้ำ ๆ
สังเกตเห็นว่าสำหรับกล่อง VM รับในบันทึกที่กระบวนการ rsyslogd ได้รับ HUPed ไม่พบแนวคิดใดนอกจากโพสต์บางกระทู้ในบางฟอรัมที่พูดว่านี่เป็นเรื่องของ logrorate แนวคิดใด ๆ ในการแก้ไข / แก้ไขปัญหานี้ .. messages-20141011:2014-10-10T04:02:02.054134-06:00 udr-oradl01 rsyslogd: [origin software="rsyslogd" swVersion="5.8.12" x-pid="364" x-info="http://www.rsyslog.com"] rsyslogd was HUPed messages-20141011:2014-10-11T04:02:02.079917-06:00 udr-oradl01 rsyslogd: [origin software="rsyslogd" swVersion="5.8.12" x-pid="739" x-info="http://www.rsyslog.com"] rsyslogd was HUPed messages-20150124:2015-01-24T04:02:01.497596-07:00 udr-oradl01 rsyslogd: [origin software="rsyslogd" swVersion="5.8.12" x-pid="819" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
9 linux  rhel  vmware  rsyslog 

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