API منبع باز C برای فرمت های فایل فشرده
کتابخانه C برای خواندن/نوشتن آرشیوهای جریانی در قالبهای TAR، ZIP، 7-ZIP، CPIO، PAX و ISO.
Libarchive یک کتابخانه منبع باز C خالص است که توسعه دهندگان نرم افزار را قادر می سازد آرشیوهای جریانی را در قالب های مختلف مانند TAR، ZIP، 7-ZIP، CPIO، PAX و تصاویر ISO9660 بخوانند و بنویسند. نکته مهم در مورد Libarchive این است که بسیار ماژولار است. از ابتدا به گونه ای طراحی شد که افزودن فرمت های آرشیو جدید در مقایسه با سایر کتابخانه ها بسیار آسان است.
Libarchive از خواندن و نوشتن چندین فرمت فایل فشرده سازی محبوب پشتیبانی می کند. چندین فرمت محبوب مانند TAR، ZIP، 7-ZIP، CPIO، PAX، RAR، XAR، LHA، AR، CAB، MTREE و تصاویر ISO را می خواند. همچنین از فرمتهای محبوب مانند TAR، ZIP، ISO، XAR، PAX، CPIO، AR، MTREE و بایگانیهای SHAR پشتیبانی میکند.
شروع کار با Libarchive
توزیع libarchive حاوی یک اسکریپت "پیکربندی" استاندارد ایجاد شده توسط Autoconf است که می تواند برای نصب libarchive، bsdtar و bsdcpio تقریباً بر روی هر سیستم مشابه POSIX استفاده شود.
کد نصب معمولی در زیر آورده شده است
اینجا فرمان است
$ tar xzf libarchive-2.7.0.tar.gz
$ cd libarchive-2.7.0
$ ./configure
$ make
$ make check
$ make install
همچنین میتوانید از ابزار «cmake» برای تولید فایلهای پیکربندی برای انواع IDE مانند Visual Studio در ویندوز و XCode در Mac OS استفاده کنید. لطفاً به یاد داشته باشید که می توان آن را با libarchive 2.6.990a یا جدیدتر استفاده کرد. ابتدا باید نسخه مناسب ابزار cmake را برای پلتفرم خود تهیه و نصب کنید
از آشکارساز فرمت خودکار استفاده کنید
Libarchive هنگام خواندن آرشیوها از یک آشکارساز فرمت خودکار استفاده می کند. از یک فرآیند "مناقصه" داخلی استفاده می کند که داده های دریافتی را با استفاده از چندین ماژول بررسی می کند. آشکارساز به طور خودکار بایگانی هایی را که با Tar، Gzip، Bzip2 و بسیاری دیگر از الگوریتم های فشرده سازی محبوب فشرده شده اند، کنترل می کند.
نوشتن فایل ها در بایگانی TAR Gzipped
Libarchive توسعه دهندگان نرم افزار را قادر می سازد تا گروهی از فایل ها را در یک آرشیو tar gzip شده بنویسند. ویژگی نوشتن در مقایسه با ویژگی خواندن پیچیده تر است. روش متداول این است که ابتدا شیء بایگانی ساختار را ایجاد کنید، هر گزینه ترجیحی را تنظیم کنید، آرشیو را مقداردهی اولیه کنید، ورودیها را اضافه کنید و در پایان فراموش نکنید که بایگانی را ببندید و تمام منابع را آزاد کنید.
C API برای خواندن محتویات فایل
Libarchive به برنامه نویسان کامپیوتر اجازه می دهد تا محتویات یک فایل را بخوانند و استخراج کنند. برای استخراج فایل از بایگانی، ابتدا آن را تکرار کنید تا زمانی که نام فایل مورد نظر خود را پیدا کنید. پس از آن، می توانید داده ها را بخوانید و آنها را روی یک فایل روی دیسک بنویسید. فشرده سازی و قالب به طور خودکار در خواندن شناسایی می شود.
نحوه استخراج آرشیو روی دیسک در داخل برنامه های C
Libarchive API به برنامه نویسان کامپیوتر این قابلیت را می دهد که اکثر آرشیوها را روی یک دیسک استخراج کنند. برای استخراج آرشیوها باید سرصفحه ها را از بایگانی ورودی بخوانید و روی دیسک بنویسید. برای تکمیل کار، باید دادهها را از بایگانی خواندن بیرون بکشید و آنها را در یک کنترل کننده نوشتن بنویسید.