نسخه فارسی | English Version
آزمایشگاه سیستم عامل - پروژه پایانی
نیمسال اول ۱۴۰۴-۱۴۰۵
مهلت تحویل: ۱۹ دی ۱۴۰۴ ساعت ۲۳:۵۹
این مخزن یک قالب برای تیم شما است تا یک ابزار خط فرمان Bash بسازید و آن را در یک بسته .deb بستهبندی کنید.
قبل از شروع، یک موضوع از لیست ۲۱ پروژه موجود انتخاب کنید:
مشاهده تمام موضوعات پروژه | View All Project Topics
هر موضوع دارای الزامات خاص و دستورات پیشنهادی است. حتماً با تیمهای دیگر هماهنگ کنید تا از تکراری شدن جلوگیری شود.
نام mytool فقط یک نام موقت است! تیم شما باید:
- یک نام معنادار انتخاب کنید که موضوع پروژه شما را نشان دهد
- همه فایلها را تغییر نام دهید:
src/mytool.sh→src/yourproject.shman/mytool.1→man/yourproject.1config/mytool.conf→config/yourproject.conf
- فایل
debian/controlرا بهروزرسانی کنید (فیلدهای Source و Package) - فایل
debian/changelogرا بهروزرسانی کنید (نام بسته) - فایل
debian/installرا بهروزرسانی کنید (همه مسیرهای فایل) - فایل
debian/manpagesرا بهروزرسانی کنید (مسیر صفحه راهنما) - فایل
debian/linksرا بهروزرسانی کنید (همه مسیرهای فایل)
نمونه نامهای خوب: diskmonitor, loganalyzer, fileorganizer, sysbackup, netcheck
- برنامه Bash خود را در src/mytool.sh بنویسید (بعد از تغییر نام!)
- صفحه راهنما را در man/mytool.1 بهروزرسانی کنید
- پیکربندی را در config/mytool.conf بهروزرسانی کنید (اختیاری)
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
- راهنمای انتشار - نحوه انتشار بسته به GitHub Releases (English)
- راهنمای بستهبندی دبیان - دستورالعملهای بستهبندی دبیان (English)
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 # دستورالعملهای انتشار (فارسی)
- همه چیز را تغییر نام دهید - هیچ مرجع "mytool" در ارسال نهایی نگذارید!
- به طور کامل تست کنید - بسته خود را قبل از انتشار نصب و تست کنید
- با تیم خود هماهنگ باشید - از branch های git برای جلوگیری از تضاد استفاده کنید
- همه فایلهای debian را بهروزرسانی کنید - مطمئن شوید همه متادیتا پروژه واقعی شما را نشان میدهد
- قوانین نامگذاری را رعایت کنید - فقط حروف کوچک انگلیسی (a-z)، اعداد (0-9) و خط فاصله (-)
نمره پایه: ۴ نمره
حداکثر نمره: ۶ نمره (با ویژگیهای امتیازی)
تحویلیهای مورد نیاز:
- کد منبع کامل در
src/ - صفحه راهنما در
man/ - فایلهای بستهبندی دبیان در
debian/ - بسته
.debساخته شده - فایل README جامع با نام اعضای تیم
- گزارش پروژه با توضیح پیادهسازی و نمایش تصاویر
- راهنمای انتشار را برای دستورالعملهای دقیق ساخت و انتشار بررسی کنید
- راهنمای بستهبندی دبیان را برای راهنمایی بستهبندی بخوانید
- موضوعات پروژه را برای الزامات خاص موضوع مرور کنید
- بخش عیبیابی در راهنمای انتشار را مرور کنید
- از استاد یا دستیاران آموزشی خود کمک بخواهید