/etc/init.d
ไดเรกทอรีของอูบุนตูนั้นเทียบเท่ากับการใช้งานจริงหรือไม่กับสิ่งที่ฉันคิดว่าเป็นมาตรฐานที่มากขึ้น/etc/rc.d/
(อย่างน้อยใน arch) มีเหตุผลใดที่ใช้ canonical init.d แทน rc.d สำหรับสคริปต์เริ่มต้นหรือไม่
/etc/init.d
ไดเรกทอรีของอูบุนตูนั้นเทียบเท่ากับการใช้งานจริงหรือไม่กับสิ่งที่ฉันคิดว่าเป็นมาตรฐานที่มากขึ้น/etc/rc.d/
(อย่างน้อยใน arch) มีเหตุผลใดที่ใช้ canonical init.d แทน rc.d สำหรับสคริปต์เริ่มต้นหรือไม่
คำตอบ:
Ubuntu ใช้/etc/init.d
เพื่อจัดเก็บสคริปต์ SysVinit เพราะ Ubuntu ใช้ Debian และนั่นคือสิ่งที่ Debian ใช้ /etc/rc.d/init.d
ใช้หมวกสีแดง ฉันลืมสิ่งที่ Slackware ใช้ ที่นั่นไม่ใช่ที่ตั้งมาตรฐาน
อูบุนตูอยู่ในกระบวนการของการเปลี่ยนจาก sysvinit ไปพุ่งพรวด/etc/init
ซึ่งใช้ในแฟ้มการกำหนดค่า
/etc/init.d
สไตล์ การเปลี่ยนเป็น/etc/init/*.conf
เริ่มในภายหลัง (8.04 ยังคงเป็นรูปแบบ SysV ทั้งหมด 10.04 กำลังเปลี่ยนไปแล้ว)
/etc/init.d เป็นตำแหน่งในอดีตของ SVR4 ฉันลืมว่าทำไม redhat เพิ่ม /etc/rc.d/ ระดับ ฉันคิดว่าจะแยกสิ่งต่าง ๆ ลงบน rc.d แต่จำเป็นต้องเพิ่ม symlink หลายอันเพื่อใช้งานร่วมกันได้ ดังนั้นจึงมี / etc / init.d เป็น redhat แค่มีการเชื่อมโยงที่อื่น
ดังนั้นที่ตั้งมาตรฐานคือ / etc / init.d ถึงแม้ว่ามันอาจเป็น symlink ไม่ใช่ไดเรกทอรีจริง
มี Linux distros ที่เก่าแก่จริงๆที่คัดลอก BSD ด้วย /etc/rc.local แต่ไม่มีใครใช้มันอีกแล้ว
ในอดีต/etc/rc.d
ทรีไดเรกทอรีแสดงถึงระบบ Init ซึ่งเป็นไปตาม 4.4 การเริ่มต้นระบบแบบดั้งเดิม BSD ซึ่งมักจะเรียกว่าrc
ระบบ init ระบบ BSD ที่ทันสมัย (ฟรี / เปิด / สุทธิ) และ Slackware Linux ทำตามประเพณีนี้
/etc/init.d
ต้นไม้ไดเรกทอรีหมายถึงระบบวี (SysV) ระบบ init ซึ่งต่อไปนี้ AT & T UNIX, SunOS, Solaris ประเพณีของการเริ่มต้นระบบ สิ่งนี้เรียกว่าระบบ SysV Init เดเบียนที่เหมาะสมยังคงปฏิบัติตามประเพณีนี้ในซีรีส์ Wheezy แต่วางแผนที่จะใช้ SystemD ในซีรีส์เจสซี ในอดีต RedHat และอนุพันธ์ได้ใช้ SysV Init แต่ไม่ต้องใช้อีกต่อไป
นอกจากนี้เมื่อเวลาผ่านไปฟีเจอร์ของชุดรูปแบบทั้งสองได้รับการยอมรับจากการแจกแจง
ที่จริงอย่างน้อยใน CentOS 6.8 ซันติอาโก/etc/init.d
เป็นเพียง softlink /etc/rc.d
ไป
PuppyLinux มีทั้ง/etc/rc.dและ/etc/init.dซึ่งไม่ใช่ symlink symlink คืออะไร/ etc / rc.d/init.dซึ่งเชื่อมโยงระดับกับ/etc/init.d (ฉันกำลังมองหาลูกสุนัขที่ใช้ Slackware - มีรสชาติที่ใช้ Ubuntu และอื่น ๆ .) แต่ละ README.txt อธิบายวิธีการของพวกเขา
ตกลงดังนั้น/etc/init.d
เป็นสถานที่ที่คุณสามารถปรับใช้สคริปต์เริ่มต้นอย่างรวดเร็ว ขั้นตอนที่สองเพื่อเปิดใช้งานสคริปต์นี้คือการเรียกใช้chkconfig
คำสั่ง สมมติว่าคุณรันchkconfig --add <yourscript>
ลิงก์สัญลักษณ์จะถูกสร้างขึ้นระหว่าง/etc/init.d/<yourscript>
และ/etc/rc.d/rcX.d/S50<script>
ตัวอย่างเช่น. X ใน rcX.d แสดงถึงหมายเลข runlevel ของสคริปต์และ S50 แสดงประเภทสคริปต์ (มีสองประเภทเหล่านี้ S & K, S บอกให้ระบบเริ่มสคริปต์เมื่อบูทขึ้นและ K บอกให้ระบบ ออกจากสคริปต์อย่างสง่างามเมื่อคุณปิดตัวลงหมายเลขหลังจาก S / K แสดงถึงลำดับที่สิ่งเหล่านี้เกิดขึ้นในกรณีที่คุณมีสคริปต์บางอย่างที่ขึ้นอยู่กับคนอื่น ๆ กำลังทำงานอยู่ก่อน) โดยค่าเริ่มต้นหากไม่มีการระบุ runlevel ภายในสคริปต์หรือเมื่อคุณออกคำสั่ง runlevel CentOS6 จะสร้างสคริปต์ S50 สำหรับ runlevels 2,3,4,5 และ K50 สำหรับ runlevels 0,1,6
/etc/rc.d
ที่ฉันเคยเห็น ... ฉันสงสัยว่ามันอาจจะใช้ใน bsd