.D ডিরেক্টরি নামে কি দাঁড়াবে?


118

আমি তাদের নামে .d সহ অনেক ডিরেক্টরি জানি:

init.d
yum.repos.d
conf.d

এর অর্থ কি ডিরেক্টরি? যদি হ্যাঁ, তবে এ থেকে কী ক্ষতিগ্রস্থ হবে?

আপডেট: এর .dঅর্থ কী তা সম্পর্কে আমার কাছে অনেক আকর্ষণীয় উত্তর ছিল তবে আমার প্রশ্নের শিরোনামটি ভালভাবে বেছে নেওয়া হয়নি। আমি "গড়" পরিবর্তন করে "স্ট্যান্ড ফর" হয়েছি।



@ গিলিস, হা, আমি ভাবছিলাম এটি সিস্টেম-ভি এর চেয়ে পরে ছিল, তবে হ্যাঁ, এখনও '। ডি' এর কোনও অর্থ নেই যা আমি বলতে পারি তা থেকে এটি বেছে নেওয়া হয়েছিল।
এনজে

@Gilles: আকর্ষণীয়, উত্তর হবে বলে মনে হয়: ব্যাখ্যা হারিয়ে গেছে ... আপনার লিঙ্ক প্রথম উত্তরের প্রথম মন্তব্য অনুযায়ী
greg0ire

কেন .dআছে তা নিশ্চিত নয় init.d, তবে মনে হয় প্রায় সমস্ত কাস্টম কনফিগার ফাইলই .dআরএইচইএল / সেন্টোস / ফেডোরার ডিরেক্টরিতে চলে যায় ।
লিউইয়ান 研 研

@ লিউ ইয়ান - সত্যই, আমি এটি কোনওভাবেই ধারাবাহিক হিসাবে গণ্য হতে পারে তা ব্যাখ্যা করতে পারিনি।
টিম পোস্ট

উত্তর:


102

.dপ্রত্যয় এখানে ডিরেক্টরির মানে। অবশ্যই, এই অপ্রয়োজনীয় হবে যেমন ইউনিক্স একটি ফাইল টাইপ বোঝাতে একটি প্রত্যয় প্রয়োজন হয় না কিন্তু যে নির্দিষ্ট ক্ষেত্রে, কিছু (কমান্ড দুর্বোধ্য প্রয়োজন ছিল /etc/init, /etc/rc0, /etc/rc1ইত্যাদি) ও ডিরেক্টরিগুলি তারা ব্যবহার ( /etc/init.d, /etc/rc0.d, /etc/rc1.d। ..)

এই কনভেনশনটি কমপক্ষে ইউনিক্স সিস্টেম ভি দিয়ে শুরু হয়েছিল তবে সম্ভবত এর আগেও। initকমান্ড এ অবস্থিত হওয়া করার জন্য ব্যবহৃত /etcকিন্তু সাধারণভাবে এখন হয় /sbinআধুনিক সিস্টেম ভী অপারেটিং সিস্টেমের উপর।

নোট করুন যে এই কনভেনশনটি একটি একক ফাইল কনফিগারেশন ফাইল থেকে একক ডিরেক্টরিতে অবস্থিত একাধিক কনফিগারেশন ফাইলগুলিতে সরানো অনেক অ্যাপ্লিকেশন গ্রহণ করেছে, যেমন: /etc/sudoers.d

এখানে আবার লক্ষ্যটি হ'ল নাম সংঘর্ষ এড়ানো, এক্সিকিউটেবল এবং কনফিগারেশন ফাইলের মধ্যে নয় পূর্বের একচেটিয়া কনফিগারেশন ফাইল এবং সেগুলি অন্তর্ভুক্ত ডিরেক্টরিটির মধ্যে।


4
+1, আমি মনে করি আপনি ঠিক বলেছেন, তবে এখনও পর্যন্ত কেউই তার তত্ত্বের পক্ষে কোনও উদ্ধৃতি
দেননি

এটি এমন একটি কনভেনশন যা প্রকৃত স্পষ্ট মানের চেয়ে লোকের উপরে বেড়ে ওঠে, আমি মনে করি
শাদুর

