برنامه ای برای ایجاد بسته های deb. ایجاد بسته های RPM یا DEB با Checkinstall در لینوکس

صفحه اصلی / سیستم عامل ها

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

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

برنامه GUI-deb با ایجاد دایرکتوری حاوی داده های لازم و اجرای برنامه dpkg-deb، مشخص کردن این دایرکتوری و سایر پارامترهای ضروری کار می کند.

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

خارج از دایرکتوری "DEBIAN" حاوی فایل هایی است که در سیستم فایل رایانه ای که بسته روی آن نصب می شود کپی می شود. فایل ها باید در دایرکتوری هایی که در هنگام نصب بسته در آن قرار می گیرند قرار گیرند. یعنی در داخل دایرکتوری ایجاد شده برای dpkg-deb، باید یک کپی از قسمت‌های فایل سیستمی که نیاز داریم ایجاد شود - مثل اینکه این دایرکتوری ریشه آن باشد ("/"). به عنوان مثال، اگر نام دایرکتوری که بسته بر اساس آن ایجاد می شود "~/TMP_DEBS/MyProgram" باشد و لازم است که هنگام نصب در سیستم فایلفایل "MyProgram.png" در دایرکتوری "/usr/share/pixmaps" نوشته شد - شما باید یک دایرکتوری "usr" در دایرکتوری "~/TMP_DEBS/MyProgram" ایجاد کنید، در آن - یک دایرکتوری "share"، داخل "share" - یک فهرست "pixmaps" "، و فایل "MyProgram.png" را در فهرست "pixmaps" قرار دهید. در نتیجه، مسیر کامل فایل "~/TMP_DEBS/MyProgram/usr/share/pixmaps/MyProgram.png" خواهد بود. هنگام ایجاد یک بسته، بخشی از دایرکتوری "~/TMP_DEBS/MyProgram" قطع می شود و در هنگام نصب فایل "MyProgram.png" به آدرس مورد نظر "/usr/share/pixmaps" ختم می شود. بنابراین، دایرکتوری های لازم برای هر فایل باید ایجاد شود.

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

یک لیست از بسته ها ایجاد کنید:

$dpkg-scanpackages. /dev/null | gzip -9c > ./Packages.gz
ممکن است پیامی مانند زیر دریافت کنیم:

بسته‌های Dpkg-scan: هشدار: بسته‌ها در بایگانی هستند اما در فایل نادیده گرفته نمی‌شوند: dpkg-scanpackages: هشدار: فسیلی linux-headers-3.8.0-avl9-pae linux-image-3.8.0-avl9-pae pdfsam sublimetext2 virtualbox-4. -xorg-input-wacom zotero dpkg-scanpackages: اطلاعات: 8 ورودی به فایل بسته های خروجی نوشت.
اکنون 8 بسته در مخزن ما وجود دارد. عالی است، بیایید مخزن خود را به فایل اضافه کنیم:

خطی مانند:

فایل Deb:///home/username/zips/virensdebianrepository./
اکنون باید لیست بسته ها را به روز کنید تا برای نصب در دسترس باشند:

تمام است، اکنون می توانید، برای مثال، ویرایشگر متن تازه مونتاژ شده Sublime Text 2 (دستورالعمل های عالی در آنجا) مانند همیشه نصب کنید: اکنون، برای نصب SublimeText، فقط این کار را انجام دهید:
# apt-get install sublimetext

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

نیاز به دریافت 0 B/11.4 مگابایت بایگانی دارید.

پس از این عملیات، 17.4 مگابایت فضای دیسک اضافی استفاده خواهد شد.

هشدار: بسته های زیر قابل احراز هویت نیستند! sublimetext این بسته ها را بدون تأیید نصب کنید؟ Y انتخاب متن فرعی بسته که قبلاً انتخاب نشده است.(خواندن پایگاه داده ... 247813 فایل و دایرکتوری در حال حاضر نصب شده است.) باز کردن بسته بندی متن فرعی (از ..././sublimetext_2.0.2_i386.deb) ... راه اندازی sublimetext (2.0.2) ... همین، بسته بسته بندی و نصب می شود و این واقعیت که از مخزن محلی است را می توانید در اینجا مشاهده کنید: (از ..././sublimext_2.0.2_i386.deb)

نتیجه گیری

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

تشکر ویژه از رفیق
جریان مغزی

، که به یک اشکال در پست مربوط به رندر محیط PRE اشاره کرد. این زمانی اتفاق می افتد که به صنایع دستی Haskell مانند pandoc اعتماد کنید :-)

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

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

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

یک خطایی در متن شما وجود دارد:

اکنون، برای نصب اسکایپ، فقط این کار را انجام دهید:

# apt-get install sublimetext "

می توانید بسته ها را با استفاده از dpkg-deb باز کنید:

2. آیا مونتاژ کرده اید، نصب کرده اید و فکر می کنید که تمام است؟ چنین شانسی وجود ندارد، یک استعداد خوب می تواند بسته را هنگام نصب چیز دیگری به جهنم نابود کند. آیا این احساس را می دانید: چگونه؟ کجا؟ چی؟ من قبلا این پکیج رو نصب کردم!!! خوب، این استعداد اوست - او تماماً ارتدوکس است، به این معنی که او مردسالار است و اجازه آزاداندیشی را نمی دهد.

