Unix & Linux

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

1
อะไรคือความแตกต่างระหว่าง "ประวัติย้อนหลัง dnf" และ "ยกเลิกประวัติ dnf"?
อ่านเอกสารทางการ : dnf history rollback <transaction-spec> เลิกทำธุรกรรมทั้งหมดที่ทำหลังจากทำธุรกรรมที่ระบุ หากไม่สามารถยกเลิกการทำธุรกรรมใด ๆ ได้เนื่องจากสถานะปัจจุบันของ RPMDB ห้ามเลิกทำธุรกรรมใด ๆ เน้นเป็นของฉัน ดังนั้นคำสั่งนี้หมายถึงundoคำสั่ง โอเคเรามาอ่านเอกสารที่เกี่ยวข้องกับการเลิกทำ: dnf history undo <transaction-spec> ดำเนินการตรงข้ามกับการดำเนินการทั้งหมดที่ทำในธุรกรรมที่ระบุ หากไม่สามารถยกเลิกการดำเนินการใด ๆ เนื่องจากสถานะปัจจุบันของ RPMDB ห้ามเลิกทำการดำเนินการใด ๆ ดูเหมือนว่าทั้งสองคำสั่งทำสิ่งเดียวกันโดยมีข้อยกเว้นที่ในอดีตสามารถยกเลิกการทำธุรกรรมได้หลายอย่าง ความเข้าใจนี้ถูกต้องหรือไม่ (ฉันขอขอบคุณคำตอบจากประสบการณ์มือแรกไม่ใช่จากมุมมองว่าคุณตีความคู่มืออย่างไรฉันสนใจในข้อเท็จจริงไม่ใช่เดา) บริบท: ฉันต้องเขียนสคริปต์ที่ทำงานdnf upgrade -yแล้วเรียกใช้การทดสอบบางอย่างแล้วย้อนกลับการเปลี่ยนแปลง dnfหากการทดสอบล้มเหลว ฉันกำลังมองหาวิธีที่ดีที่สุดในการบรรลุเป้าหมายนี้

2
เป็นไปได้หรือไม่ที่จะมีเกตเวย์เริ่มต้นหลายรายการสำหรับการเชื่อมต่อขาออก?
ฉันต้องการมี NIC หลายตัว (eth0 และ wlan0) ในซับเน็ตเดียวกันและทำหน้าที่เป็นข้อมูลสำรองสำหรับแอปพลิเคชันบนโฮสต์หาก NIC ตัวใดตัวหนึ่งล้มเหลว ด้วยเหตุนี้ฉันจึงสร้างตารางเส้นทางเพิ่มเติม นี่คือ/etc/network/interfacesลักษณะที่: iface eth0 inet static address 192.168.178.2 netmask 255.255.255.0 dns-nameserver 8.8.8.8 8.8.4.4 post-up ip route add 192.168.178.0/24 dev eth0 src 192.168.178.2 post-up ip route add default via 192.168.178.1 dev eth0 post-up ip rule add from 192.168.178.2/32 post-up ip rule add …

2
วิธีเริ่มและใช้ ssh-agent เป็น systemd service?
วิธีการเริ่มssh-agentเป็นบริการsystemd ? มีคำแนะนำบางอย่างในเน็ต แต่พวกเขายังไม่สมบูรณ์ วิธีเพิ่มคีย์ที่ไม่เข้ารหัสโดยอัตโนมัติหากบริการssh-agentเริ่มต้นได้สำเร็จ อาจเป็นการเพิ่มคีย์จากรายการ~/.ssh/.session-keysจะดี วิธีการตั้งค่าSSH_AUTH_SOCKในเซสชั่นการเข้าสู่ระบบใด ๆ หลังจากนั้น? วิธีที่ถูกต้องที่สุดคือการส่งจากบริการssh-agentไปยังบริการsystemd-logind (ไม่ทราบว่าเป็นไปได้หรือไม่) /etc/profileวิธีที่ไร้เดียงสาธรรมดาเป็นเพียงการเพิ่มเข้าไป

7
ชื่อผู้ใช้และรหัสผ่านในบรรทัดคำสั่งด้วย sshfs
ฉันกำลังสร้างสคริปต์สำรองขนาดเล็กโดยใช้sshfs: sshfs backup_user@target_ip:/home /mnt/backup มีวิธีการรวมรหัสผ่านในคำสั่งนี้หรือไม่? หรือมีโซลูชันการถ่ายโอนไฟล์อื่นที่สามารถใช้รหัสผ่านการเข้าสู่ระบบอื่นนอกเหนือจาก FTP / SFTP ได้หรือไม่
15 linux  ssh  sshfs 

