দীক্ষা ঠিক কী করে?


43

আমি একটি লিনাক্স ডিস্ট্রো তৈরি করছি এবং এখন আমার একটি ডিএন প্রোগ্রাম দরকার। আমি সি তে কোডিং করতে পারি এবং আমি লিনাক্স সম্পর্কে বেশ কিছুটা জানি (খুব বেশি নয় তবে আমি উন্নয়নের জন্য আর্চ লিনাক্সটি 4 বছর ধরে ব্যবহার করছি), তাই আমি ভেবেছিলাম সিতে আমার নিজস্ব বেসিক আরআর স্ক্রিপ্টটি লেখার চেষ্টা করা উচিত আমি ছিলাম। কেবল ভাবছি, একটি সাধারণ শেলের জন্য সিস্টেম সেট আপ করার জন্য ডিআই কোন কাজগুলি করে? (যখন আমি জিজ্ঞাসা করি "ডিআইআই কি করে?", আমি জানতে পারি যে ডিআইডি কী এবং এর জন্য কী। আমি কী জানি এটি কী কাজগুলি করে।)

আমি কোডটি প্রয়োজন না এবং আমি সম্ভবত এমন কি মৌলিক কমান্ড প্রয়োজন কিন্তু আমি না যাতে তারা চালানোর প্রয়োজন।


1
পার্ল, আওক, বাশ, (টি) সিএসএস, নেটিভ বাইনারিস সহ সিসভি-স্টাইলের থ্রি স্ক্রিপ্টগুলির জন্য আপনি যেভাবে দোভাষী চান তা আপনি ব্যবহার করতে পারেন ... ব্যাশ সাধারণত ব্যবহৃত হয় কারণ এটি এমন সিস্টেমে উপলব্ধ থাকার গ্যারান্টিযুক্ত যেখানে এই ধরনের স্ক্রিপ্টগুলি রয়েছে on বুট প্রক্রিয়ার প্রাসঙ্গিক স্থানে মোতায়েন করা হয়েছে, সিসভিনিট এবং ব্যাশের মধ্যে কিছু মিল রয়েছে বলে নয়। সিসভিনিট চুক্তিটি সংজ্ঞায়িত করে এবং প্রতিটি স্ক্রিপ্ট তার চুক্তিটি তার বিকাশকারী যেভাবে উপযুক্ত দেখায় তা প্রয়োগ করতে মুক্ত free
একটি সিভিএন

উত্তর:


53

সিস্টেম 5 initআপনাকে গল্পের একটি ছোট্ট অংশ বলবে।

লিনাক্স বিশ্বকে প্রভাবিত করে এমন এক ধরণের মায়োপিয়া রয়েছে। লোকেরা মনে করে যে তারা "সিস্টেম 5 init" নামে একটি জিনিস ব্যবহার করে এবং এটি প্রচলিত এবং শুরু করার সেরা জায়গা উভয়ই। উভয়ই বাস্তবে ঘটনাটি নয়।

Suchতিহ্য আসলে এই জাতীয় লোকেরা যা বলে তা সূচনার জন্য নয়। সিস্টেম 5 initএবং সিস্টেম 5 rcতারিখের এটিএন্ডটি ইউনিক্স সিস্টেম 5 এর তারিখ, যা লিনাক্স-ম্যান্ড্রেকের প্রথম সংস্করণের পরে আমরা এখন (বলা) যতটা প্রথম ইউএনআইএক্সের পরে ছিল তার প্রায় দূরে ছিল।

