আমার এফএসে এমভি পারমাণবিক?


13

mvআমার fs (ext4) এ পারমাণবিক কিনা তা আমি কীভাবে পরীক্ষা করতে পারি ?

ওএস হ'ল রেড হ্যাট এন্টারপ্রাইজ লিনাক্স সার্ভার রিলিজ 6.8।

সাধারণভাবে, আমি এটি কীভাবে পরীক্ষা করতে পারি? আমি চারপাশে দেখেছি, এবং আমার ওএস স্ট্যান্ডার্ড পসিক্স কিনা তা খুঁজে পেলাম না।


আপনি চেষ্টা করেছেন strace?
ওয়াইল্ডকার্ড

উত্তর:


9

আকর্ষণীয়ভাবে যথেষ্ট, মনে হয় উত্তরটি হতে পারে, "এটি নির্ভর করে"।

পরিষ্কার হতে, mvনির্দিষ্ট করা হয়

mvউপযোগ সমতূল্য কর্ম সঞ্চালন করবে rename() ফাংশন

পুনঃনামকরণ ফাংশন স্পেসিফিকেশন পদ বলে:

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

তবে রাষ্ট্রগুলির জন্য সর্বশেষতম আইএসও সি স্পেসিফিকেশনrename() :

7.21.4.2 renameফাংশন

সংক্ষিপ্তসার

#include <stdio.h>
int rename(const char *old, const char *new);

বিবরণ

renameফাংশন ফাইল যার নাম স্ট্রিং দ্বারা নির্দিষ্ট হয় কারণ oldঅত: পর নাম স্ট্রিং দ্বারা প্রতি ইঙ্গিত দেওয়া দ্বারা পরিচিতি লাভ new। নাম দেওয়া ফাইলটি oldআর সেই নামে অ্যাক্সেসযোগ্য নয়। স্ট্রিং দ্বারা চিহ্নিত একটি ফাইল যদি ফাংশনটিতে newকল করার আগে উপস্থিত থাকে rename, আচরণটি বাস্তবায়ন-সংজ্ঞায়িত।

রিটার্নস

renameফাংশন আয় শূন্য যদি অপারেশন সফল হয়, অশূন্য তা করতে ব্যর্থ হলে, যে ক্ষেত্রে ফাইল অস্তিত্ব যদি পূর্বে এটি এখনও তার মূল নাম দ্বারা পরিচিত হয়।

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

আরও দেখুন পুনঃনামকরণ () পারমাণবিক আছে কি?

লিনাক্স ম্যান পেজ প্রতি :

যদি newpathইতিমধ্যে বিদ্যমান থাকে তবে এটি পরমাণুভাবে প্রতিস্থাপন করা হবে, যাতে অন্য কোনও প্রক্রিয়া অ্যাক্সেস করার চেষ্টা করছে এমন কোনও বিন্দু নেই যা newpathএটি অনুপস্থিত খুঁজে পাবে। যাইহোক, সম্ভবত একটি উইন্ডো থাকবে যার মধ্যে উভয় oldpathএবং newpathফাইলটির নাম পরিবর্তিত হচ্ছে refer

লিনাক্স ম্যান পেজ দাবি করেছে যে ফাইলটি প্রতিস্থাপন করা হবে পারমাণবিক।

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

লক্ষণীয়, উপরে অনুমান দুই প্রতীক ফাইলের নাম একই ফাইল সিস্টেম রয়েছে। এটি mvপ্রয়োগের জন্য আমি ইউটিলিটিতে কোনও মানক বাধা পেতে পারি না ।


আমাকে নিশ্চিত করতে হবে যে পদক্ষেপটি পারমাণবিক। টেস্টিং এটি গ্রহণ করার জন্য করা হয়? আমি বলতে পারি না। হ্যাঁ, আমি একই এফএসে কাজ করছি (এক্সট্রি 4 এক্সট্রা 4)
তিজিয়ানোরিক

1
পসিক্সও পারমাণবিকতার গ্যারান্টি দেয় না, তবে লিনাক্স, বেশিরভাগ ইউনিক্স ভেরিয়েন্টের মতো, "দেশীয়" ফাইল সিস্টেম যেমন এক্সটোর জন্য does
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

1
আইএসও সি কেবল একটি প্রোগ্রামের আচরণের সংজ্ঞা দেয় পুরো সিস্টেমের নয়, এটি renameপারমাণবিকতা সম্পর্কে কিছু বলা অদ্ভুত হবে ।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

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

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

0

mvrenameসিস্টেম কল উপর ভিত্তি করে এবং rename()পারমাণবিক হয়। আপনি র manpage তাকান পারে rename(2)

আপনি কি উত্তর () নামটির পরমাণুতে উত্তর পেতে পারেন ? স্ট্যাকওভারফ্লোতে

আপনি কি ধরণের fs ব্যবহার করেছেন?


fs ext4 - ওএস ইতিমধ্যে নির্দিষ্ট করা আছে।
তিজিয়ানোরিক

-1

সিস্টেমকলগুলি এবং তাদের পারমাণবিকতা পরীক্ষা করা ছাড়াও, সম্ভবত inotify-toolsএটি একটি পরীক্ষা হিসাবে কাজ করতে পারে, যদিও আমি নিশ্চিত নই যে এটি পারমাণবিকতার কোনও গ্যারান্টিযুক্ত প্রমাণ কিনা।

2 টি শেল খুলুন। তাদের মধ্যে একটিতে সরানোর লক্ষ্য ডিরেক্টরিটি দেখুন:

inotifywait -m target/

অন্যটিতে ডিরেক্টরিতে একটি ফাইল সরান:

mv foobar target/

inotifywaitশুধুমাত্র এক লাইন দেখানো উচিত:

target/ MOVED_TO foobar

এটি প্রতিক্রিয়া ls target/এবং এর প্রতিক্রিয়া তুলনায় পারমাণবিক বলে মনে হচ্ছে touch target/a, যা এই জাতীয় বহু বার্তা তৈরি করে:

# the response to ls target/
target/ OPEN,ISDIR 
target/ ACCESS,ISDIR 
target/ CLOSE_NOWRITE,CLOSE,ISDIR 

পুনশ্চ

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

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