مخزن بسته بسته با دستان خود: بسته های مونتاژ در دبیان از منابع و دوتایی ها بر روی دست آمبولانس. ایجاد فایل های نصب دبیان - فایل های DEB جمع آوری بسته deb

دستورالعمل مونتاژ بسته بسته

هیچ مقالاتی در مورد شبکه در مورد چگونگی جمع آوری یک بسته deb وجود ندارد، اما متأسفانه همه آنها برای توسعهدهنده ای که تصمیم گرفتند برای اولین بار تصمیم بگیرند، درک نخواهند کرد. بنابراین، شما یک کد دارید مفید است، خوب، اما نیاز به برخی از مهارت ها و تلاش ها در هنگام نصب بر روی یک سرور یا دسکتاپ. برای جلوگیری از کار دستی مرتبط با کپی کردن فایل ها، دستکاری با یک پایگاه داده، راه اندازی اسکریپت های Stop Stop (برای شیاطین) و پیکربندی پیکربندی، شما تصمیم گرفتید همه چیز را در بسته دب جمع آوری کنید.

در حالت ایده آل، بسته بندی صحیح باید توسط یک کلید GPG امضا شود. در غیر این صورت، APT بسته را غیر قابل اعتماد خواند و هشدار مربوطه را صادر می کند. اما ما این بخش را از دست خواهیم داد. کتابچه راهنمای کاربر در مورد چگونگی ایجاد یک کلید GPG و نحوه امضای یک بسته DEB GPG-KEY بعدا در نظر بگیرید.

مرحله 1. نصب نرم افزار های مورد نیاز برای ساخت بسته خود را.:

sudo apt-get نصب Autoconf AutoConf Libtool autotools-dev dpkg-dev fakeroot

مرحله 2. ایجاد یک دایرکتوری ریشه برای بسته های آینده و کپی تمام فایل های ابزار خود را به این پوشه، که برای عملیات و نصب مورد نیاز است. مثلا:

mkdir -p / my_package cp / some_source_files / home / username / deb / my_package

اگر ابزار شما در پوشه باشد:

USR / محلی / اشتراک / my_project

/ صفحه اصلی / نام کاربری / deb / my_package / usr / محلی / اشتراک / my_project

مرحله 3. یک دایرکتوری دبیان را در ریشه بسته ایجاد کنید.

نام کاتالوگ باید شامل حروف بزرگ باشد. این دایرکتوری شامل متا اطلاعاتی است که در هنگام نصب استفاده می شود.

CD / HOME / USERNAME / DEB / MY_PACKAGE MKDIR DEBIAN

بعد، در کاتالوگ دبیانیک فایل متنی اجباری ایجاد کنید - کنترل. این فایل حاوی اطلاعات اساسی در مورد بسته است. در فایل، هر رشته شامل یک جفت ارزش کلیدی است که توسط کولون جدا شده است.

CD ./debian کنترل لمسی

مثال فایل:

بسته بندی: نسخه بسته من: 1.0.0 فراهم می کند: نگهدارنده بسته من: Vasiliy Batareikin معماری: ALL بخش: اولویت وب: اختیاری قبل از بستگی دارد: GCC، Make، Perl (\u003e \u003d 5.10)، MySQL-Server بستگی دارد: GCC، Make، Perl (\u003e \u003d 5.10)، Perlmagick، MySQL-Server، Unzip، Rar شرح : اولین بسته دبیان من

بسته بندی - نام بسته. شخصیت های مجاز پارامتر اجباری.

نسخه. - نسخه بسته پارامتر اجباری.

فراهم می کند. - نام برنامه در سیستم ثبت شده است.

نگهدارنده - نام و ایمیل بسته بسته. پارامتر اجباری.

معماری. - معماری پردازنده که برای آن بسته طراحی شده است. پارامتر اجباری.

بخش. - گروه برنامه های کاربردی را تعیین می کند. پارامتر اجباری.

اولویت. - اولویت بسته پارامتر تعیین می کند که بسته شما در سیستم مهم است.

پیش از بستگی دارد - فهرست بسته ها از طریق کاما، که در هنگام نصب بسته شما مورد نیاز است. مدیر بسته به طور خودکار بسته های بسیار مشخص شده است.