প্রথম সংস্করণ ইউনিক্স কেবল ছিল init। এটা ছিল না rc। 1 ম সংস্করণ সমাবেশের ভাষা init( যার কোডটি পুনরুদ্ধার করা হয়েছে এবং ওয়ারেন টমে এট আল দ্বারা উপলব্ধ করা হয়েছে ) 12 টি gettyপ্রক্রিয়া সরাসরি তৈরি এবং পুনরুদ্ধার করা হয়েছে , একটি বিল্ট-ইন টেবিল থেকে 3 হার্ডওয়ারযুক্ত ফাইল সিস্টেমগুলি মাউন্ট করেছিল এবং সরাসরি একটি হোম ডিরেক্টরি থেকে একটি প্রোগ্রাম চালায় ব্যবহারকারী নাম melgettyটেবিল প্রোগ্রাম ইমেজ সরাসরি ছিল।

ইউএনআইএক্স সিস্টেম 5 এর পরে আরও দশক পরে তথাকথিত "traditionalতিহ্যবাহী" লিনাক্স থিম সিস্টেমটি উপস্থিত হয়েছিল। 1992 সালে, মিকেল ভ্যান স্মোরেনবার্গ (পুনরায়) একটি লিনাক্স init+ rcএবং তাদের সম্পর্কিত সরঞ্জামগুলি লিখেছিলেন , যেগুলি এখন লোকেরা "সিস্টেম 5 init" হিসাবে উল্লেখ করে , যদিও এটি আসলে ইউনিক্স 5 সিস্টেমের সফ্টওয়্যার নয় (এবং কেবল এটি নয়) init)।

সিস্টেম 5 init/ rcশুরু করার সেরা জায়গা নয় এবং এমনকি যদি কেউ সিস্টেমড জ্ঞান যোগ করে তবে যা জানার আছে তার অর্ধেকটি কভার করে না। একা গত দুই দশকে ঘটে যাওয়া ডিআইডি সিস্টেম ডিজাইনের ক্ষেত্রে (লিনাক্স এবং বিএসডিগুলির ক্ষেত্রে) প্রচুর কাজ হয়েছে। সমস্ত ধরণের ইঞ্জিনিয়ারিং সংক্রান্ত সিদ্ধান্তগুলি আলোচনা করা, তৈরি, নকশা করা, বাস্তবায়ন এবং অনুশীলন করা হয়েছে। বাণিজ্যিক ইউনিয়নগুলিও অনেক কিছু করেছিল।

অধ্যয়ন এবং শিখতে বিদ্যমান সিস্টেমগুলি

এই দুটি ব্যতীত অন্য কয়েকটি প্রধান init সিস্টেমগুলির একটি অসম্পূর্ণ তালিকা এবং তাদের (বেশ কয়েকটি) মূল পয়েন্টগুলির মধ্যে একটি বা দুটি এখানে রয়েছে:

  • জোয়াচিম নীলসনের ফাইনটি আরও বেশি মানব-পঠনযোগ্য কনফিগারেশন ফাইল ব্যবহারের পথে চলেছে।
  • ফেলিক্স ভন লেটনারের মিনিটটি একটি ফাইল-সিস্টেম-ই-দ্য-ডাটাবেস কনফিগারেশন সিস্টেম, ছোট মেমরির পদচিহ্নগুলি এবং শুরু হয়ে যায় এমন initকিছুগুলির মধ্যে নির্ভরতা / স্টপ নির্ভরতা শুরু করে।
  • জেরিট পেপের রানিট আমার আগে যা বর্ণিত হয়েছে কেবলমাত্র চারটি শেল স্ক্রিপ্টের পদ্ধতির হিসাবে বর্ণনা করেছে for
  • ইনিএনজি-র লক্ষ্য নির্ভরতা, নামযুক্ত টার্গেট, একাধিক কনফিগারেশন ফাইল এবং আরও বেশি নমনীয় কনফিগারেশন সিনট্যাক্সের জন্য শিশু প্রসেসের জন্য আরও বেশি সেটিংস রয়েছে load
  • আপস্টার্টটি সম্পূর্ণ পুনরায় ডিজাইনের জন্য গিয়েছিল, সিস্টেমকে পরিষেবা এবং আন্তঃনির্ভরতা হিসাবে নয়, বরং ইভেন্ট এবং কাজগুলির দ্বারা চালিত হিসাবে মডেলিং করেছে।
  • নোশের ডিজাইনে সার্ভিস ম্যানেজমেন্টের সমস্তগুলিকে (এমনকি gettyস্প্যানিং এবং জম্বি কাটা সহ ) আলাদা সার্ভিস ম্যানেজারের মধ্যে চাপ দেওয়া এবং কেবল অপারেটিং-সিস্টেম-নির্দিষ্ট "এপিআই" ডিভাইস / সিমলিঙ্ক / ডিরেক্টরি এবং সিস্টেম ইভেন্টগুলি পরিচালনা করা অন্তর্ভুক্ত।
  • sinit একটি খুব সহজ উদ্যোগ। এটি /bin/rc.initপ্রোগ্রাম, মাউন্ট ফাইলসিস্টেম ইত্যাদির কাজ কারটি সম্পাদন করে এটি এর জন্য আপনি মিনিসার মতো কিছু ব্যবহার করতে পারেন ।

