pbzip2(1) General Commands Manual pbzip2(1)

pbzip2 - فشرده‌ساز موازی فایل‌های bzip2، نسخه ۱.۱.۱۰

pbzip2 [ -123456789 ] [ -b#cdfhklm#p#qrS#tvVz ] [ filenames ... ]

pbzip2 یک پیاده‌سازی موازی از فشرده‌ساز فایل مبتنی بر مرتب‌سازی بلوکی bzip2 است که از pthreads استفاده می‌کند و در سیستم‌های SMP به شتاب و افزایش سرعت تقریباً خطی دست می‌یابد. خروجی این نسخه کاملاً با bzip2 نسخه ۱.۰.۲ یا جدیدتر سازگار است (یعنی هر آنچه با pbzip2 فشرده شود، با bzip2 قابل استخراج و از حالت فشرده خارج کردن است).

pbzip2 باید روی هر سیستمی که دارای کامپایلر C++ سازگار با pthreads باشد (مانند gcc) کار کند. این برنامه روی سیستم‌عامل‌های لینوکس، ویندوز (cygwin)، سولاریس، Tru64/OSF1، HP-UX و Irix آزمایش شده است.

تنظیمات پیش‌فرض pbzip2 در بیشتر موارد به خوبی کار خواهد کرد. تنها سوییچ‌هایی که احتمالاً به آن‌ها نیاز خواهید داشت عبارتند از -d برای خارج کردن فایل‌ها از حالت فشرده و -p برای تعیین تعداد پردازنده‌ها جهت استفاده توسط pbzip2 در صورتی که تشخیص خودکار روی سیستم شما پشتیبانی نشود، یا بخواهید از تعداد مشخصی پردازنده (CPU) استفاده کنید.

که در آن # اندازه بلوک در گام‌های 100k است (پیش‌فرض 9 = 900k)
ارسال خروجی به خروجی استاندارد (stdout)
خارج کردن فایل از حالت فشرده
اجبار، بازنویسی فایل خروجی موجود
چاپ این پیام راهنما
نگه‌داشتن فایل ورودی، عدم حذف آن
میانگین بار سیستم حداکثر تعداد پردازنده‌های مورد استفاده را تعیین می‌کند
که در آن # حداکثر حافظه مصرفی در گام‌های 1MB است (پیش‌فرض 100 = 100MB)
که در آن # تعداد پردازنده‌ها است (پیش‌فرض: تشخیص خودکار)
حالت بی‌صدا (پیش‌فرض)
خواندن کل فایل ورودی در حافظه RAM و تقسیم آن میان پردازنده‌ها
اندازه پشته ریسه فرزند در گام‌های 1KB (اندازه پشته پیش‌فرض در صورت عدم تعیین)
بررسی و آزمایش یکپارچگی فایل فشرده
حالت پرحرف و با جزئیات
نمایش اطلاعات نسخه pbzip2 و سپس خروج
فشرده‌سازی فایل (پیش‌فرض)
-1,--fast ... -9,--best
تنظیم اندازه بلوک BWT از 100k تا 900k (پیش‌فرض 900k).
فلگ نادیده گرفتن داده‌های زائد انتهایی (1 - نادیده گرفته شود؛ 0 - غیرمجاز)

اگر هیچ نام فایلی داده نشود، pbzip2 از ورودی استاندارد فشرده یا از حالت فشرده خارج کرده و به خروجی استاندارد ارسال می‌کند.

شما باید بتوانید فایل‌های بزرگ‌تر از 4GB را با pbzip2 فشرده کنید.

فایل‌هایی که با pbzip2 فشرده می‌شوند به چند قطعه تقسیم شده و هر قطعه به‌صورت مستقل فشرده می‌شود. به این ترتیب pbzip2 روی چندین پردازنده سریع‌تر اجرا می‌شود زیرا قطعات می‌توانند به‌طور هم‌زمان فشرده شوند. فایل نهایی ‎.bz2 ممکن است به دلیل این قطعه‌بندی، کمی بزرگ‌تر از حالتی باشد که با برنامه معمول bzip2 فشرده می‌شود (معمولاً کمتر از ۰.۲ درصد بزرگ‌تر). همچنین فایل‌هایی که با pbzip2 فشرده شده‌اند، هنگام خارج شدن از حالت فشرده با استفاده از pbzip2 سرعت بسیار بیشتری خواهند داشت.

فایل‌هایی که با bzip2 فشرده شده‌اند، بهبود سرعتی نخواهند داشت زیرا bzip2 داده‌ها را در یک بلوک یکپارچه بسته‌بندی می‌کند که میان پردازنده‌ها قابل تقسیم نیست.

مثال ۱: pbzip2 myfile.tar

این مثال فایل "myfile.tar" را در فایل فشرده "myfile.tar.bz2" فشرده می‌کند. این دستور از تعداد پردازنده‌های به‌طور خودکار شناسایی‌شده (یا ۲ پردازنده در صورت عدم پشتیبانی از تشخیص خودکار) همراه با اندازه بلوک فایل پیش‌فرض 900k و اندازه بلوک BWT پیش‌فرض 900k استفاده خواهد کرد.

مثال ۲: pbzip2 -b15k myfile.tar

این مثال فایل "myfile.tar" را در فایل فشرده "myfile.tar.bz2" فشرده می‌کند. این دستور از تعداد پردازنده‌های به‌طور خودکار شناسایی‌شده (یا ۲ پردازنده در صورت عدم پشتیبانی از تشخیص خودکار) با اندازه بلوک فایل 1500k و اندازه بلوک BWT معادل 900k استفاده خواهد کرد. فایل "myfile.tar" پس از پایان فشرده‌سازی حذف نخواهد شد.

مثال ۳: pbzip2 -p4 -r -5 myfile.tar second*.txt

این مثال فایل "myfile.tar" را در فایل فشرده "myfile.tar.bz2" فشرده می‌کند. از ۴ پردازنده با اندازه بلوک BWT معادل 500k استفاده خواهد کرد. اندازه بلوک فایل برابر با اندازه "myfile.tar" تقسیم بر ۴ (تعداد پردازنده‌ها) خواهد بود تا داده‌ها به‌طور یکنواخت میان هر پردازنده تقسیم شوند. این نیازمند آن است که حافظه RAM کافی برای pbzip2 داشته باشید تا کل فایل را برای فشرده‌سازی در حافظه بخواند. سپس pbzip2 از همان گزینه‌ها برای فشرده‌سازی تمام فایل‌های دیگری که با الگوی "second*.txt" در آن دایرکتوری مطابقت دارند استفاده خواهد کرد.

مثال ۴: tar cf myfile.tar.bz2 --use-compress-prog=pbzip2 dir_to_compress/
مثال ۴: tar -c directory_to_compress/ | pbzip2 -c > myfile.tar.bz2

این مثال‌ها داده‌هایی را که از طریق لوله (pipe) از TAR به pbzip2 داده می‌شوند در فایل فشرده "myfile.tar.bz2" فشرده می‌کنند. این دستور از تعداد پردازنده‌های به‌طور خودکار شناسایی‌شده (یا ۲ پردازنده در صورت عدم پشتیبانی از تشخیص خودکار) با اندازه بلوک فایل پیش‌فرض 900k و اندازه بلوک BWT پیش‌فرض 900k استفاده خواهد کرد. دستور TAR در حین کار تمام فایل‌ها را از دایرکتوری "directory_to_compress/" جمع‌آوری کرده و داده‌ها را به pbzip2 ارسال می‌کند.

مثال ۵: pbzip2 -d -m500 myfile.tar.bz2

این مثال فایل "myfile.tar.bz2" را به فایل فشرده‌نشده "myfile.tar" استخراج می‌کند. این دستور از تعداد پردازنده‌های به‌طور خودکار شناسایی‌شده (یا ۲ پردازنده در صورت عدم پشتیبانی از تشخیص خودکار) استفاده خواهد کرد. برای خروج از حالت فشرده حداکثر از 500MB حافظه استفاده خواهد کرد. سوییچ‌های -b و -r و -1..-9 برای خروج از حالت فشرده مجاز نیستند.

مثال ۶: pbzip2 -dc myfile.tar.bz2 | tar x

این مثال فایل "myfile.tar.bz2" را از حالت فشرده خارج کرده و باز می‌کند (untar)، به‌طوری‌که خروجی pbzip2 در حال استخراج به tar لوله‌کشی (pipe) می‌شود.

مثال ۷: pbzip2 -c < myfile.txt > myfile.txt.bz2

این مثال myfile.txt را از ورودی استاندارد خوانده، آن را در خروجی استاندارد فشرده می‌کند که به myfile.txt.bz2 هدایت می‌شود.

bzip2(1), gzip(1), lzip(1), rzip(1), zip(1)

Jeff Gilchrist

http://compression.ca