ম্যাক ওএস এক্স ডিরেক্টরি মাপ সঠিকভাবে রিপোর্ট করছে না?


17

ফাইন্ডারে, আমি লক্ষ্য করেছি যে আমি যদি কিছু .app ফাইলগুলি (অ্যাপ্লিকেশন ফোল্ডারে) নকল করি তবে ফাইন্ডার দেখায় যে ডুপ্লিকেট। অ্যাপ্লিকেশন ফাইলটি মূলের মতো একই আকার নয়। এই ফাইল আকারের পার্থক্যটি আমি নকল করি এমন সমস্ত। অ্যাপ্লিকেশন ফাইলের ক্ষেত্রে ঘটে না, তবে এটি অ্যাপ্লিকেশন ফাইলের চেয়ে বড় হিসাবে মনে হয়, ডুপ্লিকেটটি মূলটির মতো একই আকারটি প্রদর্শন করবে না। এখানে কিছু উদাহরন:

GarageBand.app - 381.7 MB
GarageBand copy.app - 373.2 MB

iMovie.app - 695.3 MB
iMovie copy.app - 635.4 MB

Install Xcode.app - 1.81 GB
Install Xcode copy.app - 1.57 GB

এখন আমি ম্যাক্সে নতুন, এবং আমি এই ফাইলের আকারের স্বাতন্ত্র্য সমস্যাটি লক্ষ্য করার পরে, আমি আবিষ্কার করেছি যে। অ্যাপ্লিকেশন ফাইলগুলি আসলে ফাইল নয় - সেগুলি সত্যই ডিরেক্টরি, তবে ফাইন্ডার এগুলি ফাইল হিসাবে দেখায়। সুতরাং আমি ভেবেছিলাম সম্ভবত অনুলিপি প্রক্রিয়াটি মূল। অ্যাপ্লিকেশন ডিরেক্টরিটির সমস্ত সামগ্রী অনুলিপি করে নি এবং এটি "ফাইলের আকার" এর পার্থক্য ব্যাখ্যা করেছিল explained তবে আমি ডেল্টাওয়ালकर ডাউনলোড এবং ইনস্টল করেছিলাম, যা একটি ফাইল / ফোল্ডার ডিফ সরঞ্জাম, এবং ডেল্টাওয়ালকার বলেছিলেন যে ডুপ্লিকেট। অ্যাপ ডিরেক্টরিগুলি মূল। অ্যাপ ডিরেক্টরিতে ঠিক একই ছিল। সুতরাং সদৃশ প্রক্রিয়াটি নিখুঁতভাবে কাজ করেছে এবং তাই এটি ফাইন্ডার রিপোর্টিং ফাইলের আকারগুলির সাথে একটি সমস্যা বলে মনে হচ্ছে।

আমি "du" কমান্ডটি ব্যবহার করে টার্মিনালের ডিরেক্টরিগুলির মাপগুলিও পরীক্ষা করেছিলাম এবং এটিও মূল এবং সদৃশ ডিরেক্টরিগুলির মধ্যে আকারগুলির মধ্যে তাত্পর্য দেখায়:

du -k /Applications/GarageBand.app/
212868  /Applications/GarageBand.app/

du -k /Applications/GarageBand\ copy.app/
397880  /Applications/GarageBand copy.app/

du -k /Applications/iMovie.app/
629644  /Applications/iMovie.app/

du -k /Applications/iMovie\ copy.app/
700500  /Applications/iMovie copy.app/

du -k /Applications/Install\ Xcode.app/
1771864 /Applications/Install Xcode.app/

du -k /Applications/Install\ Xcode\ copy.app/
1772228 /Applications/Install Xcode copy.app/

এছাড়াও, এটি কেবল .app ডিরেক্টরিগুলি নয়। আমি আমার / বিকাশকারী / গ্রন্থাগার ডিরেক্টরিটি নকল করেছি এবং ডু যা বলেছিল তা এখানে:

du -k /Developer/Library/
320784  /Developer/Library/

du -k /Developer/Library\ copy/
399868  /Developer/Library copy/

সুতরাং কেউ ম্যাক ওএস এক্স ডিরেক্টরি মাপ সঠিকভাবে রিপোর্ট করা বলে মনে হচ্ছে না কেন ব্যাখ্যা করতে পারেন? এটি কি কোনও বাগ (এত সাধারণ কোনও কিছুর জন্য বিশ্বাস করা কঠিন), বা আমি কিছু হারিয়ে যাচ্ছি (একটি নতুন ম্যাক ব্যবহারকারী হিসাবে)?

