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


উত্তর:


229

/etc/init.dসিস্টেম ভি আর ডিভাইস (সিসভিনিট) দ্বারা ব্যবহৃত স্ক্রিপ্ট রয়েছে। এটি লিনাক্সের জন্য serviceতিহ্যবাহী সার্ভিস ম্যানেজমেন্ট প্যাকেজ, যা initপ্রোগ্রামটি (কার্নেলটি আরম্ভ করার পরে প্রথম প্রক্রিয়াটি চালিত হয়) পাশাপাশি পরিষেবাগুলি শুরু করতে এবং বন্ধ করতে এবং তাদের কনফিগার করার জন্য কিছু অবকাঠামো রয়েছে। বিশেষ করে, ফাইল /etc/init.dশেল স্ক্রিপ্ট সাড়া হয় start, stop, restart, এবং (যখন সমর্থিত) reloadএকটি নির্দিষ্ট সেবা পরিচালনা কমান্ড। এই স্ক্রিপ্টগুলি অন্য কোনও ট্রিগার (সাধারণত প্রতীকী লিঙ্কের উপস্থিতি) এর মাধ্যমে সরাসরি বা (বেশিরভাগ সাধারণভাবে) আহ্বান করা যেতে পারে /etc/rc?.d/

/etc/initআপস্টার্ট দ্বারা ব্যবহৃত কনফিগারেশন ফাইল রয়েছে। আপস্টার্ট হ'ল উবুন্টু দ্বারা পরিচালিত একটি তরুণ পরিষেবা পরিচালনা প্যাকেজ। ফাইলগুলি /etc/initভুঁইফোড় কহন কখন কিভাবে কনফিগারেশন ফাইল start, stop, reloadকনফিগারেশন, বা কোয়েরি statusএকটি সেবা। লুসিড হিসাবে, উবুন্টু সিসভিট থেকে আপস্টার্টে স্থানান্তরিত হচ্ছে, যা ব্যাখ্যা করে যে কেন অনেকগুলি পরিষেবা সিসভিট স্ক্রিপ্টগুলির সাথে আসে যদিও আপস্টার্ট কনফিগারেশন ফাইলগুলি অগ্রাধিকার দেওয়া হয়। আসলে, সিসভিনিট স্ক্রিপ্টগুলি আপস্টার্টে একটি সামঞ্জস্যতা স্তর দ্বারা প্রক্রিয়া করা হয়।

.dডিরেক্টরি নামগুলিতে একটি বিশেষ পরিস্থিতির জন্য অনেকগুলি কনফিগারেশন ফাইল বা স্ক্রিপ্টযুক্ত ডিরেক্টরি নির্দেশ করে (উদাহরণস্বরূপ /etc/apt/sources.list.dএমন একটি ফাইল রয়েছে যা ভার্চুয়াল তৈরির জন্য সংশ্লেষিত হয় sources.list; /etc/network/if-up.dস্ক্রিপ্টগুলি থাকে যা কোনও নেটওয়ার্ক i nter f ace সক্রিয় হওয়ার পরে কার্যকর করা হয়)। ডিরেক্টরিতে প্রতিটি এন্ট্রি যখন আলাদা উত্স দ্বারা সরবরাহ করা হয় তখন এই কাঠামোটি সাধারণত ব্যবহৃত হয়, যাতে প্রতিটি প্যাকেজ নিজেই রেফারেন্সের জন্য একটি একক কনফিগারেশন ফাইল বিশ্লেষণ না করে নিজের প্লাগ-ইন জমা দিতে পারে। এই ক্ষেত্রে, এটি কেবল ঘটে যে "init" ডিরেক্টরিটির একটি যৌক্তিক নাম, সিসভিনিট প্রথমে এসে ব্যবহৃত হয় init.dএবং আপস্টার্টটি সমতল ব্যবহৃত হয়initঅনুরূপ উদ্দেশ্যে একটি ডিরেক্টরি জন্য (এটি আরও "মূলধারার" হতে পারে, এবং সম্ভবত কম অহঙ্কারী, যদি তারা /etc/upstart.dপরিবর্তে ব্যবহৃত হয়)।

Rd আরআরডি গণনা করা হচ্ছে না


28
রহস্যজনক historicalতিহাসিক নোট: .dডিরেক্টরিগুলি ভি ভি সহ প্রবেশ করিয়েছিল then উদাহরণস্বরূপ, যদি আপনি মনে করেন যে catএটি সম্পাদন করা কার্যটির জন্য এটি একটি খারাপ নাম, তবে এটির পরিবর্তনের জন্য আপনাকে সিস্টেমের কতটি ফাইল স্পর্শ করতে হবে তা কল্পনা করুন।
এমএসডাব্লু