2
เหตุใดการซิงค์จึงสำคัญเมื่อทำการติด USB แบบ linux
จาก Arch Linux Wiki: https://wiki.archlinux.org/index.php/USB_flash_installation_media # dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync [ ... ] Do ไม่พลาดการซิงค์ให้เสร็จสมบูรณ์ก่อนที่จะดึงไดรฟ์ USB ผมอยากจะรู้ว่า มันทำอะไร? จะเกิดอะไรขึ้นหากปล่อยทิ้งไป? หมายเหตุ ddคำสั่งที่ใช้กับทางเลือกstatus=progress: tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync หรือใช้pvเพื่อความก้าวหน้า tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync

2
ส่งผ่านพารามิเตอร์บรรทัดคำสั่งไปยังโปรแกรมภายในเชลล์สคริปต์
ในฐานะที่เป็น./script.sh arg1 [arg2 arg3 ...]ข้อโต้แย้งบรรทัดคำสั่งarg1, arg2... สามารถได้โดย$1, $2... แต่จำนวนของการขัดแย้งจะไม่ได้รับการแก้ไข ในเชลล์สคริปต์ฉันต้องการส่งอาร์กิวเมนต์ที่เริ่มต้นจากarg2ไปยังโปรแกรม #/bin/bash ... /path/to/a/program [I want to pass arg2 arg3 ... to the program] ... ฉันจะทำอย่างไรเพราะอาจมีข้อโต้แย้งอย่างน้อยหนึ่งข้อ

2
Unset `setcap` ความสามารถเพิ่มเติมเกี่ยวกับการจ่ายได้
คำตอบให้กับลินุกซ์: ช่วยให้ผู้ใช้เพื่อฟังพอร์ตด้านล่าง 1024ที่ระบุให้สิทธิ์เพิ่มเติมปฏิบัติการใช้setcapดังกล่าวว่าโปรแกรมที่สามารถผูกกับพอร์ต <1024: setcap 'cap_net_bind_service=+ep' /path/to/program วิธีที่ถูกต้องในการยกเลิกการอนุญาตเหล่านี้คืออะไร?

5
สร้างดัชนีสตริงใน bash
ฉันจะอ้างถึงสตริงตามดัชนีใน sh / bash ได้อย่างไร? นั่นคือโดยทั่วไปมันแยก ฉันพยายามตัดชื่อไฟล์ 5 ตัวอักษร ชื่อทั้งหมดมีโครงสร้าง: name_nr_code ฉันกำลังพยายามลบบิตรหัสตัวอักษรและตัวเลข 5 ตัว name_nr_มีความยาว 10 อักขระเสมอ มีสิ่งที่ชอบ; for i in * ; do mv "$i" "$i"[:10] ; done
15 bash  shell  string 

2
ความแตกต่างระหว่างค้นหาและ mlocate
ผมอยากจะติดตั้งคำสั่งซึ่งสามารถใช้ได้ผ่านทางlocatesudo apt-get installmlocate อย่างไรก็ตามฉันวิ่งครั้งแรกsudo apt-get installlocateซึ่งดูเหมือนจะติดตั้งอย่างอื่น พิมพ์คำสั่งแต่ดูเหมือนว่าจะเรียกร้องให้locate <package>mlocate แพคเกจคืออะไรlocateและสามารถ (ควร) นำออกอย่างปลอดภัยหรือไม่
15 locate 

1
สามารถค้นหาไฟล์ i386 ได้แม้ว่าสถาปัตยกรรมจะเป็น amd64
ฉันกำลังพยายามใช้ที่เก็บไฟล์สำหรับการอัปเดต linux / ubuntu บนเครื่องที่ไม่ได้เชื่อมต่อ สถาปัตยกรรมสำหรับเครื่องนี้ (uname -a): x86_64 GNU/Linux ผลลัพธ์ของdpkg --printarchitectureคือ: amd64 มันเป็นเครื่อง Trusty Tahr amd64 และมันพูดถึงสิ่งนี้โดยเฉพาะเช่นในไฟล์ aptitude source.list นอกจากนี้ "เกี่ยวกับคอมพิวเตอร์เครื่องนี้" ในอูบุนตูบอกว่าเครื่องนั้นเป็นแบบ 64 บิตโดยเฉพาะ ดังนั้นฉันจึงติดตั้งแพ็คเกจ amd64 บนเครื่อง อย่างไรก็ตามเมื่อฉันพยายามที่จะทำapt-get updateฉันได้รับข้อผิดพลาดเช่น: W: Failed to fetch file:/var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu/dists/trusty/main/binary-i386/Packages File not found ดังนั้นในคำอื่น ๆ ถึงแม้ว่ามันจะเป็นเครื่อง 64 บิต apt ก็พยายามอ่านแพ็คเกจ i386 อย่างลึกลับ เหตุใดมันจึงทำเช่นนี้และฉันจะใช้แพ็คเกจ 64 บิตได้อย่างไร …
15 apt  repository 

