.Tar.gz দিয়ে সর্বাধিক সংক্ষেপণ কীভাবে পাবেন? [প্রতিলিপি]


63

এই প্রশ্নের ইতিমধ্যে এখানে একটি উত্তর আছে:

আমি যেভাবে টার + জিজিপের ব্যবহার বুঝতে পারি তা tarহ'ল সাধারণত কোনও একক ফাইলে ফাইলগুলির গ্রুপিংকে একীকরণ করতে ব্যবহৃত হয়, তারপরে gzipসেই ফাইলটি সংকুচিত করতে ব্যবহৃত হয়।

আমি সম্প্রতি শিখেছি যা tarসংকোচন করতে পারে।

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

আমার প্রশ্নটি মূলত: নিরঙ্কুশতম ক্ষুদ্রতম.g.gz তৈরি করতে আমার কোন যুক্তি / সংকোচন পদ্ধতির সমন্বয় করা উচিত এবং কমান্ড লাইন বিবৃতিটি এর জন্য দেখতে কেমন?


2
ইতিমধ্যে সংক্রামিত ফাইলগুলি সঙ্কুচিত করা তাদের আকার হ্রাস করতে পারে বা এটি সংরক্ষণাগারটিকে আরও বড় করে তুলতে পারে। এটি সমস্ত ডেটার ধরণ এবং যে কোনও সংকোচনের জন্য ব্যবহৃত হচ্ছে তার উপর নির্ভর করে।
সেল্টারি

@ কেলতরী যা বলেছে। সংকোচনের হার এবং অনুপাতগুলি আপনি যেটি সংকোচিত করছেন তার উপর নির্ভরশীল, যার কারণেই বিভিন্ন সংকোচনের অ্যালগরিদম এবং পদ্ধতি রয়েছে।
music2myear

উত্তর:


111

অথবা, আপনি ব্যবহারকারীর সর্বাধিক সংকোচনের বিষয়টি এভাবে বলতে পারেন:

export GZIP=-9
tar cvzf file.tar.gz /path/to/directory

অতিরিক্ত হিসাবে, আপনার এনভায়ারদেরকে বিশৃঙ্খলা মুক্ত রাখতে আপনি এটি করতে পারেন:

env GZIP=-9 tar cvzf file.tar.gz /path/to/directory

43

যেমন আপনি বলেছিলেন- " টার এছাড়াও সংকোচন করতে পারে ", এর দ্বারা বোঝানো হয় - সর্বদা নিজেই ডেটা সংকোচিত tarকরে না ।

এটি কেবলমাত্র zবিকল্পের সাথে ব্যবহৃত হলে এটি করে does এটি নিজে থেকে নয়, জিজিপের মাধ্যমে ট্যারিযুক্ত ডেটা পাস করার মাধ্যমে।

তবে পরিবর্তে, এই উত্তরে উল্লিখিত হিসাবে , আপনি দুটি কমান্ডটি পাইপ করতে পারেন: tarএবং gzipযাতে আপনি gzipস্বল্পতম আউটপুট আকার অর্জন করতে কমান্ডটির জন্য স্পষ্টভাবে সংক্ষেপণ স্তর নির্দিষ্ট করতে পারেন can

tar cvf - / path / to / ডিরেক্টরি | gzip -9 -> file.tar.gz

এখানে 9সর্বাধিক সম্ভব সংকোচনের স্তর নির্দিষ্ট করে।


আমার একটি সমস্যা ছিল যেখানে এটি পুনরাবৃত্তিযোগ্য নয় এবং অভিযোগ করে যে এটি একটি খালি সংরক্ষণাগার হবে, যেহেতু কমান্ডটি বিভক্ত হয়ে গেছে, এরই মধ্যে টর ডিফল্ট হওয়ার কারণে, পুনরাবৃত্তিকে সঠিকভাবে কীভাবে বাধ্য করা যায় তা কঠিন its আমার বাড, আমি ভুলভাবে এটিকে শুরু করে নির্দিষ্ট করে দিয়েছিtar -cvf /path
ব্রায়ান থমাস

17

সাধারণত গিজিপ বা টার উভয়ই "পরম ক্ষুদ্রতম tar.gz" তৈরি করতে পারে না। অনেকগুলি সংক্ষেপণ ইউটিলিটি রয়েছে যা জিজেড ফর্ম্যাটে সংকোচন করতে পারে। আমি একটি ব্যাশ স্ক্রিপ্ট "লিখেছি gz99 " চেষ্টা gzip, 7zএবং advdefক্ষুদ্রতম ফাইল পেতে। ক্ষুদ্রতম সম্ভাব্য ফাইল রান তৈরি করতে এটি ব্যবহার করতে:

tar c path/to/data | gz99 file.gz

advdefAdvanceCOMP থেকে উপযোগ সাধারণত ক্ষুদ্রতম ফাইল দেয়, কিন্তু বগী (হয় gz99ইউটিলিটি চেক এটি আউটপুট স্বীকার করার আগে ফাইলটি দূষিত করেননি advdef)। advdefসরাসরি ব্যবহার করতে , file.tar.gz তৈরি করুন তবে আপনার মনে হয়। তারপরে চালান:

advdef -z -4 file.tar.gz

এটি একটি স্ট্যান্ডার্ড জিজেড ফাইল তৈরি করবে যা জিজেপ এবং টার দ্বারা সাধারণ হিসাবে পড়তে পারে, কেবল সামান্য একটি ছোট। এটি জিজেড ফর্ম্যাটের সাথে আপনি সবচেয়ে ভাল করতে পারেন।

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

 tar cv path/to/data | xz -9 > file.tar.xz

টার এর আধুনিক সংস্করণগুলি উদাহরণস্বরূপ, উবুন্টু 13.10 এ স্বয়ংক্রিয়ভাবে সংকুচিত ফাইলগুলি সনাক্ত করে। আপনি xz সংক্ষেপণ ব্যবহার করলেও আপনি যথারীতি এখনও সঙ্কোচন করতে পারেন:

 tar xvf file.tar.xz

এই সংক্ষেপণ ইউটিলিটিগুলি কীভাবে তুলনা করে তাড়াতাড়ি ধারণা দেওয়ার জন্য, লিনাক্স কার্নেল থেকে প্যাচ -৩.১.১ সংক্ষেপণের প্রভাব বিবেচনা করুন:

utility         cpu    format  size(bytes)
gzip -9         0.02s  gz      105,628
advdef -2       0.07s  gz      102,619
7z -mx=9 -tgzip 0.42s  gz      102,297
advdef -3       0.55s  gz      102,290
advdef -4       0.75s  gz      101,956
xz -9           0.03s  xz       91,064
xz -3e          0.15s  xz       90,996

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


ওপি একটি .tar.gz ফাইলের জন্য কীভাবে সর্বাধিক সংক্ষেপণ পেতে পারে তা জানতে চেয়েছিল, তবে আপনি একটি .tar.xz ফাইল তৈরি করার পরামর্শ দিয়েছেন। আপনি জিজ্ঞাসা করা চেয়ে একটি পৃথক প্রশ্নের উত্তর দিচ্ছেন।
ChrisInEdmonton

আহ্, আমি দেখতে পাচ্ছি আপনি কি জন্য যাচ্ছেন। অ্যাডদেফ কেবল আমার সিস্টেমে ক্রাশ হয়েছে (v1.15), সুতরাং 'অ্যাডভেফ -z -4 file.tar.gz' কাজ করে না, তবে এটি অন্তত তাত্ত্বিকভাবে পারে could আমি 'gzip -9' এর চেয়ে ফাইলটি সঙ্কুচিত করার প্রমাণ খুঁজে পাচ্ছি না, তবে এটি হতে পারে এবং যে কোনও ক্ষেত্রে আমার -1 ভোট অপসারণের জন্য আমার পক্ষে যথেষ্ট। স্পষ্ট করার জন্য ধন্যবাদ!
ক্রিসইনডমন্টন

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

আমি মনে করি না "বগি" এবং "সংরক্ষণাগার" কখনও একসাথে ব্যবহার করা উচিত, কোন সংরক্ষণাগারটি কী দুর্নীতিগ্রস্থ? সংক্ষেপণ ইউটিলিটিগুলি এবং "বিভিন্ন ধরণের ইনপুট ফাইলগুলি" তুলনা করার জন্য আপনাকে অনেক বড় ফাইলের দরকার - দ্বিতীয় পার্থক্যের শততম ভাগের মাপ করা যে নির্ভরযোগ্য নয়, আমি মনে করি xz -9সাধারণত 5x এর মতো কিছু gz -9সময় নেয় , ঠিক 1.5x হিসাবে নয় আপনার টেবিল পরামর্শ দেয়।
Xen2050


6
tar c /path/to/data | gzip --best > file.tar.gz

gzipবিকল্প --best(সমতুল্য -9) সর্বোচ্চ সংকোচনের স্তরের জন্য জিজ্ঞাসা করে।


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