1
যখন আপনি কোনও lsআদেশ না দিয়ে (না ls -al) --colorঅপশনটি ব্যবহার না করে (হয় স্পষ্টভাবে নির্দিষ্ট বা LS_OPTIONSপরিবেশের ভেরিয়েবলের অংশ ), ".d" ডিরেক্টরিগুলি তালিকা থেকে পৃথক করে তোলে। সে কারণেই আমি সবসময় ভাবতাম এটি হয়ে গেছে।
LawrenceC

vis colorদৃশ্যমানভাবে ফ্ল্যাগ ডিরেক্টরিগুলির একমাত্র বা সর্বোত্তম উপায় নয়। ls -Fএটি এবং আরও অনেক দরকারী জিনিস করবে।
আন্ডারস্কোর_২৯

56

একটি ডেবিয়ান মেলিং তালিকা থেকে উদ্ধৃত অংশ (জোর দেওয়া যুক্ত):

বিতরণ প্যাকেজিং যখন আরও বেশি সাধারণ হয়ে ওঠে, তখন এটি স্পষ্ট হয়ে যায় যে আমাদের একাধিক টুকরো টুকরো করে এই জাতীয় কনফিগারেশন ফাইল গঠনের আরও ভাল পদ্ধতির প্রয়োজন ছিল, প্রায়শই একাধিক স্বতন্ত্র প্যাকেজগুলি সরবরাহ করে। প্রতিটি প্যাকেজ যা কিছু অংশীদারি পরিষেবাদি কনফিগার করতে প্রয়োজন তা অন্যান্য প্যাকেজগুলির দ্বারা ব্যবহৃত একটি ভাগ করা কনফিগারেশন ফাইল সম্পাদনা না করে কেবল তার কনফিগারেশন পরিচালনা করতে সক্ষম হবে।

সর্বাধিক প্রচলিত কনভেনশন হ'ল কনফিগারেশন ফাইলগুলিতে পূর্ণ একটি ডিরেক্টরি অন্তর্ভুক্ত করার অনুমতি দেওয়া, যেখানে ডিরেক্টরিতে থাকা কোনও কিছুই সক্রিয় হয়ে যায় এবং সেই কনফিগারেশনের অংশ ছিল। যেহেতু এই কনভেনশনটি আরও ব্যাপক আকার ধারণ করেছিল, সেই ডিরেক্টরিটি সাধারণত এটির পরিবর্তে বা বর্ধনকারী কনফিগারেশন ফাইলের নামে নামকরণ করা হয়। তবে যেহেতু কারও কাছে একই নামের একটি ডিরেক্টরি এবং একটি ফাইল থাকতে পারে না তাই কিছু পদ্ধতির পার্থক্য করা প্রয়োজন, সুতরাং .d কনফিগারেশন ফাইলের নামের শেষে যুক্ত হয়েছিল। সুতরাং, /etc/Muttrc.d, / etc / bash_completion /etc/bash_completion.d/* এর সাথে টুকরো টুকরো করে একটি কনফিগারেশন ফাইল / etc / Muttrc বৃদ্ধি করা হয়েছিল। কখনও কখনও সেই সম্মেলনে সামান্য প্রকরণ ব্যবহার করা হয়, যেমন /etc/xinetd.d /etc/xinetd.conf বা / etc / apache2 / conf পরিপূরক হিসাবে ব্যবহার করা হয়। ডি পরিপূরক /etc/apache2/apache2.conf। তবে এটি একই বেসিক ধারণা।

সাধারণত আপনি যখন * .d কনভেনশন দেখেন, তার অর্থ হল "এটি একটি ডিরেক্টরি যা কনফিগারেশনের খণ্ডগুলিকে ধারণ করে যা কিছু পরিষেবার জন্য কনফিগারেশনে একত্রে মিশে যায়।"


অংশ 2 এর জন্য, "। ডি" এর কারণ, আমার সর্বোত্তম অনুমানটি "বিতরণ" হবে, যেমন মূল কনফিগারেশন ফাইলের অংশ নয়, তবে এটি এখনও কনফিগারেশনের অংশ


8
অবাক করা বিষয় ... আমি ভাবতাম এটি "ডিরেক্টরি" এর পক্ষে কথা বলেছে যার অর্থ "এটি কনফিগারেশনের ডিরেক্টরি অংশ"।
গ্রেগ টায়ার