তাছাড়া, 10 বছর আগে, সেখানে daemontools ব্যবহারকারী এবং ব্যবহারের অন্যদের মধ্যে আলোচনা ছিল svscan# 1 প্রক্রিয়া, যা এর মতো প্রকল্পগুলি নেতৃত্বে যেমন পল Jarc এর svscan প্রক্রিয়া 1 অধ্যয়ন যেমন , Gerrit Pape, এর ধারনা , এবং লরেন্ট Bercot প্রক্রিয়াকে 1 svscan

যা আমাদের # 1 প্রোগ্রামগুলি কী প্রক্রিয়াতে নিয়ে আসে।

# 1 প্রোগ্রামগুলি কী প্রক্রিয়া করে

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

বিভিন্ন অপারেটিং সিস্টেমের কার্নেলগুলি এবং প্রক্রিয়া # 1 এর অন্যান্য প্রোগ্রামগুলির চাহিদা রয়েছে যেগুলি কেবল পালাতে পারে না।

লোকেরা আপনাকে বলবে যে fork()জিনিসগুলিকে আইং করা এবং অনাথ প্রক্রিয়াগুলির পিতামাতার ভূমিকায় অভিনয় করা # 1 প্রক্রিয়াটির প্রধান কাজ function হাস্যকরভাবে, এটি অসত্য। এতিম প্রক্রিয়াগুলির সাথে ডিল করা (সাম্প্রতিক লিনাক্স কার্নেলগুলির সাথে, যেমন https://unix.stackexchange.com/a/177361/5132 তে ব্যাখ্যা করা হয়েছে ) এমন একটি অংশ যা সিস্টেম # 1 প্রক্রিয়া থেকে অন্য প্রসেসগুলিতে অনেকাংশে ফ্যাক্টর করতে পারে, যেমন একটি উত্সর্গীকৃত পরিষেবা পরিচালক । এই সমস্ত হ'ল সার্ভিস ম্যানেজার, যা প্রক্রিয়া # 1 ছাড়িয়ে চলেছে:

  • আইবিএম এইআইএক্স srcmstrপ্রোগ্রাম, সিস্টেম রিসোর্স কন্ট্রোলার
  • Gerrit Pape, এর runsvdirrunit থেকে
  • ড্যানিয়েল জে বার্নস্টেইনের svscanডিমনটোলস থেকে, অ্যাডাম স্যাম্পসনসকে ফ্রিডsvscan থেকে , ব্রুস গুয়েন্টারস ডিমনটোলস-এনকোয়ার থেকে এবং লরেন্ট বেরকোটস এস -6 থেকেsvscans6-svscan
  • ওয়েইন মার্শাল perpdহতাশ থেকে
  • সোলারিস 10 এ পরিষেবা পরিচালনার সুবিধা
  • service-managerজখলাবার থেকে