সিস্টেমে যে দুটি ডিরেক্টরি রয়েছে, তার মধ্যে কোন আপস্টার্ট এবং সিসভিনিট ব্যবহৃত হয়? চেক করার কোনও উপায় আছে?
asheeshr

3
পরীক্ষা করে দেখুন @AsheeshR একটি প্যাকেজ বলা হয় আছে কিনা upstartবা sysvinit। এবং সাম্প্রতিক সংস্করণগুলিতে এটিও হতে পারে systemd(যখন আমি আমার উত্তরটি লিখেছিলাম তখন উবুন্টুর পক্ষে ছিল না)। এটি যে কোনও প্যাকেজ সরবরাহ করে /sbin/init( dpkg -S /sbin/init)।
গিলস

অ্যাডাব্লুএস উবুন্টু দৃষ্টান্তে আমি (বিটনামি থেকে) ব্যবহার করছি, এটি upstartপ্যাকেজ যা / sbin / init (রান dpkg -S /sbin/init) সরবরাহ করে। কিন্তু বিটনামি এর স্ক্রিপ্টটি /etc/init.d ডিরেক্টরিতে রেখে দিয়েছে। এই বিরোধী ডাব্লু / উপরে আপনার উত্তর উপর উত্তর না? ধন্যবাদ.
সাবুনকু

@ সাবুনকু এটি "সিস্টারভিট স্ক্রিপ্টগুলি আপস্টার্টে একটি সামঞ্জস্যতা স্তর দ্বারা প্রক্রিয়াজাত করা হয়" এর একটি উদাহরণ।
গিলস 21

29

একটি। স্ক্রিপ্ট বা একক কনফিগারেশন ফাইল দ্বারা যা ব্যবহৃত হত (বা যা হতে পারে) সুবিধার জন্য একাধিক ফাইলে বিভক্ত করা হয়েছে তা নির্দেশ করার জন্য সাধারণত ".d" ডিরেক্টরি ডিরেক্টরিতে যুক্ত হয় but একসাথে অন্তর্ভুক্ত করা উচিত, বা মৃত্যুদণ্ড কার্যকর করা উচিত।

উদাহরণস্বরূপ, /etc/apache/conf.d/বা/etc/apt/sources.d/

তাদের ক্ষেত্রে যে অর্ডারটি অন্তর্ভুক্ত / সম্পাদন করা উচিত তা গুরুত্বপূর্ণ যেখানে এই ডিরেক্টরিগুলির ফাইলগুলি মাঝে মধ্যে "00-default" বা "80-ব্যবহারকারী" এর মতো একটি নম্বর দিয়ে শুরু হয় যাতে তারা সঠিক ক্রমে কার্যকর হয়।

এর ক্ষেত্রে /etc/init.d/সাজানোর ইঙ্গিত দেয় যে "init.d" এর স্ক্রিপ্টগুলি সমস্ত কার্যকর করা উচিত। আজকাল, যদিও আধুনিক অপারেটিং সিস্টেমগুলির init সিস্টেমটি তার চেয়ে কিছুটা বেশি জড়িত তবে ডিরেক্টরিটির নামটি এখনও সেখানে রয়েছে।


সম্ভবত এর .dঅর্থ এটি একটি 'ডিমন' প্রক্রিয়ার সাথে সম্পর্কিত যা সাধারণত বুট-সময় শুরু করা হয়।

21
.d হ'ল ডিরেক্টরি জন্য, ডিমন নয়।
মার্টিন

13

আপনি যেমন উল্লেখ করেছেন, ".d" নামটি চমকপ্রদ এবং অদ্ভুত, এবং কোনও আধুনিক সিস্টেমে সত্যই কোনও স্থান নেই - আপনি লক্ষ্য করবেন যে বেশিরভাগ আধুনিক পরিষেবাগুলি এটিকে বাদ দিয়েছে।

ডিরেক্টরিটি হ'ল /etc/initএবং না হওয়ার কারণটি /etc/upstartহ'ল আপস্টার্টটি প্রকল্পের নাম, প্রকৃত ইনস্টলড বাইনারি এখনও /sbin/initএইভাবে এটির কনফিগারেশনের কোনও নাম বাইনারিটির সাথে মেলে না এমনটি হওয়ার কোনও মানে হবে না।


7
এটি ভুল, উদাহরণস্বরূপ উদেব rules.d, জর্জের তুলনামূলক সাম্প্রতিক xorg.conf.d, খুব বেশি পুরানো নয় /etc/profile.dইত্যাদি দেখুন
রুসলান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.