Skip to content

Latest commit

 

History

History
186 lines (132 loc) · 8.53 KB

File metadata and controls

186 lines (132 loc) · 8.53 KB

قالب بسته‌بندی ابزار Bash برای دبیان

نسخه فارسی | English Version

آزمایشگاه سیستم عامل - پروژه پایانی
نیمسال اول ۱۴۰۴-۱۴۰۵
مهلت تحویل: ۱۹ دی ۱۴۰۴ ساعت ۲۳:۵۹

این مخزن یک قالب برای تیم شما است تا یک ابزار خط فرمان Bash بسازید و آن را در یک بسته .deb بسته‌بندی کنید.

📋 موضوعات پروژه

قبل از شروع، یک موضوع از لیست ۲۱ پروژه موجود انتخاب کنید:

مشاهده تمام موضوعات پروژه | View All Project Topics

هر موضوع دارای الزامات خاص و دستورات پیشنهادی است. حتماً با تیم‌های دیگر هماهنگ کنید تا از تکراری شدن جلوگیری شود.

⚠️ اولین قدم: تغییر نام پروژه!

نام mytool فقط یک نام موقت است! تیم شما باید:

  1. یک نام معنادار انتخاب کنید که موضوع پروژه شما را نشان دهد
  2. همه فایل‌ها را تغییر نام دهید:
    • src/mytool.shsrc/yourproject.sh
    • man/mytool.1man/yourproject.1
    • config/mytool.confconfig/yourproject.conf
  3. فایل debian/control را به‌روزرسانی کنید (فیلدهای Source و Package)
  4. فایل debian/changelog را به‌روزرسانی کنید (نام بسته)
  5. فایل debian/install را به‌روزرسانی کنید (همه مسیرهای فایل)
  6. فایل debian/manpages را به‌روزرسانی کنید (مسیر صفحه راهنما)
  7. فایل debian/links را به‌روزرسانی کنید (همه مسیرهای فایل)

نمونه نام‌های خوب: diskmonitor, loganalyzer, fileorganizer, sysbackup, netcheck


🧩 کد تیم خود را کجا قرار دهید

  • برنامه Bash خود را در src/mytool.sh بنویسید (بعد از تغییر نام!)
  • صفحه راهنما را در man/mytool.1 به‌روزرسانی کنید
  • پیکربندی را در config/mytool.conf به‌روزرسانی کنید (اختیاری)

🛠 ساخت بسته .deb

۱. نصب ابزارهای مورد نیاز (در Ubuntu/Debian)

sudo apt-get update
sudo apt-get install -y devscripts debhelper build-essential

۲. ساخت بسته

از دایرکتوری اصلی پروژه:

debuild -us -uc

در صورت موفقیت، فایل .deb در دایرکتوری والد ظاهر می‌شود:

