Unix & Linux

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

4
ฉันจะเปลี่ยนการตั้งค่าการบูต GRUB จากภายใน Windows ได้อย่างไร
ปัจจุบันฉันเปิดดูอัลบูต Windows 7 และ Fedora 14 โดยใช้ GRUB โดยใช้ Windows 7 เป็นค่าเริ่มต้น ฉันรู้ว่าจาก Fedora ฉันสามารถตั้งค่า GRUB ให้บูตเข้าสู่ Fedora โดยแทนที่ค่าเริ่มต้นในการรีบูตครั้งถัดไป มีวิธีทำเช่นนี้จาก Windows หรือไม่? นั่นคือฉันสามารถเปลี่ยนการตั้งค่า GRUB อย่างถาวรหรือกึ่งถาวรจาก Windows ดังนั้นฉันไม่จำเป็นต้องอยู่หน้าคอมพิวเตอร์เพื่อบูตเข้าสู่ Fedora หรือไม่
18 grub  dual-boot 

3
อะไรคือความแตกต่างระหว่างเคอร์เนลที่ไม่ต้องเสียภาษี
อะไรคือความแตกต่างระหว่างเคอร์เนล "แบบไม่ยึดเอาเสียก่อน", "ยึดเอาเสีย" และ "เลือกเฉพาะพื้นที่" หวังว่าใครบางคนสามารถหลั่งน้ำตาแสงนี้
18 linux  kernel 

3
คำนวณ md5sum ของ CD / DVD
ฉันมีไฟล์ ISO ซึ่งฉันเขียนลงซีดี ตอนนี้ฉันจะตรวจสอบได้อย่างไรว่าซีดีนั้นสร้างอย่างถูกต้องหรือไม่ ฉันต้องการคำสั่งที่คำนวณผลรวมแฮชที่ฉันสามารถใช้เพื่อตรวจสอบกับผลรวมแฮชที่ฉันคำนวณในไฟล์ ISO โดยอุดมคติแล้วคำสั่งควร: ทำงานโดยไม่คำนึงถึงไฟล์ ISO: นั่นคือฉันไม่ต้องการเก็บรายการ hash sum สำหรับแต่ละไฟล์ในแผ่นดิสก์หรือจำจำนวนบล็อกใด ๆ ค่อนข้างสั้น: คำสั่งหนึ่งบรรทัดนั้นยอดเยี่ยมคำสั่งที่ยาวสองบรรทัดก็โอเคสคริปต์ที่ขยายหน้าเดียวไม่ได้ มีประสิทธิภาพพอสมควร: ตัวอย่างเช่นddแผ่นดิสก์กลับสู่ไฟล์จากนั้นเรียกใช้md5sumบนไฟล์นั้นไม่สามารถยอมรับได้ หากไม่มีคำตอบที่ไม่สามารถตอบสนองทุกสิ่งได้ฉันจะขอบคุณการแข่งขันที่ใกล้เคียงที่สุดเช่นกัน ดียิ่งขึ้นถ้าคุณสามารถบอกฉันได้ว่าทำไมมันไม่ตรงไปตรงมา
18 iso  hashsum  data-cd 

5
ฉันจะแก้ไขไฟล์ขนาดใหญ่ได้อย่างไร
ฉันมีขนาดไฟล์ไม่เกิน> 1 GB ต่อไฟล์ ฉันต้องการลบสองสามไบต์สุดท้ายออกจากไฟล์ ฉันจะทำมันได้อย่างไร ฉันชอบที่จะแก้ไขไฟล์เพื่อประหยัดพื้นที่ดิสก์ ฉันใช้ HP-UX

