বিভিন্ন "সংক্ষেপণ" সিস্টেমের মধ্যে পার্থক্য কী?


9

আমি সবসময় সংক্ষেপণের জন্য টিএআর এবং জিপ ব্যবহার করেছি তবে সম্প্রতি আমি *.Zসংক্ষেপণ অ্যালগরিদম সম্পর্কে শুনেছি । এটি আমার জন্য একটি প্রশ্ন এনেছে:

এই সমস্ত সংক্ষেপণ সিস্টেমের সাথে, কোনটি সাধারণ ব্যবহার এবং সংক্ষেপণের জন্য সবচেয়ে ভাল?

কয়েকটি পরীক্ষা চালিয়ে, আমি আবিষ্কার করেছি যে tar, আমি আবিষ্কার করেছি যে সত্যিকারভাবে সংকোচিত হয় না (স্পষ্টভাবে নির্দিষ্ট না করে) specified অর্থ, অন্যান্য সংক্ষেপণের পদ্ধতির তুলনায় এটি ভাল কি?

আমি ইতিমধ্যে জেনে রাখুন যে জিপ বহুল-ব্যবহৃত কম্প্রেশন সিস্টেম, কিন্তু আমি এটা পরিবর্তে ব্যবহার করা উচিত *.Z, *.7z, .tar, অথবা .tar.<insert ending here>?

পোস্টের সংক্ষিপ্তসার:

  1. আমি ব্যবহার করা উচিত *.tar, *.Z, *.7z, .tar, অথবা .tar.<insert ending here>সেরা কম্প্রেশন জন্য?
  2. প্লেইন *.tarযদি সংকুচিত না হয় তবে আমরা কেন এটি ব্যবহার করব?

সম্পাদনা: সমস্ত অ্যালগরিদমগুলি লিনাক্সের অনুমতিগুলি সংরক্ষণ করার অনুমতি দেয় না (আমি যা শিখেছি)। কোনটি করে, এবং অনুমতিগুলি সঞ্চয় করতে আমি কোনও ধরণের হ্যাক (বা স্ক্রিপ্ট) ব্যবহার করতে পারি?


এই স্টাফটি বলার দরকার নেই, কেবলমাত্র শীর্ষে ভোট দেওয়া বা আপনি
শেঠ

উত্তর:


17

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

জিপ এবং 7z আর্কাইভ এবং সংক্ষেপণকে একত্রে তাদের নিজস্ব ধারক বিন্যাসে একত্রিত করে এবং তাদের বোঝানো হয় কোনও ডস / উইন্ডোজ সিস্টেমে ফাইলগুলি প্যাক করা, তাই তারা ইউনিক্স অনুমতি এবং মালিকানা সঞ্চয় করে না। সুতরাং আপনি যদি সঠিক ব্যাকআপের জন্য অনুমতিগুলি সঞ্চয় করতে চান তবে আপনাকে ডুব দিয়ে আটকে রাখা দরকার। যদি আপনি উইন্ডোজ ব্যবহারকারীদের সাথে ফাইল বিনিময় করার পরিকল্পনা করেন, তবে জিপ বা 7z ভাল। আসল সংকোচন আলগোরিদম জিপ এবং 7 জিপ ব্যবহার টার সাথে ব্যবহার করা যেতে পারে যথাক্রমে উজিং gzipএবং দ্বারা lzma

lzma (ওরফে। *। এক্সজেড) এর মধ্যে অন্যতম সেরা সংকোচনের অনুপাত রয়েছে, এবং ডিকম্প্রেশনে বেশ দ্রুত, এটি আজকাল এটি একটি শীর্ষ পছন্দ হিসাবে তৈরি করেছে। তবে এটি সংকোচনের জন্য এক টন র‌্যাম এবং সিপিইউ সময় প্রয়োজন। সম্মানজনক gzipসংকোচনে বেশ কিছুটা দ্রুত, তাই আপনি যদি এত বেশি সিপিইউ সময় উত্সর্গ করতে না চান তবে ব্যবহার করা যেতে পারে। এটিতে লজপ নামে একটি আরও দ্রুততম রূপ রয়েছে। bzip27zip / lzma আসার আগে এটি বেশিরভাগ সময়ের জন্য জিজিপ প্রতিস্থাপন করার কারণে এটি এখনও বেশ জনপ্রিয়, যেহেতু এটি আরও ভাল সংকোচনের অনুপাত পেয়েছে, তবে আজকাল 7z / lzma সংক্ষেপনে দ্রুততর হয় এবং আরও ভাল সংকোচনের অনুপাত পায় বলে অনুকূলতার বাইরে চলে যায়। compressউপযোগ, যা স্বাভাবিকভাবে নাম ফাইল .Z *, প্রাচীন এবং দীর্ঘ বিস্মৃত হয়।

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