(আমি ম্যাক ওএস এক্স লায়ন 10.7.2 চালাচ্ছি)


এলফ্টর্টলের প্রতিক্রিয়াতে আপডেট করুন:

এটি সম্পর্কে সবচেয়ে আশ্চর্যজনক বিষয়টি হ'ল ফাইন্ডারের কোনও ধারাবাহিকতা নেই। আমি সবেমাত্র গ্যারেজব্যান্ড.অ্যাপের 2 টি সদৃশ তৈরি করেছিলাম এবং তারপরে একটি অনুলিপিটির 2 টি সদৃশ তৈরি করেছি। ফাইন্ডার প্রতিটি একক নকলকে বিভিন্ন আকারের সাথে প্রদর্শন করে:

GarageBand.app - 381.7 MB
GarageBand copy.app - 357.6 MB (duplicate of GarageBand.app)
GarageBand copy 2.app - 353.9 MB (duplicate of GarageBand.app)
GarageBand copy 3.app - 378.2 MB (duplicate of GarageBand copy 2.app)
GarageBand copy 4.app - 329.1 MB (duplicate of GarageBand copy 2.app)

এছাড়াও নোট করুন যে "গ্যারেজব্যান্ড কপি 3. অ্যাপ" "গ্যারেজব্যান্ড কপি 2. অ্যাপ" এর চেয়ে বড়, যখন "গ্যারেজব্যান্ড কপি 4. অ্যাপ" "গ্যারেজব্যান্ড কপি 2. অ্যাপ" এর চেয়ে ছোট। এটি ফাইন্ডারে একটি বাগ হতে হবে।

তাদের সবার সম্পর্কে "ডু-কে" কী বলেছে তা এখানে:

212868  /Applications/GarageBand.app/
397880  /Applications/GarageBand copy.app/
397880  /Applications/GarageBand copy 2.app/
397880  /Applications/GarageBand copy 3.app/
397880  /Applications/GarageBand copy 4.app/

কমপক্ষে এটিতে বলা হয়েছে যে সমস্ত নকল একই আকারের, তবে সেগুলি মূলটির মতো একই আকার নয়।


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

নীচে আমার উত্তর কিছু অনুপস্থিত আছে? আমার ধারণা আছে যে এটি আপনার প্রশ্নের পুরো উত্তর, তবে এখনও আপনার কাছ থেকে কোনও মন্তব্য পাওয়া যায়নি। আপনি আমাকে জানাবেন?
টনিন

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

এটি পুনরায় ট্যাগিং, সম্ভবত আমার এটি ট্যাগ করা উচিত ছিল [অনুলিপি]? - তবে অন্য কোন ট্যাগের ব্যয়ে?
আর্ন স্টেনস্ট্রোম

উত্তর:


13

পার্থক্যগুলি বিভিন্ন কারণে এসেছে: গণনার বিভিন্ন উপায়, বিভিন্ন সরঞ্জাম, সংক্ষেপণ এবং বাগের মতো দেখতে।

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

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

এর পরে, আপনাকে দেখতে হবে যে ফাইন্ডার দ্বারা প্রতিবেদন করা সমস্ত মাপ একই।

সুতরাং হ্যাঁ, এটি একটি ফাইন্ডার বাগের মতো দেখাচ্ছে, কমপক্ষে ওএসএক্স সিংহটিতে (এখানে 10.7.4 পরীক্ষা করা হয়েছে, ফাইন্ডার সংস্করণ 10.7.3)। আপনি এই থ্রেডটিও দেখতে পাবেন যা একই ধরণের আচরণের প্রতিবেদন করে।

তারপরে, আসুন duসরঞ্জামটি বিবেচনা করা যাক । প্রথমে, আমি ভেবেছিলাম যে আমরা যে পার্থক্যটি দেখছি তা অনুলিপি করার জন্য যৌক্তিক এবং শারীরিক আকারের আইটেমের পার্থক্য দ্বারা ব্যাখ্যা করা যেতে পারে। লজিকাল আকার হ'ল আইটেমটির আসল আকার, যার অর্থ এটিতে থাকা প্রতিটি তথ্যই একসাথে যুক্ত হয়। শারীরিক আকার হ'ল ডিস্কের আইটেমের আকার, যেখানে প্রতিটি তথ্য বিট একটি ডিস্ক সেক্টরে লেখা থাকে।