একইভাবে, https://superuser.com/a/888936/38062 তে বর্ণিত হিসাবে , পুরো /dev/initctlধারণাটি # 1 এর কাছাকাছি হওয়ার দরকার নেই। হাস্যকরভাবে, এটি অত্যন্ত কেন্দ্রিয় সিস্টেমড যা দেখায় যে এটি প্রক্রিয়া # 1 থেকে সরিয়ে নেওয়া যেতে পারে।

বিপরীতভাবে, বাধ্যতামূলক জিনিষ init, যে মানুষ সাধারণত তাদের বন্ধ-টপ-এর-মাথা নকশার ভুলে যেমন হ্যান্ডলিং যেমন জিনিস SIGINT, SIGPWR, SIGWINCH, এবং তাই ঘোষণা কার্নেল থেকে পাঠানো এবং বিভিন্ন সিস্টেম স্থিতি পরিবর্তন পাঠানো অনুরোধ প্রারম্ভিক প্রোগ্রামগুলি থেকে "জানে" যে # 1 প্রক্রিয়া করার জন্য নির্দিষ্ট সংকেতগুলির অর্থ নির্দিষ্ট জিনিস। (উদাহরণস্বরূপ: https://unix.stackexchange.com/a/196471/5132 তে SIGUSR1বর্ণিত হিসাবে , BSD সরঞ্জামসেটগুলি "জানেন" যার একটি নির্দিষ্ট অর্থ রয়েছে))

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

"এপিআই" ফাইল সিস্টেমগুলির সাথে কাজ করার মূল বিষয়গুলি initরোম 1 ম সংস্করণ ইউনিক্সের অপারেশনের থেকে কিছুটা পৃথক : একটিতে প্রোগ্রামটির মধ্যে হার্ডওয়ার্ড করা তথ্যের একটি তালিকা রয়েছে এবং তালিকার mount()সমস্ত এন্ট্রিগুলির মধ্যে একটি রয়েছে। আপনি বাসদ (এসআইসি!) হিসাবে বিভিন্ন হিসাবে সিস্টেমের মধ্যে এই প্রক্রিয়া পাবেন init, জখলাবার মাধ্যমে system-manager, systemd করতে।

"একটি সহজ শেল জন্য সিস্টেম সেট আপ"

