আমি যখন 'সিপি' মারি তখন কী হয়? এটি কি নিরাপদ এবং এর কোনও পরিণতি আছে?


23

আমি যখন একটি কপি cpকমান্ড Ctrl+ টাইপ Cকরে এটি চলমান থাকাকালীন বন্ধ করি তখন এক্সট 4 ফাইল সিস্টেমের কী পরিণতি হয়?

ফাইল সিস্টেমটি কি নষ্ট হয়ে যায়? অসম্পূর্ণ অনুলিপিযুক্ত ফাইল দ্বারা বিভাজনের স্থানটি কি মুছে ফেলার পরেও ব্যবহারের যোগ্য?

এবং, সর্বাগ্রে গুরুত্বপূর্ণ, কোনও cpপ্রক্রিয়াটি কি কোনও নিরাপদ জিনিসটি বন্ধ করে দেওয়া উচিত?


1
মনে রাখবেন যে ext4- এর জন্য উত্তরগুলি সঠিক হলেও জার্নালিং ব্যতীত ফাইল সিস্টেমগুলি নিরাপদ নাও হতে পারে।
এভেন

3
@ অ্যাভ জার্নালিং এর সাথে কিছু করার নেই। আপনি যে ফাইল সিস্টেম ব্যবহার করেন তা নির্বিশেষে সিস্কলগুলি পারমাণবিক। এমন পরিস্থিতিতে জার্নালিং কার্যকর যেখানে হঠাৎ ক্ষমতা হারাতে পারে।
বন

উত্তর:


22

এটি করা নিরাপদ তবে স্বাভাবিকভাবে আপনি অনুলিপিটি শেষ নাও করতে পারেন।

যখন cpকমান্ডটি প্রয়োগ করা হয়, এটা syscalls যে ফাইল কপি করতে কার্নেল নির্দেশ করে তোলে। সিস্কাল এমন একটি ফাংশন যা একটি অ্যাপ্লিকেশন কল করতে পারে যা কার্নেল থেকে একটি পরিষেবা অনুরোধ করে যেমন ডিস্কে ডেটা পড়া বা লেখার জন্য। ইউজারস্পেস প্রক্রিয়াটি কেবলমাত্র সিস্কালটি শেষ হওয়ার জন্য অপেক্ষা করে। আপনি যদি কলগুলি সন্ধান করতে চান তবে এটির মতো দেখতে লাগবে:

open("/home/user/hello.txt", O_RDONLY)           = 3
open("/mnt/hello.txt", O_CREAT|O_WRONLY, 0644)   = 4
read(3, "Hello, world!\n", 131072)               = 14
write(4, "Hello, world!\n", 14)                  = 14
close(3)                                         = 0
close(4)                                         = 0

এটি অনুলিপি করা প্রতিটি ফাইলের জন্য পুনরাবৃত্তি করে। এই সাইককলগুলি যেভাবে কাজ করে তার কারণে কোনও দুর্নীতি ঘটবে না। যখন এই জাতীয় সিস্টেমে প্রবেশ করা হয় তখন মারাত্মক সংকেত কেবলমাত্র সিস্কালটি শেষ হওয়ার পরে কার্যকর হবে , এটি চলমান অবস্থায় নয়। এ কারণে, জোর করে হত্যা করা প্রক্রিয়াটি কেবল বর্তমানে চলমান সিস্কেলটি শেষ হওয়ার পরে এটি বন্ধ করার কারণ ঘটবে। এর অর্থ হ'ল কার্নেল, যেখানে ফাইল-সিস্টেম ড্রাইভার বাস করে, ফাইল সিস্টেমটি বুদ্ধিমান অবস্থায় রাখার জন্য প্রয়োজনীয় অপারেশনগুলি সম্পূর্ণ করতে মুক্ত। এই ধরণের কোনও I / O কখনই অপারেশনের মাঝামাঝি সময়ে শেষ হবে না, এগুলি পরমাণু অপারেশন করে।

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


2
@ কিউইউআর এটি সম্ভবত গ্লিবিক লাইব্রেরিরই অংশ, এটি cpনয়। এটিতে বিভিন্ন ফাইল অ্যাক্সেস ফাংশন রয়েছে যা অভ্যন্তরীণভাবে এটি মান হিসাবে ব্যবহার করে।
বন