ls ../*.deb
# خروجی نمونه: ../mytool_1.0-1_all.deb

۳. نصب و تست بسته

# نصب بسته
sudo dpkg -i ../*.deb

# تست ابزار شما
mytool  # (یا هر نامی که به آن داده‌اید!)

# بررسی فایل‌های نصب شده
dpkg -L mytool

# مشاهده صفحه راهنما
man mytool

# حذف نصب پس از تست
sudo apt remove mytool

📝 سفارشی‌سازی ابزار شما

مرحله ۱: همه چیز را از mytool به نام پروژه خود تغییر دهید!

  • همه فایل‌های سورس، صفحات راهنما و فایل‌های پیکربندی را تغییر نام دهید
  • فایل‌های debian/control, debian/changelog, debian/install, debian/links, و debian/manpages را به‌روزرسانی کنید
  • مسیرهای فایل را در debian/install مطابق با فایل‌های تغییر نام داده شده تغییر دهید
  • مسیرهای فایل را در debian/links مطابق با فایل‌های تغییر نام داده شده تغییر دهید
  • متادیتا را در debian/control با اطلاعات تیم خود به‌روزرسانی کنید
  • اطلاعات نسخه را در debian/changelog هنگام ارسال نسخه‌های جدید به‌روزرسانی کنید
  • با اعضای تیم هماهنگ کنید تا از تضاد merge جلوگیری کنید!

📦 این قالب چه چیزی به شما می‌دهد

  • یک ساختار بسته‌بندی دبیان معتبر (دایرکتوری debian/)
  • کد نمونه، پیکربندی و مستندات
  • نصب خودکار:
    • /usr/bin/mytool (فایل اجرایی شما)
    • /etc/mytool.conf (فایل پیکربندی)
    • صفحه راهنما در /usr/share/man/man1/mytool.1.gz

📚 مستندات


🎯 ساختار فایل‌ها

my-bash-tool/
├── src/
│   └── mytool.sh              # اسکریپت اصلی شما (نام را تغییر دهید!)
├── man/
│   └── mytool.1               # مستندات صفحه راهنما (نام را تغییر دهید!)
├── config/
│   └── mytool.conf            # فایل پیکربندی (نام را تغییر دهید!)
├── debian/
│   ├── changelog              # تاریخچه نسخه‌ها (به‌روزرسانی کنید!)
│   ├── control                # متادیتای بسته (به‌روزرسانی کنید!)
│   ├── install                # نقشه‌برداری نصب فایل‌ها (به‌روزرسانی کنید!)
│   ├── links                  # نقشه‌برداری لینک فایل‌ها (به‌روزرسانی کنید!)
│   ├── manpages               # ثبت صفحه راهنما (به‌روزرسانی کنید!)
│   └── rules                  # قوانین ساخت (معمولاً نیازی به تغییر ندارد)
├── .gitignore                 # حذف artifacts ساخت
├── DEBIAN_PACKAGING.md        # راهنمای بسته‌بندی دبیان (انگلیسی)
├── DEBIAN_PACKAGING.fa.md     # راهنمای بسته‌بندی دبیان (فارسی)
├── README.md                  # نسخه انگلیسی
├── README.fa.md               # این فایل (فارسی)
├── PUBLISHING_GUIDE.md        # دستورالعمل‌های انتشار (انگلیسی)
└── PUBLISHING_GUIDE.fa.md     # دستورالعمل‌های انتشار (فارسی)

⚠️ یادآوری‌های مهم

  1. همه چیز را تغییر نام دهید - هیچ مرجع "mytool" در ارسال نهایی نگذارید!
  2. به طور کامل تست کنید - بسته خود را قبل از انتشار نصب و تست کنید
  3. با تیم خود هماهنگ باشید - از branch های git برای جلوگیری از تضاد استفاده کنید
  4. همه فایل‌های debian را به‌روزرسانی کنید - مطمئن شوید همه متادیتا پروژه واقعی شما را نشان می‌دهد
  5. قوانین نام‌گذاری را رعایت کنید - فقط حروف کوچک انگلیسی (a-z)، اعداد (0-9) و خط فاصله (-)

📊 اطلاعات نمره‌دهی

نمره پایه: ۴ نمره
حداکثر نمره: ۶ نمره (با ویژگی‌های امتیازی)

تحویلی‌های مورد نیاز:

  1. کد منبع کامل در src/
  2. صفحه راهنما در man/
  3. فایل‌های بسته‌بندی دبیان در debian/
  4. بسته .deb ساخته شده
  5. فایل README جامع با نام اعضای تیم
  6. گزارش پروژه با توضیح پیاده‌سازی و نمایش تصاویر

🆘 دریافت کمک

  • راهنمای انتشار را برای دستورالعمل‌های دقیق ساخت و انتشار بررسی کنید
  • راهنمای بسته‌بندی دبیان را برای راهنمایی بسته‌بندی بخوانید
  • موضوعات پروژه را برای الزامات خاص موضوع مرور کنید
  • بخش عیب‌یابی در راهنمای انتشار را مرور کنید
  • از استاد یا دستیاران آموزشی خود کمک بخواهید

🎉 موفق باشید!