คำถามติดแท็ก init-script

สคริปต์ที่จะดำเนินการเมื่อบูตโดยปกติจะใช้สำหรับการเริ่มต้น deamons และการติดตั้งระบบไฟล์

2
ฉันจะรันเชลล์สคริปต์เป็น daemon ภายใต้ Redhat ได้อย่างไร
ฉันมีเชลล์สคริปต์ซึ่งโดยพื้นฐานแล้วจะเป็นซับไฟล์หนึ่งที่มีการบันทึกซึ่งฉันพยายามเรียกใช้จากสคริปต์เริ่มต้น ฉันกำลังใช้daemonฟังก์ชั่นด้านในของ/etc/init.d/functionsการเรียกใช้เพราะ Redhat ไม่start-stop-daemonพร้อมใช้งาน เมื่อฉันเรียกสคริปต์เริ่มต้น ( /etc/init.d/script start) สคริปต์จะยังคงอยู่เบื้องหน้าแทนที่จะทำจนเสร็จและปล่อยให้กระบวนการทำงาน อะไรคือวิธีที่เหมาะสมสำหรับฉันที่จะกำจัดสคริปนี้? สคริปต์ที่จะทำงาน: # conf file where variables are defined . /etc/script.conf echo "Starting..." | logger -i echo "Monitoring $LOG_LOCATION." | logger -i echo "Sending to $MONITOR_HOST:$MONITOR_PORT." | logger -i tail -n 1 -F $LOG_LOCATION | grep WARN --line-buffered | /usr/bin/nc -vv …

1
Linux น้อยที่สุดที่มีเคอร์เนลและ BusyBox: / etc / inittab จะถูกละเว้นจะดำเนินการ / init เท่านั้น
ฉันจัดการเพื่อสร้างซีดีลินุกซ์สดขนาดเล็กและใช้งานได้เต็มรูปแบบซึ่งมีเคอร์เนลเท่านั้น (คอมไพล์ด้วยตัวเลือกเริ่มต้น) และ BusyBox (คอมไพล์ด้วยตัวเลือกเริ่มต้น + สแตติกแอปเพล็ตทั้งหมดที่มีอยู่/sbin/init) ผมมีปัญหาใด ๆ ในการสร้างinitrdและเติม/dev, /procและ/sysและข้าพเจ้ายังมีปัญหาที่ไม่ทั้งหมดของฉันกับ/initเชลล์สคริปต์ เมื่อเร็ว ๆ นี้ฉันอ่านว่า BusyBox รองรับ/etc/inittabการกำหนดค่า (อย่างน้อยถึงระดับหนึ่ง) และฉันต้องการทำอย่างใดอย่างหนึ่งต่อไปนี้: ลืม/initเชลล์สคริปต์ของฉันและพึ่งพา/etc/inittabการกำหนดค่าทั้งหมด ใช้ทั้ง/initเชลล์สคริปต์และ/etc/inittabการกำหนดค่า ตอนนี้ปัญหาที่เกิดขึ้นจริง - ดูเหมือนว่า/etc/inittabจะถูกละเว้นอย่างสมบูรณ์เมื่อ distro บูตของฉัน อาการคือ: เมื่อฉันลบ/initและปล่อยให้/etc/inittabฉันจบลงด้วยความตื่นตระหนกเคอร์เนล สมมติฐานของฉันคือว่าเมล็ดไม่ได้ดำเนินการ/sbin/initเลยหรือว่า/sbin/initไม่พบ /etc/inittab(หรืออ่าน) ผมอ่านที่ BusyBox /etc/inittabควรปรับการทำงานได้โดยไม่ต้อง ดังนั้นฉันออกทั้งสอง/initและ/etc/inittabและคาดเดาสิ่งที่ - ตื่น kernel อีกครั้ง ผมพยายามที่จะดำเนินการ/sbin/initจากเปลือกของฉันและหลังจากที่หลายคาดเดาซึ่งรวมถึงexec /sbin/init, setsid /sbin/initและexec setsid /sbin/initฉันจบลงด้วยความตื่นตระหนกเคอร์เนล ทั้งที่มีและไม่มี / etc / inittab อยู่ในระบบไฟล์ นี่คือเนื้อหาของ/initสคริปต์เชลล์ของฉัน: …

3
ทำไม initramfs จึงเมาท์ระบบไฟล์รูทเป็นแบบอ่านอย่างเดียว
อะไรคือสาเหตุที่ระบบไฟล์รูทติดตั้งroใน initramfs (และใน initrd) ตัวอย่างเช่นคู่มือGentoo initramfsเมาท์ระบบไฟล์รูทด้วย: mount -o ro /dev/sda1 /mnt/root ทำไมไม่ต่อไปนี้ mount -o rw /dev/sda1 /mnt/root ฉันเห็นว่ามีเหตุผลที่ดี (และอาจเกี่ยวข้องกับswitchroot) แต่ดูเหมือนจะไม่ได้รับการบันทึกไว้ที่ใดเลย