তবে, কেবল টিএআর মেটাটাটা সমর্থন করে? বা gzip / bzip2 এখন মেটাডেটা সমর্থন করে
কাজ ওল্ফ

@ স্পেসিফিলস, সংক্ষেপণ ইউটিলিটিগুলি কোনও মেটাডেটা ছাড়াই কেবল একটি একক ফাইলকে সংকুচিত করে।
psusi

এক একটি ফোল্ডার ট্যারি এবং তারপর একটি জিপ এবং যদিও অনুমতি সংরক্ষণ করতে পারেন?
কাজ

@ স্পেসিফিলস, হ্যাঁ, তবে আপনি জিপের সুবিধাগুলি এবং এর চেয়ে আরও ভাল সংকোচনের অনুপাতটি ছেড়ে দিবেন বলে কিছুটা নির্বোধ হবে gzip
psusi

@ স্পেসিফিলগুলি tar cfpঅনুমতিগুলি সংরক্ষণ করবে। একটি টার ফাইল সঙ্কুচিত, সুতরাং জিপ (7-জিপ), জিজিপ 2, জিজিপ, এলজিও ইত্যাদি সমস্ত একটি টর ফাইলকে ভালভাবে সংকোচিত করবে (সাধারণভাবে, সংকোচিত ফাইলগুলির একটি টর সংকোচনীয় হওয়ার সম্ভাবনা নেই)।
এলিয়ট ফ্রিশ

9

আলগোরিদিম বিবরণ বিষয় এখানে বন্ধ 1 যেহেতু তারা লিনাক্স কোন উপায় নির্দিষ্ট নেই যাক একা উবুন্টু। তবে আপনি এখানে কিছু সুন্দর তথ্য পাবেন ।

এখন tarআপনি যেমন বলেছিলেন tarতেমন কোনও সংকোচনের কর্মসূচি ছিল না এবং তা কখনও হয়নি। পরিবর্তে, এটি একটি ধনুক ; এর প্রাথমিক উদ্দেশ্য হ'ল অনেক ছোট ফাইলের মধ্যে একটি বড় ফাইল তৈরি করা। Orতিহাসিকভাবে এটি টেপ ড্রাইভগুলিতে সঞ্চয় করার সুবিধার্থে ছিল, অতএব নাম: টেপ আর্কাইভ।

আজ, ব্যবহারের প্রাথমিক কারণ tarহ'ল আপনার সিস্টেমে ফাইল সংখ্যা হ্রাস করা। একটি ইউনিক্স ফাইল সিস্টেমে প্রতিটি ফাইল একটি লাগে inode কম inodes পাওয়া যায়, একাধিক ফাইল আপনি এবং আপনি inodes ফুরিয়ে, আপনি আর নতুন ফাইল তৈরি করতে পারেন। এটিকে সহজভাবে বলতে গেলে, হাজার হাজার ফাইলের সমান পরিমাণ সঞ্চয় করা ডেটা একক টাকার সংরক্ষণাগারে থাকা একই ফাইলগুলির চেয়ে আপনার হার্ড ড্রাইভের অনেক বেশি গ্রহণ করবে।

