ابزارهای بایگانی ساز در لینوکس
ترجمه: ابراهیم محمدی
مقدمه
ابزارهای بایگانیسازی مانند tar,gzip,bzip2,rar,zip تعدادی فایل را در داخل یک بایگانی بستهبندی میکنند و آنها را با استفاده از الگوریتمهای مختلف فشرده میکنند. بنابراین باعث میشوند که حجم فایلها در مقایسه با حجم اصلی آنها کمتر شود. لینوکس از چندین برنامه برای فشرده سازی فایل ها پشتیبانی میکند. در این مقاله ما نگاهی به برنامههای مختلف موجود در سکوی لینوکس میپردازیم و نحوه استفاده از برنامههای خط فرمانی و پوستههای گرافیکی مانند Ark و File-roller را شرح خواهیم داد.
ابزارها
gzip
gzip یا GNU Zip میتواند برای فشردهسازی یک فایل تنها به کار برده شود. بر خلاف دیگر قالب های فایل ، از gzip نمیتوان برای فشردهسازی شاخهها استفاده کرد.
پسوندی که توسط gzip استفاده میشود .gz میباشد.
gzip filename.ext
این فرمان یک فایل با نام filename.gz درست میکند و فایل filename.ext را با فایل filename.gz که یک بایگانی فشرده شده توسط gzip است جایگزین میکند. gzip صفات فایل همچون modification ، time stamp ، حق دسترسی و غیره را حفظ میکند.
میزان فشردگی فایل را میتوان در هنگام فشردهسازی آن با استفاده از اعداد ۱ تا ۹ تغییر داد.
gzip -1 filename.ext فایل را سریعتر فشرده میکند ولی با میزان فشردگی کمتر.
gzip -1 filename.ext
gzip -9 filename.ext فایل را کندتر فشرده میکند ولی با فشردگی بیشتر.
gzip -9 filename.ext
میزان فشردگی پیش فرض ۶ میباشد.
حجم فایلهای فشرده شده توسط gzip به قالب فایل اصلی بستگی دارد. gzip با فایل های غیر فشرده مانند txt,doc,bmp به خوبی عمل میکند ولی در مقابل با فایلهایی نظیر JPG , PNG و غیره که قبلا با استفاده از الگوریتمهایی فشرده شدهاند به خوبی عمل نمیکند. فایل فشرده شده توسط gzip را میتوان با دستور gzip -d filename.gz و یا دستور gunzip در خط فرمان استخراج کرد. پسوند پیش گزیده gzip برای فایل های فشرده شده .gz میباشد. اگر شما میخواهید که از یک پسوند دیگر استفاده کنید ، باید از پارامتر -s استفاده کنید.
gzip -S .x filename.ext
کد بالا یک فایل فشرده با نام filename.ext.x درست میکند.
برای استخراج فایلها از بایگانی gzip از پارامتر d استفاده کنید.
gzip -d filename.gz
bzip2
bzip2 برنامه ای مشابه gzip میباشد ولی در مقایسه با gzip فایلها را بهتر رو مؤثرتر فشرده میکند.
پسوندی که بطور پیش فرض توسط bzip2 استفاده میشود bz2 میباشد. استفاده از برنامه bzip2 بسیار شبیه برنامه gzip میباشد با این تفاوت که دارای چند پارامتر اضافه میباشد که دراین جا توضیح داده خواهد شد.
bzip2 -k filename.ext
دستور بالا یک فایل آرشیوی از فایل filename.ext درست میکند ولی برخلاف gzip که فایل بایگانی را جایگزین فایل اصلی میکند ، یک نسخه از فایل اصلی را نگه میدارد.
bzip2 هم همچنین درجات مختلف فشردهسازی دارد که از حداقل ۱ تا حداکثر ۹ میباشد که مانند مثال زیر مشخص میگردند.
bzip2 -1 filename.ext
آرشیو های bzip را میتوان با دستور bzip -d و یا با استفاده از برنامه bunzip2 استخراج کرد.
tar
برنامه tar یا tape archiver میتواند که چندین فایل و پوشه را با هم ترکیب کند و آن ها را در قالب یک فایل دخیره نماید. این فایل منفرد را میتوان بعدا با استفاده از برنامههای بایگانی نظیر gzip یا bzip2 فشرده کرد تا حجمی کمتر از حجم اصلی خود داشته باشند.
tar -cvf file.tar file1 file2 file3 file4
دستور بالا ، با ملحق کردن file1 و file2 و file3 در قالب یک فایل مجرد ، یک فایل آرشیوی tar میسازد. با استفاده از پارامتر f برای برنامه tar مشخص میکنیم که از اولین انتخاب برای نام فایل بایگانی استفاده کند ، بنابراین فایل بایگانی اسمی مشابه اسم file1 خواهد داشت. پارامتر -c به برنامه tar میگوید که یک فایل بایگانی درست کند و پارامتر v تمامی اطلاعات زمینه را در صفحه ، نمایش خواهد داد.
tar -cvf file.tar file1.tar file/
دستور بالا یک فایل آرشیو به نام file.tar میسازد که محتوی file1.tar و زیر شاخه /file خواهد بود.
tar -cvzf file.tar.gz file1 file2 file3 file/
دستور بالا یک فایل tar که شامل چند فایل و شاخه مشخص شده است ، درست میکند و سپس پارامتر z برای برنامه مشخص میکند که این فایل tar با استفاده از برنامه gzip فشرده شود تا فایل آرشیوی نهایی file.tar.gz درست شود.
tar -cvjf file.tar.bz2 file1 file2 file3 file/
دستور بالا یک فایل tar که شامل چند فایل و شاخه مشخص شده است ، درست میکند و سپس پارامتر j برای برنامه مشخص میکند که این فایل tar با استفاده از برنامه bzip2 فشرده شود تا فایل آرشیوی نهایی file.tar.bz2 درست شود.
tar -xvf file.tar
دستور بالا تمام فایلهای موجود در فایل آرشیوی file.tar را استخراج میکند.
tar -xvjf file.tar.bz2
دستور بالا تمام فایل های درون فایل آرشیوی fle.tar.bz2 را استخراج میکند. این دستور ابتدا برنامه bzip2 را فراخوانی میکند و فایل file.tar را استخراج میکند و سپس برای استخراج محتویات فایلfile.tar برنامه tar را فراخوانی خواهد کرد.
tar -xvzf file.tar.gz
دستور بالا تمام فایل های درون فایل آرشیوی fle.tar.gz را استخراج میکند. این دستور ابتدا برنامه gzip را فراخوانی میکند و فایل file.tar را استخراج میکند و سپس برای استخراج محتویات فایلfile.tar برنامه tar را فراخوانی خواهد کرد.
اگر شما file.tar را ساخته اید و بعدا میخواهید چند فایل را به آن اضافه کنید ، دستور زیر و استفاده از پارامتر rf این کار را برای شما انجام خواهد داد.
tar -rf file.tar file(s)
rar
از دیگر برنامههای محبوب آرشیو ساز rar میباشد که در لینوکس و ویندوز استفاده میشود و برای هر دو سکوی لینوکس و ویندوز نسخههایی دارد که میتوانید آن را از بدست آورید. بایگانی rar از .rar به عنوان پسوند آرشیوهای خود استفاده میکند و به خاطر نسبت بالای فشرده سازی و خصوصیات جالبش بسیار معروف گشته است.
به خاطر اینکه rar نه برنامه بازمتن و نه برنامه آزاد است و به خاطر لایسنس این برنامه ، rar به طور پیش فرض در اکثر توزیع های گنو/لینوکس نصب نیست.
برای نصب برنامه rar دستور زیر را در ترمینال وارد کنید.
sudo apt-get install rar unrar
برای استخراج فایل های آرشیو rar دستور زیر را در ترمینال وارد کنید.
rar e filename.rar
برای ساخت یک آرشیو از تمامی فایل ها و شاخه های موجود در شاخه فعلی از دستور زیر استفاده کنید.
rar a filename.rar
که در آن filename.rar اسم فایل آرشیو شما میباشد.
اگر یک فایل آرشیوی با نام مشابه آنچه شما برای فایل آرشیو خود اتخاب کردهاید ، از قبل وجود داشته باشد ، فایل آرشیوی قدیمی رونویسی(overwrite) نخواهد شد. بلکه فایل های جدید به فایل آرشیوی قدیمی اضافه خواهد شد. اگر در فایل آرشیوی قدیمی فایلی با نام مشابه یکی از فایلهایی که قصد اضافه کردن آن را به فایل آرشیوی داریم وجود داشته باشد ، رونویسی خواهد شد.
برای بایگانی فایلها و شاخههای موجود در یک شاخه خاص از دستور زیر در ترمینال استفاده کنید.
rar a file /path-to-directory-you-want-to-archive
برای دیدن فهرست کامل فایلها و شاخههای موجود در یک فایل آرشیوی از دستور زیر استفاده کنید.
rar l archive.rar
یا
rar v filename.rar
اگر برنامه rar قادر به استخراج فایلها از یک فایل بایگانی به صورت کامل نمی باشد ، شما میتوانید با استفاده از دستور زیر فایل بایگانی خراب را تعمیر کنید.
rar r filename.rar
zip
zip یکی از محبوب ترین قالبهای فایل برای ساخت فایلهای فشرده در windows/dos میباشد. از آنجا که برنامههای بسیاری برای اداره کردن فایل های آرشیوی zip در تمام سکوها وجود دارد ، zip مناسب ترین قالب فایل برای ساخت آرشیو به منظور اشتراک گذاری بین سکوهای مختلف میباشد. برای فشرده سازی یک فایل از دستور زیر استفاده کنید.
zip a archive fil-to- be-archive
دستور زیر کل محویات شاخه جاری را درون یک فایل ، بایگانی میکند.
zip -R archive
دستور زیر ، محتویات شاخه directory و تمام زیر شاخههای موجود در آن را درون فایلی به نام archive بایگانی میکند.
zip -r archive directory
اگر شما سعی کنید که فایل آرشیوی با نامی مشابه یک فایل آرشیوی موجود بسازید ، zip فایلهای شما را به فایل آرشیوی موجود اضافه میکند در عین حال که محتویات فایل آرشیوی موجود را نیز حفظ میکند.
برای استخراج فایلهای موجود در فایل بایگانی ، در شاخه ای خاص از دستور زیر استفاده کنید.
unzip archive
برای آزمایش بینقص بودن یک فایل بایگانی از دستور زیر استفاده کنید.
zip -T archive
برای نصب zip از دستور زیر در ترمینال استفاده کنید.
sudo apt-get install zip unzip
یا میتوانید برنامه zip را از آدرس زیر بدست آورید:
http://www.pkzip.org/shareware/pkzip_unix.html
بایگانیهای lha و lzh
lha توسط haru در سال ۱۹۸۸ ساخته شد و اسم اصلی آن lharc بود که بعدها به lha تغییر نام یافت. امروزه lha به طور گسترده مورد استفاده قرار نمیگیرد ولی lha توسط id software برای فشردهسازی فایلهای نصبی بازی doom مورد استفاده قرار گرفت. lha هنوز تا حدی در ژاپن مورد استفاده قرار میگیرد.
دستور زیر محتویات فایل آرشیوی archive.lzh را در شاخه جاری استخراج میکند.
lha e archive.lzh
دستور زیر محتویات فایل archive.lzh را در شاخه where-to-extract استخراج میکند.
lha a archive-name file
دستور زیر فایل file را درون یک فایل بایگانی با نام archive-name قرار میدهد. پسوند .lzh به طور خودکار اضافه میگردد.
lha a archive-name file
اگر فایل آرشیوی با اسمی مشابه اسم انتخابی شما برای فایل بایگانیتان وجود داشته باشد ، برنامه به سادگی فایلهای جدید را به بایگانی قبلی اضافه میکند.
دستور زیر تمام فایلها و شاخههای موجود در شاخه directory را در فایل archive.lzh بایگانی میکند. برای اضافه کردن فایلهای خاص از کاراکترهای ویژه (wild cards) نیز میتوان استفاده کرد.
lha a archive directory
دستورات زیر محتویات فایل بایگانی archive.lzh را فهرست میکند.
lha l archive.lzh
دستور زیر بینقص بودن فایل بایگانی archive.lzh را با استفاده از کدهای crc مورد بررسی قرار میدهد.
lha t archive.lzh
برنامه lha را میتوانید از اینجا بدست آورید.
file-roller
file-roller برنامه پیش فرض محیط میز کار گنوم برای کار با فایل های بایگانی است. file-roller یک برنامه کامل برای کار با بایگانیها نمیباشد بلکه در حقیقت file-roller یک پوسته گرافیکی برای ابزارهای خط فرمانی فراهم میکند که کار با بایگانیها را ساده تر میسازد. رابط گرافیکی file-roller ممکن است که به خوبی winzip یا winrar بر روی سکوی ویندوز نباشد ولی با این حال برنامه ای بسیار سودمند برای تازهکاران با لینوکس میباشد که با استفاده از ابزار های خط فرمانی آشنایی ندارند. به علاوه از وقتی که این برنامه با ناتیلوس یکی شده است ، زندگی در میز کار گنوم شیرین تر شده است.
برای ساخت یک فایل بایگانی به archive->new بروید یا دکمه های ctrl+N را بزنید. سپس نام بایگانی را تایپ و نوع قالب بایگانی را که میخواهید بسازید، انتخاب کنید. سپس برای اضافه کردن فایلها و شاخهها به بایگانی که به تازگی ساخته اید از منوی ابزار گزینه add file و add folder را بزنید و فایلها و شاخههای دلخواه را برای اضافه کردن به بایگانی اضافه کنید.
برای استخراج از یک فایل بایگانی ، file-roller را باز کرده و از منوی ابزار گزینه open را انتخاب کنید. سپس بایگانی خود را انتخاب کرده ، بعد از باز کردن فایل بایگانی از منوی ابزار گزینه extract را بزنید. در منوی extract شما میتوانید مسیر دلخواه برای استخراج و یا ورود رمز عبور برای استخراج را وارد کنید. همچنین در این منو تنظیمات دیگری نیز قابل تنظیم است از جمله فیلتری برای استخراج فایلها و یا رونویسی فایلها.
Ark
Ark برنامه پیش فرض محیط میز کار KDE برای کار با فایل های بایگانی است. Ark یک برنامه کامل برای کار با بایگانیها نمیباشد بلکه در حقیقت Ark یک پوسته گرافیکی برای ابزارهای خط فرمانی فراهم میکند که کار با بایگانیها را ساده تر میسازد. رابط گرافیکی Ark ممکن است که به خوبی winzip یا winrar بر روی سکوی ویندوز نباشد ولی با این حال برنامه ای بسیار سودمند برای تازهکاران با لینوکس میباشد که با استفاده از ابزار های خط فرمانی آشنایی ندارند. به علاوه از وقتی که این برنامه باkonqueror یکی شده است ، زندگی در میز کار KDE آسانتر شده است.
برای ساخت یک فایل بایگانی به archive->new بروید یا دکمه های ctrl+N را بزنید. سپس نام بایگانی را تایپ و نوع قالب بایگانی را که میخواهید بسازید، انتخاب کنید. سپس برای اضافه کردن فایلها و شاخهها به بایگانی که به تازگی ساخته اید از منوی ابزار گزینه add file و add folder را بزنید و فایلها و شاخههای دلخواه را برای اضافه کردن به بایگانی اضافه کنید.
برای استخراج از یک فایل بایگانی ، Ark را باز کرده و از منوی ابزار گزینه open را انتخاب کنید. سپس بایگانی خود را انتخاب کرده ، بعد از باز کردن فایل بایگانی از منوی ابزار گزینه extract را بزنید. در منوی extract شما میتوانید مسیر دلخواه برای استخراج و یا ورود رمز عبور برای استخراج را وارد کنید. همچنین در این منو تنظیمات دیگری نیز قابل تنظیم است از جمله فیلتری برای استخراج فایلها و یا رونویسی فایلها.