Unix & Linux

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

3
วิธีการปิดการใช้งานพฤติกรรมเปลือกฉุกเฉิน agressive systemd?
โดยค่าเริ่มต้น systemd ลดลงไปที่เปลือกฉุกเฉินที่ข้อผิดพลาดน้อยที่สุด ตัวอย่างเช่นหากหนึ่งในการเมานต์ที่ fstab ล้มเหลวด้วยเหตุผลบางอย่างระบบจะไม่สามารถบูตได้ทันที ฉันจัดการกับระบบการผลิตที่หลากหลายและพบว่าพฤติกรรมนี้สร้างความเสียหายได้มาก (อันที่จริงฉันคิดว่ามันเป็นความล้มเหลวในการออกแบบที่สำคัญ แต่นั่นเป็นความเห็นส่วนตัว) ฉันต้องการเพิ่มความยืดหยุ่นในการบูตระบบ ระบบควรบู๊ตได้ดีที่สุดไดรเวอร์ที่ขาดหายไปเมาท์ ฯลฯ ไม่ควรวางเชลล์ฉุกเฉิน (เพียงแค่แสดงคำเตือนแทน) เว้นแต่ว่าข้อผิดพลาดที่กำหนดจะทำให้การล็อกอินคอนโซลเป็นไปไม่ได้อย่างแน่นอน สิ่งที่สามารถเรียกใช้ที่ควรเรียกใช้ ฉันรู้ว่า systemd สร้างไฟล์ * .mount จาก / etc / fstab โดยอัตโนมัติและฉันสามารถใช้ตัวเลือก nofail พร้อมไทม์เอาต์ x-systemd.device ขนาดเล็ก (หรือกำหนดไฟล์. mount ที่เกี่ยวข้องด้วยตนเอง) อย่างไรก็ตามมันจะไม่แก้ปัญหาของฉันฉันต้องการทำให้ระบบมีความยืดหยุ่นมากขึ้น "การแก้ไข" fstab ทุกครั้งไม่สะดวกมากและฉันไม่แน่ใจว่ามี "ปัญหา" อื่น ๆ อีกมากที่จะทำให้ระบบของฉันไม่สามารถบูตได้เพราะ นักพัฒนาบางคนคิดว่ามันสำคัญพอ ในการเรียงลำดับฉันต้องการควบคุมเครื่องของฉันอีกครั้งและไม่ปล่อยให้ systemd ตัดสินใจว่าปัญหาใดที่ร้ายแรงพอที่จะทำให้กระบวนการบู๊ตเสียหาย เป็นไปได้ไหม?