উদাহরণস্বরূপ, যেহেতু মন্তব্যে এই প্রতিদ্বন্দ্বিতা করা হয়েছে, আমার 68 জি /পার্টিশনে, আমার কাছে নিম্নলিখিত এবং মোট ব্যবহৃত ইনোডের সংখ্যা রয়েছে (মনে রাখবেন যে ইনোড গণনাটি ফাইল সিস্টেমের ধরণের এবং পার্টিশনের আকারের উপর নির্ভর করে):

Inode count:              393216
Free inodes:              171421

আমি যদি এখন আমার ইনোডের চেয়ে আরও বেশি ফাইল তৈরি করার চেষ্টা চালিয়ে যাই:

$ touch {1..171422}
touch: cannot touch ‘171388’: No space left on device
touch: cannot touch ‘171389’: No space left on device
touch: cannot touch ‘171390’: No space left on device
touch: cannot touch ‘171391’: No space left on device
touch: cannot touch ‘171392’: No space left on device
touch: cannot touch ‘171393’: No space left on device
touch: cannot touch ‘171394’: No space left on device
touch: cannot touch ‘171395’: No space left on device
touch: cannot touch ‘171396’: No space left on device
touch: cannot touch ‘171397’: No space left on device

ফাঁকা নেই? তবে আমার কাছে প্রচুর জায়গা রয়েছে:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       5,8G  4,3G  1,2G  79% /

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

কম ফাইল থাকার ফলে ফাইল সিস্টেম I / O বিশেষত এনএফএস মাউন্ট করা ফাইল সিস্টেমগুলিতে গতি বাড়িয়ে তোলে। আমি যখনই কম প্রকল্পের কাজ শেষ করি তখন আমার পুরানো কাজের ডিরেক্টরিগুলি সর্বদা টার করে রাখি, এর মতো দ্রুত প্রোগ্রামগুলি findকাজ করবে।

সুপার ব্যবহারকারী সম্পর্কে একটি দুর্দান্ত উত্তর রয়েছে যা আরও বেশি বিশদে যায়, তবে উপরেরগুলি ছাড়াও, tarআজও জনপ্রিয় যে অন্যান্য মৌলিক কারণগুলি হ'ল:

  1. দক্ষতা: tarএকটি সংক্ষেপণ প্রোগ্রামের মাধ্যমে পাইপ ব্যবহার করা gzipআরও কার্যকর কারণ এটি মধ্যবর্তী ফাইলগুলি তৈরি এড়ায়।

  2. tar সমস্ত ধরণের ঘণ্টা এবং হুইসেল নিয়ে আসে, এমন বৈশিষ্ট্য যা এর দীর্ঘ ইতিহাসের জন্য ডিজাইন করা হয়েছে যা এটি * নিক্স ব্যাকআপের জন্য বিশেষভাবে কার্যকর করে তোলে (অনুমতিগুলি, ফাইলের মালিকানা, সরাসরি স্টাডিআউটে ডেটা পাইপ করার ক্ষমতা এবং এসএসএইচ লিঙ্কের উপরে ... )

  3. নিষ্ক্রিয়তা। আমরা ব্যবহার করছি tar। এটি ধরে নেওয়া নিরাপদ যে এটি আপনি ব্যবহার করতে পারেন এমন কোনও * নিক্সে উপলভ্য হবে যা উত্স কোড টার্বলগুলির জন্য এটি খুব বহনযোগ্য এবং কার্যকর করে তোলে।


1 এটি একেবারে সত্য এবং তাদের ব্যাখ্যা করার মতো যথেষ্ট পরিমাণে আমি জানি না এই সত্যের সাথে কিছুই করার নেই :)


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

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

@neonneo আরও দৃ concrete় উদাহরণ দিতে, tune2fs -lপার্টিশনে আমার holding HOM আমাকে বলছে আমার 19,300,352 ইনোড রয়েছে। আমি এর চেয়ে বেশি ফাইল তৈরি করতে পারব না। যেমনটি আপনি বলেছেন, 10 ^ 6 পাগল নয়, এমনকি উচ্চতর রেঞ্জগুলিতেও নেই। আপনি যা করছেন তার উপর নির্ভর করে আপনার এর চেয়ে আরও বেশি পথের প্রয়োজন হতে পারে ।
টেরডন