যেমন আপনি পর্যবেক্ষণ করেছেন, init=/bin/sh"এপিআই" ফাইল সিস্টেমগুলি মাউন্ট করা পান না, কোনও ধরণের exit( https://unix.stackexchange.com/a/195978/5132 ) হয়ে গেলে কোনও ক্যাস ফ্লাশহীন একটি অসদৃশ ফ্যাশনে ক্রাশ হয় এবং সাধারণভাবে এটি ছেড়ে যায় (সুপার) ব্যবহারকারীর কাছে ম্যানুয়ালি এমন ক্রিয়াগুলি করতে হবে যা সিস্টেমকে ন্যূনতম ব্যবহারযোগ্য করে তোলে।

প্রক্রিয়া # 1 প্রোগ্রামে করা ছাড়া কোনটির আসলে কোন বিকল্প নেই তা দেখার জন্য, এবং এভাবে আপনার বিবৃত নকশার লক্ষ্যটির জন্য আপনাকে একটি ভাল কোর্সে সেট করা যায়, আপনার সেরা বিকল্পটি হ'ল জেরিট পেপের রুনিটের অপারেশনটিতে ওভারল্যাপগুলি লক্ষ্য করা, ফেলিক্স ভন system-managerনাইট প্যাকেজ থেকে লাইটনারের মিনিট এবং প্রোগ্রাম। প্রাক্তন দু'জন ন্যূনতম হওয়ার দুটি প্রচেষ্টা দেখায়, তবুও এমন জিনিসটি পরিচালনা করে যা এড়ানো অসম্ভব।

পরেরটি দরকারী, আমি system-managerপ্রোগ্রামটির বিস্তৃত ম্যানুয়াল এন্ট্রির জন্য যা "এপিআই" ফাইল সিস্টেমগুলি ঠিক মাউন্ট করা আছে, কোন আদিকরণের কাজগুলি পরিচালনা করা হয় এবং কোন সংকেতগুলি পরিচালনা করা হয় তা বিশদ করে; যে সিস্টেমে ডিজাইন অনুসারে সিস্টেম ম্যানেজারটি কেবলমাত্র আরও তিনটি জিনিস তৈরি করে থাকে (সার্ভিস ম্যানেজার, একটি সহযোগী লগার এবং রাষ্ট্র পরিচালনার জন্য প্রোগ্রামটি পরিবর্তন করে) এবং প্রক্রিয়াটিতে কেবল অনিবার্য হয় # 1।


3
দুর্দান্ত উত্তর এবং খুব তথ্যপূর্ণ। তবে আমি নিজেকে জিজ্ঞাসা করছি এই বড় ছবিতে ওএসএক্স কোথায় launchd। কখনও কখনও লোকেরা পুরোপুরি ভুলে যায় যে ওএসএক্স বৃহত * নিক্স পরিবারের একজন (দুর্দান্ত) সদস্য।
ডেভএলপিআই

4

ডেবিয়ান-এ সিস্টেম ভি ভি (অন্যান্য রূপ এবং বিভিন্নতা রয়েছে) নিম্নলিখিতগুলি করে:

  • রানলেলে প্রবেশ করার সময় এটি স্ক্রিপ্টগুলিকে /etc/rcX.d/S*আলফানিউমেরিক ক্রমে কল করে যেখানে Xরানলেভেল। এই স্ক্রিপ্টগুলির রানলেভেল সেটআপ করা উচিত। সাধারণ সেটআপটি ডেমোন শুরু করে এবং সেই রান স্তরের জন্য সেটআপ কার্য সম্পাদন করে। রানলেলে enteringোকার সময় এটি এক সময়ের কাজ।
  • একটি রান স্তরে থাকাকালীন, এটি ডেমোনগুলি শুরু করে যা /etc/inittabসেই রান স্তরের সময় সক্রিয় থাকার প্রয়োজন হিসাবে তালিকাভুক্ত হয় । যদি এই ডেমোনগুলি চলমান বন্ধ করে দেয় তবে এটি তাদের পুনরায় আরম্ভ করে। আপনি যে কোনও ডেমন পরিচালনা করতে চান তা থাকতে পারে init, ন্যূনতম সময়ে আপনি কয়েকটি gettyচাইলে লগইন করতে পারেন gettya লগইন শেষ হয়ে গেলে বের হয়ে আসে, তারপরে initএটি পুনরায় আরম্ভ করে একটি নতুন লগইন প্রম্পট সরবরাহ করে।
    • যদি ডেমন খুব অল্প সময়ের মধ্যে খুব বেশিবার পুনরায় চালু হয় তবে এটি এটি কিছুক্ষণের জন্য পুনরায় চালু করার চেষ্টা বন্ধ করে দেয়।
    • রান লেভেলে প্রবেশের সময় কিকঅফ স্ক্রিপ্টগুলির দ্বারা কিছু শুরু হয়েছিল কেবল কারণ initএটি চালিয়ে যাওয়ার চেষ্টা করে না । আপনি এটি আলাদাভাবে নির্দিষ্ট করতে হবে /etc/inittab
  • রানলেভাল থেকে বেরিয়ে আসার সময়, এটি স্ক্রিপ্টগুলিকে /etc/rcX.d/K*আলফানিউমেরিক ক্রমে কল করে যেখানে Xরানলেভেল। শাটডাউন বা রিবুট বাস্তবায়নের একটি উপায় হ'ল এই ইভেন্টগুলির জন্য একটি রানলেভেল সংজ্ঞায়িত করা এবং শেষ টাস্কটি আদেশ haltবা rebootআদেশটি কার্যকর করা ।
  • এটি পাওয়ার ইভেন্ট বা Ctrl-Alt-Del এর মতো নির্দিষ্ট ইভেন্টগুলির প্রতিক্রিয়া হিসাবে এক্সিকিউটেবলকে কল করবে।
  • এটি একটি সকেটে শোনা, যদি এটি নির্দিষ্ট বার্তা পায় তবে এটি রানলেভেল পরিবর্তন করবে।

আপনি চাইলে আপনি initপ্রাথমিক পরিষেবা ব্যবস্থাপক হিসাবে ব্যবহার করতে পারেন, তবে এই প্রধান কাজটি হ'ল এই দিনটি gettyউপলভ্য রাখা যাতে কোনও ব্যবহারকারী লগইন করতে পারে এবং রানলেভাল ট্রানজিশন বন্ধ করে দিতে পারে।

আমি কেবল ভাবছিলাম, একটি সাধারণ শেলের জন্য সিস্টেম সেট আপ করার জন্য ডিআই কি কাজগুলি করে?

তুমি যা চাও. ডেবিয়ান-এ, প্রতিটি /etc/rcX.dডিরেক্টরিতে একটি স্ক্রিপ্টের একটি সিমিলিংক থাকে /etc/init.dএবং আপনি সেই স্ক্রিপ্টগুলি সম্পূর্ণরূপে কাস্টমাইজ করতে বা মুছতে পারেন। অর্ডার দিয়ে প্রতিটি স্ক্রিপ্ট পূর্ববর্তী দ্বারা স্থাপন করা হয় 00, 01ইত্যাদি

আপনি যদি একটি শেল স্প্যান করতে চান তবে আপনি একটি -bবিকল্পও init(যেমন কার্নেল কমান্ড লাইনের মাধ্যমে) নির্দিষ্ট করতে পারেন init। যখন আপনি শেল থেকে প্রস্থান করবেন, initমারা যান এবং যখন initমারা যান, কার্নেল আতঙ্কিত হবে।


2

ইনি অবশ্যই যে নিখুঁত ন্যূনতম নূন্যতমটি করতে হবে তা হ'ল কমপক্ষে একটি অন্য প্রোগ্রাম চালানো হবে এবং কখনও প্রস্থান করতে হবে না। Init থেকে প্রস্থান করা হলে সিস্টেমটি ক্র্যাশ হয়ে যায়। আমি অনুমান করি যে অন্য একটি প্রোগ্রাম চালানোও কঠোরভাবে প্রয়োজনীয় নয়, তবে আপনি যদি উদ্যোগটি না করেন তবে সিস্টেমটি প্রত্যাশিত প্রতিটি কাজ করার জন্য দায়বদ্ধ হতে পারে, বা এটি খুব কার্যকর হবে না।


1
আমি বগি লিনাক্স সিস্টেম পেয়েছি যেখানে পিআইডি 1 ক্র্যাশ হয়েছিল তবে সিস্টেমটি মূলত চালিয়ে যায়। পিআইডি 1 ক্র্যাশ করা কতটা খারাপ তা কার্নেল সংস্করণের উপর নির্ভর করে।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

1

init আপনি যা চান তা করতে পারেন

init বুট প্রসেসের শেষে লিনাক্স কার্নেল দ্বারা ডেকে আনা একটি নির্বিচার নির্বাহযোগ্য (এবং কেবলমাত্র এইরকম এক্সিকিউটেবল)।

এটি সাধারণত ELF এক্সিকিউটেবল হিসাবে প্রয়োগ করা হয়, তবে এটি শেল স্ক্রিপ্টও হতে পারে chmod +x: শেল স্ক্রিপ্ট হিসাবে উদ্যোগ

সিএসএমডির মতো সাধারণ বাস্তবায়নগুলি কনফিগারেশন ফাইলগুলি পড়বে, ofen /etc/initrc, এবং তারপরে এই কনফিগারেশনের উপর ভিত্তি করে একাধিক ইউজারল্যান্ড প্রক্রিয়া তৈরি করবে, যাতে সিস্টেমের বিভিন্ন দিক প্রয়োগ করা যায়।

তবে এটি পুরোপুরি বাস্তবায়ন সুনির্দিষ্ট এবং তাই আপনার নির্দিষ্ট প্রশ্নের বাস্তবায়ন নির্দিষ্ট করে না দিয়ে প্রশ্নটির উত্তর দেওয়া যাবে না। উদাহরণস্বরূপ, আমি initএমন একটি প্রক্রিয়া নিয়ে খেলছি যা কেবল শিক্ষার উদ্দেশ্যে rebootসিস্কল করে।

লিনাক্স কার্নেলটি কেবল /initডিফল্টরূপে নির্বাহের জন্য অনুসন্ধান করে তবে এটি init=লিনাক্স কার্নেল কমান্ড লাইন প্যারামিটার দ্বারা ওভাররাইড করা যায় ।

এর সাথে ঘুরে দেখার এক দুর্দান্ত উপায় initহ'ল কিউইএমইউ ব্যবহার করা, যেহেতু আপনি -appendবিকল্পটি দিয়ে কিউইএমইউ কমান্ড লাইন থেকে কার্নেল কমান্ড লাইন প্যারামিটারগুলি কেইএমইউতে পাঠাতে পারেন , এবং আপনার ডেস্কটপটিকে ব্রিক করার ভয় ছাড়াই।

এখানে আমার ন্যূনতম সম্পূর্ণ স্বয়ংক্রিয়ভাবে বিল্ড্রুট + কিউইএমইউ সেটআপ রয়েছে যা বিষয়টিকে ক্ষুন্ন করতে আপনার নিজের ইনটসের সাথে চারপাশে খেলা খুব সহজ করে তোলে।


0

যদি আপনি মডিউলারে "একটি কাজ করুন এবং এটি ভালভাবে করুন" নীতিতে প্রতিশ্রুতিবদ্ধ থাকেন তবে কোনও initপ্রোগ্রামের প্রক্রিয়া শুরু করা উচিত।

প্রক্রিয়া শুরু করুন

কার্নেলটি সফলভাবে সঙ্কুচিত হয়ে গেলে এটি কার্যকর করা উচিত, সিস্টেমের দ্বারা চালিত সমস্ত প্রসেসিয়াল প্রারম্ভিককরণের সাথে জড়িত সমস্ত প্রাথমিক কাজগুলির যত্ন নেওয়া (যেমন / ইত্যাদি / fstab এ পাওয়া মাউন্ট ড্রাইভগুলি, নেটওয়ার্ক ইন্টারফেসগুলি উপস্থিত করে, এবং শীঘ্রই).

যেহেতু বুট আপ এবং শাট ডাউন করার প্রক্রিয়াটি একে অপরের বিপরীত হয়, তাই কোনও init প্রোগ্রামের পক্ষে শটডাউন কমান্ডের মাধ্যমে প্রক্রিয়াগুলি বন্ধ হওয়া নিশ্চিত করাও সাধারণ।

প্রক্রিয়া বন্ধ করুন

এর অর্থ এটি অবশ্যই প্রক্রিয়াটির ম্যান পৃষ্ঠা অনুসারে প্রক্রিয়াগুলি বন্ধ করে দিতে হবে (অন্য কথায়, কেবল একটি ধোঁকাবাজ নয় kill -9, এটি প্রক্রিয়াটি যেভাবে শেষ করতে চায় তেমনভাবে নামিয়ে আনতে হবে), ড্রাইভগুলি চালিত করে চলবে না এবং শেষ পর্যন্ত চূড়ান্ত পাওয়ার ডাউন কমান্ড জারি করতে হবে ।

তথ্যসূত্র

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

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