2
দুর্দান্ত উত্তর! আমি কখনই বুঝতে পারি নি যে cpসিল্কিল করার পরে কোনও বিলম্ব হতে দেরি হচ্ছে , এমনকি বড় ফাইলগুলির সাথে ডিল করার সময় ... সম্ভবত কোনও প্রক্রিয়াটির এই নিরবচ্ছিন্ন পারমাণবিক ক্রিয়াকলাপটির সময়কাল খুব কম। একই ব্যাখ্যা হত্যা ddএবং অন্যান্য ডিস্ক-পড়া / লেখার প্রক্রিয়াগুলির জন্য কাজ করে?
সেনিনহা

1
@ সিনিহানা অপারেশনগুলি বেশ সংক্ষিপ্ত কারণ অ্যাক্সেসগুলি ক্যাশে করা হয়েছে, সুতরাং আপনি যদি ফেটে ফেলা হয় তবে আপনার ড্রাইভটি যেহেতু হ্যান্ডেল করতে পারে তার চেয়ে বেশি আপনি প্রতি সেকেন্ডে অনেক বেশি অনুলিপি করতে পারেন। ফাইলটি যদি সত্যিই বড় হয় এবং ধীর মিডিয়ামে থাকে তবে ক্যাশে পূরণ করতে পারে এবং প্রক্রিয়াটি হ্রাস করতে কিছুটা সময় নিতে পারে। হত্যার ক্ষেত্রে dd, এটি bsআপনার জন্য কী সেট করেছে তার উপর নির্ভর করে । যদি এটি কেবল 512 (ডিফল্ট) হয় তবে এটি দ্রুত শেষ করা উচিত। যদি এটি বড় হয় তবে এটি আরও কিছুটা সময় নিতে পারে।
বন

3
@ কিউআর 128 কেবি খণ্ডগুলি ব্লক ডিভাইসগুলি থেকে পড়ার সময় কোর্টিলগুলিতে ডিফল্ট ডিফল্ট হয়, এটি সিস্টস্কেলগুলি হ্রাস করার প্রচেষ্টাতে করা হয়। বিশ্লেষণটি কোর্টিল উত্সে
Fiisch

1
@ অ্যান্ড্রুহেনেল সম্ভবত আমার বলা উচিত ছিল এটি ফাইল সিস্টেমের মেটাডেটা যা পারমাণবিক। আপনি সঠিক যে কোনও লেখা আংশিক হতে পারে।
অরণ্য

20

যেহেতু cpএকটি ইউজারস্পেস কমান্ড তাই এটি ফাইল সিস্টেমের অখণ্ডতাটিকে প্রভাবিত করে না।

আপনাকে অবশ্যই প্রস্তুত থাকতে হবে যে আপনি যদি কোনও রানিং cpপ্রোগ্রামটি হত্যা করেন তবে কমপক্ষে একটি ফাইল সম্পূর্ণ অনুলিপি করা হয়নি ।


14
ডাউনভোট কেন? শুধু কারণ এটি কৃপণ?
স্টিফেন কিট

6
অবশ্যই কমপক্ষে একজন ব্যক্তি রয়েছেন যা আমার সমস্ত উত্তরকে নীচে ফেলেছে। ডাউনটাতে কে করেছে তা খুঁজে বের করার কোনও উপায় আপনি জানেন?
স্কিলি

2
মডারেটররাও সুনির্দিষ্ট ভোট কারা দিয়েছে তা জানতে পারে না - এটি বোধগম্যভাবে এসও কর্মীদের মধ্যে সীমাবদ্ধ। তাদের তদন্ত করতে বলার জন্য আপনি "আমাদের সাথে যোগাযোগ করুন" লিঙ্কটি ব্যবহার করতে পারেন।
ফিলিপ কেন্ডল

1
এটি যদি খুব খারাপ লাগে যে কোনও ইউজারস্পেস প্রোগ্রাম যদি ফাইল সিস্টেমের সততা নিয়ে আপস করতে সক্ষম হয়। দ্রষ্টব্য: অবশ্যই, সেখানে থাকতে পারে, রয়েছে এবং ফাইল সিস্টেম বাস্তবায়নের ক্ষেত্রে বাগগুলিও থাকবে। দ্রষ্টব্য # 2: অবশ্যই, উন্নত সুবিধাসমূহের সাথে চলমান ইউজারস্পেস প্রোগ্রামগুলি (যেমন CAP_SYS_RAWIOলিনাক্সে বা অন্যান্য ওএসের সমতুল্য) যা তাদের ফাইল সিস্টেমের অন্তর্নিহিত ডিভাইসে সরাসরি অ্যাক্সেস দেয় (উদাহরণস্বরূপ sudo dd if=/dev/urandom of=/dev/sda1) সমস্ত ধরণের সর্বনাশকে ধ্বংস করতে পারে।
জার্গ ডব্লু মিট্টাগ

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