উদাহরণস্বরূপ, একটি একক অক্ষর সমন্বিত একটি ফাইলের মধ্যে 1 বাইট যৌক্তিক আকারের সমাপ্তি ঘটে তবে প্রকৃতপক্ষে ডিস্কে লেখার সময় 512 বাইট বা 4096 বাইটের দৈহিক আকার থাকতে পারে। দৈহিক আকারটি সাধারণত যৌক্তিক আকারের চেয়ে বড় হয় (এবং এটি ডিস্ক বা ফাইল সিস্টেমের প্রকৃত ক্ষেত্র / ব্লক আকারের উপর নির্ভর করে)। এটি অন্যান্য থ্রেডে আরও বিশদে ব্যাখ্যা করা হয়েছেস্পার্স ফাইলগুলির ক্ষেত্রে যৌক্তিক আকারটি আরও বড় হতে পারে তবে এইচএফএস + এমন বৈশিষ্ট্যটিকে সমর্থন করে বলে মনে হয় না।

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

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

কিছু গণিত কেন করছেন? কারণ ফাইন্ডার ফাইল মাপগুলি কেবি, এমবি বা জিবিতে দেখায় যেখানে duতাদের কেবি, এমআইবি বা জিআইবিতে প্রতিবেদন করে। এগুলি হ'ল আইইসি বাইনারি উপসর্গ যা ডিজিটাল তথ্যের একক গণনা এবং প্রদর্শনের জন্য ব্যবহার করা উচিত।

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

এখানে বিভিন্ন কৌশল ব্যবহার করে আইটিউনস.এপ অনুলিপি করার ফলাফল রয়েছে। আপনি দেখতে পাবেন যে ডিটো অ্যাপ্লিকেশনটিকে ঠিক একই আকারে তৈরি করে, সংক্ষেপণ সংরক্ষণ করে, যেখানে cpতা নয়। এবং আপনি যে খিলানের প্রয়োজন নেই তার জন্য বাইনারি সরাতে পারেন, তারপরে পুরো আকার হ্রাস করুন):

antoine@amarante:/Applications$ du -ms iTunes.app/
281 iTunes.app/
antoine@amarante:/Applications$ cp -a iTunes.app/ iTunes-copy.app/
antoine@amarante:/Applications$ ditto iTunes.app/ iTunes-ditto.app
antoine@amarante:/Applications$ ditto --arch x86_64 iTunes.app/ iTunes-64.app
antoine@amarante:/Applications$ du -ms iTunes*
236 iTunes-64.app
289 iTunes-copy.app
281 iTunes-ditto.app
281 iTunes.app

আমার পরিপূরক পোস্টে তার উত্তরের জন্য @ ড্যানপ্রিটসকে ধন্যবাদ ।


এটা কি অন্যভাবে নয়? ফাইন্ডার প্রকৃত এসআই উপসর্গগুলি দেখায়।
ড্যানিয়েল বেক

স্পার্স ফাইলগুলিতে ( ওএস এক্সের বিচ্ছিন্ন বান্ডিল / চিত্র নয় ) শারীরিক ফাইলের আকারের চেয়ে বড় লজিক্যাল থাকতে পারে না?
ড্যানিয়েল বেক

হ্যাঁ, আপনি ঠিক বলেছেন, ফাইন্ডার এসআই উপসর্গ এবং duআইইসি দেখায় , আমি আমার পোস্টটি সংশোধন করব।
টোনিন

@ ড্যানিয়েলবেক স্পার্স ফাইলগুলি, তাত্ত্বিকভাবে এটি হতে পারে, হ্যাঁ, তবে ওএসএক্স অ্যাপ্লিকেশনটিতে স্পার্স ফাইল হিসাবে কোন ধরণের ফাইল থাকতে পারে? উইকিপিডিয়া অনুসারে , বিরল ফাইলগুলি এইচএফএস + এ সমর্থিত নয়।
টনিন

এই অনুচ্ছেদে এটি পড়ার মতো পড়ছে ( ডিস্ক বা ফাইল সিস্টেমের প্রকৃত ক্ষেত্র / ব্লক আকারের উপর নির্ভর করে ), তাই সে কারণেই আমি এটি উল্লেখ করতে চেয়েছিলাম।
ড্যানিয়েল বেক

1

এটি ওএস এক্স-এর একটি ভয়াবহ ত্রুটি / ত্রুটি। এটি দেখার সর্বাধিক সহজ উপায় হ'ল একটি বৃহত অ্যাপ্লিকেশন বান্ডিলটি নকল করা, তারপরে সামগ্রীগুলি দেখানো এবং একটি বিশাল ফাইলটি ভেতর থেকে মুছুন। জায়গা পুনরুদ্ধার হবে না। ফাইলটি এখনও বিশাল। উদাহরণস্বরূপ, আপনার যদি একটি 3.5 গিগাবাইট অ্যাপ্লিকেশন বান্ডিল থাকে তবে আপনি সামগ্রীগুলি দেখান, তারপরে 3 জিবি সরিয়ে ফেলুন, আপনার এখন 500MB ফাইলের আকারের সাথে একটি অ্যাপ্লিকেশন থাকা উচিত। তুমি করবে না. এটি এখনও 3.5GB হবে।