2
এটা স্পষ্টভাবে না। কেউ কেন এটি পড়বে এবং এই সিদ্ধান্তে পৌঁছবে যে .dবোঝানো অন্য কিছু আমার থেকেও বাইরে! তবে এই উত্সটি শুধুমাত্র ইউনিক্সের প্রথম দিক থেকেই বিদ্যমান একটি কনভেনশন ব্যবহার করে একটি প্রসঙ্গে ডিবিয়ানদের যুক্তি দেখায়। আমাকে ভাবতে হবে যে এই দেবিয়ান রক্ষণাবেক্ষণকারী ইচ্ছাকৃতভাবে সরলকরণ করছিলেন - বা সত্যই ভাবেন যে দেবিয়ান এই অনুশীলনটি আবিষ্কার করেছিলেন?
আন্ডারস্কোর_২৯

11

আপনি যদি ডিরেক্টরি নামের শেষে ".d" সম্পর্কে কথা বলেন তবে এই উত্তরটি সঠিক, এটি "ডিরেক্টরি" র জন্য কেবল একটি চিহ্নিতকারী।

এটি কেবলমাত্র "সিসলগড" এর মতো একটি ফাইল নামের এবং "ডি" দিয়ে বিভ্রান্ত করবেন না, এটি ডেমনের জন্য দাঁড়িয়ে । পটভূমিতে একটি কম্পিউটার প্রক্রিয়া চলছে।

ডেমনের পিতামাতার প্রক্রিয়াটি প্রায়শই (তবে সর্বদা নয়) টি ডি প্রক্রিয়া হয় (পিআইডি = 1)। প্রক্রিয়াগুলি সাধারণত একটি শিশু প্রক্রিয়া কাঁটাচামচ করে এবং তারপরে তাদের পিতামাতার প্রক্রিয়াটি তাত্ক্ষণিকভাবে প্রস্থান করার মাধ্যমে ডিমন হিসাবে পরিণত হয়, যার ফলে শিশু প্রক্রিয়াটি গ্রহণ করা শুরু করে। এটি প্রক্রিয়াটির কিছুটা সরলীকৃত দৃষ্টিভঙ্গি হিসাবে অন্যান্য ক্রিয়াকলাপগুলি সাধারণত সঞ্চালিত হয়, যেমন কোনও নিয়ন্ত্রণকারী টিটিআই থেকে ডেমন প্রক্রিয়াটি বিচ্ছিন্ন করা। সেই উদ্দেশ্যে কিছু ইউনিক্স সিস্টেমে ডেমন (3) এর মতো সুবিধার রুটিনগুলি বিদ্যমান exist


আসলেই নয়, এগুলি ডিরেক্টরি নাম।
কীথ

@ কিথ: ওফস, আমি ভুল করে ভেবেছিলাম যে সে "ডি" দিয়ে শেষ হওয়া ফাইলগুলির কথা বলে, যেমন syslogd, ".ডি" দিয়ে শেষ হওয়া ডিরেক্টরিগুলি নয়। আমি শীঘ্রই সম্পাদনা করব।
ফিলোমাথ

এটা কি আমি ভেবেছিলাম, কিন্তু আমি এটা প্রোগ্রাম জন্য কনফিগারেশন ডিরেক্টরিগুলি থেকে প্রায়ই ব্যবহার করা দেখতে না daemonize, যেমন sysctl.d, modprobe.d.. যে অনুপযুক্ত ব্যবহারের হবে?
টিম পোস্ট

@ টিম পোস্ট: উপরের দুটি মন্তব্য দেখুন (এবং কীথের উত্তর), আমি শীঘ্রই আমার উত্তরটি সম্পাদনা করব।
ফিলোমাথ

সম্পাদিত (15 টি সিআর)
ফিলোমাথ

4

এটি প্রতি ডিরেক্টরি ডিরেক্টরি নয়, মূলত যা ঘটছে তা হ'ল ডিরেক্টরিগুলি যা শেষ হয় .d(নোটগুলি এগুলি সাধারণত কখনও থাকে /etc), কনফিগারেশনের অংশগুলি গ্রহণ করুন।