আপনি কীভাবে সহজেই ইনডগুলি চালিয়ে যেতে পারেন তার বাস্তব বিশ্বের উদাহরণের জন্য @ নিওনিও আপডেট উত্তর দেখুন।
টারডন

আমার সার্ভারটি কেবলমাত্র 1 মিলিয়নেরও বেশি ইনোড ব্যবহার করছে এবং এটি কেবলমাত্র আমার একটি মেট্রিক টন ইমেল রয়েছে (প্রচুর উচ্চ ট্র্যাফিক মেলিং তালিকাগুলি বছরের পর বছর ফিরে আসছে) এবং এটিকে মাইল্ডির ফর্ম্যাটে সঞ্চয় করে। আমার সম্ভবত ধারণা নেই আপনি 19 মিলিয়ন ইনোড ব্যবহার করতে কী করতে পারেন। আপনাকে প্রতি সেকেন্ডে, 24 ঘন্টা, 7 মাসেরও বেশি সময় ধরে একটি নতুন ফাইল তৈরি করতে হবে।
psusi

4

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

ইউনিক্সে, দুটি অপারেশন পৃথক পৃথক পৃথক সরঞ্জাম সহ। বেশিরভাগ অন্যান্য প্ল্যাটফর্মগুলিতে (বর্তমান এবং historicalতিহাসিক) সম্মিলিত সরঞ্জামগুলি সংরক্ষণাগার এবং সংক্ষেপণ উভয়ই সম্পাদন করে।

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

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

সর্বাধিক জনপ্রিয় ইউনিক্স তীরচিহ্নটি হ'ল tarযদিও সেখানে অন্য যেমন রয়েছে cpioএবং ar। (ডেবিয়ান প্যাকেজগুলি arসংরক্ষণাগারগুলি হয়, যদিও cpioপ্রায়শই ইনিটাল র‌্যামডিস্কের জন্য ব্যবহৃত tarহয় )) প্রায়শই কনিষ্ঠ থেকে কনিষ্ঠ পর্যন্ত সংক্ষেপণের সরঞ্জামগুলির সাথে compress(.Z), gzip(.gz), bzip2(.bz2) এবং xz(.xz) একত্রিত হয় বা হয় often , এবং কাকতালীয়ভাবে খারাপ থেকে সেরা সংকোচনের দিকে নয়।

একটি tarসংরক্ষণাগার তৈরি করা এবং এটি সংকোচিত করা পৃথক পদক্ষেপ: সংক্ষেপক tarফাইল ফর্ম্যাট সম্পর্কে কিছুই জানেন না । এর অর্থ হ'ল সংকুচিত tarসংরক্ষণাগার থেকে একটি একক ফাইল বের করার জন্য পূর্ববর্তী সমস্ত ফাইল ডিকম্প্রেস করা দরকার। এটিকে প্রায়শই "শক্ত" সংরক্ষণাগার বলা হয়।

একইভাবে, যেহেতু টর একটি "স্ট্রিমিং" ফর্ম্যাট - এটি একটি পাইপলাইনে দরকারী হওয়ার জন্য প্রয়োজনীয় - একটি ট্যর সংরক্ষণাগারটিতে কোনও বৈশ্বিক সূচক নেই, এবং তারের সংরক্ষণাগারের বিষয়বস্তু তালিকাটি এটি উত্তোলনের মতোই ব্যয়বহুল।

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

পৃথক পৃথক প্ল্যাটফর্ম এবং দর্শনের মধ্যে ক্রস পরাগায়ন রয়েছে: gzipমূলত zipএটির ধনুবিহীন ছাড়াই কমপ্রেসর, এবং এটির ধনুবিহীন ছাড়া xzমূলত 7-zipকমপ্রেসর।