2
ช่องว่างทั้งหมดใน / etc / fstab มีไว้เพื่ออะไร?
ฉันได้รับว่าฉันสามารถใช้mountเพื่อตั้งค่า/ไดเรกทอรีและฉันสามารถใช้/etc/fstabเพื่อติดตั้งใหม่เมื่อรีบูต การทดสอบไฟล์ fstab ก็สนุกmount -faVได้เช่นกัน เมื่อฉันดูไฟล์ fstab จำนวนช่องว่างนั้นไม่เป็นที่น่าพอใจ ฉันคาดว่าจะมีหนึ่งช่องว่าง (เช่นตัวคั่นระหว่างพารามิเตอร์คำสั่ง) หรือสี่ช่องว่าง (เช่นแท็บ) ฉันเห็นเจ็ดช่องว่างในแต่ละครั้งเกือบจะเป็นแบบแผน คำถามของฉันคืออะไรช่องว่างทั้งหมดใน / etc / fstab มีไว้เพื่ออะไร? (อาจจะ - มันจะสำคัญไหมถ้าฉันได้เบอร์ผิด?)

4
เปิดไดเรกทอรีปัจจุบันจากเทอร์มินัลไปยังไฟล์เบราว์เซอร์หรือไม่
ไดเรกทอรีปัจจุบันของฉันถูกฝังลึกในหลาย ๆ โฟลเดอร์ย่อยจากโฮมไดเร็กตอรี่ของฉัน ถ้าฉันต้องการเปิดไดเรกทอรีนี้ในเบราว์เซอร์ไฟล์แบบ guiฉันต้องดับเบิลคลิกที่โฟลเดอร์หลังจากโฟลเดอร์เพื่อเข้าถึงมัน ใช้เวลานานมาก ในทางกลับกันด้วยการกดปุ่มเพียงไม่กี่ครั้งและกดปุ่มแท็บหลายครั้งจึงสามารถเข้าถึงได้ง่ายผ่านเทอร์มินัล ฉันต้องการทราบว่ามีวิธีการเปิดไดเรกทอรีปัจจุบันในเทอร์มินัลไปยังไฟล์เบราว์เซอร์ aa หรือไม่ คำสั่งให้ทำเช่นนี้คืออะไร? สำหรับการอ้างอิงฉันมีระบบอูบุนตู แต่ฉันอยากจะรู้ว่าคำสั่งต่าง ๆ ของลินุกซ์คืออะไร

7
วิธีการ grep -v และแยกบรรทัดถัดไปหลังการแข่งขัน?
จะกรอง 2 บรรทัดสำหรับแต่ละบรรทัดที่ตรงกับ grep regex ได้อย่างไร นี่คือการทดสอบขั้นต่ำของฉัน: SomeTestAAAA EndTest SomeTestABCD EndTest SomeTestDEFG EndTest SomeTestAABC EndTest SomeTestACDF EndTest และเห็นได้ชัดว่าฉันพยายามเช่นgrep -vA 1 SomeTestAAที่ไม่ทำงาน ผลลัพธ์ที่ต้องการคือ: SomeTestABCD EndTest SomeTestDEFG EndTest SomeTestACDF EndTest

2
ฉันจะทำให้บริการผู้ใช้รอจนกระทั่งเครือข่ายออนไลน์ได้อย่างไร
ฉันได้เขียนไฟล์บริการผู้ใช้ systemd สองไฟล์ซึ่งฉันต้องการให้ผู้ใช้เปิดใช้งานและต้องการการเชื่อมต่อเครือข่ายที่ใช้งานได้ ฉันคิดว่าจะง่ายเหมือน: Wants=network-online.target After=network-online.target อย่างไรก็ตามบริการดูเหมือนจะเริ่มเร็วเกินไปและในjournalctlฉันเห็น: network-online.target: Cannot add dependency job, ignoring: Unit network-online.target failed to load: No such file or directory. จากนั้นฉันค้นหาเพิ่มเติมและลอง Wants=network.target After=network.target sudo systemctl enable systemd-networkd-wait-online.serviceและทำ ตอนนี้ฉันมีในjournalctl: network.target: Cannot add dependency job, ignoring: Unit network.target failed to load: No such file or directory. และอีกครั้งบริการเริ่มเร็วเกินไป ข้อความนั้นควรจะอยู่ที่นั่นหรือไม่? ฉันจะแก้ไขปัญหาของฉันได้อย่างไร …

1
เคอร์เนล Linux: ความหมายของซอร์ส - ทรี, อิน - ทรีและ out-of-tree
คำว่า "in-tree" และ "out-of-tree" หมายถึงอะไร? นอกจากนี้ "source tree" อ้างถึงเคอร์เนลอย่างเป็นทางการที่ปล่อยจาก / ดูแลที่ kernel.org หรือเป็นคำทั่วไปที่สามารถอ้างถึงเคอร์เนลลินุกซ์ (แก้ไข) ใด ๆ ได้หรือไม่?
15 linux  kernel 

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