আকারগুলি পুনরায় গণনা করতে ফোল্ডার প্রদর্শনের বিকল্পগুলিতে সমস্ত আকারের গণনা নির্বাচন করুন। আপেল.স্ট্যাকেক্সেঞ্জাংটা
a/

0

এটি মূলত অনুমান, তবে আমি দুটি সম্ভাবনা দেখতে পাচ্ছি:

  1. কিছু ডেটা মুছে ফেলা হয়েছে তবে মূলটিতে ডিলোক্যাট করা হয়নি, এবং এটি অনুলিপি করা হয়নি। তবুও এটি কিছু ডিস্ক ব্যবহার অনুসন্ধানে প্রদর্শিত হবে, তবে অন্যগুলি নয় (ডুতে দেওয়া বিভিন্ন প্যারামিটার বা ওএস এক্স অভ্যন্তরীণভাবে যা ব্যবহার করে)।
  2. কিছু ডেটা মূল অবস্থানের সাথে সংযুক্ত হয়ে যায় এবং এটি বিভিন্ন সরঞ্জামগুলিতে অনুভূত আকারকে প্রভাবিত করে।

যদি (1) আপনার সম্ভবত তৃতীয় অনুলিপি তৈরি করা এবং অনুলিপিগুলি তুলনা করার বিভিন্ন ফলাফল পাওয়া উচিত।


দুঃখিত, একটি মন্তব্যে ঠিক দেখতে মাল্টলাইন কোড ব্লকগুলি পেতে পারে না, তাই আমি আমার মূল পোস্টটি সম্পাদনা করার চেষ্টা করব।
প্যাকওভারফ্লো

ডুপ্লিকেটগুলি আসলটির চেয়ে বড় হবে বলে আমি আশা করতাম না: - / এটি কোনও বাগ রিপোর্টের উপযুক্ত বলে মনে হচ্ছে তবে এটি স্লিম হওয়ার কারণে ফাইন্ডারের অভ্যন্তরীণ কাজ সম্পর্কে কোনও প্রতিক্রিয়া পাওয়ার সম্ভাবনা আমি বাজি রেখেছি। আশা করি তারা এটিকে একবার দেখে নিবে।
elofturtle

0

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

যেমন (টার্মিনাল থেকে)

# cd /Applications/Calculator.app
# ls
Contents/

আমি নিশ্চিত যে ঘটছে তা হ'ল ফাইন্ডার / গেম ইনফরমেশন .app ফোল্ডারের আকার গণনা করার জন্য কিছু না-খুব-চতুর হিউরিস্টিক ব্যবহার করছে। এর অর্থ এটি প্রতিটি একক সাবফোল্ডার এবং ফাইল গণনা এবং সমস্ত আকার একসাথে যোগ করার প্রয়োজন হয় না।

আমার অনুমানটি হ'ল অনুলিপিটির অনুলিপিটি সঠিক কারণ আপনি অনুলিপিটি করার সময় ওএসএক্সকে সম্প্রতি প্রতিটি ফাইলটি পরীক্ষা করতে হয়েছিল, যখন মূলটিতে ওএসএক্সকে কখনও এটি করতে হয়নি (যেমন কারখানা ইনস্টল সহ)


-1

এসএসডি-তে যোসোমাইট ইনস্টল করার পরে আমি আমার হোম ডিরেক্টরি ডিরেক্টরিতে এটিকে একটি অভ্যন্তরীণ এইচডিডি-তে স্থানান্তরিত করার পরে আমার সমস্যা হয়েছিল। 'তথ্য পান' ব্যবহার করার সময় এটি কেবলমাত্র 8 গিগাবাইটের একটি ভুল আকারের প্রতিবেদন করেছিল, যদিও এটি ফাইন্ডারের স্ট্যাটাস বারে 240 গিগাবাইটের সঠিক আকার দেখিয়েছে। আমি ব্যবহারকারীদের ফোল্ডারে তথ্য পান ক্লিক করে এটি স্থির করেছিলাম, যা সঠিকভাবে গণনা করা হয়েছে এবং হোম ডিরেক্টরি ডিরেক্টরি দ্বারা ভুল আকারের রিপোর্ট করা হয়েছে fixed

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