অন্যান্য, বিশেষায়িত সংক্ষেপক রয়েছে। পিপিএম ভেরিয়েন্ট এবং তাদের উত্তরসূরি ZPAQসম্পদ খরচ বিবেচনা না করে সর্বাধিক সংক্ষেপণের জন্য অনুকূলিত। এগুলি সহজেই আপনি যতটা সিপিইউ এবং র‌্যাম নিক্ষেপ করতে পারেন তা চিবানো যায় এবং ডেকম্প্রেশন হ'ল সংক্ষেপণের মতো কর আদায় করা (বিপরীতে, সর্বাধিক ব্যবহৃত সংকোচনের সরঞ্জামগুলি অসমেত্র : সংকোচনের চেয়ে ডিকম্প্রেসিং কম সস্তা)।

বর্ণালীটির অন্য প্রান্তে lzo, snappyএবং LZ4সংক্ষেপণের ব্যয়ে সর্বাধিক গতি এবং সর্বনিম্ন সংস্থান ব্যবহারের জন্য ডিজাইন করা "হালকা" সংক্ষেপকগুলি। এগুলি ফাইল সিস্টেমে এবং অন্যান্য অবজেক্ট স্টোরের মধ্যে ব্যাপকভাবে ব্যবহৃত হয়, তবে স্বতন্ত্র সরঞ্জাম হিসাবে কম।


তাহলে আপনার কোনটি বেছে নেওয়া উচিত?

সংরক্ষণ:

আপনি যেহেতু উবুন্টুতে tarরয়েছেন আর্কাইভ করা ছাড়া অন্য কিছু ব্যবহার করার আসল কারণ নেই , যদি না আপনি অন্য কোথাও সহজেই পঠনযোগ্য ফাইলগুলি বানানোর চেষ্টা না করেন।

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

সঙ্কোচন:

সর্বাধিক সংকোচনের জন্য আপনি একটি মাপদণ্ড দেখতে পারেন, যেমন http://mattmahoney.net/dc/text.html এ প্রচুর পরিমাণে । এতে আপনার জড়িত ট্রেড অফগুলি সম্পর্কে আরও ভাল ধারণা দেওয়া উচিত।

আপনি সম্ভবত সর্বাধিক সংক্ষেপণ চান না। এটা বেশ ব্যয়বহুল।

xzআধুনিক ইউনিক্স সিস্টেমগুলির মধ্যে সর্বাধিক জনপ্রিয় সাধারণ-উদ্দেশ্য সংক্ষেপণ সরঞ্জাম। আমি বিশ্বাস করি যে 7-জিপ xz ফাইলগুলি খুব পড়তে পারে, কারণ এগুলি খুব ঘনিষ্ঠভাবে সম্পর্কিত।

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


1

lzo, gz, b2, lzma (.lzma2 =.xz)তারা হ'ল "স্ট্রিম" সংক্ষেপক: তারা বাইসের একটি স্ট্রিম সংকোচন করে যা অনুমতি, যেমন ফাইল, ডিরেক্টরি এবং মেটাডেটা সম্পর্কে জানে না এবং যত্ন করে না। সেই সমস্ত ডেটা বাইটের স্ট্রিমে (একটি ট্যারি ফাইল) বান্ডিল করতে আপনাকে টর্কের মতো আর্কিভার ব্যবহার করতে হবে এবং একটি সংকোচকারী দিয়ে সংকুচিত করতে হবে। এটি যদি আপনার যত্ন নেওয়া কোনও একক ফাইলের ডেটা হয় তবে আপনি এই ফাইলটি একা এই সংকোচকারীকেও খাওয়াতে পারেন।

Tar, cpio and paxসংরক্ষণাগারগুলি হ'ল: তারা ফাইল এবং ডিরেক্টরিগুলির একটি গোছা নেয় এবং একক ফাইলে ডেটা এবং মেটাডেটা এনকোড করে। টার সর্বাধিক জনপ্রিয় এবং সর্বাধিক সামঞ্জস্যপূর্ণ যদিও তিনজনের মধ্যে প্রযুক্তিগত গুণাগুলি যথেষ্ট ন্যূনতম যে এ সম্পর্কে ভোরের সময়ে এটি সম্পর্কে ধর্মীয় যুদ্ধ ছিল।