এটি এমনভাবে নকশা করা হয়েছে যাতে ড্রেসগুলি সর্বজনীন ডিফল্টগুলিকে উদাহরণস্বরূপ অন্তর্ভুক্ত করতে পারে /etc/yum.confতবে ব্যবহারকারী বা অন্যান্য প্যাকেজগুলির জন্য নিরাপদ উপায়ে তাদের নিজস্ব yum কনফিগারেশন সংযোজন করার জন্য এমন পদ্ধতি ব্যবহার করা যেতে পারে যা ওভাররাইট করা যাবে না।

ইয়মের উদাহরণ হিসাবে ...

যদি আমি আমার আরএইচইল 5 বা সেন্টোস বাক্সে ইপিল ব্যবহার শুরু করতে চাইতাম তবে আমি /etc/yum.repos.dফোল্ডারে একটি নতুন সংগ্রহস্থল কনফিগার করতে পারি , (বলুন /etc/yum.repos.d/epel.repo) বা আমার ডিফল্ট কনফিগারেশনটি পরিবর্তন না করে বা ফাইলের দ্বন্দ্ব সৃষ্টি না করেই স্বয়ংক্রিয়ভাবে ফাইল তৈরি করা এপেল-রিলিজ প্যাকেজটি ইনস্টল করতে পারি that হওয়ার দরকার নেই।

কি হবে, বেশিরভাগ প্রোগ্রামগুলি তাদের ডিফল্ট কনফিগারেশনটি পড়বে ( /etc/yum.confউদাহরণস্বরূপ) এবং তারপরে .dচলমান প্রোগ্রামটিতে কনফিগারেশন স্নিপেট সহ তাদের ফোল্ডারগুলিতে পুনরাবৃত্তি হবে।

আশা করি এটি আপনার জন্য ব্যাখ্যা করেছে।


+1, এটি অনেক ব্যাখ্যা করে, কিন্তু ... 'ডি' বর্ণের পছন্দ নয়।
গ্রেগ টায়ার

1
পছন্দের জন্য কি কোনও ব্যাখ্যা থাকতে হবে? এটি কেবল একটি সম্মেলন যা সময়ের সাথে সাথে বিকশিত হয়েছে, এটি এফএইচএসে সংজ্ঞাযুক্ত নয় (তাড়াতাড়ি চেহারা থেকে) নয়, তবে এটি এলএসবি স্ট্যান্ডার্ডের অন্তর্ভুক্ত হতে পারে। আমার স্মরণে ক্রোন প্রথম ছিল। (সম্পাদনা করুন: বাস্তবে এটি দীক্ষা করা হত)
এনজে

3

যেভাবে ফাইলগুলিকে কোনও .extধরণের ফাইল (সাধারণত "এক্সটেনশন" বলা হয়) নির্দিষ্ট করতে পারে , ডিরেক্টরিগুলি কখনও কখনও .dএটি একটি ডিরেক্টরি নয় একটি ফাইল প্রদর্শন করতে হয়। এটাই এর ধরণ। ডিফল্ট lsআউটপুট ডিরেক্টরি এবং ফাইলগুলিকে দৃষ্টিভঙ্গি করে না, সুতরাং এই .dজাতীয় তালিকায় এর ধরণ (ডিরেক্টরি) দেখানোর জন্য কেবল একটি পুরানো কনভেনশন।


6
এছাড়াও .dপ্রত্যয়টি একই নামযুক্ত ফাইলের সাথে সংঘর্ষকে বাধা দেয়। উদাহরণস্বরূপ, আপনার কাছে একটি কনফিগারেশন ফাইল /etc/apt/sources.listএবং কনফিগারেশন ফাইলের ডিরেক্টরি থাকতে পারে /etc/apt/sources.list.d
jmtd

2
^ আমি এতদূর যেতে পারি যে এটি কোনও "সংযোজন" নয় তবে সম্মেলনে প্রথম স্থানে আসার একমাত্র কারণ। ইউনিক্স / লিনাক্স জিনিসগুলিতে এক্সটেনশনগুলি অন্তর্ভুক্ত করার বিষয়ে কখনও মূল্যবান হতে পারে না, বিশেষত প্রথম দিনগুলিতে, তাই আমি সন্দেহ করি যে এটি ভাল কারণ ছাড়াই চারপাশে ব্যান্ডেড হয়েছিল।
আন্ডারস্কোর_২৯

2

