/Etc/rc.local এবং /etc/init.d/rc.local এর মধ্যে পার্থক্য কী?


30

আমি iptablesআমার নতুনটিতে একটি স্থায়ী নিয়ম যুক্ত করতে চাই VPSএবং সংক্ষিপ্ত গুগল অনুসন্ধানের পরে আমি অবাক হয়েছি যে এই নিয়ম দুটি যুক্ত করা যেতে পারে এমন দুটি জায়গা রয়েছে যা দেখতে অভিন্ন বলে মনে হচ্ছে: /etc/rc.localএবং /etc/init.d/rc.local। হয়ত কেউ জানেন যে সাধারণ স্টার্টআপ কোডের জন্য দুটি স্থান কেন? এটি কি লিনাক্সের স্বাদ নির্দিষ্ট (তবে উবুন্টু উভয়ই আছে!)? নাকি তাদের একটি অবহেলিত হয়?


1
একটি অন্যের সাথে সিলেলিংক হওয়া উচিত।
ইগনাসিও ওয়াজকেজ-আব্রামগুলি

2
উবুন্টু সার্ভারে @ ইগনাসিও ওয়াজকেজ-আব্রামগুলি 12.04 x86 এলটিএস এগুলি সম্পূর্ণ আলাদা :(।
grigoryvp

1
@ ইগনাসিও ওয়াজকেজ-আব্রামস: দেবিয়ান-এ তারাও অন্যরকম বলে মনে হচ্ছে।
ইমানুয়েল বার্গ

3
মূল্যবান পরীক্ষা করা: আমি কিছুক্ষণ আগে সম্পর্কে একটি প্রশ্ন জিজ্ঞাসা করেছি /etc/rc.local
ইমানুয়েল বার্গ

উত্তর:


31

/etc/init.dসিজনভিট স্টাফের সাথে পশ্চাদপটে সামঞ্জস্যের জন্য উবুন্টুতে বজায় রাখা হয়। যদি আপনি বাস্তবে তাকান তবে /etc/init.d/rc.localআপনি দেখতে পাবেন (এছাড়াও একটি 12.04 এলটিএস সার্ভার থেকে):

#! /bin/sh
### BEGIN INIT INFORMATION
# Provides:          rc.local
# Required-Start:    $remote_fs $syslog $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO

এবং "চালান /etc/rc.local" ঠিক এটি করে। এর সম্পূর্ণতা /etc/rc.localহ'ল:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exit 0

আমি অনুমান করব এটি করার উদ্দেশ্যটি হ'ল আপনি বুট চালাতে চান শেল কমান্ডগুলি রাখার জন্য একটি মৃত সহজ জায়গা সরবরাহ করা, স্টপ | স্টার্ট সার্ভিস স্টাফ, যা এতে আছে তা মোকাবেলা ছাড়াই /etc/init.d/rc.local

সুতরাং এটি আসলে একটি পরিষেবা, এবং এটি যেমন চালানো যেতে পারে। আমি এতে একটি echoলাইন যুক্ত করেছি /etc/rc.local:

»service rc.local start
hello world

তবে আমি বিশ্বাস করি না যে এটি upstart এর /etc/init(init.d না!) ডিরেক্টরিতে কোনও কিছু দ্বারা রেফারেন্স করা হয়েছে :

»initctl start rc.local
initctl: Unknown job: rc.local

আপস্টার্টে কয়েকটি "আরসি" পরিষেবা রয়েছে:

»initctl list | grep rc
rc stop/waiting
rcS stop/waiting
rc-sysinit stop/waiting

তবে এগুলির কোনওটিরই আরসি.লোকালের সাথে কিছু করার নেই বলে মনে হয়।


5

এটি একটি বিতরণ নির্দিষ্ট জিনিস আরও। (যেমন, আপনি সেন্টোজে বিভিন্ন rc.local পাবেন না)।

এখন আপনার আসল প্রশ্নে, আমি মনে করি /etc/init.d/rc.local এর ভিতরে কিছু যোগ করা এটি একটি "পরিষেবা" হিসাবে শুরু করতে সক্ষম করে যখনই, /etc/rc.local এর ভিতরে যে কোনও কিছুই বুট সময় সেই স্ক্রিপ্টটি কেবল চালু করে।

আমি কেন এখনও উবুন্টু তাদের দু'টিকেই রক্ষণাবেক্ষণের বিষয়ে নিশ্চিত নই? (সম্ভবত অন্য কেউ এই অংশে কিছুটা আলোকপাত করতে পারে !!)


কমান্ড যা "পরিষেবা হিসাবে কার্যকর" হয় এবং "বুট সময়ে সহজভাবে চালু করা হয়" এমন একটি কোডের মধ্যে পার্থক্য কী? এটি কিছু সুরক্ষা বা কি?
grigoryvp

উভয়ের মধ্যে মূল পার্থক্যটি মূলত একটি পরিষেবা এবং একটি প্রক্রিয়া। ;) আমি অনুমান করি যে প্রাথমিক অভিপ্রায়টি কেবল সুরক্ষা হবে। আপনি এই লিঙ্কটি আকর্ষণীয় মনে করতে পারেন: unixmen.com/managing- আপনার- পরিষেবাগুলি- এবং- প্রসেসস- ইন- লিনাক্স
বাস্তববাদী

এটি ভুল! তারা একই স্ক্রিপ্ট নয়, কিন্তু তারা হয় - একটি পরিষেবা /etc/init.d/rc.localনেভিগেশন স্টপ শুরু কাপড় নেই /etc/rc.local(আরো বিস্তারিত জানার জন্য আমার উত্তর দেখুন)।
গোল্ডিলোকস

@ গোল্ডিলোকস: খুব বর্ণনামূলক এবং পুরো উত্তরের জন্য ধন্যবাদ তবে আমি আমার উত্তরটির কোন অংশটি ভুল বলে উল্লেখ করেছি তা পরিষ্কার নয়? একজনকে পরিষেবা হিসাবে বলার অর্থ এটি "স্টার্ট" এবং "স্টপ" স্টাফ করতে পারে, অন্যটি কেবল একটি প্রক্রিয়া হিসাবে। আমি যদি এখানে কোন ধারণা রাখছি না দয়া করে আমাকে সংশোধন করুন।
বাস্তববাদী

2
@ প্রচারমূলক কারণ /etc/rc.localস্ক্রিপ্টটি স্ক্রিপ্ট দ্বারা পরিচালিত সম্পাদনযোগ্য প্রক্রিয়া /etc/initd/rc.local, ঠিক যেমন (উদাহরণস্বরূপ) /bin/syslogদ্বারা পরিচালিত সম্পাদনযোগ্য প্রক্রিয়া হবে /etc/initd/syslog। আপনি স্পষ্টভাবে বলতে পারেন যে /etc/rc.localএটি কেবল একটি বুট স্ক্রিপ্ট, বনাম। /etc/initd/rc.localসম্পূর্ণ আলাদা রান লেভেল পরিষেবা হয়ে।
স্বর্ণলোকস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.