بستگی دارد - فهرست بسته های از طریق کاما، که مورد نیاز برای کار این بسته است. مدیر بسته به طور خودکار بسته های بسیار مشخص شده است.

شرح. - شرح بسته پارامتر اجباری.

اگر می خواهید اقدامات خاصی را هنگام نصب یا حذف یک بسته انجام دهید، می توانید از اسکریپت های ویژه استفاده کنید. آنها را بسازید و حقوق اعدام را تعیین کنید:

CD ./debian Touch Preinst Prem Premstrm Chmod 775 Preinst Preminst Premtrm Premtrm

پیش پا افتاده - قبل از نصب بسته انجام شده است.

پست - به طور دائم پس از نصب بسته.

perm - قبل از برداشتن بسته بلافاصله انجام می شود.

postrm - این بلافاصله پس از حذف بسته انجام می شود.


مرحله 4. بسته بندی مونتاژ.

ما با پوشه ریشه بسته به یک سطح می رویم و مونتاژ را انجام می دهیم.


نوشته شده توسط: مایکل رید
تاریخ انتشار: 4 ژانویه 2014
ترجمه: n.romodanov
تاریخ ترجمه: ژوئن 2014

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

ما قصد داریم شما را از طریق فرایند ایجاد بسته های نرم افزاری برای دو سیستم پکیج محبوب و RPM انجام دهیم. شما می توانید از این روش ها برای ایجاد بسته های نرم افزاری خود استفاده کنید یا حتی بسته هایی را برای نرم افزارهایی که در نظر می گیرید باقی بمانید.

