কোনও ফাইল দুর্নীতিগ্রস্থ কিনা তা কীভাবে চেক করবেন?


13

কোনও ফাইল দূষিত কিনা তা যাচাই করার জন্য কি কোনও সাধারণ সমাধান রয়েছে? উদাহরণস্বরূপ, কোনও ভিডিও ফাইল খারাপ কিনা, বা একটি সংকোচিত ফাইল দূষিত কিনা is


1
আপনি কি জিজ্ঞাসা করেন যে ডিস্কে কোনও শারীরিক ত্রুটি আছে বা যদি ফাইলটিতে তথ্য ভুল আছে?
থরবজর্ন রাভন অ্যান্ডারসন

2
একটি সালিসী ফাইলের তথ্য সঠিক কিনা তা পরীক্ষা করা বেশ জটিল pretty echo "P = NP" >is-this-corrupt.txt:)
টম অ্যান্ডারসন

উত্তর:


10

না, কোনও সাধারণ সমাধান নেই। কোনও ফাইল দূষিত কিনা তা যাচাই করার একমাত্র উপায় হ'ল চেষ্টা করা এবং এটি পড়া; কেবলমাত্র সফ্টওয়্যার যা জানে যে নির্দিষ্ট ফর্ম্যাটটি পড়তে হয় তা করতে পারে can

আপনি যা করতে পারেন তা হ'ল fileফাইলের ধরণ চিহ্নিত করতে এবং তারপরে ফাইলটি পরীক্ষা করার জন্য উপযুক্ত প্রোগ্রাম চয়ন করার জন্য টাইপটি ব্যবহার করুন। আপনি এর মতো স্ক্রিপ্ট লিখতে পারেন:

# /bin/bash -eu

FILENAME=$1

FILETYPE="$(file -b $FILENAME | head -1 | cut -d , -f 1)"
case "$FILETYPE" in
    "gzip compressed data") CHECKER="gunzip -t" ;;
    # many, many more lines here
    *) echo "Unknown type: $FILETYPE"; exit 1 ;;
esac

$CHECKER $FILENAME

তবে কেস স্টেটমেন্টটি পূরণ করতে আপনার অনেক কাজ করতে হবে।

এটি সম্ভবত সম্ভব যে কেউ ইতিমধ্যে এই জাতীয় স্ক্রিপ্ট (বা প্রোগ্রাম) লিখেছেন তবে আমি এর কোনও কিছুই জানি না।


1
"কেবলমাত্র সফ্টওয়্যার যা জানে যে নির্দিষ্ট ফর্ম্যাটটি কীভাবে পড়তে হয় তা করতে পারে" এটি একটি ভ্রান্ত ধারণা। এমন অনেক প্রোগ্রাম রয়েছে যা আপনি যে ধরণের ফাইল দেন তা যত্ন করে না। (মনে উদাহরণস্বরূপ grep, cat, tar...)। আপনার সমাধান তাই খুব স্ফীত।
rozcietrzewiacz

4
"পড়ুন" দ্বারা, আমি "ব্যাখ্যা" বলতে চাইছিলাম - আমার আরও পরিষ্কার হওয়া উচিত ছিল। আপনি ব্যবহার করতে পারবেন না cat, বা অন্য কোন প্রোগ্রাম যা কোনো ফাইল বিশুদ্ধরূপে একইরূপে বাইটের একটি আনস্ট্রাকচারড প্রবাহ যেমন, দুর্নীতির জন্য চেক করতে। আমি বিশ্বাস করি না আমার সমাধান ফুলে গেছে।
টম অ্যান্ডারসন

আপনি, ক্যালাবের পরামর্শ অনুসারে প্রতিটি ফাইলকে বাইনারি ডেটা হিসাবে বিবেচনা করতে হবে এবং পরবর্তী যাচাইয়ের জন্য চেকসামগুলি সঞ্চয় করতে পারে। এটি সর্বজনীন, সহজ এবং তুলনামূলক দ্রুত।
rozcietrzewiacz

1
তবে আমি এখন দেখতে পাচ্ছি যে আপনার পদ্ধতির একটি সুবিধা রয়েছে যা আপনি আগে যা দেখেন নি বা অ্যাক্সেস করেননি এমন ফাইলগুলিতেও যাচাইকরণ সম্পাদন করতে পারে। এটি অবশ্যই একটি প্লাস - আপনি আপনার উত্তরে এটি উল্লেখ করতে পারেন।
rozcietrzewiacz

14

আপনি যদি ফাইলটির ঠিক সময়ে জানতে পারেন তবে আপনি এটির একটি চেকসাম তৈরি করতে পারেন এবং এটি এখনও সম্পূর্ণ কিনা তা নিশ্চিত করার জন্য এটি পরে তুলনা করতে ব্যবহার করতে পারেন। এটি মাধ্যম বা নেটওয়ার্ক জুড়ে ফাইল স্থানান্তর করার আগে কার্যকর।

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


3

আপনি যদি জেডএফএস ব্যবহার করে থাকেন তবে হয় আপনি ফাইলটি পড়তে পারেন এবং এটি ক্ষতিগ্রস্থ না হওয়ার গ্যারান্টিযুক্ত বা আপনি একটি পঠন ত্রুটি পেয়েছেন এবং এটি।

বুদ্ধিমান মন্তব্যের পরে সম্পাদনা করুন, আমার উত্তরটির একটি ব্যাখ্যা এখানে দেওয়া হয়েছে:

জেডএফএস নীরব ডেটা দুর্নীতির বিরুদ্ধে সুরক্ষা এবং সনাক্ত করতে পারে। উদাহরণস্বরূপ: http://www.zdnet.com/blog/storage/data-cor भ्रष्टाचार-is-worse-than-you-know / 191 অবশ্যই ফাইলটি প্রাথমিকভাবে লেখা হওয়ার সময় ইতিমধ্যে দূষিত হলে, কিছুই নেই ফাইল সিস্টেমটি করতে পারে।

ফাইলটি সংক্রমণকালে ঘটে যাওয়া দুর্নীতির হাত থেকে রক্ষা পেতে সাধারণত সাধারণ উদ্দেশ্য কৌশলগুলি হ'ল এমডি 5সাম বা অনুরূপ হ্যাশ।


বাহ, কী বৈশিষ্ট্য: ও
ল্যান্সবায়নেস

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

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

প্রশ্নটি ট্যাগ / ডেটা-রিকভারি এবং / ফাইল সিস্টেম হিসাবে, আমি ধরে নিয়েছি এটি নিঃশব্দ ডেটা দুর্নীতির বিষয়ে, প্রথম স্থানটিতে ভাঙা ফাইলগুলি সম্পর্কে নয়। এই বিষয়টি পরিষ্কার করার জন্য সম্পাদনা করা উত্তর।
jlliagre

@ জিলিয়াগ্রে: আমি আপনার উত্তরের প্রায় এক ঘন্টা পরে এই প্রশ্নটি (ট্যাগটি সম্ভবত ভুলভাবে) দিয়ে ফিরিয়ে দিয়েছি। আপনি যখন উত্তর দিয়েছেন এটি কেবল "লিনাক্স" ট্যাগ করা হয়েছিল was
কালেব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.