8
เครื่องมือทั่วไปบางอย่างสำหรับการตรวจจับการบุกรุกมีอะไรบ้าง [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา โปรดให้คำอธิบายสั้น ๆ สำหรับแต่ละเครื่องมือ

5
ลบเวลาโดยใช้วันที่และทุบตี
คำถามอื่น ๆ ทั้งหมดเกี่ยวกับเครือข่าย SE จะจัดการกับสถานการณ์ที่สมมติว่าวันนั้นเป็นnow( Q ) หรือเมื่อมีการระบุเฉพาะวันที่ ( Q ) สิ่งที่ฉันต้องการทำคือระบุวันที่และเวลาจากนั้นลบเวลาออก นี่คือสิ่งที่ฉันลองก่อน: date -d "2018-12-10 00:00:00 - 5 hours - 20 minutes - 5 seconds" ผลลัพธ์นี้ใน2018-12-10 06:39:55- มันเพิ่ม 7 ชั่วโมง จากนั้นหัก 20:05 นาที หลังจากอ่านmanและinfoหน้าของdateฉันคิดว่าฉันได้รับการแก้ไขด้วย: date -d "2018-12-10T00:00:00 - 5 hours - 20 minutes - 5 seconds" แต่ผลลัพธ์เดียวกัน ใช้เวลา 7 …
18 date  gnu 

2
มีปัญหาอะไรบ้างหากสถานะ Zombie ยังไม่หายไป?
ฉันมีหน่วยการผลิตที่กระบวนการจาวากลายเป็นซอมบี้และยังคงอยู่ที่นั่นชั่วระยะเวลาหนึ่ง หากหน่วยถูกรีสตาร์ทแล้วมันจะถูกล้าง อย่างไรก็ตามหน่วยจะไม่รีสตาร์ทและกระบวนการ java อื่นกำลังทำงาน จะมีปัญหาอะไรไหมถ้าสถานะซอมบี้นี้ยังคงอยู่เหมือนเดิมโดยไม่ต้องเคลียร์มัน? มันจะมีผลกระทบในทางใด (ประสิทธิภาพหรือความช้า) หรือไม่?
18 linux  process 

3
ทำไม chmod + w ไม่ให้สิทธิ์การเขียนแก่ผู้อื่น (o)
เมื่อฉันเรียกchmod +w filenameมันไม่ได้ให้สิทธิ์ในการเขียนไปotherมันก็จะช่วยให้เขียนได้รับอนุญาตไปและusergroup หลังจากรันคำสั่งนี้ chmod +w testfile.txt วิ่งls -l testfile.txtพิมพ์ -rw-rw-r-- 1 ravi ravi 20 Mar 10 18:09 testfile.txt แต่ในกรณีของ+rและ+xมันทำงานอย่างถูกต้อง chmod ugo+w filenameฉันไม่ต้องการที่จะใช้

2
การรันเซอร์วิส systemd ในฐานะผู้ใช้อื่นที่ไม่ใช่รูท!
ฉันสร้างบริการต่อไปนี้ amos.service และจำเป็นต้องเรียกใช้เป็น amos (สมาชิกของกลุ่ม amos) [Unit] Description=AMOS Service After=network.target [Service] User=amos Group=amos Type=simple WorkingDirectory=/usr/share/amos ExecStart=/usr/share/amos/amos_service.sh start ExecStop=/usr/share/amos/amos_service.sh stop Restart=on-failure [Install] WantedBy=multi-user.target สิทธิ์ทั้งหมดได้รับการตั้งค่า/usr/share/amosเป็นamos:amos amos_service.sh มีดังนี้: #!/bin/bash CUDIR=$(dirname "$0") cd /usr/share/amos start() { exec /usr/share/amos/run_amos.sh >> /var/log/amos.log 2>&1 } stop() { exec pkill java } case $1 in start|stop) "$1" ;; …
18 systemd  services  init 

4
วิธีเลียนแบบการทดแทนกระบวนการใน Dash ได้อย่างไร
ในbashฉันสามารถใช้การทดแทนกระบวนการและปฏิบัติต่อผลลัพธ์ของกระบวนการราวกับว่ามันเป็นไฟล์ที่บันทึกไว้ในดิสก์: $ echo <(ls) /dev/fd/63 $ ls -lAhF <(ls) lr-x------ 1 root root 64 Sep 17 12:55 /dev/fd/63 -> pipe:[1652825] dashน่าเสียดายที่กระบวนการชดเชยไม่ได้รับการสนับสนุนใน อะไรจะเป็นวิธีที่ดีที่สุดที่จะเลียนแบบได้อย่างรวดเร็วProcess Substitution? ฉันไม่ต้องการบันทึกผลลัพธ์เป็นไฟล์ชั่วคราวที่ไหนสักแห่ง ( /tmp/) แล้วต้องลบมันออก มีวิธีอื่นไหม?

4
ลดเส้นทางในพรอมต์ zsh
BashมีPROMPT_DIRTRIMตัวเลือกเช่นเมื่อฉันตั้งPROMPT_DIRTRIM=3แล้วเส้นทางยาวเช่น: user@computer: /this/is/some/silly/path จะแสดงแทนเป็น: user@computer: .../some/silly/path มีตัวเลือกที่คล้ายกันzshหรือไม่
18 zsh  prompt 

1
Systemd: จะมั่นใจได้อย่างไรว่าบริการ“ oneshot” ถูกลองใหม่หากล้มเหลวในครั้งแรก
ฉันได้อ่าน manpage บริการ systemd สองสามครั้ง แต่ฉันยังไม่สามารถหารูปแบบ systemd พื้นฐานได้: ฉันต้องการเรียกใช้กระบวนการเริ่มต้นหนึ่งครั้ง (เช่นตัวเทียบท่าคอนเทนเนอร์หรือฟอร์แมตไดรฟ์) เมื่อเริ่มต้นระบบจนเสร็จสมบูรณ์ แต่ถ้าฉันใช้ Type = oneshot สำหรับสิ่งนั้นฉันไม่สามารถใช้ Restart = on-failure และถ้ามันล้มเหลวมันจะไม่ลองอีกครั้ง ฉันขาดอะไรบางอย่างชัดเจนที่นี่? ฉันพยายามตั้งค่า Type = simple ด้วย Restart = on-failure แต่ในหลายกรณีฉันต้องการพฤติกรรมดังต่อไปนี้ (จาก manpage) ที่บริการ oneshot ให้: พฤติกรรมของวัตถุที่คล้ายคลึงกันง่าย ๆ ; อย่างไรก็ตามคาดว่ากระบวนการจะต้องออกก่อนที่ systemd จะเริ่มหน่วยติดตาม ปรับปรุง: ที่เกี่ยวข้องข้อผิดพลาด systemd ต้นน้ำ และเราต้องการRemainAfterExitความหมายเช่นกัน
18 systemd 

4
ฉันจะแยกกระบวนการออกจากสคริปต์ทุบตีได้อย่างไร
ฉันกำลังพยายามแยกโพรเซสจาก bash script เพื่อที่ SIGINT จะไม่ถูกส่งต่อไปยังโพรเซสเมื่อฉันออกจากสคริปท์ ฉันใช้disownคำสั่งในเทอร์มินัลโดยตรงอย่างไรก็ตามใน bash disownไม่ได้หยุด SIGINT จากการถูกส่งต่อ วัตถุประสงค์ของสคริปต์นี้คือการเริ่มต้น openocd แล้ว gdb ด้วยการเรียกเพียงครั้งเดียว เนื่องจากสคริปต์ไม่เคยออก (กำลังเรียกใช้ gdb) SIGINT ยังคงถูกส่งต่อจาก gdb ไปยัง openocd ซึ่งเป็นปัญหาเนื่องจาก SIGINT ใช้เป็นคำสั่ง halt ใน gdb ในเทอร์มินัลมันจะมีหน้าตาดังนี้: $ openocd & # run openocd demonized $ disown $! # disown last pid $ gdb # invoke GDB …
18 bash  disown 

1
iotop แสดงการเขียนดิสก์ 1.5 MB / s แต่โปรแกรมทั้งหมดมี 0.00 B / s
ฉันไม่เข้าใจiotopผลลัพธ์: มันแสดง ~ 1.5 MB / s การเขียนดิสก์ (ด้านบนขวา) แต่โปรแกรมทั้งหมดมี 0.00 B / s ทำไม? วิดีโอถูกถ่ายเมื่อฉันลบเนื้อหาของโฟลเดอร์ที่มีไฟล์จำนวนไม่กี่ล้านไฟล์ที่ใช้ perl -e 'for(<*>){((stat)[9]<(unlink))}'บน Kubuntu 14.04.3 LTS x64 iotopsudo iotopถูกเปิดใช้
18 linux  process  monitoring  io 

1
เหตุใดเราใช้ setsid () ในขณะที่ daemonizing กระบวนการ
เพื่อสร้างการบริการ (ภูต) setsid()เราแยกแม่และทำให้มันออกในขณะที่ทำให้เด็กที่จะเป็นผู้นำเซสชั่นโดยการเรียก นอกจากนี้ทำไมเราจึงใช้ setsid () กระบวนการเด็กกำพร้าของเราได้รับการดูแลโดยกระบวนการinit(แม้ว่าจะไม่ใช่ทุกกรณี) ทำไมเราถึงใช้ stsid () มีความสัมพันธ์ใด ๆ ระหว่างsetsid()และการจัดการSIGHUPสัญญาณ
18 daemon 

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