ما با یک راهنمای ایجاد فایل DEB ((.DEB) برای توزیع های حاصل از دبیان شروع خواهیم کرد - برای این که ما از کیفیت پایگاه داده ما استفاده می کنیم. پس از آن، ما روش های لازم را برای ایجاد بسته های RPM برای استفاده در توزیع های حاصل از کلاه قرمز توصیف می کنیم .. .

همانطور که برای برنامه، ما به عنوان نمونه ای از یک بسته جمع آوری شده از کد منبع، از مرورگر وب نور Dillo استفاده می کنیم. هنگامی که مجمع از متون منبع اعدام می شود، در صورتی که مونتاژ خارج نشود، شما می توانید به طور معمول به دنبال راه حل های در اینترنت باشید. به عنوان مثال، در مورد Dillo 3.0.3، ما مجبور به اضافه کردن دستورات به فرمان برای اضافه کردن "libs \u003d -lx11" به دلیل عدم وجود کد منبع در آرشیو اصلی کد اصلی.

مونتاژ بر روی خط فرمان رخ می دهد

منابع

نصب (یا ماشین مجازی) اوبونتو و فدورا

گام به گام شرح

مرحله 01: با استفاده از یک ماشین مجازی

استفاده از ابزارهای مجازی سازی، مانند VirtualBox یا VMware، اغلب بهترین روش برای ایجاد بسته ها برای سیستم های دیگر است. از یک طرف، این روش به شما اجازه می دهد تا یک نصب اولیه نسبتا تمیز را که قابل مقایسه با تنظیمات است که دیگران احتمالا کار می کنند، حفظ کنید. همچنین به این معنی است که شما از توزیع های مختلف استفاده می کنید، می توانید مجموعه ای از سیستم های هدف را دریافت کنید. علاوه بر این، اکثر ابزارهای مجازی سازی اجازه می دهد که معماری های مختلف را تقلید کنند و بنابراین سیستم عامل 64 بیتی را می توان بر روی یک پلت فرم 32 بیتی راه اندازی کرد، هرچند عملکرد رنج می برد.

مرحله 02: شروع از خراش

اگر چیزی در اوبونتو یا فدورا اشتباه باشد، می توانید به طور کامل با خیال راحت به سادگی دایرکتوری منبع را حذف کنید و دوباره شروع کنید. لطفا توجه داشته باشید که ابزار دبیان به معنای تغییر آرشیو اصلی است، بنابراین شما باید با یک کپی جدید شروع کنید.

قسمت 1: دبیان

مرحله 03: محیط مونتاژ را نصب کنید

ما با نصب بیشترین ابزار ابزار دقیق شروع خواهیم کرد که ما نیاز به ایجاد برنامه ها از کد منبع داریم. نوع:

$ sudo apt-get نصب AutoConf AutoConf AutoConf Autotools-Dev

حالا ما باید ابزارهایی را که برای کار با بسته های DEB استفاده می شود تنظیم کنیم. آن را با فرمان زیر انجام دهید ...

$ sudo apt-get نصب Dh-make debwelper devpscripts fakerot xutils lintian pbuilder

مرحله 04: یک کلید GPG ایجاد کنید

اگر هنوز یک کلید عمومی GPG را در گذشته ایجاد نکردید، باید در حال حاضر ایجاد شود تا بتوانید بسته ها را امضا کنید. اول، متن GPG را وارد کنید. کلید -Gen-Key. مقادیر پیش فرض را انتخاب کنید و نام واقعی خود را وارد کنید و جزئیات تماس را وارد کنید. به دقت تمام داده ها را بنویسید، زیرا بعدا باید دقیقا در فایل پیکربندی مطابقت داشته باشیم. پس از آن، دستور LS ~ / .gnupg را تایپ کنید تا اطمینان حاصل شود که کلید جدید وجود دارد (این نام فایل_ نام است. GPG). از آن، یک کلید باز ایجاد کنید:

GPG -A -Output ~ / .gnupg / .gpg --export "[نام شما]"

وارد کردن آن با:

GPG --import ~ / .gnupg / .gpg

مرحله 05: دانلود بسته

در این مثال، ما قصد داریم آخرین نسخه مرورگر وب Dillo را دانلود و جمع آوری کنیم. به سایت Dillo بروید (www.dillo.org) و آخرین archive.tar.bz را دانلود کنید. با استفاده از فرمان mkdir ~ / srcand، یک پوشه برای کد منبع ایجاد کنید و بایگانی را به آن منتقل کنید.

مرحله 06: باز کردن آرشیو

باز کردن آرشیو با استفاده از tar -xjvf [بایگانی نام] .tar.bz2 فرمان. لطفا توجه داشته باشید که انطباق با قراردادهای نامگذاری کاتالوگ (نسخه نام بسته بندی) برای اهداف ما مهم است، و خوشبختانه بسته Dillo با آنها منطبق است. همچنین مهم است که بایگانی منبع برای یک سطح بالای دایرکتوری منبع قرار گیرد.

مرحله 07: پیکربندی زیر دبیان

دایرکتوری اسکریپت DH_MAKE را به دایرکتوری تازه Unpacked منتقل کنید، که از بسیاری از کار مراقبت می کند - یک فایل پیکربندی را اضافه می کند و یک ساختار دایرکتوری را ایجاد می کند و بخشی از رونویسی Developer است که ما قبلا اضافه کرده ایم.

dh_make -e -c license -f ../

به عنوان مثال، خطوط فرماندهی خط فرمان به نظر می رسد:

dh_make -c gpl3 -e [ایمیل محافظت شده] -f ../dillo-3.0.3.tar.bz2.

هنگامی که پرس و جو ظاهر می شود، یک فایل باینری را انتخاب کنید. اسکریپت دستیار اسکریپت باید یک پوشه را با نام دبیان در دایرکتوری منبع ایجاد کند.

مرحله 08: فایل کنترل را باز کنید

فایل کنترل را در زیر شاخه دبیان در ویرایشگر متن باز کنید. بخش "صفحه اصلی" را پر کنید (از Google برای پر کردن لیست بخش برنامه دبیان استفاده کنید) و زمینه های توضیحات این فایل.

مرحله 09: وابستگی ها را بررسی کنید

شما می توانید کشف کنید که کدام وابستگی ها لازم است برای شروع برنامه ارائه شده به عنوان یک بسته. به دایرکتوری کد منبع بروید و فرمان DPKG-DPCheck -D را در ترمینال تایپ کنید ./configure. اگر این کار را انجام دهید، خطاهای صادر می شود که نشان می دهد که هیچ بسته ای برای مونتاژ برنامه (به طور جداگانه ارائه شده) وجود ندارد. شما می توانید این بسته را با تایپ sudo apt-get build-dep [package package] باز کنید، و این باید کمک کند اگر این بسته در مخزن توزیع پشتیبانی شود. اگر پشتیبانی نمی شود، باید بارها و بارها فرمان DPKG-Depcheck -D را اجرا کنید ./configur و بسته های دستی را با تایپ دستور RSUDO APT-GET [نام بسته] اضافه کنید.

مرحله 10: اضافه کردن وابستگی به فایل کنترل

هنگامی که تمام اقدامات از مرحله قبلی تکمیل می شود، باید لیستی از تمام بسته های لازم را داشته باشید. اضافه کردن این فهرست وابستگی به بخش بستگی بخش: فایل کنترل. عنصر در لیست باید توسط کاما و یک فضای جدا شود.

سعی کنید این مرحله را به طور کامل اجرا کنید تا بتوانید آن را به طور کامل انجام دهید و آن را از دست ندهید. منبع: - این معمولا صفحه اصلی پروژه است. در بخش فایل ها: * اطلاعات کپی رایت را در نام نویسندگان پروژه جایگزین کنید. شما می توانید یک مثال را در فایل ها مشاهده کنید: بخش دبیان / *، که در آن اطلاعات مربوطه باید وارد شود. ممکن است برای پیدا کردن اطلاعاتی که نیاز دارید، ممکن است کمی کارآگاهی داشته باشید. جستجو در دایرکتوری با فایل های کد منبع مانند نویسندگان و کپی کردن.

مرحله 12: تغییر فایل ورود به سیستم

فایل ورود به سیستم را باز کنید و مطمئن شوید که نام و آدرس ایمیل با کسانی که هنگام ایجاد یک کلید GPG وارد می شوند، هماهنگ شده است. معمولا، دستیار اسکریپت می تواند یک نام کاربری را به فایل اضافه کند، و نه نام واقعی شما. همانطور که با فایل کپی رایت، این پارتیشن را از دست ندهید، زیرا به دلیل این، فرآیند ایجاد یک بسته ممکن است متوقف شود یا یک بسته نادرست ایجاد شود.

مرحله 13: یک بسته ایجاد کنید

اگر همه چیز به درستی پیکربندی شود، ما می توانیم در نهایت یک بسته DEB را جمع آوری کنیم. به دایرکتوری منبع بروید و به منظور جمع آوری یک بسته که در ~ / src / directory قرار داده می شود، دستور DPKG-BuildPackage -B را تایپ کنید. به عنوان مثال، یک بسته را با استفاده از دستور DPKG-I [Package] ایجاد کنید. به منظور بررسی پیکربندی سیاست دبیان، با استفاده از فرمان Lintian [Package]، برنامه Lintian را راه اندازی کنید. لطفا توجه داشته باشید که این ابزار دقیق شناخته شده است، و کسب و کار شما این است که تصمیم بگیرید که آیا برخی از هشدارهای غیر انطباق جزئی برای شما مجاز است. در نهایت، پیمان را با استفاده از دستور sudo dpgk -i [package] تنظیم کنید.

قسمت 2: ایجاد بسته های RPM در فدورا

مرحله 14: فایل کنترل را باز کنید

برو به حالت کاربر ریشه، تایپ کردن سو. از ابزار توسعه ابزارهای توسعه (ابزارهای توسعه) در Yum شروع کنید، و سپس با یام، GCC-C ++ Fedora- Packter را نصب کنید. دستور usermod -a -g mock را تایپ کنید تا کاربر خود را به گروه Mock اضافه کنید. این اجازه می دهد تا ما را به اجرای روش مونتاژ بدون نیاز به رفتن به نقش کاربر ریشه.

مرحله 15: یک محیط مجمع ایجاد کنید

برای خروج از نقش ریشه Ctrl + D را فشار دهید. RPMDev-Setuptree را وارد کنید تا یک درخت دایرکتوری (تحت ~ / rpmbuild) که ما نیاز داریم را ایجاد کنیم.

مرحله 16: بایگانی را دانلود کنید و آن را به جای مناسب منتقل کنید.

دانلود بسته Dillo از وب سایت Dillo و حرکت آرشیو به دایرکتوری مناسب - نوع فرمان MV [آرشیو نام] ~ / rpmbuild / منابع را تایپ کنید.

مرحله 17: ایجاد file.spec

توزیع های ایجاد شده بر اساس کلاه قرمز، مانند Fedora، استفاده از فایل های استفاده شده برای مشخص کردن فرآیند مونتاژ. سوئیچ به دایرکتوری که در آن فایل ها با استفاده از CD Command ~ / RPMBuild / Specs / AndcreateAblank.Spec وجود دارد و یک فایل خالی را با استفاده از دستور RPMDev-Newspec Dillo ایجاد کنید.

مرحله 18: ویرایش file.spec

دستور Gedit Dillo.spec را تایپ کنید. فیلدهای نسخه، مجوز خلاصه (خلاصه) (مجوز) را پر کنید (در این مورد - GPLv3 +). URL صفحه اصلی پروژه را نشان می دهد؛ Source0 آدرس کد منبع را نشان می دهد. مشخص کردن نظرات در زمینه های BuildRequires (الزامات برای مونتاژ) و نیاز به. توضیحات کامل را به منطقه توصیف٪ اضافه کنید.

مرحله 19: مونتاژ کد منبع را دنبال کنید

اگر بسته به طور کلی در سیستم پشتیبانی می شود، دستور فرمان yum-builddep را اجرا کنید [نام بسته] نام. در غیر این صورت، شما باید دستور مونتاژ را به منظور دریافت پیام های خطا تکرار کنید یا مستندات را در بایگانی با کد منبع جستجو کنید. در دایرکتوری SPEC، دستور rpmbuild -ba [نام بسته] را تایپ کنید .SPEC. اگر این مونتاژ نتواند، و پیام های مربوط به فایل های اضافی غیر بسته بندی شده صادر می شود، این لیست فایل ها را به بخش فایل فایل٪ فایل های ذخیره می کند. SPEC و تکرار دستور مونتاژ. در حال حاضر بسته در دایرکتوری RPMS خواهد بود. دستور rpm -ivh [package] را تایپ کنید تا آن را نصب کنید. شماره RPM -QA را شماره گیری کنید grep [package] به منظور اطمینان از نصب آن.

من سعی خواهم کرد فرآیند ایجاد بسته های DEB را تنظیم کنم زیرا شما می توانید مثال Ruby-Zookeper را تنظیم کنید. من بلافاصله هشدار می دهم که روش پچ کردن جواهرات روبی که توسط من توضیح داده شده اشتباه است، بهتر است از Gem2Deb برای این استفاده شود، اما از آن زمان از منابع با استفاده از Gem2Deb برای جمع آوری Ruby-Zookeper از آخرین نسخه، من کار نمی کردم، سپس ساده ترین روش مونتاژ.

اگر بسته های روبی را جمع آوری کنید، به عنوان توصیه شده، از طریق Gem2Deb، سپس بهتر است یک رشته اضافه کنید

صادرات dh_ruby_ignore_tests \u003d all / upport dh_ruby_ignore_tests \u003d all

در دبیان / قوانین.

زیرا ما کد روبی را جمع آوری خواهیم کرد، سپس ما به روبی و مجموعه ای از ابزارهایی برای جمع آوری بسته های دب نیاز داریم.

sudo apt-get install ruby \u200b\u200bdpkg-dev

اگر شما یک نسخه قدیمی از Ruby دارید، هیچ دستور GEM در آن وجود ندارد، شما همچنین باید بسته RubyGEMS را نصب کنید یا Ruby را به روز کنید.

اکنون GEM را نصب کنید fpmچه کسی بسته را برای ما جمع آوری خواهد کرد.

SUDO GEM نصب FPM FPM -S GEM -T DEB ZOOKEEPER

در دایرکتوری فعلی، ما یک بسته rubygem-zookeper_1.4.11_amd64.deb داریم، به نظر می رسد که این مورد در حال حاضر در کلاه است، اما به دلیل ما به یک بسته منبع نیاز داریم، به طوری که شما می توانید از آن Deb، به عنوان مثال در OBS، جمع آوری، پس ما ادامه خواهیم داد.

دایرکتوری مونتاژ را ایجاد کنید

CP RUBYGEM-ZOOKEEPER_1.4.11_AMD64.DEB ~ / CD MKDIR -P RUBY-ZOOKEEPER / FAKEROOT CD RUBY-ZOOKEEPER / FAKEROOT

به یاد محتوای فقط بسته جمع آوری شده

dpkg-deb -r ~ / rubygem-zookeper_1.4.11_amd64.deb ruby-zookeper_1.4.11-1

در حال حاضر ما فایل های مورد نیاز برای ساخت یک بسته را ایجاد خواهیم کرد. آنها باید در دایرکتوری دبیان باشند. بخشی از فایل ها ما می توانیم از بسته بسته نشده کپی کنیم.

MKDIR DEBIAN CP RUBYGEM-ZOOKEEPER_1.4.11-1 / دبیان / کنترل دبیان / کنترل

آن را تا زمان بعدی ویرایش کنید. فراموش نکنید که نگهدارنده را تغییر دهید

منبع: Ruby-Zookeeper نگهدارنده: بخش: بریتانیا بستگی دارد: Debwelper (\u003e \u003d 7.0.50 ~) اولویت: صفحه اصلی اضافی: https://github.com/slyphon/zookeeper بسته بندی: Ruby-Zookeeper معماری: AMD64 بستگی دارد: $ (Shlibs: بستگی دارد)، $ (MISC: بستگی دارد)، شرح روبی: یک بسته بندی چند روبی پایین در اطراف ZooKeeper پیوند API. برای یک رابط دوستانه، به http://github.com/slyphon/zk مراجعه کنید. در حال حاضر پشتیبانی: MRI: (1.8.7، 1.9.2، 1.9.3)، Jruby: ~\u003e 1.6.7، Rubinius: 2.0.Testing، Ree 1.8.7. . این کتابخانه از نسخه 3.4.5 از زوج های Zookeeper استفاده می کند.

ما هنوز به دبیان / قوانین نیاز داریم. اونو بساز. override_dh_shlibdeps نیاز به بررسی لینک کتابخانه های لینکیپر، چرا که او عبور نمی کند

#! / usr / bin / make -f # - * - makefile - * -٪: DH [ایمیل محافظت شده] override_dh_shlibdeps: درست است.

Tabulations در debian / قوانین مورد نیاز است، غیر ممکن است که آنها را در فضاهای جایگزین. بیایید آن را اجرا کنیم

chmod + x دبیان / قوانین

USR / * var / *

حالا بیایید Debian / Changelog را ایجاد کنیم و آن را نصب کنیم:

Ruby-Zookeeper (1.4.11-1) منتشر نشده است؛ فوریت \u003d متوسط \u200b\u200b* انتشار اولیه - ریشه Wed، 25 Nov 2015 20:01:55 +0300

ما همچنین به Debian / Compat نیاز داریم

echo 7\u003e debian / compat

کپی فایل هایی که در دایرکتوری محلی نصب می شوند و پوشه را با بسته بسته نشده حذف کنید، دیگر مفید نیست.

mv ruby-zookeper_1.4.11-1 / (USR، var). RM -R Ruby-Zookeeper_1.4.11-1

ما یک بسته جدید و همچنین بسته منبع را جمع آوری می کنیم.

DPKG-BUILDPACKAGE -RFAKEROOT -UC -F

در دایرکتوری، ما تمام فایل های لازم را داریم.

ll .. مجموع 5528 DRWXR-XR-XR 3 ریشه ریشه 4096 Dec 20 13:32 ./ DRWX ------ 12 ریشه ریشه 4096 Dec 20 13:31 .. RWXR-XR-X 5 ریشه 4096 ریشه 20 13:28 Fakeroot / -RW-R - R-- 1 ریشه ریشه 1261 Dec 20 13:32 Ruby-Zookeeper_1.4.11-1_amd64.hanges -RW-R - R-- 1 ریشه ریشه 2375044 Dec 20 13: 32 Ruby -zookeeper_1.4.11-1_amd64.deb -RW-R - R-- 1 ریشه ریشه 565 Dec 20 13:32 Ruby-Zookeeper_1.4.11-1.DSC -RW-R - R-- 1 ریشه ریشه 3263381 Dec 20 13: 32 ruby-zookeper_1.4.11-1.tar.gz

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

فایل DEB یک آرشیو در فرمت است arحاوی نصب کننده های برنامه، اطلاعات برنامه، و همچنین اسکریپت ها (فایل های فرماندهی)، قبل و بعد از نصب و حذف برنامه (حضور اسکریپت اجباری نیست - آنها ممکن است در بسته نباشد).

فرمت فایل دب در Man-Help توضیح داده شده است همچنین در اینترنت چند صفحه ای وجود دارد که شامل این اطلاعات هستند - کافی است برای شماره گیری در نوار جستجو دب (5) برای پیدا کردن آنها. این راهنما در اینجا به عنوان کتابچه راهنمای رسمی برای توسعه دهندگان دبیان داده نمی شود، در گواهی فرمت بسته (که در زمان نوشتن این راهنمای در http://www.debian.org/doc/manuals/debian-faq واقع شده است / ch pkg_basics.en.html) نوشته شده است که فرمت بسته ممکن است متفاوت باشد، بنابراین توصیه می شود از ابزار DPKG-DEB برای کار با آنها استفاده کنید. کمک به کار با ابزار DPKG-DEB را می توان با تایپ دستور MAN DPKG-DEB در ترمینال به دست آورد.

عملیات برنامه GUI-DEB ایجاد یک دایرکتوری حاوی اطلاعات لازم است و برنامه DPKG-DEB را نشان می دهد که این فهرست و سایر پارامترهای لازم را نشان می دهد.

دایرکتوری صحیح مورد نیاز برای ایجاد بسته نصب DPKG-DEB باید، بالاتر از همه، حاوی دایرکتوری "دبیان" باشد. تمام داده هایی که به سیستم کپی نشده اند باید در این پوشه باشند و برنامه ها به طور مستقیم به کار با بسته ها استفاده می شود - اطلاعات مربوط به بسته انجام شده قبل و بعد از نصب گودال ضایعات و غیره هنگام نصب بسته، هیچ فایل موجود در دایرکتوری دبیان وجود ندارد که بسته به سیستم فایل کامپیوتری که بسته نصب شده است، سقوط نخواهد کرد.

خارج از دایرکتوری "دبیان" شامل آن فایل هایی است که به سیستم فایل کامپیوتری کپی می شود که بسته آن نصب می شود. فایل ها باید در این دایرکتوری ها قرار گیرند که در هنگام نصب بسته قرار می گیرند. یعنی، در داخل دایرکتوری ایجاد شده برای DPKG-DEB، یک کپی از قطعات سیستم فایل فایل باید ایجاد شود - به طوری که این فهرست ریشه ("/"). یعنی، بیایید بگوییم اگر نام دایرکتوری بر اساس آن بسته "~ / tmp_debs / myProgram" ایجاد شود، و لازم است که هنگام نصب در سیستم فایل در "/ usr / share / pixmaps" "دایرکتوری فایل پرونده" myProgram.png "- شما باید دایرکتوری" USR "را در دایرکتوری" ~ / tmp_debs / myProgram "ایجاد کنید، در آن - دایرکتوری" اشتراک "، در داخل" اشتراک "- دایرکتوری" PixMaps "، و "PixMaps" دایرکتوری "myProgram.png" را قرار دهید. به عنوان یک نتیجه، مسیر کامل به فایل "~ / tmp_debs / myprogram / usr / share / pixmaps / myprogram.png" خواهد بود. هنگام ایجاد یک بسته، بخشی از دایرکتوری "~ / tmp_debs / myProgram" قطع می شود، و هنگام نصب فایل "myProgram.png" فقط در آدرس دلخواه "/ usr / share / pixmaps" می شود. بنابراین، دایرکتوری های لازم برای هر فایل باید ایجاد شوند.

پس از ایجاد دایرکتوری، فقط DPKG-DEB باقی می ماند، پارامترهای مورد نیاز را منتقل می کند. ضروری ترین پارامترهای DPKG-DEB در "تنظیمات خط فرمان برای ابزار DPKG-DEB" توصیف شده است. در صورت عدم وجود اشتباهات در فایل کنترل، بسته نصب ایجاد خواهد شد.

چندین راه برای نصب برنامه ها وجود دارد. تقریبا هر کس بخش مشترک دارد - برای باز کردن منابع:

tar xvfj mega_app.tar.bz2.

tar xvfz mega_app.tar.gz.

اجرای دستور ./configure، سپس ساختن. این دستورات برای ساخت فایل های اجرایی کد منبع، کتابخانه ها و TP استفاده می شود.
به طور جداگانه، ارزش اول را ذکر می کند - ./configure
اگر انجام دهید ./configure - help.سپس شما لیستی از پارامترهایی را دریافت خواهید کرد که می توانند منتقل شوند ./configure
به عنوان مثال، چنین فرمان اغلب امکان پذیر است:

./configure --prefix \u003d / opt / mega_app

یا مسیر را به کتابخانه نشان دهید، که به دلایلی خود را پیدا نکردید:

./configure - -kerberos-lib \u003d / opt / kerberos / lib

کلاسیک
بنابراین ما یک دنباله داریم:

./configure ساخت

و تیمی که در واقع تمام اجزای برنامه را در سیستم ایجاد می کند:

نصب کردن

هشدار !!! با استفاده از این روش، مشکلات بسیار جدی در آینده آسان است. اول، به احتمال زیاد، شما قادر به حذف برنامه نخواهید بود (حذف کنید).

ما از برنامه CheckInstall استفاده می کنیم.
راه درست. پس از اتمام کل بخش، شما شروع می کنید:

این برنامه خود را در مورد همه چیز از شما می پرسد، و شما فقط می توانید وارد شوید در همه جا.
مرد چکمه همچنین راه بسیار خوبی است :))