7z এবং জিপ হ'ল সংকোচকারী এবং আর্কিভারস: তারপরে সমস্ত ডেটা এবং মেটা ডেটা সংরক্ষণ করুন এবং এটি সংকুচিত করুন। তবে এএএএএফসিটি, তাদের উভয়ই ইউনিক্স অনুমতিগুলি সংরক্ষণ করে না।

জিপ যেমন জিজিপকে DEFLATE নামে একই অ্যালগরিদম ব্যবহার করে। 7z lzma অ্যালগরিদম ব্যবহার করে

একটি tar.gz বা এর মতো একটি ফাইল পড়তে আপনাকে পর্যাপ্ত পরিমাণ টার্ম ফাইল উন্মুক্ত না হওয়া পর্যন্ত পুরো gz স্ট্রিমটি সঙ্কুচিত করতে হবে যাতে আপনি এটি বের করতে পারবেন। জিপ আপনাকে পৃথকভাবে প্রতিটি ফাইল সঙ্কুচিত করতে এবং টেনে আনতে দেয়। 7z হয় আচরণ করতে পারে।

সংক্ষেপণের অনুপাত এবং গতি: gzip এবং lzo এর খুব খুব দ্রুত সংক্ষেপণ এবং ডিকম্প্রেশন গতি রয়েছে তবে কম সংক্ষেপণের অনুপাত। কমপ্রেস করতেও খুব বেশি স্মৃতি লাগে না। জিজিপটি কিছুটা ধীর এবং lzo এর চেয়ে কিছুটা কম সংক্ষেপণের অনুপাত দেয়।

এটি এত দ্রুত, ডিস্ক থেকে জিজেড বা লজো সংক্ষেপিত ফাইলটি পড়া এবং ডিস্ক থেকে সরাসরি সঙ্কুচিত ফাইলটি পড়ার পরিবর্তে ফ্লাইতে সংক্ষেপণ করা দ্রুততর হতে পারে।

এলজেডএমএ (এক্সজেড) সাধারণ ডেটাতে দুর্দান্ত সংক্ষেপণ দেয় তবে সংকোচনের জন্য উল্লেখযোগ্য পরিমাণে মেমরি গ্রহণের পাশাপাশি সংকোচন এবং সংক্ষেপিত হতে খুব বেশি সময় নেয়।

bz2 টি পছন্দের উচ্চ সংকোচনের অ্যালগরিদম হিসাবে ব্যবহৃত হত তবে এটি Lzma এর চেয়ে ধীরে ধীরে ধীর এবং সংকোচনের জন্য এবং সংক্ষেপিত হতে আরও বেশি সময় নেয় বলে অনুকূলতার বাইরে চলে যায়। তবে নির্দিষ্ট ধরণের ডেটা (ডিএনএ সিকোয়েন্স, একই বাইট ইত্যাদির খুব বড় রানের ফাইলগুলির জন্য) bzip2 অন্য সমস্ত কিছুকে হাতছাড়া করতে পারে। উদাহরণস্বরূপ, আমি একবার 1 এর 4 জিবি ফাইলটি সংকুচিত করতে হয়েছিল এবং বি 2 আমি কয়েক কেবি কে কমিয়ে দিয়েছি যখন আমি সঠিকভাবে মনে রাখি তবে lzma 10 এমবি নিয়েছিল।


আসলে lzma ডিকম্প্রেসিং এ বেশ দ্রুত।
psusi

0

বিশেষত বড় ফাইলগুলির জন্য, আপনি ব্যবহার করতে পারেন rzip। এটি প্রথমে 900 এমবি বৃহত ব্লকের ভিতরে অপ্রয়োজনীয় ডেটা দেখায়, এগুলি এনকোড করে এবং তারপরে ডেটা বিজিপ 2-এর হাতে দেয় (আসলে নয়, তবে একই অ্যালগোরিদম ব্যবহার করা হয়)।

প্রভাব? অনেক তাড়াতাড়ি xz, lzmaবা bzip2, এবং আমার অভিজ্ঞতা তার কম্প্রেশন অনুপাত প্রতিদ্বন্দ্বী যে lzma। যদিও এটি একটি র‌্যাম হগ।

http://en.wikipedia.org/wiki/Rzip

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