আরও সাধারণভাবে .d ডিরেক্টরিগুলি (/etc/httpd/conf.d, /etc/rc.d, / ইত্যাদি / অন্য একটি উদাহরণ হয়ে থাকে) নির্দেশ করে যে অন্তর্ভুক্ত ফাইলগুলি প্রায়শই কনফিগারেশনের জন্য পড়তে এবং ব্যবহার করা হবে, যদি তারা মেলে একটি প্রদত্ত প্যাটার্ন এবং কিছু মাস্টার তালিকায় স্পষ্টভাবে যুক্ত হওয়ার দরকার নেই।

সুতরাং আপনি * .repo ফর্মের ফাইলগুলিকে /etc/yum.repos.d- এ যুক্ত করলে, ইউটি এটি /etc/yum.conf কনফিগারেশনের তালিকায় যুক্ত না করে চলমান অবস্থায় ব্যবহার করবে। আপনি যদি * .conf ফর্মের ফাইলগুলিকে /etc/http/conf.d- এ যুক্ত করেন তবে সেগুলি স্পষ্টভাবে /etc/httpd/conf/httpd.conf- এ যোগ করার প্রয়োজন ছাড়াই অ্যাপাচি পাঠ করবে। একইভাবে, /etc/init.d ফাইলগুলিতে chkconfig, /etc/cron.d এ ক্রোন জব রয়েছে।


+1, তবে ... উপরের মত একই মন্তব্য।
গ্রেগ টায়ার

1
@ গ্রেগ: উত্তরগুলি বাছাই করার বিভিন্ন উপায়ের কারণে, "উপরে" এবং "নীচে" হ'ল অন্যান্য উত্তরগুলি উল্লেখ করার জন্য দরিদ্র উপায়। 'প্রাচীনতম' এবং 'সর্বাধিকতম' প্রকারগুলি এ জাতীয় অবস্থান-ভিত্তিক বর্ণনার জন্য বিপরীত অর্থ তৈরি করে এবং 'ভোট' অনুসারে বাছাই করার সময় দুটি উত্তরের আপেক্ষিক অবস্থান সময়ের সাথে সাথে পরিবর্তন হতে পারে।
ক্রিস জনসেন

@ ক্রিস জনসন: এটিই আমি বুঝতে পেরেছিলাম, তবে অনেক দেরিতে। আমি এনজে এর উত্তর সম্পর্কে আমার মন্তব্য উল্লেখ ছিল।
গ্রেগ টায়ার

1

আমি মনে করি, কিন্তু নথি করতে পারছি না, যেটি .dনির্দেশ করে যে ডিরেক্টরিটি ডি- এমনের সাথে যুক্ত ।

প্রমাণগুলি ইঙ্গিত দেয় যে এটি কমপক্ষে প্রশংসনীয়:

sudo find / -maxdepth 3 -name "*.d"

কোথাও প্রাচীন ইউনিক্স ইতিহাসের ছোট্ট বিটগুলির গভীর অবলম্বনে এখনও আমার মনের পিছনে কোব্বসের পিছনে দুলছে, এটি আমাকে সঠিক উত্তর হিসাবে ডাকে। আমি বিশ্বাস করি এটি সম্ভবত এমন এক সময় থেকে এসেছিল যখন ডাইনোসর মারা যাওয়ার আগে প্রথম স্তন্যপায়ী প্রাণীরা পৃথিবীতে ঘোরাফেরা করত এবং manপৃষ্ঠাগুলি কেবল সিস্টেমেই ছিল না তবে পায়ে পরিমাপ করা র্যাকগুলিতে শারীরিকভাবেও রাখা হয়েছিল।


প্রলাপটির জন্য +1 শেষে, তবে আমি মনে করি এটি yum.repos.d এর সাথে ঠিকভাবে খাপ খায় না ...
গ্রেগ

</cobwebs>আমি বিশ্বাস করি যে উত্তরগুলি নির্দেশ করে যে .dসম্পর্কিতটির অনুরূপ এবং অনুরূপ নামযুক্ত ফাইলগুলি থেকে ডিরেক্টরিটি ছিন্ন করা হ'ল এর উদ্দেশ্যটি সঠিক। আমি ই-ম্যান এবং জেলিয়াগ্রাসকে উন্নত করেছি।
ডেনিস উইলিয়ামসন

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

1
yumএটি আরও সাম্প্রতিক আবিষ্কার।
ডেনিস উইলিয়ামসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.