ট্যারি ব্যবহার করার সময় আপনি bzip2 ব্লক আকারটি কীভাবে সেট করবেন?


9

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


1
সিডিনোট: ইদানীং আমি সব কিছু ছেড়ে দিয়েছি তবে bzip2 এ ছেড়েছি। আমি lzma ব্যবহার করি (lzma, lzma-utils, বা lzma-sdk প্যাকেজ থেকে, নামটি আপনার বিতরণের উপর নির্ভর করে)) এটি সাধারণত একই সিপিইউতে দেওয়া bzip2 এর চেয়ে একই বা ভাল সংকোচনে থাকে - এবং যখন এটি সংকোচনের বিষয়টি আসে তখন তা কেবল bzip2 এ ফুঁক দেয় দূরে।
মিহাই লিম্বান

উত্তর:


9
export BZIP=--fast
tar cjf foo.tar.bz2 foo

বা পাইপ আউটপুট tarকরতে bzip2

যদিও আপনার bzip2 ম্যান পৃষ্ঠা থেকে নোট করা উচিত:

    -1 (বা - ব্রেকফাস্ট) থেকে -9 (বা - সেরা)
              সংকোচনের সময় ব্লকের আকারটি 100 কে, 200 কে .. 900 কে সেট করুন।
              ডিকম্প্রেসিংয়ের সময় কোনও প্রভাব নেই। নীচে স্মৃতি পরিচালনা দেখুন।
              - প্রাতঃরাশ এবং - সেরা উপাধিগুলি মূলত GNU gzip compat- এর জন্য
              ibility। বিশেষত, - ব্রেকফাস্ট জিনিসগুলি সংকেতযুক্ত করে না -
              ক্যান্টলি দ্রুত এবং --best নিছক ডিফল্ট আচরণ নির্বাচন করে।

বিকল্প আপনি কীভাবে রফতানি BZIP = -9 ব্যবহার করতে পারবেন
পোল হ্যালেন

4
tar -cjf dir.tar.bz2 --options bzip2:compression-level=9 path/to/dir/

আমার সিস্টেমে (ওএসএক্স এল ক্যাপিটান বিএসডিটার ২.৮.৩) এটি ম্যান পৃষ্ঠা থেকে নিখোঁজ হয়েছে (যদিও gzip: সংক্ষেপণ-স্তর এবং xz: সংক্ষেপণ-স্তর তালিকাভুক্ত) তবে এটি পরীক্ষা করে বিকল্পটি কাজ করে না।
স্টিভায়ার

tar: unrecognized option '--options'
জেডএন 13

2

bzip2 ব্লক আকার

bzip2কিছু ব্লকের আকারের বিকল্প রয়েছে। ম্যানুয়াল পৃষ্ঠা থেকে bzip2(1):

-1 (or --fast) to -9 (or --best)
       Set the block size to 100 k, 200 k ..  900 k when compressing.
       Has no effect when decompressing. See MEMORY MANAGEMENT below.
       The --fast and --best aliases are primarily for GNU gzip
       compatibility. In particular, --fast doesn't make things
       significantly faster. And --best merely selects the default
       behaviour.

আপনি যেমন কম্প্রেশন অনুপাতের সাথে কম সংক্ষিপ্তসার সহ দ্রুত সংক্ষেপণ চান, তেমন bzip2আপনি -1(বা --fast) বিকল্পটি চান বলে মনে হচ্ছে ।

bzip2ব্যবহার করার সময় ব্লকের আকার নির্ধারণ করাtar

কয়েকটি উপায়ে bzip2ব্যবহার করার সময় আপনি ব্লকের আকার নির্ধারণ করতে পারেন tar

ইউএনএলএক্স উপায়

আমার প্রিয় উপায়, ইউএনএলএক্স উপায় হ'ল এটিই যেখানে আপনি প্রতিটি সরঞ্জাম স্বাধীনভাবে ব্যবহার করেন এবং পাইপের মাধ্যমে সেগুলি একত্রিত করেন।

$ tar --create [FILE...] | bzip2 -1 > [ARCHIVE].tar.bz2

আপনি এটি পড়তে পারেন " tar-। সাথে এটি তৈরি করুন -> এটি দিয়ে বিজিপ করুন bzip2-> এতে লিখুন [ARCHIVE].tar.bz2"।

পরিবেশ সূচক

bzip2এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে অপশন সেট করাও সম্ভব BZIP2। ম্যানুয়াল পৃষ্ঠা থেকে bzip2(1):

bzip2 will read arguments from the environment variables BZIP2 and BZIP,
in that order, and will process them before any arguments read from the
command line. This gives a convenient way to supply default arguments.

সুতরাং এটি ব্যবহার করতে tar, আপনি উদাহরণস্বরূপ করতে পারেন:

$ BZIP2=-1 tar --create --bzip2 --file [ARCHIVE].tar.bz2 [FILE...]

দ্রুত বিকল্প

bzip2একটি ধীর সংক্ষেপণ অ্যালগরিদম ব্যবহার করে। আপনি গতি নিয়ে উদ্বিগ্ন হয়, আপনি এই ধরনের দ্বারা ব্যবহৃত মতো বিকল্প আলগোরিদিম তদন্ত পারে gzipবা lzop। সংক্ষেপণ সরঞ্জামগুলির সাথে তুলনা করার জন্য এখানে একটি নিবন্ধ রয়েছে: https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/


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

1

tarআউটপুটটি প্রেরণ করুন stdoutএবং তারপরে bzip2পৃথকভাবে পাইপ করুন :

% tar cvf - _file_ | bzip2 _opts_ > output.tar.bz2

0

এটি আরও সহজ:

% tar -cvf dir.tar path/to/dir/ && bzip2 -9 dir.tar

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

হ্যা ধন্যবাদ. আমি গভীর কারণে শিখেছি জানেন tarহয়েছে -zএবং -j। এই বিকল্পগুলি আমার কাছে বরং সুবিধাজনক বলে মনে হয়েছিল। তবে তারা দিনটি বাঁচাতে পারে।
Andreas Spindler
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.