কোন আদেশে /etc/init.d স্ক্রিপ্টগুলি দেবিয়ানে লোড করা যায় তা কীভাবে আবিষ্কার করবেন?


13

আমি অন্যের আগে একটি সিস্টেভিট স্ক্রিপ্ট চালাতে চাই এবং এটি কীভাবে করব তা ভেবে দেখলাম।

নিশ্চিত করার জন্য, এটি আসলে আমার পছন্দ অনুযায়ী ক্রম হয়, আমি একটি তালিকা দেখতে চাই, যে ক্রমে এটি ঘটে।

আমি sudo insserv --showallইতিমধ্যে খুঁজে পেয়েছি , তবে এটির মাথা বা লেজ তৈরি করতে পারছি না, কারণ এটি একাধিক বার init স্ক্রিপ্টগুলি তালিকাভুক্ত করে।

কোন আদেশে /etc/init.d স্ক্রিপ্টগুলি দেবিয়ানে লোড করা যায় তা কীভাবে আবিষ্কার করবেন?


ব্যস্তবক্স ব্যবহারকারীরা এই পোস্টে পৌঁছেছেন: unix.stackexchange.com/questions/59018/… মন্তব্যটি নোট করুন "তাদেরকে সংখ্যাসূচকভাবে কার্যকর করা হচ্ছে"
dtmland

উত্তর:


9

/Etc/init.d/ ডিরেক্টরিতে কিছু ফাইল রয়েছে:

$ ls -al /etc/init.d/ | grep -i depend
-rw-r--r--   1 root root  2739 Feb 17 05:20 .depend.boot
-rw-r--r--   1 root root  2221 Feb 17 05:20 .depend.start
-rw-r--r--   1 root root  1855 Feb 17 05:20 .depend.stop

আপনি যখনই চালনা update-rc.dকরবেন ফাইলগুলি পরিবর্তন হয়ে যাবে। .depend.bootফাইল Sস্তর .depend.startজন্য, 2 3 4 5স্তর এবং .depend.stopজন্য হয় 0 1 6

আমার ক্ষেত্রে, আমার নিম্নলিখিত আদেশ রয়েছে .depend.start:

TARGETS = killprocs motd nvidia-kernel nfs-common rsyslog privoxy virtualbox
linuxlogo acpi-fakekey binfmt-support fancontrol openvpn hddtemp cgconfig 
dropbox-container dbus dnscrypt-proxy pulseaudio atd cryptmount exim4 
qbittorrent-nox ddclient acpi-support smartmontools ssh ntp loadcpufreq acpid 
cron rsync cgrulesengd cpufrequtils bootlogs bootchart-done single rmnologin 
rc.local stop-bootlogd

আপনি উপরে দেখতে পেলেন আদেশটি কেন উপস্থাপন করে তা আপনিও দেখতে পারেন। প্রতিটি পরবর্তী লাইন দেখতে এই রকম:

cgrulesengd: rsyslog cgconfig

যার মানে cgrulesengdচাহিদা rsyslog cgconfigপূর্বে শুরু হবে।


4

প্রতিটি রানলেভেলের জন্য (0)) একটি ফোল্ডার /etc/rc পরিবারNd.d থাকে

প্রতিটি ডিরেক্টরিতে প্রতীকী লিঙ্ক হয় "এস" দিয়ে শুরু হয় বা "কে" দিয়ে শুরু হয়। "এস" শুরু করতে ই "কে" থামাতে হবে। স্ক্রিপ্টগুলি ফাইলনামের একটি লজিক্যাল সাজানোর পদ্ধতিতে কার্যকর করা হয় , অন্য কথায় এস 10 স্ক্রিপ্টটি এস 20 মাইক্রিপ্টের চেয়ে প্রথমে কার্যকর করা হবে। উদাহরণ স্বরূপ :

আমাদের দুটি সহজ স্ক্রিপ্ট রয়েছে, দ্বিতীয় রান্নার লিভারের fist.sh স্ক্রিপ্টের পরে দ্বিতীয়.শ স্ক্রিপ্টটি কার্যকর করা উচিত।

    root@localhost init.d]# cat /etc/init.d/first.sh 
    #!/bin/bash
    #
    echo 'I am the first'  >> /var/log/messages

    root@localhost init.d]# cat /etc/init.d/second.sh   
    #!/bin/bash
    #
    echo 'I am the second'  >> /var/log/messages

আমার বর্তমান স্তরটি কী?

    [root@localhost init.d]# runlevel 
    N 5

এখন আমাদের প্রথম এবং এস (এন + 1) মাইসেকেন্ডস্ক্রিপ্টের জন্য এস (এন) মাইস্ক্রিপ্ট নামে একটি প্রতীকী লিঙ্ক প্রয়োজন:

    root@localhost rc5.d]# ln -s /etc/init.d/first.sh /etc/rc5.d/S1first
    root@localhost rc5.d]# ln -s /etc/init.d/second.sh /etc/rc5.d/S2second

আমরা বার্তা লগ পুনরায় বুট এবং পরীক্ষা করতে পারেন:

    [root@localhost ~]# cat /var/log/messages | grep "I am" -A 1 -B 1
    Dec 13 13:53:36 localhost rpc.statd[3468]: Version 1.0.9 Starting
    I am the first
    Dec 13 13:53:37 localhost hcid[3532]: Bluetooth HCI daemon
    --
    Dec 13 13:53:40 localhost automount[3689]: lookup_read_master:       lookup(nisplus): couldn't locate nis+ table auto.master
    I am the second
    Dec 13 13:53:41 localhost gpm[3785]: *** info [startup.c(95)]: 

পুরানো সেন্টোস 5-তে পরীক্ষিত


পুনঃনির্দেশের পরিবর্তে সিস্টেম লগটিতে সংযুক্ত করার জন্য আমি / usr / bin / লগার ব্যবহারের পরামর্শ দিচ্ছি, যাতে আপনি দুর্ঘটনাক্রমে একদিন ">" লিখবেন না এবং আপনার লগগুলি মুছবেন।
ড্যানবি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.