3. بنابراین، یک مانور فوری لازم است: بسته نگهدارنده استعداد. "چه، آیا آن را خوب نگه می دارد، حالا آنقدر مهربان باشید که پوست آن را جدا کنید؟" (ج) زیرا از این پس aptitude شکایت خواهد کرد که قادر به رفع وابستگی ها بدون از بین بردن بسته شما نیست.

4. در این مرحله اعصابم خورد... و جنتو را کشف کردم و دوباره موهایم نرم و ابریشمی شد!

اکنون، برای نصب اسکایپ، فقط این کار را انجام دهید:

نظرات @iv_vl...
و جنتو و موهایم را کشف کردم...
روابط عمومی وقیحانه جنتا؟! در مال منوبلاگ؟؟؟ راهی نیست! ;-)

1. بسته deb باید حاوی نگهدارنده و مزخرفات دیگر باشد
خط مشی استاندارد - باید بدانید که برای یک بسته شکسته به صورت چه کسی مشت بزنید :-) و سپس، این به هیچ وجه بهتر از بدلم است که در فدوراهای RPM و zyuza وجود دارد.

2. آیا مونتاژ کرده اید، نصب کرده اید و فکر می کنید که تمام است؟ چنین شانسی وجود ندارد، یک استعداد خوب می تواند بسته را در هنگام نصب چیز دیگری به جهنم نابود کند.
فقط در صورت قرار دادن بسته نسخه قدیمی- به عنوان مثال، من روی IceWM نگه دارم، که آن را از Lenny نصب کردم (نگهدار کننده احمق یک یخ را با یک سینی شکسته در Squeeze پر کرد). استعداد قبل از انجام چنین مانورهایی به شما هشدار می دهد.

3. بنابراین، نیاز فوری به یک مانور است: بسته aptitude hold .... aptitude سوگند یاد می کند که قادر به رفع وابستگی نیست.
این یک دروغ و یک تحریک است: فقط اگر چیزی مانند gcc یا glibc را متوقف نکرده باشید، وابستگی ها را به طور معمول برطرف می کند. برخلاف RPM ها، که دوست دارند فوراً به سبک "خب، نتوانستم، نتوانستم" تسلیم شوند :-)

ممکن است مشکلاتی در رزولوشن وابستگی وجود داشته باشد، این یک واقعیت است، اما بهتر از سرخ کردن بیکن و تخم مرغ روی پردازنده در زمان انتظار برای پایان دانلود Genta از KDE تازه است...

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

iv_vl

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

با کمک بسته های deb، می توانید به راحتی استقرار را در سرورهای خود سازماندهی کنید. در عین حال، شما نسخه سازی و همه چیز را خواهید داشت. من اغلب از اوبونتو استفاده می کنم، بنابراین ما به طور خاص در مورد بسته های deb صحبت خواهیم کرد که می توانند با استفاده از برنامه های کاربردی apt نصب یا حذف شوند.

برای ایجاد مخزن خود با بسته ها چه کاری باید انجام دهید؟ برای مثال می توانید از همان launchpad.net استفاده کنید. اما، اخیرا، خیلی خوب توسعه نمی یابد و غیر قابل اعتماد به نظر می رسد. علاوه بر این، استفاده از آن برای توسعه‌های غیرتجاری شما راحت است، اما استفاده از آن برای توزیع نرم‌افزار سازمانی مشکل‌ساز خواهد بود.

بیایید از طرف دیگر به مشکل نگاه کنیم. در مرحله اول، ما باید بسته‌های deb را جمع‌آوری کنیم، و این کار به راحتی با استفاده از ابزار dpkg-deb انجام می‌شود. ثانیاً باید این بسته ها را در جایی قرار دهیم و برای این کار از فوق العاده ساده استفاده می کنیم

پکیج های ساختمانی

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

پروژه/ |- bin/ | |- پروژه |- src/ | |- github.com/ | |- 4gophers/ | |- پروژه/ | |- main.go |- فروشنده/

وقتی gb build را اجرا می کنم، تمام باینری ها در پوشه bin ساخته می شوند. بنابراین، تنها چیزی که نیاز داریم این است که مشخصات بسته deb آینده خود را مستقیماً به پوشه پروژه اضافه کنیم:

پروژه Mkdir/پروژه لمسی DEBIAN/DEBIAN/کنترل

نتیجه ساختاری مانند زیر خواهد بود:

پروژه/ |- DEBIAN/ | |- کنترل |- bin/ | |- پروژه |- src/ |- فروشنده/

در فایل کنترل باید اطلاعاتی در مورد بسته خود مشخص کنیم. خط آخر خالی را فراموش نکنید:

بسته: پروژه اولویت: اختیاری بخش: توسعه نصب شده-اندازه: 100 نگهدارنده: ایوان ایوانف معماری: i386 نسخه: 1.0 بستگی دارد: libc6 (>= 2.1) توضیحات: توضیحات کوتاه در اینجا توضیحات طولانی در اینجا

  • بسته - نام بسته شما
  • اولویت - اولویت بسته (اختیاری، اضافی، استاندارد، مهم، مورد نیاز) برای برنامه های معمولی بهتر است اختیاری تنظیم شود.
  • بخش - بخشی که به آن تعلق دارد این بسته(مدیر، پایه، کام، مشارکت، توسعه، سند، ویرایشگر، الکترونیک، جاسازی شده، بازی، گنوم، گرافیک، همرادیو، مترجم، kde، libs، libdevel، نامه، ریاضی، متفرقه، شبکه، اخبار، غیر رایگان، Oldlibs , otherosfs, perl, python, Science, shells, sound, text, text, utils, web, x11)
  • اندازه نصب شده - اندازه فایل های بسته به کیلوبایت
  • Maintainer - نام و ایمیل سازنده بسته
  • معماری - معماری پردازنده ای که بسته برای آن در نظر گرفته شده است (i386، amd64، همه، منبع، همه)
  • نسخه - نسخه بسته
  • Depends - در این قسمت باید نام بسته هایی که بسته شما به آنها وابسته است را مشخص کنید (مثلا کتابخانه ها)
  • توضیحات - در خط اول شرح کوتاهی از بسته را می نویسیم، در بقیه با جزئیات بیشتر

هر چیزی که در پوشه پروژه است به بسته می رود. و پوشه bin هم. این پوشه حاوی فایل باینری ما است که باید نصب شود. برای اینکه فایل های شما به دایرکتوری مورد نظر در رایانه کاربر ختم شوند، باید ساختار دایرکتوری مناسب را در داخل پوشه پروژه خود ایجاد کنید.

شایان ذکر است که این رویکرد برای ایجاد بسته های deb صحیح ترین نیست. البته، در مورد ما، ما آگاهانه این مرحله را انجام می‌دهیم، اما باید بدانید که بسته deb حاوی تمام محتویات پوشه پروژه از جمله پوشه‌های src، vendor و غیره خواهد بود. البته می‌توانید فایل‌ها را در پوشه دیگری کپی کنید و حتی یک اسکریپت برای این کار بنویسید، اما همه چیز قبلاً اختراع شده است. بیشتر راه درست- این برای استفاده از ابزارهای dh_make و dpkg-buildpackage است.

اکنون می توانید بسته را مونتاژ کنید. برای انجام این کار، دستور را یک سطح بالاتر اجرا کنید:

پروژه ساخت Dpkg-deb -z8 -Zgzip

یک سطح بالاتر، یک فایل project.deb ایجاد می شود که می توان آن را با استفاده از دستور نصب کرد:

Sudo dpkg -i project.deb

مخزن بسته خود شما

حالا بریم سراغ قسمت سرگرم کننده. چگونه بسته های خود را توزیع کنیم؟ البته بیایید سرور مخزن خودمان را راه اندازی کنیم. و برای این کار از apt repository server deb-simple استفاده خواهیم کرد.

این یک سرور واقعا ساده است که فقط با یک دستور قابل نصب است:

برو github.com/esell/deb-simple را دریافت کن

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

سپس باید سرور را راه اندازی کنید. این را می توان با استفاده از docker انجام داد، اما من ترجیح می دهم از supervisor استفاده کنم. در اینجا یک نمونه از تنظیمات سرویس من است:

Command=/home/user/go1.5/bin/deb-simple directory=/home/user/deb-simple/ autorestart=true stdout_logfile=none

در اینجا مهم است که مسیر باینری (فرمان) و پوشه کاری (دایرکتوری) را که پیکربندی خود را در آن قرار می دهیم، نشان دهیم.

سرور deb-simple از https پشتیبانی می کند، اما ما هنوز به آن نیاز نداریم. برای مخازن، باید یک پوشه repo ایجاد کنید. پیکربندی conf.json ما به شکل زیر خواهد بود:

( "listenPort" : "9090"، "rootRepoPath": "/home/user/deb-simple/repo"، "supportedArch" : ["all"،"i386"،"amd64"]، "enableSSL" : false، "SSLcert" : "server.crt"، "SSLkey": "server.key")

برای آپلود یک بسته در مخزن خود، باید از HTTP API خود سرویس استفاده کنید:

Curl -XPOST "http://localhost:9090/upload?arch=amd64" -F" [ایمیل محافظت شده]"

به همین ترتیب برای حذف:

Curl -XDELETE "http://localhost:9090/delete" -d "("نام فایل":"project.deb"،"arch":"amd64")"

تنها کاری که باید انجام دهیم این است که سرور مخزن خود را به لیست در /etc/apt/source.list.d/ اضافه کنیم. می توانید ایجاد کنید فایل جداگانهبا مطالب:

Deb http://my-hostname:9090/ stable main

اکنون به‌روزرسانی sudo apt-get را اجرا کنید و برنامه‌های خود را به دلخواه خود نصب کنید.


نویسنده: مایکل رید
تاریخ انتشار: 4 ژانویه 2014
ترجمه: N. Romodanov
تاریخ انتقال: ژوئن 2014

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

ما شما را در فرآیند ایجاد بسته های نرم افزاری برای دو سیستم بسته محبوب DEB و RPM راهنمایی می کنیم. می‌توانید از این تکنیک‌ها برای بسته‌بندی نرم‌افزار خود استفاده کنید، یا حتی بسته‌هایی را برای نرم‌افزارهایی که احساس می‌کنید زیر رادار پرواز می‌کنند، نگهداری کنید.

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