1
วิธีที่ยอมรับได้ของการเริ่ม daemon ในสคริปต์ rhel / centos-6 คืออะไร?
daemonผมพบว่าเอกสารจำนวนมากที่ดีสำหรับอูบุนตูของการเริ่มต้นหยุดภูตและมีหน้าคนสำหรับไบนารี แต่จากสิ่งที่ฉันสามารถบอกวิธีบัญญัติให้เริ่ม daemon ในสคริปต์ rhel / centos คือแหล่งที่มา/etc/init.d/functionsแล้วใช้daemon()ฟังก์ชัน แต่ฉันไม่พบตัวอย่างหรือเอกสารที่ดี วิธีที่ยอมรับได้ของการเริ่ม daemon ในสคริปต์ rhel / centos-6 คืออะไร? ความพยายามครั้งแรกของฉันคือ: #!/bin/bash source /etc/init.d/functions daemon --user USER nohup /path/to/your/binary arg1 arg2 >/dev/null 2>&1 &

1
ควรใช้“ invoke-rc.d” หรือ“ service” เพื่อเริ่มบริการใหม่หรือไม่
ฉันสับสนว่าอะไรดีที่สุดและในสถานการณ์ใด: invoke-rc.d apache2 restart หรือ service apache2 restart มีความแตกต่างจริงหรือไม่? man service มีบิตที่น่าสนใจดังต่อไปนี้: บริการเรียกใช้สคริปต์เริ่มต้น System V ในสภาพแวดล้อมที่สามารถคาดการณ์ได้มากที่สุดลบตัวแปรสภาพแวดล้อมส่วนใหญ่และตั้งค่าไดเรกทอรีการทำงานปัจจุบันเป็น / ฉันสนใจ Debian เป็นหลัก แต่ก็ยัง Mint (ตาม Debian ด้วย)

2
การลบสิ่งที่เป็นนามธรรมออกจากกระบวนการบูตของ Ubuntu
ฉันใช้ลีนุกซ์มาเกือบ 5 ปีแล้วและพบว่ากระบวนการบูตเกือบจะเป็นนามธรรม ฉันหมายถึงไม่ค่อยเห็นผู้ใช้ว่าเกิดอะไรขึ้นเบื้องหลัง (เนื่องจากหน้าจอสาด ฯลฯ ) ตอนนี้อาจจะดีสำหรับผู้ใช้ แต่ไม่ใช่สำหรับผู้ที่ชอบ :) ฉันต้องการนำความฟุ่มเฟื่อยของกาลเวลากลับมา นี่คือสิ่งที่ฉันได้ทำ: ฉันสามารถกำจัดบางส่วนได้โดยการลบพารามิเตอร์ "สแปลช" และ "เงียบ" ออกจากบรรทัดคำสั่ง อย่างไรก็ตามฉันยังคงไม่สามารถเห็นบริการที่เริ่มต้นได้ทีละรายการ (เช่นเดียวกับใน init.d) ฉันถือว่าเป็นเพราะ daemon ถูกแทนที่ด้วยพุ่งพรวด มีไฟล์กำหนดค่าบางอย่างที่ฉันสามารถปรับแต่งเพื่อนำความละเอียดของสิ่งที่เกิดขึ้นกลับมาได้ไหม นอกจากนี้ทันทีที่หน้าจอเข้าสู่ระบบจะลบประวัติบันทึกการบูต มีวิธีปิดใช้งานหรือไม่ หมายเหตุ: ฉันรู้ว่าฉันสามารถทำได้โดยเพียงแค่เปลี่ยน distro เป็น Arch หรือ Slackware แต่ฉันไม่ต้องการทำเช่นนั้น

1
ความหมาย / วัตถุประสงค์ของไฟล์ * .pid คืออะไรใน / var / run
ฉันค่อนข้างใหม่ในโลก Linux และตอนนี้ฉันกำลังพยายามเข้าใจหลักการFHS ใน/var/runฉันพบประมาณสิบ*.pidไฟล์crond.pidที่มีเพียง PID มีกระบวนการมากกว่าสิบกระบวนการในระบบและมีเพียงสิบไฟล์ ดังนั้นวัตถุประสงค์ของพวกเขาคืออะไรและสร้างอะไรขึ้นมา?

3
จะสร้างผู้ใช้ที่ไม่มีสิทธิพิเศษใน CentOS ได้อย่างไร?
ฉันต้องการสร้างผู้ใช้ที่ไม่มีสิทธิพิเศษเพื่อรันเซิร์ฟเวอร์ RhodeCode และ Celery daemon ของฉันบนอินสแตนซ์ CentOS ฉันคิดว่าคำจำกัดความที่ยอมรับได้ของสิ่งนี้คือไม่มีโฮมไดเร็กตอรี่ปิดใช้งานการเข้าสู่ระบบและไม่มีการเข้าถึงเชลล์? มองไปที่หน้า man สำหรับ adduser ฉันไม่เห็นวิธีการทำสิ่งนี้ ข้อเสนอแนะใด ๆ ที่ชื่นชม ขอบคุณ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.