উত্তর:
ডেবিয়ান-এ, পরিষেবা এবং অ্যাপ্লিকেশন বুট এবং শাটডাউন স্ক্রিপ্টগুলি রাখতে হবে /etc/init.d/
।
দেবিয়ান একটি উদাহরণ স্ক্রিপ্ট সরবরাহ করে /etc/init.d/skeleton
যা আপনি আপনার নির্দিষ্ট অ্যাপ্লিকেশনের জন্য আপনার স্বাদে পরিবর্তন করতে পারেন।
একবার এটি স্থানে থাকলে, কল করুন:
# update-rc.d YOURAPP defaults
/etc/rc?.d/
দেবিয়ানকে আপনার জন্য প্রতীক যুক্ত করতে।
আপনি যদি কোনও মেনু বা গ্রাফিকাল ইন্টারফেস পছন্দ করেন তবে প্যাকেজ sysv-rc-conf
বা ksysv
প্যাকেজটি একবার দেখুন।
প্রস্থান 0 বলার রেখার পূর্বে আপনি /etc/rc.local থেকে আপনার স্ক্রিপ্টটি কল করতে পারেন
আপনার অ্যাপটি বন্ধ করার বিষয়ে আমি /etc/rc0.d তে একটি স্ক্রিপ্ট রাখার পরামর্শ দেব । আপনার এটির একটি বড় হাতের কে দিয়ে নামকরণ করতে হবে এবং তারপরে একটি 2 ডিজিটের নম্বর যা এই স্ক্রিপ্টগুলি চালিত করার ক্রমটি নির্দিষ্ট করে এবং তারপরে একটি নাম। এটিকে "স্টপ" প্যারামিটারের সাথে ডাকা হবে, তবে আপনি সাধারণ স্টপ স্ক্রিপ্টের জন্য এটিকে উপেক্ষা করতে পারেন।
প্রারম্ভকালে জন্য কটাক্ষপাত আছে এই ।
শাটডাউন করার জন্য, একটি লিঙ্ক তৈরি করুন / আপনার স্ক্রিপ্টটিকে কোনও একটি /etc/rcX.d ফোল্ডারে অনুলিপি করুন যেখানে এক্স রানললেভ যা আপনি এটি সম্পাদন করতে চান। 0 আমি বিশ্বাস করি ডেবিয়ানের শাটডাউন রানলেভেল।
সবচেয়ে সহজ হ'ল বিদ্যমান স্ক্রিপ্টগুলি সংশোধন করা, আমার সিস্টেমে কাজ করে, শব্দের জন্য ব্যবহৃত হয় :)
/etc/init.d/rc.local
ফাইলের শেষে স্টার্টআপ, সংশোধন করুন , আপনার শ যোগ করুন: এর আগে: (এটি "স্ক্রিন" লগইনের ঠিক আগে এটি কার্যকর করা হবে)/etc/init.d/halt
প্রারম্ভিক মন্তব্যের ঠিক পরে ফাইলটির শুরুতে শাটডাউন, সংশোধন করুন , আপনার এসএইচ যুক্ত করুন (এটি প্রকৃত শাটডাউন কমান্ডের আগে কার্যকর করা হবে, যা এই স্ক্রিপ্ট ফাইল দ্বারা ডাকা হয়/etc/init.d/reboot
দেবিয়ান জেসি থেকে, পুরানো init
প্রোগ্রামটি প্রতিস্থাপন করেছে systemd
!
এটি নিজে দেখুন। চালান: ls -l /sbin/init
এবং এটি কী দেখায় তা দেখুন। আজকাল এটি একটি নতুন এবং আরও ভাল আরম্ভের প্রোগ্রাম systemd
( /sbin/init -> /lib/systemd/systemd
) এর দিকে নির্দেশ করে ।
এখন বাছাই করা এবং অন্যান্য উত্তরগুলি এখনই আপডেট হয়েছে !!!
* যদিও আপনি এখনও সিস্টেম-ভি সরঞ্জামগুলির সাহায্যে পুরানো পদ্ধতিতে স্ক্রিপ্টগুলি ইনস্টল করতে পারেন, এটি সাধারণত বলা ভাল ধারণা নয়।
man systemd.service
বলেছেন: *
যদি কোনও পরিষেবার নির্দিষ্ট নামের অধীনে অনুরোধ করা হয় তবে কোনও ইউনিট কনফিগারেশন ফাইল পাওয়া যায় না, সিস্টেমড একই নামে একটি SysV init স্ক্রিপ্ট সন্ধান করে ... এবং গতিশীলভাবে। স্ক্রিপ্ট থেকে একটি পরিষেবা ইউনিট তৈরি করে। এটি এসআইএসভির সাথে সামঞ্জস্যের জন্য দরকারী। নোট করুন যে এই সামঞ্জস্যটি বেশ ব্যাপক তবে 100% নয়।
এটি আপনার ভাবার চেয়ে সহজ। (-:
বুট-আপ বা শাটডাউন প্রোগ্রামগুলি ইনস্টল করার জন্য এখানে নতুন এবং পছন্দসই পদ্ধতি।
আপনার সাথে systemd
প্রথমে একটি ইউনিট ফাইল তৈরি করতে চান । একটি ইউনিট ফাইলটি বেশিরভাগই কোড নয়, ডিক্লেয়ারেশন।
তারপরে আপনি সেই ইউনিটটি সক্ষম বা শুরু করতেsystemctl
কমান্ডটি ব্যবহার করবেন ।
systemd
আপনার পক্ষে অনেক কাজ করে, এটি সহজ করে তোলে, উদাহরণস্বরূপ, যদি ক্র্যাশ হয় বা অন্যথায় নিহত হয় তবে একটি সমালোচনামূলক প্রোগ্রাম স্বয়ংক্রিয়ভাবে পুনরায় শুরু করা। এছাড়াও এটি আপনার প্রোগ্রামটি কোথায় এবং কখন আপনার অংশে কোনও অতিরিক্ত কাজ ছাড়াই ডিফল্টরূপে বন্ধ হয়ে যায়।
systemd
এখানে শিখতে শুরু করুন:
ডেবিয়ান এবং অন্য কোথাও থেকে এবং ইত্যাদি এবং ইত্যাদি ।
ম্যান পৃষ্ঠাগুলি দিয়ে শুরু:
man systemd.unit
- সাধারণভাবে ইউনিট ফাইলগুলি সম্পর্কে
man systemd.service
- পরিষেবা ইউনিট ফাইলগুলি সম্পর্কিত, উদাহরণস্বরূপ ডেমন এবং একক রান প্রোগ্রামগুলি programs
man systemctl
- কমান্ড লাইন ব্যবহারকারী ইন্টারফেস
man journalctl
- systemd কী করেছে তার লগ দেখুন
man systemd
- নিজেই প্রোগ্রাম সম্পর্কে
অন্যান্য বিভিন্ন ধরণের ইউনিট ফাইল রয়েছে, যেমন
man systemd.target
- গোষ্ঠী এবং সাধারণ সিঙ্কযুক্ত লক্ষ্যগুলির জন্য।
একবার আপনি উপরের বেসিকগুলি হজম করে ফেলেন, তারপরে man -k systemd
অন্যান্য ম্যান পৃষ্ঠা সম্পর্কিত অনুসন্ধান করুন with
আপনি যা করেন না কেন, দেবিয়ান এগুলির কোনও ব্যবহার করবেন না :
update-rc.d
- ইনস্টল করুন এবং সিস্টেম-ভি স্টাইলের init স্ক্রিপ্ট লিঙ্কগুলি সরানsysv-rc-conf
- এসআইএসভি-র জন্য স্ক্রিপ্ট লিঙ্কগুলির মতো রান-লেভেল কনফিগারেশনrunlevel
- পূর্ববর্তী এবং বর্তমান এসআইএসভি রানলেভেল প্রিন্ট করুনBUM
- বি ওট ইউ পি এম অ্যাঞ্জার - একটি গ্রাফিকাল রানলেভাল সম্পাদকsystemadm
- সিস্টেমড সিস্টেম এবং সার্ভিস ম্যানেজারের গ্রাফিকাল ফ্রন্টএন্ড আমি বুট-আপ করার সময় এই ইউনিট ফাইলটি নোআইপি ডটকম ডেমোন শুরু হয় এবং আমি যখন শাটডাউন করি তখন তা বন্ধ করে দেয়।
এই ডেমন, সময়ে সময়ে, আমার অন্তর্নির্মিত- DDNS (আপডেট করার জন্য আমার বর্তমান আইপি ঠিকানা পাঠায় ডি ynamic ডিএনএস ( ডি omain এন আমে এস erver)) প্রদানকারী ডেটা বেস, এইভাবে আমার কম্পিউটার আমার ডোমেইন নাম ইশারা পালন যেখানেই থাকুন না কেন এটি ভ্রমণ।
এই ইউনিট ফাইলগুলি এই সেটিংস ফাইলে আমার সিস্টেমে অবস্থিত: /etc/systemd/system/noip2.service
ইউনিট ফাইলে যা রয়েছে তা এখানে:
# Comments can only go at the beginning of the line!
[Unit]
Description=Start the NoIP IP update daemon. This runs every 30 minutes and reports our current IP to NoIP.com to update Love2d.ddns.net.
Documentation=https://no-ip.com/
Documentation=file:///nobak/Installers/NoIP/noip-2.1.9-1/README.FIRST
[Service]
# 'forking' because process returns after starting daemon (traditional unix daemon).
Type=forking
# This program runs and returns, leaving the running daemon
ExecStart=/usr/local/bin/noip2
# Be in no hurry to start this. Max nice is +19.
Nice=15
# If it dies for any reason, then restart it
Restart=always
[Install]
# Installs a hook to use this unit file when the system boots or shuts down
WantedBy=multi-user.target
ম্যানুয়ালি একটি ইউনিট ফাইল চালান , (যেমন পরীক্ষার জন্য):
$ sudo systemctl start noip2
। $ sudo systemctl restart noip2
। $ sudo systemctl stop noip2
। শুরু করার সময় বা বন্ধ করার সময় একটি ইউনিট ফাইল স্বয়ংক্রিয়ভাবে চালনার জন্য সিস্টেমটি কনফিগার করুন :
$ sudo systemctl enable noip2
। $ sudo systemctl disable noip2
।লগ দেখুন
$ sudo journalctl -u noip2