ABS، کلکسیون PKGBUILDها
از نظر مدیرهایبسته، توزیعی که دارای بسته نصبشده بدون اطّلاع مدیربسته باشد بیمار محسوب میشود. مخصوصا که آرچ دارای مدیر بسته بسیار قدرتمند pacman است. تنها روش استاندارد نصب یک بسته در آرچ، اجرای PKGBUILD نوشته شده برای آن بسته توسط یکی از ایزارهای پکمن یعنی makepkg است. ایده اصلی برای نصب، این است:
ابتدا snapshot بسته را از وبگاه آرچ بردارید و سپس آن را از حالت فشرده خارج کرده و داخل دایرکتوری بوجود آمده بروید. درصورت لزوم، PKGBUILD را تغییر داده و سپس آن را با makepkg اجرا کنید.
اگر بسته مورد نظر در مخازن اصلی باشد، نیازی به طی مراحل بالا نیست و پکمن براحتی برای شما این کار را انجام خواهد داد. همچنین اگر بسته در مخازن AUR باشد باز می توان با استفاده از یک AUR-helper آن را نصب کرد. اما اگر بسته ای را برای نصب برگزیدهاید که PKGBUILD برای آن نوشته نشده صحیح این است که دست بکار شوید و بنویسید. درغیراینصورت، اگر بستهای بدون استفاده از یک PKGBUILD روی سیستم نصب شود، نام آن بسته در لیست بستههای نصب شده توسط pacman نیز نخواهد آمد. بنابراین طبیعی است که برای بروز کردن و حذف این بسته نمیتوان روی کمک پکمن حساب کرد.
به واقع ABS را که مخفّفی برای Arch Build System است، میتوان کلکسیون PKGBUILDهای بستههای مخارن official نیز نامید. abs را با پکمن نصب کنید. سپس
$ sudo abs
را در ترمینال زده و اندکی منتظر باشید تا PKGBUILDها (و احیانا برای برخی بستهها اسکریپتهای install و فایلهای متنی حاوی متادیتاها)ی تمام بستههای مخازن رسمی دانلود شوند. این حجم اندک دانلود شده فقط حاوی فایلهای متنی بوده و هیچ سورس یا بسته دودوئی بستهای را شامل نمیشوند. اکنون به دایرکتوری
/var/abs
خود نگاهی بیندازید. پوشههایی به صورت شاخهای با نام مخازن رسمی لیست شدهاند. درون هریک ازینها نیز پوشههای حاوی PKGBUILD (و احیانا همان فایلهای دیگر) با نام بستههای مربوطه قرار دارند. از طرف دیگر، نگاهی به پرونده
/etc/abs.conf
نیز بیندازید. ملاحظه خواهید کرد که میرورها دقیقا همان میرورهای پکمن بوده و همچنین ریپوهایی که abs قرار است به آنها fetch کند، نیز لیست شدهاند. میتوان ریپوهای غیررسمی را نیز به لیست آنها افزود. همچنین میتوان آدرس کلکسیونی را که abs از PKGBUILDها ساخته نیز در همین فایل، به دلخواه تغییر داد. گرچه مخصوصا این آخری پیشنهاد نمیشود. خب! حال میخواهیم به کمک abs یک بسته را نصب کنیم. انتخاب من بسته ark از ریپوی extra است. به ترتیب کارهای زیر را انجام میدهم:
$ cp -r /var/abs/extra/ark/ ~/abs/ $ cd ~/abs/ark/ $ makepkg -s $ sudo pacman -U ark-15.08.2-1-x86_64.pkg.tar $ rm -r ~/abs/
و تمام!
پاسخ دهید