লেজ অপারেশন সমর্থন করে এমন একটি সংক্ষেপণ বিন্যাস আছে?


12

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

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

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

উত্তর:


5

gzip এর একটি --rsyncable অপশন রয়েছে যা মূলত একই রকম হয় । অ-মানক অংশটি হ'ল জিজিপ-ব্লক সচেতন "ztail" ইউটিলিটি, তবে মনে হয় আপনি ইতিমধ্যে এর সাথে কাজ করেছেন।


2
অবশ্যই এই বিকল্পটি কার্যকরভাবে আপনাকে -0.5 সংক্ষেপণের মতো কিছুতে সীমাবদ্ধ করে, এমনকি আপনি -9 নির্দিষ্ট করে থাকলেও।
psusi

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

ডেবিয়ান-ভিত্তিক ডিস্ট্রোসগুলির এটি রয়েছে - এটি উবুন্টু থেকে 10.04: মূল @ ব্যাকআপ 1: ~ # জিজিপ-ভি জিজিপ 1.3.12 রুট @ ব্যাকআপ 1: ~ # জিজিপ -h | egrep rsync --rsyncable rsync-বান্ধব সংরক্ষণাগার তৈরি করুন
দ্য ওয়াববিট

স্পষ্টতই, কিছু অন্যান্য ডিস্ট্রো রক্ষণাবেক্ষণকারী (যেমন ফেডোরা) এছাড়াও প্যাচগুলি অন্তর্ভুক্ত করেছে বলে মনে হয়। এবং এখানে পুরানো গিজিপের জন্য একটি প্যাচ রয়েছে: samba.org/netfilter/diary/gzip.rsync.patch যা সাম্প্রতিক সংস্করণে সাম্প্রতিক সংস্করণে প্রয়োগ হতে পারে, যদি আপনার সত্যিকারের স্বয়ং-সংকলন প্রয়োজন হয়।
দ্য ওয়াববিট

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

0

এফডাব্লুআইডাব্লু: আমি zlib এর zran.c সোর্স কোডের উপর একটি কমান্ড লাইন সরঞ্জাম তৈরি করেছি যা জিজেপ ফাইলগুলির জন্য সূচি তৈরি করে: https://github.com/circulosmeos/gztool

এটি -Tবিকল্পের সাহায্যে একটি জিজিপ ফাইলের অবিচ্ছিন্ন লেজ তৈরি করতে পারে । অথবা (কেবলমাত্র আরও -tঅনেক বিকল্প উপলব্ধ) সহ শেষ সামগ্রীর একটি লেজ এবং থামুন ।

মনে রাখবেন যে এগুলির যে কোনও gztoolএকটির জন্য সেই ক্রিয়াটির সাথে আন্তঃবিবিশেষ একটি সূচক ফাইল তৈরি করবে।

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

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