مهدی
مهدی
خواندن ۲ دقیقه·۳ سال پیش

ساختار بسته های باینری ( ‌binary package )

اگه مقاله قبلی رو نخوندید از اینجا اون رو یه نگاهی بندازید. مقاله قبلی یه مقدمه راجع به این سری مقاله هاست.

سلام

قراره که باهم یه سفر داشته باشیم به دنیای بسته بندی توی دبیان. قراره راجع به بسته های باینری ( binary package ) و بسته های منبع ( source package ) صحبت کنیم. اولی فایل هایی هستن که به طور مستقیم توسط دی‌پکیج ( dpkg ) مدیریت میشن و دومی حاوی کد منبع ( source code ) و همچنین دستوراتی برای ساخت بسته های باینری از اون کد منبع است.



deb package
deb package


ساختار بسته های باینری

بسته های دبیان طوری طراحی شدن که بشه روی هر سیستم یونیکسی که دستور های ar, tar, xz یا بعضی وقت ها gzip یا bzip2 رو داشته باشه استخراج کرد. این ویژگی به ظاهر بی اهمیت برای portability و disaster recovery یا به فارسی قابلیت حمل و بازیابی در هنگام یک فاجعه خیلی مهم هست.( می‌دونم معادل ها اون چنان با مسما نیستن. همون انگلیسی‌شون بهتره این برای اینکه تقریبا کلماتی تخصصی اند و ترجمه یا معادلشون جالب در نمیاد. )

بیاید فرض کنیم شما اشتباهی برنامه dpkg رو حذف کردید !!! خب حالا که این اتفاق افتاده شما دیگه نمیتونید بسته های دیگه رو نصب، حذف یا آپدیت کنید و این یعنی فاجعه !! اما خود دی‌پکیج هم یک بسته دبیانی هست و میشه بسته باینری اش رو دانلود کرد و استخراج کرد و دستی نصب کرد :)

بیاید حالا یه نگاهی به یک بسته باینری بندازیم

محتویات یک بسته باینری
محتویات یک بسته باینری

فایل debian-binary : این فایل، یک فایل متنی خیلی ساده‌ست که فقط ورژن دب فایل رو نشون میده. که توی دبیان باستر ( Debian 10 Buster ) ورژن ۲.۰ هست.

فایل control.tar.gz : این فایل همه اطلاعات مربوط به بسته رو داخل خودش داره ( meta-information که معادلش میشه فرا اطلاعات :|‌‌ ) مثل اسم و ورژن بسته، و همچنین اسکریپت هایی که قبل، حین و بعد از نصب ( یا حذف ) این بسته باید اجرا بشن. بعضی از این اطلاعات به ابزار های مدیریت بسته این امکان رو میدن که بررسی کنن آیا این بسته قابل نصب روی سیستم ( یا حذف از سیستم ) هست یا نه.

فایل data.tar.xz, data.tar.gz, data.tar.bz2 : این فایل همه چیز هایی باید از بسته استخراج بشن رو داره، در این فایل فایل های اجرایی ( executable files ) کتابخانه ها مستندات و ... قرار دارن.



سعی میکنم که مقالات کوتاه کوتاه باشن که هم بشه اونها رو راحت خوند و هم اینکه اطلاعات زیادی نباشه که یک باره آدم بخواد به حافظه بسپره. هم اینکه طبقه بندی شده باشن.

ممنون که این مقاله رو مطالعه کردید. توی مقاله بعدی میریم داخل فایل control.tar.gz و میبینیم این فایل باارزش چه چیز هایی داخل خودش نگه میداره و چرا این قدر مهمه .

موفق باشید!

دبیانلینوکسآموزشیادگیری
سلام، من مهدی‌ام، مطالعه‌ی تخصصیم پایتونه و هر از چندی یه مقاله راجع به پایتون می‌نویسم
شاید از این پست‌ها خوشتان بیاید