یک بسته را با منابع منبع برای دبیان بسازید.
این یک مسیر جداگانه و چالش برانگیز است - شما باید با بسیاری از جنبه های ایجاد بسته های deb (یا هر چیز دیگری) مقابله کنید. در اینجا این مسیر به طور کامل توصیف نمی شود، تنها نمونه ای از نحوه جمع آوری یک بسته از مواد قدیمی آموزش دیده است.
بنابراین یک مثال. ما به بسته ها می رویم o ...) و پچ به آن، که منابع را تصحیح می کند و یک پوشه دبیان را با قوانین فایل سحر و جادو در داخل (http: // archive.ubuntu.com/ubuntu/pool/main/d/diffutils/diffutils_2 ایجاد می کند. 8.1-1 ...)
آنها را به پوشه ~ / تست کپی کنید و شروع به باز کردن منابع کنید:

tar xvfz diffutils_2.8.1.orig.tar.gz.

و سپس پچ را ترک کنید:

سی دی diffutils-2.8.1 / gzip -cd ../diffutils_2.8.1-11ubuntu4.diff.gz | پچ -P1

حالا شما باید انجام دهید دبیان / قوانین. اجرایی:

chmod + x دبیان / قوانین

و جمع آوری بسته:

fakeroot debian / قوانین باینری

Fakeroot مورد نیاز برای ساخت یک بسته توسط کاربر معمولی (معمولا بسیاری از عملیات مورد نیاز شما اجازه نمی دهد شما را به یک بسته).

ls ../ diff_2.8.1-11ubuntu4_i386.deb diffutils-2.8.1 diffutils_2.8.1-11ubuntu4.diff.gz diffutils_2.8.1.orig.tar.gz

همانطور که می بینید، بسته آماده است.

یا دبیان:

wget name package.dsc، package_name.diff.gz نام، package.orig.tar.gz dpkg-source -x_pack_name.dsc cd. • _packet / dpkg-buildpackage -RFAKEROOT

نتیجه
روش های هنوز هم وجود دارد - یک بسته را از ابتدا تا انتها ایجاد کنید. ما باید یک کتابچه راهنمای کاربر را برای ایجاد بسته ها از توزیع آن و مطالعه این روند از و به آن بپذیریم. بسته ها را خیلی خوب و ضروری بسازید. اگر شما یک مجمع خوب ساخته اید - توزیع را به توسعه دهندگان پرتاب کنید، از مربوطه حمایت کنید. به یاد داشته باشید که حتی یک بسته پشتیبانی شده توسط شما ممکن است صدها نفر از مردم در سراسر جهان مفید باشد.

ما یک شکست کوچک را خواهیم گرفت و به ویدیو در مورد بهینه سازی سایت نگاه می کنیم: