লিনাক্স বন্ধ করার আগে সিঙ্ক (8) প্রয়োগের প্রয়োজন কি?


19

আমি এখনও দেখতে পাচ্ছি যে লোকেরা sync; sync; sync; sleep 30; haltলিনাক্স বন্ধ বা পুনরায় চালু করার বিষয়ে কথা বলার সময় উদ্দীপনা ব্যবহারের পরামর্শ দেয়।

আমি প্রতিষ্ঠার পর থেকে লিনাক্স চালিয়ে আসছি এবং যদিও এটি বিএসডি ৪.২ / ৪.৩ এবং সুনোস-এর 4 দিনের প্রস্তাবিত পদ্ধতি ছিল, আমি মনে করতে পারি না যে আমি কমপক্ষে গত দশ বছর ধরে এটি করেছিলাম, এই সময়ে আমি সম্ভবত লিনাক্সের শাটডাউন / রিবুট হতে পারে হাজার হাজার বার।

আমি সন্দেহ করি যে দিনগুলি কার্নেলটি একক-ব্যবহারকারী মোড (যেমন / টেম্প) এর সময়েও মূল ফাইল সিস্টেম এবং অন্যান্য সমালোচনামূলক ফাইল সিস্টেমগুলি আনমাউন্ট করতে এবং সিঙ্ক করতে পারে না, সেহেতু এটি স্পষ্টতই বলা দরকার ডিস্কে যতটা ডেটা করা যায়।

আজকাল, কার্নেলের উত্সে প্রাসঙ্গিক কোডটি সন্ধান না করে ( http://lxr.linux.no এবং গুগলের মাধ্যমে খনন করা ) আমি সন্দেহ করি যে কার্নেল এমনকি রুট ফাইল সিস্টেমটি পরিষ্কারভাবে আনমাউন্ট করার জন্য যথেষ্ট স্মার্ট এবং ফাইল সিস্টেমটি যথেষ্ট স্মার্ট suspect একটি সাধারণ shutdown/ reboot/ poweorff। এর সময় নিজেকে আনমাউন্ট করার আগে কার্যকরভাবে একটি সিঙ্ক (2) করতে ।

"sync; sync; sync"চরম ক্ষেত্রে শুধুমাত্র প্রয়োজনীয় যেখানে ফাইলসিস্টেম না আনমাউন্ট পরিচ্ছন্ন (যেমন শারীরিক ডিস্ক ব্যর্থতা) অথবা সিস্টেম একটি অবস্থায় রয়েছে যে শুধুমাত্র একটি সরাসরি রিবুট (8) অত্যাচার তার নিশ্চল নামা হবে (যেমন লোড অত্যন্ত এটিকে শাটডাউন কমান্ডটি নির্ধারণ করার জন্য উচ্চ)।

syncঅপসারণযোগ্য ডিভাইসগুলি আনমাউন্ট করার আগে আমি কখনও প্রক্রিয়াটি করি না এবং কোনও সমস্যায় কখনও আঘাত করি না।

আরেকটি উদাহরণ - জেন ডোমউকে ডোম 0 থেকে একটি shutdownআদেশ পাঠানোর অনুমতি দেয়, এটি লগইন করে প্রথমে যাদুটি টাইপ না করে এটিকে "ক্লিন শাটডাউন" হিসাবে বিবেচনা করা হয় sync; sync; sync

আমি ঠিক আছি বা কয়েক হাজার সিস্টেম শাটডাউনের জন্য আমি ভাগ্যবান?


পঠনযোগ্য ফাইল সিস্টেমকে রিডিং / রাইটিং হিসাবে পুনরায় গণনা করা সম্পর্কে কী? আমি রুটফগুলি কেবল পঠনযোগ্য হিসাবে মাউন্ট করেছি এবং আমি এই আদেশটিটি পড়ার / লেখার মতো পুনঃসমাপ্ত করব: মাউন্ট-ও রিমান্ট, আরডাব্লু / এবং তারপরে আমি যখন রুটফেসগুলি পরিবর্তন করেছি তখন আমি মাউন্ট-ও রিমান্ট চালাচ্ছি, আরআর / তবে আমি যখন fs পরীক্ষা করি তখন কিছু সমস্যা দেখি fsck সহ পঠনযোগ্য হিসাবে মাউন্ট করার আগে দ্বিতীয় কমান্ড কি এসওয়াইএনসি কল করে?

উত্তর:


18

লোকেরা এর sync; syncআগে দৌড়ানোর haltকারণ হ'ল haltকমান্ডটি পুরানো লিনাক্সগুলিতে সিস্টেমটি পরিষ্কারভাবে বন্ধ করবে না। এসওয়াইএসভিআর ৪ সিস্টেমে এটি করার সঠিক উপায়টি সর্বদা আরম্ভকে আলাদা রান পর্যায়ে যাওয়ার জন্য বলা হয়।

বিএসডি এবং সুনোস 4 এসআইএসভিআর 4 অপারেটিং সিস্টেম নয় যার কারণেই তারা পৃথক। সোলারিস (সুনোস 5) হ'ল এসওয়াইএসভিআর 4 এবং লিনাক্স যে এসআইএসভিআর 4 মান ব্যবহার করতে চায় তার বিট খুঁজে নেয়।

হোল্ট ব্যবহার করা বেশিরভাগ ইউনিক্সের (লিনাক্স এর ব্যতিক্রমগুলির মধ্যে একটিতে) এটি করার একটি খুব খারাপ উপায় কারণ এটি প্রক্রিয়া বন্ধ করার এবং আনমাউন্টিং ডিস্কের মতো কাজ সম্পাদন করার জন্য init স্ক্রিপ্টগুলির মাধ্যমে আসলে চালানো হয় না - এটি কেবল প্রসেসরটিকে থামিয়ে দেয়।

আপনি যদি গ্যারান্টি দিয়ে দিতে পারেন যে আপনি কখনও কখনও করেন না , লিনাক্সের তুলনায় কখনও কোনও প্রকারের ইউনিক্স সিস্টেম ব্যবহার করুন তবে আপনি ব্যবহার চালিয়ে যেতে পারবেন halt- যদি আপনি অন্য ইউনিক্স ব্যবহার করার সুযোগ পান তবে আমি ব্যবহারের অভ্যাসে প্রবেশের প্রস্তাব দিই init _runlevel_বা shutdown

shutdownকমান্ড আসলে বলে initপ্রক্রিয়া তার রান-লেভেল পরিবর্তন করতে রান-লেভেল - তাই Init করছেন তারপর কে * Init স্ক্রিপ্ট এবং যে run স্তর সঙ্গে যুক্ত এস * Init স্ক্রিপ্ট প্রতিটি চালানোর জন্য আয়। রান-লেভেল 0 এর স্ক্রিপ্টগুলির মধ্যে একটি ফাইল সিস্টেমগুলির আনমাউন্টিং সম্পাদন করে।

লিনাক্সে haltকমান্ড কেবলমাত্র কমান্ডটি কল করে shutdownনা যদি না রান লেভেল ইতিমধ্যে 0 (শাট ডাউন) বা 6 (রিবুট) না হয় ; সুতরাং সেখানে কোনও ক্ষতি নেই।

ফাইল-সিস্টেম ব্যবহার umountকরে আনমাউন্ট করার কাজটি আনমাউন্ট করার আগেই এটি ডিস্কের সাথে ডেটা সিঙ্ক করে।

আপনি যদি sync; sync; haltলিনাক্সে চলতে থাকেন তবে আপনি ফাইল সিস্টেমের স্থিতিতে ঠিক থাকবেন কারণ বিকাশকারীরা নিশ্চিত করেছেন যে haltএটি সঠিক কাজ করে; তবে এটি ব্যবহার করা আরও সঠিক হবে:shutdown now


বর্নানার জন্য ধন্যবাদ. আপনি যা বলছেন তা কেবল স্পষ্ট করে বলার জন্য - "বিকাশকারীগণ নিশ্চিত করেছেন যে থামানো সঠিক জিনিসটি করে" তার মানে "থামানো" "সিঙ্ক "টিও ডাকে বা এটি সঠিক থিম স্ক্রিপ্টগুলি চালায় যা শেষ পর্যন্ত" সিঙ্ক "বলে? ইতিমধ্যে একক-ব্যবহারকারী মোডে থাকা এবং কেবল "থামুন" কল করার বিষয়ে কী? আমি কি আমার এই ধারণাটি দিয়ে সঠিক করেছি যে লিনাক্স কার্নেলটি এতটাই স্মার্ট যে সত্যিই হঠাৎ করে বন্ধ হয়ে যায় না তবে বন্ধ করার আগে সমস্ত ফাইল সিস্টেম আনমাউন্ট করবে?
আমোস শাপিরা

1
haltকলগুলি shutdownযা কল করে umountযা একটি সিঙ্ক করে।
ডেভজি

ধন্যবাদ ডেভিজ সুতরাং আপনি যা বলছেন তা হ'ল এটি সমস্ত ব্যবহারকারীর স্তরে ঘটে এবং কার্নেলটি নিজে থেকে ফাইল সিস্টেমগুলি সিমেন্ট এবং সিঙ্ক করবে না? যাই হোক না কেন, এটি "সিঙ্ক; শাটডাউন" অনুষ্ঠানটি আজ অবাস্তব বলে মনে হচ্ছে।
Amos Shapira

7

একাধিক syncকল ব্যবহারের জন্য ওএস এবং ডিস্কগুলিকে লেখার সারিগুলি ফ্লাশ করার সময় দেওয়া হয়েছিল। "sync; sync; sync"যে দরকারী হিসাবে বিবেচিত হয় নি; এক করেনি "sync<cr> sync<cr> sync<cr"এবং বিলম্ব যখন আপনার ASR-33 গাড়ি ফেরত / সম্পর্কে newline যথেষ্ট বিলম্ব প্রদান করেনি। হাল্ট সর্বদা কল সিঙ্ক করত; প্রশ্নটি ছিল যে ক্ষমতা সরিয়ে নেওয়ার আগে কিউগুলি সরিয়ে ফেলার যথেষ্ট সময় থাকবে কিনা?

মূল পোস্টারটি sync; sleep 30কী উদ্দেশ্য ছিল তা মেনে চলতে বেশি।


7

আপনি কেবলsync একাধিকবার কেন ইস্যু করবেন তা কেবল আমিই তা বলতে পারি । কমান্ডটি ফ্লাশকে ডিস্কে শিডিয়ুল করে তবে প্রকৃত ফ্লাশ শেষ হওয়ার পূর্বে ফিরে আসে। পরবর্তী কোনও syncকমান্ড অন্য ফ্লাশের সময় নির্ধারণ এবং প্রস্থান করার আগে কোনও বকেয়া ফ্লাশ অগ্রগতি না হওয়া অবধি অবরুদ্ধ থাকবে। অতএব, sync; syncএকটি সিঙ্ক্রোনাস ফ্লাশ নিশ্চিত করে। আপনার এটি 2 বারের বেশি করার দরকার নেই, না sleepমিশ্রণে আনতে হবে।


5

আপনারা যারা আমাদের সকলটি "সিঙ্ক; সিঙ্ক; সিঙ্ক" এর কোনও উদ্দেশ্য করে থাকেন তা আপনার বয়স প্রকাশ করে না।

সুখের দিনগুলিতে, ইউনিক্স কিশোর-কিশোরীদের কিছু হওয়ার আগে আমাদের স্ট্রিমিং / ব্যাকআপ প্রয়োজনে ট্যাপ ব্যবহার করতে হত। প্রায়শই-সময়, আমরা ব্যাকআপগুলি স্ট্রিম করার জন্য কোনও টেপ-ভিত্তিক ফাইলসিস্টেম মাউন্ট করতাম, ইত্যাদি on চৌম্বকীয় প্লাস্টিকের টেপগুলির এই দীর্ঘ পাতলা ব্যান্ডটি আমাদের সকলকেই ছিল আমাদের ফাইলগুলি সঞ্চয় করার জন্য ..

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


3
টেপগুলি হ'ল অক্ষরযুক্ত ডিভাইস। "মাউন্ট" ব্লক ডিভাইসগুলিতে কাজ করে। আমি সেখানে এসেছি (80 এর দশকের মাঝামাঝি বিএসডি 4.2 সহ ভ্যাক্স 11/750-তে "ডাম্প" চালাচ্ছি) এবং টেপ ডিভাইসে এমন কোনও কিছুই নেই এবং "সিঙ্ক" চালানো হয়নি। আপনি যদি একটি ডিভাইসের নাম হিসাবে এটি খোলেন এবং অন্যর সাথে এটি খুললে আপনি যেখানে থাকতেন সেখানে টেপটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে এবং যদি আপনাকে "এমটি" ব্যবহার করে সুস্পষ্ট কমান্ড প্রেরণ করতে পারে।
আমোস শাপিরা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.