শুরুতে স্ক্রিনটি যুক্ত করতে এবং ডেবিয়ানে শাটডাউন করবেন কীভাবে?


12

শিরোনাম অনেক সুন্দর এটি অঙ্ক আপ.

আমি কীভাবে আমার সার্ভার অ্যাপ্লিকেশনটির একটি স্টার্টআপ.শ এবং শাটডাউন.শকে দেবিয়ান ওএসের স্টার্টআপ এবং শাটডাউন অনুক্রমের সাথে যুক্ত করব?

উত্তর:


15

ডেবিয়ান-এ, পরিষেবা এবং অ্যাপ্লিকেশন বুট এবং শাটডাউন স্ক্রিপ্টগুলি রাখতে হবে /etc/init.d/

দেবিয়ান একটি উদাহরণ স্ক্রিপ্ট সরবরাহ করে /etc/init.d/skeletonযা আপনি আপনার নির্দিষ্ট অ্যাপ্লিকেশনের জন্য আপনার স্বাদে পরিবর্তন করতে পারেন।

একবার এটি স্থানে থাকলে, কল করুন:

# update-rc.d YOURAPP defaults

/etc/rc?.d/দেবিয়ানকে আপনার জন্য প্রতীক যুক্ত করতে।

আপনি যদি কোনও মেনু বা গ্রাফিকাল ইন্টারফেস পছন্দ করেন তবে প্যাকেজ sysv-rc-confবা ksysvপ্যাকেজটি একবার দেখুন।


4

প্রস্থান 0 বলার রেখার পূর্বে আপনি /etc/rc.local থেকে আপনার স্ক্রিপ্টটি কল করতে পারেন

আপনার অ্যাপটি বন্ধ করার বিষয়ে আমি /etc/rc0.d তে একটি স্ক্রিপ্ট রাখার পরামর্শ দেব । আপনার এটির একটি বড় হাতের কে দিয়ে নামকরণ করতে হবে এবং তারপরে একটি 2 ডিজিটের নম্বর যা এই স্ক্রিপ্টগুলি চালিত করার ক্রমটি নির্দিষ্ট করে এবং তারপরে একটি নাম। এটিকে "স্টপ" প্যারামিটারের সাথে ডাকা হবে, তবে আপনি সাধারণ স্টপ স্ক্রিপ্টের জন্য এটিকে উপেক্ষা করতে পারেন।


আপনি যখনই ইতিমধ্যে /etc/rcX.d এর সাথে ঝাঁকুনি পেয়েছেন তখন কেন আপনি rc.local দিয়ে স্টাফ করবেন?
ওম্বল

আরসি.লোকাল হ'ল সহজ স্টার্টআপ স্টাফের জন্য উপযুক্ত জায়গা - স্টার্ট / স্টপ প্যারামিটার ইত্যাদির সাথে ডিল করার দরকার নেই তবে এতে কোনও প্রক্রিয়া বন্ধ করার ক্ষমতা নেই। Rc0.d স্টাফ কিছুটা হ্যাক।
ব্রেন্ট

3

প্রারম্ভকালে জন্য কটাক্ষপাত আছে এই

শাটডাউন করার জন্য, একটি লিঙ্ক তৈরি করুন / আপনার স্ক্রিপ্টটিকে কোনও একটি /etc/rcX.d ফোল্ডারে অনুলিপি করুন যেখানে এক্স রানললেভ যা আপনি এটি সম্পাদন করতে চান। 0 আমি বিশ্বাস করি ডেবিয়ানের শাটডাউন রানলেভেল।


এটি আমার প্রয়োজনীয় শাটডাউন তথ্য। এই জন্য ধন্যবাদ, @ সিকিলম্যান।
হার্পারভিল

1

সবচেয়ে সহজ হ'ল বিদ্যমান স্ক্রিপ্টগুলি সংশোধন করা, আমার সিস্টেমে কাজ করে, শব্দের জন্য ব্যবহৃত হয় :)

  • /etc/init.d/rc.localফাইলের শেষে স্টার্টআপ, সংশোধন করুন , আপনার শ যোগ করুন: এর আগে: (এটি "স্ক্রিন" লগইনের ঠিক আগে এটি কার্যকর করা হবে)
  • /etc/init.d/haltপ্রারম্ভিক মন্তব্যের ঠিক পরে ফাইলটির শুরুতে শাটডাউন, সংশোধন করুন , আপনার এসএইচ যুক্ত করুন (এটি প্রকৃত শাটডাউন কমান্ডের আগে কার্যকর করা হবে, যা এই স্ক্রিপ্ট ফাইল দ্বারা ডাকা হয়
  • রিবুট, শাটডাউন হিসাবে একই, কিন্তু মধ্যে /etc/init.d/reboot

1

দেবিয়ান জেসি থেকে, পুরানো 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
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.