در مورد برنامه، ما از مرورگر وب سبک Dillo به عنوان یک بسته نمونه ساخته شده از کد منبع استفاده می کنیم. هنگام ساخت از منبع، اگر ساختن آنطور که انتظار می رود کار نکند، می توانید طبق معمول، راه حل ها را در اینترنت جستجو کنید. به عنوان مثال، در مورد Dillo 3.0.3، به دلیل نادیده گرفتن بایگانی کد منبع، ما مجبور شدیم "LIBS = -lX11" را قبل از دستورات ساخت اضافه کنیم تا دستورات کار کنند.

ساخت در خط فرمان انجام می شود

منابع

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

توضیحات مرحله به مرحله

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

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

مرحله 02:بیایید از صفر شروع کنیم

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

قسمت 1: دبیان

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

ما با نصب اکثر ابزارهایی که برای ایجاد برنامه ها از کد منبع نیاز داریم شروع می کنیم. شماره گیری:

$ sudo apt-get install build-essential autoconf automake autotools-dev

اکنون باید ابزارهایی را که برای کار با بسته های DEB استفاده می شود را نصب کنیم. این کار را با دستور زیر انجام دهید...

$ sudo apt-get install dh-make debhelper devscripts fakeroot xutils lintian pbuilder

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

اگر در گذشته یک کلید عمومی GPG ایجاد نکرده اید، باید اکنون یکی را ایجاد کنید تا بتوانید بسته ها را امضا کنید. ابتدا متن gpg –gen-key را وارد کنید. مقادیر پیش فرض را انتخاب کنید و هنگامی که از شما خواسته شد، نام واقعی و اطلاعات تماس خود را وارد کنید. تمام داده ها را با دقت یادداشت کنید، زیرا بعداً باید آنها را دقیقاً در فایل پیکربندی مطابقت دهیم. پس از این، دستور ls ~/.gnupg را تایپ کنید تا مطمئن شوید که کلید جدید وجود دارد (این فایل firstname_lastname.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 باز کنید. توجه داشته باشید که پیروی از قراردادهای نامگذاری دایرکتوری (packagename-version) برای اهداف ما مهم است و خوشبختانه بسته Dillo از آنها پیروی می کند. همچنین مهم است که آرشیو کد منبع یک سطح بالاتر از فهرست کد منبع باشد.

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

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

Dh_make -e -c License -f ../

در مثال ما، خط فرمانبه این صورت خواهد بود:

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

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

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

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

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

شما می توانید تحقیق کنید که چه وابستگی هایی برای اجرای برنامه ای که به صورت بسته ارائه می شود مورد نیاز است. به دایرکتوری با کد منبع بروید و دستور dpkg-depcheck -d ./configure را در ترمینال تایپ کنید. اگر این کار را انجام دهید، خطاهایی دریافت خواهید کرد که نشان می دهد کدام بسته مورد نیاز برای ساخت برنامه گم شده است (به طور جداگانه ارائه می شود). می‌توانید این بسته را با تایپ sudo apt-get build-dep [نام بسته] باز کنید، که اگر مخزن توزیع شما از بسته پشتیبانی می‌کند کمک خواهد کرد. اگر پشتیبانی نمی شود، باید dpkg-depcheck -d ./configur را به طور مکرر اجرا کنید و بسته ها را به صورت دستی با تایپ psudo apt-get install [نام بسته] اضافه کنید.

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

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

سعی کنید این مرحله را تا جایی که می توانید کامل کنید و از آن نگذرید. منبع: - معمولا اینطور است صفحه اصلیپروژه در بخش Files: * اطلاعات کپی رایت را با نام نویسندگان پروژه جایگزین کنید. نمونه ای از پر کردن قسمت Files: debian/* را مشاهده می کنید که باید اطلاعات مربوطه را در آن وارد کنید. شاید لازم باشد کمی کارآگاه باشید تا اطلاعات مورد نیاز خود را پیدا کنید. به دنبال فایل هایی مانند AUTHORS و COPYING در فهرست منبع بگردید.

مرحله 12:فایل گزارش تغییرات را ویرایش کنید

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

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

اگر همه چیز به درستی پیکربندی شده باشد، در نهایت می توانیم بسته DEB را بسازیم. به دایرکتوری منبع بروید و dpkg-buildpackage -b را اجرا کنید تا بسته را بسازید که در دایرکتوری ~/src/ قرار می گیرد. به عنوان مثال، با استفاده از دستور dpkg -I [package] یک بسته ایجاد کنید. برای بررسی انطباق با سیاست های دبیان، برنامه Lintian را با استفاده از دستور lintian [package] اجرا کنید. لطفاً توجه داشته باشید که این ابزار بسیار سخت‌گیرانه است و این شما هستید که تصمیم می‌گیرید که آیا برخی از هشدارهای جزئی عدم انطباق برای شما قابل قبول هستند یا خیر. در نهایت، پیمان را با استفاده از دستور sudo dpgk -i [بسته] نصب کنید.

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

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

با تایپ su به حالت کاربر root بروید. با گروه نصب ابزار توسعه در yum شروع کنید و سپس از yum برای نصب gcc-c++ fedora-packer استفاده کنید. دستور usermod -a -G mock را تایپ کنید تا کاربر خود را به گروه ساختگی اضافه کنید. این به ما اجازه می دهد تا بدون نیاز به روت شدن، مراحل ساخت را انجام دهیم.

مرحله 15:یک محیط ساخت ایجاد کنید

Ctrl + D را فشار دهید تا از نقش اصلی خارج شوید. rpmdev-setuptree را تایپ کنید تا درخت دایرکتوری (در زیر ~/rpmbuild) که نیاز داریم ایجاد کنیم.

مرحله 16:آرشیو را دانلود کرده و به محل مورد نظر منتقل کنید

بسته Dillo را از وب سایت Dillo دانلود کنید و بایگانی را به دایرکتوری مناسب منتقل کنید - mv [نام آرشیو] ~/rpmbuild/SOURCES را تایپ کنید.

مرحله 17:یک فایل spec. ایجاد کنید

توزیع‌های مبتنی بر Red Hat، مانند فدورا، از فایل‌های spec. برای مشخص کردن فرآیند ساخت استفاده می‌کنند. دایرکتوری حاوی چنین فایل هایی را با استفاده از cd ~/rpmbuild/SPECS/andcreateablank.spec تغییر دهید و یک فایل .spec خالی با استفاده از rpmdev-newspec dillo ایجاد کنید.

مرحله 18:فایل spec. را ویرایش کنید

دستور gedit dillo.spec را تایپ کنید. فیلدهای نسخه، خلاصه و مجوز را پر کنید (در در این مورد- GPLv3+). صفحه اصلیپروژه؛ Source0 آدرس کد منبع را مشخص می کند. در فیلدهای BuildRequires و Requires نظرات خود را ارائه دهید. اضافه کنید توضیحات کاملبه قسمت توضیحات %.

مرحله 19:کد منبع را بسازید

اگر بسته به طور کلی در سیستم پشتیبانی می شود، دستور yum-builddep [نام بسته] را اجرا کنید. در در غیر این صورت، برای دریافت پیام های خطا باید دستور ساخت را تکرار کنید یا در آرشیو کد منبع به دنبال مستندات بگردید. در فهرست SPEC، rpmbuild -ba [نام بسته].spec را تایپ کنید. اگر این بیلد با شکست مواجه شد و فایل‌های فشرده‌نشده دیگری را گزارش کرد، این فهرست فایل‌ها را برجسته کرده و در بخش %files فایل.spec کپی کنید و دستور ساخت را دوباره صادر کنید. اکنون بسته در دایرکتوری RPMS قرار خواهد گرفت. برای نصب، rpm -ivh [package] را تایپ کنید. دستور rpm -qa | را تایپ کنید grep [بسته] برای اطمینان از نصب بودن آن.

این مقاله کامل نیست. می توانید در نوشتن آن کمک کنید

    تصحیح سبک مقاله

    با افزودن اطلاعات بیشتر در مورد تهیه کدهای منبع برای debianization

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

./ پیکربندی && ساخت && نصب را حذف نصب کنید

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

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

ممکن است موارد زیرساخت پکیج:

    ساخت از منبع؛

    اسمبلی از فایل های باینری.

کدهای منبع یا فایل های باینری گرفته می شوند:

    نه از مخزن؛

    از مخزن توزیع دیگری؛

    از مخزن نسخه دیگر اوبونتو، از PPA، یا از دبیان.

debianization:

    در دسترس نیست؛

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

    • از نسخه دیگری از برنامه؛

      از نسخه فعلی برنامه:

      • نه از مخزن نسخه فعلی اوبونتو.

        از مخزن نسخه فعلی اوبونتو؛

دلیل مونتاژ:

    نه مخزن فعلی اوبونتو و نه PPA نسخه مورد نیاز برنامه را ندارند.

    به دلایلی از نسخه موجود برنامه راضی نیستید (از کد برنامه یا داده ها، پارامترهای پیکربندی یا اطلاعات کنترلیبسته)؛

    هر دو

ساخت از منبع

آنچه مورد نیاز است

راهنمای کامل مبتدیان برای Debian Developer در دسترس است.

متأسفانه، اطلاعات به زبان روسی کمی قدیمی است، آخرین دستورالعمل ها به زبان انگلیسی موجود است. اما اصول تغییر نکرده است، بنابراین اگر به جزئیات علاقه دارید، بهتر است دفترچه راهنما را به طور کامل مطالعه کنید.

ما حداقل به برنامه های نصب شده توسط دستور نیاز خواهیم داشت

sudo apt-get install autoconf automake libtool autotools-dev dpkg-dev fakeroot

شما همچنین می توانید به صورت خودکار رزرو کنید - این مستندات برای ابزارهای GNU Autoconf، Automake و Libtool است. و البته آنچه که خودشان نیاز دارند کدهای منبعبرای مونتاژ صحیح

ایجاد یک کلید رمزگذاری

این مرحله اختیاری است و می توان آن را نادیده گرفت.

برای ایجاد یک کلید، به برنامه ها → لوازم جانبی → رمزهای عبور و کلیدهای رمزگذاری. در پنجره ای که باز می شود، در منو کلید → کلید جدید، کلید را انتخاب کنید pgp. پر کردن فیلدها نام کاملو آدرس ایمیل.

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

اگر قبلاً آن را ندارید، می‌توانید یک جعبه در برخی از محبوب‌ها ایجاد کنید سرور پست الکترونیکی: به عنوان مثال، gmail.com یا yandex.ru.
این کار باعث می‌شود در آینده برای کسی که شما را نمی‌شناسد، اما به دلایلی با «چیزی» که توسط شما امضا شده است، تماس برقرار کند.
در مرحله بعد، از شما خواسته می شود که یک رمز عبور را به عنوان محافظت اضافی وارد کنید. اگر از کلید خصوصی در ماشین هایی استفاده کنید که نمی توانید 100٪ به آنها اعتماد کنید، می تواند مفید باشد. سمت معکوس- هر بار که چیزی را امضا می کنید باید رمز عبور خود را وارد کنید.

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

بنابراین، شما یک کلید ایجاد کرده اید - اکنون می توان از آن هنگام ایجاد بسته ها استفاده کرد.
برای انجام این کار، در فایل ~/.bashrc، یا در اسکریپت راه اندازی دیگری از پوسته مورد علاقه خود (برای zsh ~/.zshrc)، باید متغیرها را وارد کنید.

DEBEMAIL=ایمیل@ شما را صادر کنید

بر اساس ایمیل، کلید در هنگام امضای بسته در pgp جستجو می شود.
برای اعمال تغییرات باید از سیستم خارج شوید و دوباره وارد شوید.
به یاد داشته باشید که اگر بسته ای را بکپورت می کنید که آن را debianize نکرده اید، باید نسخه را با دستور تغییر دهید

dch -i

تا ایمیل شما در تغییرات لحاظ شود. و برای اینکه کلید عمومی شما به سرور برسد، باید " اسب دریایی→ گذرواژه ها و کلیدهای رمزگذاری»، اتصالی را به سرور کلید عمومی راه اندازی کنید.
برای انجام این کار، در منو ویرایش → گزینه هاروی نشانک انتشار کلیدباید کادر را علامت بزنید انتشار کلید....
اکنون می توانید کلید موجود در منو را توسط انتخاب کنید دکمه سمت راستانتخاب کنید همگام سازی و انتشار کلیدها.

Debianization در دسترس نیست

پس فقط داریم gcoolprog-0.5.3.tar.gz.

من معمولاً کارهای زیر را انجام می دهم:

آماده سازی دایرکتوری کاری

"http://<путь до файла>" #البته می‌توانید آن را از طریق مرورگر دانلود کنید، اما معمولاً سریع‌تر است

فایل را دریافت می کنیم gcoolprog-0.5.3.tar.gz. بیایید آن را باز کنیم و به دایرکتوری حاصل برویم:

tar zxvf gcoolprog-0.5.3.tar.gz سی دی gcoolprog-0.5.3

برای اسمبلی صحیح، دایرکتوری ریشه نه تنها باید شامل نام، بلکه نسخه نیز باشد!

./ پیکربندی --پیشوند =/ usr && make

اگر دستور با موفقیت کامل شد، تنها چیزی که باقی می‌ماند، debianize است.

Debianization

هیچ مشکلی با این وجود ندارد، همانطور که قبلاً گفتم، اسکریپت هایی وجود دارند که این روند را بسیار ساده می کنند.
به طور کلی، هدف از کل این روش ایجاد یک دایرکتوری دبیان در ریشه منابع، با فایل های لازمپیکربندی و اسکریپت(های)
برای انجام این کار، در ریشه متون منبع، اجرا می کنیم

Dh_make --createorig

دیالوگ زیر را برای چه چیزی باید دریافت کنیم؟

نوع بسته: تک باینری، چند باینری، کتابخانه، ماژول هسته یا cdbs؟ [ایمیل محافظت شده]تاریخ: Mon, 13 Aug 2007 12:40:33 +0400 نام بسته: gcoolprog نسخه: 0.5.3 مجوز: خالی نوع بسته: تک بازدید برای تایید:

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

اما من و شما عالی هستیم و همه چیز بدون خطا پیش رفت - یک دایرکتوری دبیان در ریشه کد منبع ظاهر شد، با نگاه کردن به محتویات آن، یک دسته فایل (پسوند .ex) را با نمونه هایی برای همه موارد مشاهده خواهید کرد.

توضیحات:

به جای و (بدون نقل قول گوشه) باید توضیحی در مورد نوع برنامه وارد کنید.
این اطلاعاتی است که کاربر هنگام مشاهده توضیحات بسته مشاهده خواهد کرد.
نکته دوم اصلاح فایل است دبیان/قوانین
در بخش باینری-قوس: باید بدون نظر باشد (یعنی # در ابتدای خط را حذف کنید)

Dh_install

بدون این ما یک بسته خالی خواهیم داشت.
گاهی اوقات دبیان/قوانینفقط شامل:

%:dh$@

چه چیزی با استفاده از debhelper قابل قبول است.
این تنظیمات برای ساخت یک بسته با یک برنامه که شامل کتابخانه های مشترک نیست، کافی است. فقط باینری در /usr/bin و داده ها در /usr/share.

ساخت پکیج

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

در دایرکتوری بالا، i.e. در ~/src/gcoolprog/0.5.3، فایل ها را دریافت می کنیم

Gcoolprog_0.5.3-1.diff.gz gcoolprog_0.5.3-1_i386.gcoolprog_0.5.3-1_i386.deb gcoolprog_0.5.3.orig.tar.gz را تغییر می دهد

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

dpkg -i *.deb

Debianization از مخزن اوبونتو، از PPA یا از دبیان گرفته شده است

Debianization از نسخه دیگری از برنامه گرفته شده است

در این مورد، بسیار راحت است که Debianization را از آنجا بگیرید و آن را برای نسخه جدید اصلاح کنید.

همانطور که قبلاً گفتم، شاید ما خوش شانس باشیم و فقط کافی است نسخه را تغییر دهیم. اما حدس نزنیم.

در زیر من در مورد آنچه در راه حل قبلی توضیح داده شده است اظهار نظر نمی کنم.

mkdir ~/ src/ gcoolprog mkdir ~/ src/ gcoolprog/ 0.5.3 سی دی ~/ src/ gcoolprog/ 0.5.3 wget "http://<путь до файла>"

فایل gcoolprog-0.5.3.tar.bz2 را دریافت می کنیم

bunzip2 gcoolprog-0.5.3.tar.bz2 gzip gcoolprog-0.5.3.tar mv gcoolprog-0.5.3.tar.gz gcoolprog_0.5.3.orig.tar.gz

حالا بیایید آن را باز کنیم

tar zxvf ./ gcoolprog_0.5.3.orig.tar.gz

دانلود کنید نسخه قبلیاز http://packages.ubuntu.com یا http://packages.debian.org، فایل gcoolprog_0.5.1.diff.gz(در پایین در بخش اطلاعات بیشتر در مورد gcoolprog)

wget "http://archive.ubuntu.com/ubuntu/pool/universe/g/gcoolprog/gcoolprog_0.5.1.diff.gz"پچ gunzip gcoolprog_0.5.1.diff.gz -p0< ./ gcoolprog_0.5.1.diff

دایرکتوری را دریافت کنید

~/ src/ gcoolprog/ 0.5.3/ gcoolprog-0.5.1/ debian

دایرکتوری gcoolprog-0.5.1/debian را در دایرکتوری ~/src/gcoolprog/0.5.3/gcoolprog-0.5.3 کپی کنید

cp -a ~/ src/ gcoolprog/ 0.5.3/ gcoolprog-0.5.1/ debian ~/ src/ gcoolprog/ 0.5.3/ gcoolprog-0.5.3 dch -i

این دستور فایل debian/changelog را تغییر می دهد، به عنوان مثال خواهیم دید

Gcoolprog (0.5.1-1ubuntu2) feisty; فوریت = کم * -- دنیس< ubuntu_user@ mail.ru>

اما از آنجایی که نسخه 0.5.3 را داریم، باید مقادیر را به آن تغییر دهیم

Gcoolprog (0.5.3-1ubuntu1) feisty; فوریت = کم * انتشار جدید در بالادست.< ubuntu_user@ mail.ru>--دنیس

Mon, 13 Aug 2007 14:13:27 +0400

ذخیره تغییرات اکنون می توانید دستور build را در یک بسته اجرا کنید.

Dpkg-buildpackage -rfakeroot

فایل ها را دریافت کنید

cd .. ls -1 gcoolprog_0.5.3-1 .diff.gz gcoolprog_0.5.3-1 _i386.gcoolprog_0.5.3-1 _i386.deb gcoolprog_0.5.3.orig.tar.gz *dpkde - را تغییر می دهد

Debianization از نسخه فعلی برنامه گرفته شده است

Debianization از مخزن نسخه فعلی اوبونتو گرفته نشده است برای دبیان باید از سایت http://packages.debian.org و برای اوبونتو - http://packages.ubuntu.com استفاده کنید. سپس، برای مثال، در اوبونتو به دنبال بسته می گردیم gcoolprog

در مخزن برای نسخه آینده.

بیایید ابتدا دایرکتوری کاری را آماده کنیم

mkdir ~/ src/ gcoolprog mkdir ~/ src/ gcoolprog/ 0.5.3 سی دی ~/ src/ gcoolprog/ 0.5.3

اکنون سه فایل را دانلود کنید

wget http:// archive.ubuntu.com/ ubuntu/ pool/ universe/ g/ gcoolprog/ gcoolprog_0.5.3-1 .dsc wget http:// archive.ubuntu.com/ ubuntu/ pool/ universe/ g/ gcoolprog/ gcoolprog_0 .5.3.orig.tar.gz wget http:// archive.ubuntu.com/ ubuntu/ pool/ universe/ g/ gcoolprog/ gcoolprog_0.5.3-1 .diff.gz

یا همان چیزی است، اما با یک دستور

Dget http:// archive.ubuntu.com/ ubuntu/ pool/ universe/ g/ gcoolprog/ gcoolprog_0.5.3-1 .dsc از بسته
devscripts

سپس با دستور باز کنید

Dpkg-source -x ./ gcoolprog_0.5.3-1 .dsc

ما دایرکتوری gcoolprog-0.5.3 را دریافت می کنیم. بیایید به آن بروید و نسخه را تغییر دهید.< ubuntu_user@ mail.ru>--دنیس

cd gcoolprog-0.5.3 dch -i gcoolprog (0.5.3-1ubuntu1) feisty; فوریت = کم * پشتیبان از gutsy -- denis

ذخیره تغییرات اکنون می توانید دستور build را در یک بسته اجرا کنید.

Dpkg-buildpackage -rfakeroot

اکنون می توانید بسته را مونتاژ کنید

سی دی .. ls -1 . gcoolprog_0.5.3-1 .diff.gz gcoolprog_0.5.3-1 _i386.gcoolprog_0.5.3-1 _i386.deb gcoolprog_0.5.3.orig.tar.gz dpkg -i * .deb را تغییر می دهد

Debianization از مخزن نسخه فعلی اوبونتو گرفته شده است

در شرایطی که بسته ای برای نسخه مورد نظر برنامه در مخزن نسخه فعلی اوبونتو وجود دارد، اما به دلایلی رضایت بخش نیست و باید تغییراتی در منابع آن ایجاد شود (مثلاً نوعی پچ اعمال کنید. ) و بر اساس آنچه قبلاً در بسته Debianization وجود دارد بازسازی شده است، می توانید موارد زیر را انجام دهید.

برای ساخت به بسته های زیر نیاز دارید: build-essential devscripts fakeroot. بسته های توسعه نیز مورد نیاز است، ما آنها را بعدا نصب خواهیم کرد.

دانلود منابع: cd ~/ src apt-getمنبع

منبع apt-get منابع را از مخزن اوبونتو در فهرست فعلی دانلود می کند. بسیاری از بسته های موجود در مخزن دارای منابع مشترک با یکدیگر هستند، بنابراین علاوه بر سورس های بسته انتخابی، می توان سورس های بسته های دیگر را نیز دانلود کرد (منابع مشترک بین چندین بسته).

بسته های توسعه لازم برای مونتاژ را نصب کنید:

sudo apt-get build-dep gcoolprog

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

cd gcoolprog-0.5.3 debuild -b -us -uc

debuild باید در دایرکتوری منبع اجرا شود. گزینه های -b -us -uc به برنامه dpkg-buildpackage ارسال می شود. اولی فقط نیاز به جمع آوری بسته های باینری دارد، دومی و سومی نیاز به امضا نکردن دارد امضای دیجیتالبه ترتیب بسته منبع و فایل .changes. بسته های به دست آمده در دایرکتوری یک سطح بالاتر قرار خواهند گرفت.

ساختن از فایل های باینری

در زیر نمونه‌ای از کارهایی است که می‌توانید انجام دهید اگر فقط یک بسته deb در دسترس باشد و هیچ منبع debianized وجود نداشته باشد.

بیایید فرض کنیم که در یک دایرکتوری کار می کنیم ~/tmp. بیایید یک زیر شاخه ایجاد کنیم ~/tmp/someprogبرای باز کردن فایل های یک بسته، باید اجرا کنید

dpkg -x ~./tmp/some-prog-123 .deb ./someprog

به منظور استخراج اطلاعات کنترلی، بیایید انجام دهیم

mkdir ~/ tmp/ someprog/ DEBIAN dpkg -e ~/ tmp/ some-prog-123 .deb ./ someprog/ DEBIAN

خوب، اکنون، برای اینکه همه آن را دوباره در بسته قرار دهید، باید این کار را انجام دهید

dpkg -b ./ someprog ~/ tmp/ some-prog-123 -new.deb

در کاتالوگ ~/tmp/someprog/DEBIANحاوی فایل هایی است که توضیح می دهد بسته چیست، به چه چیزی بستگی دارد، و چک جمع هافایل های موجود در آن برای ساخت بسته خود، باید فایل ها را در دایرکتوری قرار دهید ~/tmp/someprogمثل اینکه دایرکتوری ریشه باشد یعنی اگر می خواهید فایل در آن نصب شود /usr/bin، باید آن را در دایرکتوری قرار دهید ~/tmp/someprog/usr/bin، و بر این اساس، اگر چیزی باید در آن باشد /و غیره، سپس در ~/tmp/someprog/etcو غیره

سپس در ~/tmp/someprogیک دایرکتوری DEBIAN ایجاد کنید، حتما از حروف بزرگ و در آن یک فایل استفاده کنید ~/tmp/someprog/DEBIAN/control، این فایل نام بسته، وابستگی ها و توضیحات آن را شرح می دهد، فرمت آن بسیار ساده است. به عنوان مثال:

بسته: libcurl3 نسخه: 7.15.2-2 بخش: libs اولویت: اختیاری معماری: i386 بستگی دارد: libc6 (>= 2.3.5-1)، libcomerr2 (>= 1.33-3)، libidn11 (>= 0.5.18)، libkrb53 (>= 1.4.2)، libssl0.9.8 (>= 0.9.8a-1)، zlib1g (>= 1:1.2.1)، گواهینامه‌های ca پیشنهاد می‌کند: libldap2 جایگزین‌ها: libcurl2 (<< 1:7.11.2-2) Installed-Size: 324 Maintainer: Domenico Andreoli منبع: curl توضیحات: کتابخانه انتقال فایل چند پروتکلی libcurl به گونه ای طراحی شده است که یک کتابخانه انتقال فایل چند پروتکلی جامد، قابل استفاده، قابل اعتماد و قابل حمل باشد.

.

پشتیبانی SSL توسط OpenSSL ارائه می شود.

برای فعال کردن بسته پشتیبانی LDAP libldap2-dev مورد نیاز است.

چندین گزینه برای نصب این سیستم عامل وجود دارد که همه آنها فقط در انحرافات جزئی با ...