1
วัตถุประสงค์ของ /usr/lib/.build-id/ dir คืออะไร
หลังจากติดตั้งใหม่ของ f27 (netinstall) ฉันสังเกตว่า pkgs จำนวนมากวางไฟล์เล็ก ๆ ใน/usr/lib/.build-id/dir ในวันที่ 1 ฉันคิดว่าฉันได้เปิดใช้งานโหมด "debug" ที่ไม่ชัดเจนสำหรับ dnf แต่ถึงอย่างนั้น $ dnf download httpd ดึงข้อมูลรอบต่อนาทีด้วย/usr/lib/.build-id/*ไฟล์ ฉันไม่จำสิ่งนี้ได้ใน Fedora ที่เกี่ยวข้อง
10 fedora  rpm  dnf 

6
ประมวลผลไฟล์ / etc / passwd เพื่อแสดงรายการผู้ใช้ทั้งหมดที่มีโฮมโฟลเดอร์อยู่ใน / home
ฉันมีตัวอย่างไฟล์ / etc / passwd ดังนี้: tom:x:1000:1000:Work:/home/tom:/bin/bash george:x:1000:1000:Work:/home/george:/bin/bash bla:x:1000:1000:Work:/home/bla:/bin/bash boo:x:1000:1000:Work:/home/boo:/bin/bash bee:x:1000:1000:Work:/root/list:/bin/bash /home/ฉันพยายามที่จะแสดงรายชื่อผู้ใช้ทั้งหมดที่มีบ้านในโฟลเดอร์ ฉันเขียน cat ~/Desktop/e.txt |awk -F ":" '{if ($6 ~/^/home/) print $1;}' โดยที่ e.txt เป็นข้อความที่ฉันคัดลอกมาที่นี่ ฉันเข้าใจว่ามีปัญหากับแบ็กสแลชซึ่งเป็นอักขระการหลบหนี แต่ฉันจะแก้ไขได้อย่างไรเพื่อให้สามารถแสดงรายการเหล่านั้นในหนึ่งบรรทัดของคำสั่งได้

3
ไอคอนสถานะไปที่ GNOME 3.26.x แล้วฉันจะทำอย่างไรเพื่อให้พวกมันกลับมา?
ฉันอัพเดทเป็น GNOME รุ่นใหม่ล่าสุด 3.26.1 หลายชั่วโมงแล้วและฉันไม่เห็นรายการแอปพลิเคชันพื้นหลังที่เคยอยู่ที่มุมล่างซ้ายของหน้าจอบนแผงเลื่อนที่ซ่อนอยู่ ไอคอนที่เป็นของ Audacious, VLC, Dropbox, Redshift และแอพพลิเคชั่นอื่น ๆ ที่ฉันทำงานในพื้นหลังไม่เห็นที่ใดก็ได้ในหน้าจอ ฉันเปิดแอปTweaks (หรือเทียบเท่าgnome-tweak-toolคำสั่ง) เพื่อค้นหาการกำหนดค่าที่เกี่ยวข้องโดยไม่มีผลลัพธ์ เกิดอะไรขึ้นกับคุณสมบัตินี้และมีวิธีหนึ่งที่คล้ายกับมันถ้ามันหายไป? ไอคอนสถานะแหล่งที่มาและบล็อกGNOMEรูปแบบและฟังก์ชั่น Allan Day

1
systemd: แปลงเส้นทางเป็นรูปแบบชื่อหน่วย systemd
ฉันจะแปลงเส้นทางตามอำเภอใจให้เป็นsystemdรูปแบบชื่อไฟล์หน่วยได้อย่างไร ตัวอย่างเช่นวิธีการที่ฉันจะเปลี่ยนเส้นทางเช่น/media/backupไปmedia-backupดังนั้นฉันสามารถหยุด automounter ผ่าน: systemctl stop media-backup.automount วิธีแก้ปัญหาควรหลีกเลี่ยงอักขระพิเศษ
10 systemd 

1
เหตุใดจึงขี้เกียจ MNT_DETACH หรือ `umount -l` ไม่ปลอดภัย / อันตราย?
ฉันได้อ่านไม่กี่แห่งที่umount -lไม่ปลอดภัย: ในคำตอบของ @cas : ไม่ได้ใช้umountของ--lazyตัวเลือกถ้าคุณดูแลเกี่ยวกับเมื่อไดรฟ์ภายนอกสามารถถอดออกได้อย่างปลอดภัย ความคิดเห็นโดย @frostschutz : umount --lazyไม่ปลอดภัยและไม่สามารถทำให้ปลอดภัย [ ... ] util-linux ความคิดเห็นนี้โดย Ruediger Meier : คุณควรหลีกเลี่ยงการใช้umount -lงานเลย เพียงแค่ฆ่ากระบวนการทั้งหมดใช้/tmp/mountpointแล้ว umount -lไม่มีตัวเลือก ทำไมumount -lไม่ปลอดภัย / อันตราย มีวิธีทำให้ปลอดภัยหรือไม่?

5
ทำไมคำสั่ง“ find | grep 'filename'” ช้ากว่า“ find 'filename'” มากไหม?
ฉันลองทั้งคำสั่งและคำสั่ง find | grep 'filename' ช้ากว่าfind 'filename' คำสั่งแบบธรรมดาหลาย ๆ ครั้ง อะไรจะเป็นคำอธิบายที่เหมาะสมสำหรับพฤติกรรมนี้

4
bash: การย้ายไฟล์ที่มีช่องว่าง
เมื่อฉันย้ายไฟล์เดียวที่มีช่องว่างในชื่อไฟล์มันทำงานเช่นนี้: $ mv "file with spaces.txt" "new_place/file with spaces.txt" ตอนนี้ฉันมีรายการไฟล์ที่อาจมีช่องว่างและฉันต้องการย้ายไฟล์ ตัวอย่างเช่น: $ echo "file with spaces.txt" > file_list.txt $ for file in $(cat file_list.txt); do mv "$file" "new_place/$file"; done; mv: cannot stat 'file': No such file or directory mv: cannot stat 'with': No such file or directory mv: cannot stat …
10 bash  files  mv 

1
วิธีการเปลี่ยนเปลือกเริ่มต้นใน NixOS?
ในขณะที่ฉันต้องตั้งเปลือกปลาที่จะเริ่มต้นเปลือกของฉันใน NixOS และไม่มีเอกสารอย่างเป็นทางการเกี่ยวกับวิธีการทำที่declaratively (ไม่ได้โดยการทำงานchsh) ใน NixOS
10 shell  fish  nixos 

3
เขียนถึง stdin ของกระบวนการ
เท่าที่ฉันเข้าใจถ้าฉันพิมพ์ต่อไปนี้ ... python -i ... python-interpreter จะอ่านจาก stdin, ประพฤติ (ชัด) เช่นนี้: >>> print "Hello" Hello ฉันคาดหวังว่ามันจะทำสิ่งเดียวกันถ้าฉันทำสิ่งนี้: echo 'print "Hello"' > /proc/$(pidof python)/fd/0 แต่นี่คือผลลัพธ์ (beeing บรรทัดว่างจริง): >>> print "Hello" <empyline> สิ่งนี้สำหรับฉันดูเหมือนว่าเพิ่งใช้print "Hello"\nและเขียนถึง stdoutแต่ไม่ได้ตีความ ทำไมมันไม่ทำงานและฉันต้องทำอย่างไรเพื่อให้มันทำงาน?

3
การใช้แพ็คเกจ Debian chromium-widevine
ในฐานะที่เป็นอย่างน้อย Debian 9 (ยืด), chromium-widevineเดมีแพคเกจ คำอธิบายของแพ็คเกจนี้คือ: แพคเกจนี้ให้การสนับสนุนโมดูลถอดรหัสเนื้อหาแบบกว้าง อย่างไรก็ตามหลังจากติดตั้งแพคเกจนี้ฉันไม่สามารถหาสัญญาณใด ๆ ที่ Chromium รู้จักหรือกำลังโหลดปลั๊กอินนี้ สถานที่ตั้งของ Widevine /usr/lib/chromium/libwidevinecdmadapter.soในแพคเกจนี้คือ การใช้งานปัจจุบันของฉันสำหรับแพ็คเกจนี้คือการเล่น Amazon Prime Video บน Chromium ขณะนี้ฉันได้รับข้อผิดพลาด: เว็บเบราว์เซอร์ของคุณไม่มีองค์ประกอบของสิทธิ์ดิจิทัล ไปที่ chrome: // components และภายใต้ WidevineCdm คลิก Check for update chrome: // components ไม่แสดงรายการ WidevineCdm ภายใต้ Chromium สำหรับแปลกพิเศษฉันได้รับ: root@orwell:/usr/lib/chromium# ldd libwidevinecdmadapter.so linux-vdso.so.1 (0x00007ffccbfad000) libwidevinecdm.so => not found …
10 chrome 

1
อะไรคือความแตกต่างระหว่าง Process: และ PID หลัก: ในผลลัพธ์ของ systemctl status?
อะไรคือความแตกต่างระหว่างProcess:และMain PID:บรรทัดในเอาต์พุตของsystemctl statusบนหน่วยบริการ? หมายเลขกระบวนการหมายถึงอะไร ตัวอย่างเช่น: ในการส่งออกจากsystemctl status sshdที่เราเห็นโฆษณาที่มีเหนือเส้นบอกว่าProcess: Main PID:มีหมายเลขกระบวนการที่แตกต่างจากMain PID:บรรทัด นี่คือหนึ่งในคู่มือผู้ดูแลระบบ RHEL : # systemctl status sshd sshd.service - daemon เซิร์ฟเวอร์ OpenSSH โหลดแล้ว: โหลดแล้ว (/usr/lib/systemd/system/sshd.service; ถูกปิดใช้งาน) ใช้งาน: เปิดใช้งาน (ทำงาน) ตั้งแต่จันทร์ 2014-09-01 09:35:17 EST; 2 วินาทีก่อน กระบวนการ: 6191 ExecStartPre = / usr / sbin / sshd-keygen (รหัส = ออกจากสถานะ = …
10 systemd 

1
ข้อความวอลล์เตือนว่ากำลังจะรีบูตหรือปิดตัวเอง แต่ฉันพลาดรายละเอียดไป ฉันจะรับได้อย่างไร
ในขณะที่บางส่วนกำลังถูกเขียนไปยังเทอร์มินัลของฉันข้อความผนังผ่าน มันเร็วเกินไปที่ฉันจะอ่าน ทั้งหมดที่ฉันสามารถบอกได้คือ Broadcast message from The system is going down for และที่สำคัญที่สุดคือการเดาที่มีการศึกษา ที่สำคัญฉันคิดถึงเมื่อมันกำลังลง 20 นาที? 2 ชั่วโมง? 24 ชั่วโมง? ฉันสามารถอ่านข้อความวอลล์อีกครั้งหรือมองหาการปิด / เปิดเครื่องใหม่ที่วางแผนไว้ได้ไหม? ฉันเป็นแค่ผู้ใช้ธรรมดาที่ไม่มีรูต
10 reboot  messaging 

4
หลายคำสั่งระหว่าง SSH ภายในเซสชัน SSH
ฉันมีเครื่องท้องถิ่นซึ่งควรจะทำเซสชั่น SSH ไปยังmasterเครื่องระยะไกลและจากนั้นอีกเซสชั่น SSH ภายในจากmasterไปยังแต่ละระยะไกลบางส่วนslavesแล้วดำเนินการ 2 คำสั่งคือการลบไดเรกทอรีที่เฉพาะเจาะจงและสร้างมันขึ้นมาใหม่ โปรดสังเกตว่าเครื่องโลคัลมี SSH ที่ไม่มีรหัสผ่านไปที่มาสเตอร์และมาสเตอร์มี SSH ที่ไม่มีรหัสผ่านไปยังทาส นอกจากนี้ชื่อโฮสต์ทั้งหมดเป็นที่รู้จักใน.ssh/configเครื่องท้องถิ่น / เครื่องต้นแบบและชื่อโฮสต์ของทาสอยู่ในเครื่องslaves.txtและฉันอ่านจากที่นั่น ดังนั้นสิ่งที่ฉันทำและทำงานคือ: username="ubuntu" masterHostname="myMaster" while read line do #Remove previous folders and create new ones. ssh -n $username@$masterHostname "ssh -t -t $username@$line "rm -rf Input Output Partition"" ssh -n $username@$masterHostname "ssh -t -t $username@$line "mkdir -p …
10 bash  ssh  amazon-ec2  read 

2
ไม่สามารถเริ่ม archlinux หลังจากอัปเดต: ไม่พบ uuid
ฉันอัปเดต archlinux ด้วย "pacman -Syu" แล้วเมื่อฉันรีสตาร์ทระบบจะเริ่มไม่ได้ นี่คือรายงาน: Warning: /lib/modules/4.11.9-1-ARCH/modules.devname not found - ignoring version 232 Error: device 'UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d' not found. Skipping fsck. Error: can't find UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d You are now being dropped into a emergency shell. Can't access tty: job control turned off ในเปลือกนั้นแป้นพิมพ์ของฉันไม่ทำงาน ฉันกำลังลองด้วย livecd ของ archlinux: การติดตั้งพาร์ติชั่นและการใช้ chroot ฉันจะตรวจสอบ …

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