09982292579
info@mehraeen.ac.ir
فارسی پرچم
فارسی
یک زبان را انتخاب کنید
فارسی پرچم
فارسی
0
دسته ها
خانه تقویم‌آموزشی مدرس وبلاگ چارت‌‌دروس تماس‌با‌ما درباره‌ما انجمن‌ها
کارگاه سیستم عامل

جلسه 7ساختار یک بسته نرمافزاری لینوکس، مدیریت بستههای نرمافزار لینوکس.

خلاصه نکات کلیدی بسته‌های نرم‌افزاری روشی استاندارد برای توزیع و مدیریت نرم‌افزار در لینوکس هستند. فرمت‌های اصلی شامل .deb (برای دبیان/اوبونتو) و .rpm (برای ردهت/فدورا) هستند. مدیران بسته (مانند apt و dnf) وابستگی‌ها را مدیریت کرده و نصب/حذف نرم‌افزار را آسان می‌کنند. مخازن نرم‌افزاری منابع قابل اعتماد برای دریافت بسته‌ها هستند. آشنایی با ابزارهای خط فرمان برای مدیریت مؤثر سیستم ضروری است. امکان ساخت بسته‌های سفارشی برای توزیع نرم‌افزارهای خاص وجود دارد.

 مقدمه‌ای بر بسته‌های نرم‌افزاری لینوکس


  • تیتر ۱.۱: چرا لینوکس از بسته‌بندی نرم‌افزار استفاده می‌کند؟

  • مزایای مدیریت بسته‌بندی: نصب آسان، حذف تمیز، مدیریت وابستگی‌ها، به‌روزرسانی‌ها.

  • تیتر ۱.۲: ساختار کلی یک بسته نرم‌افزاری

  • فایل‌های اجرایی (Binaries)

  • کتابخانه‌ها (Libraries)

  • فایل‌های پیکربندی (Configuration Files)

  • مستندات (Documentation)

  • اسکریپت‌های پیش/پس از نصب (Pre/Post Install Scripts)

  • مثال: نگاهی به ساختار یک بسته ساده مثل htop یا nano.

فصل ۲: فرمت‌های رایج بسته‌بندی در لینوکس


  • تیتر ۲.۱: فرمت .deb (Debian/Ubuntu)

  • معرفی dpkg به عنوان ابزار پایه.

  • آشنایی با ابزارهای سطح بالاتر مانند apt و apt-get.

  • ساختار فایل‌های .deb (ar archive, control.tar.gz, data.tar.gz).

  • تیتر ۲.۲: فرمت .rpm (Red Hat/Fedora/CentOS)

  • معرفی rpm به عنوان ابزار پایه.

  • آشنایی با ابزارهای سطح بالاتر مانند yum و dnf.

  • ساختار فایل‌های .rpm.

  • تیتر ۲.۳: فرمت‌های دیگر (اختیاری)

  • tar.gz / tar.bz2 (بسته‌های سورس یا باینری خام)

  • AppImage, Snap, Flatpak (فرمت‌های مدرن و مستقل)

  • مثال: مقایسه دستورات نصب و حذف بسته بین apt و dnf.

فصل ۳: مدیریت وابستگی‌ها (Dependency Management)


  • تیتر ۳.۱: مفهوم وابستگی در نرم‌افزار

  • چرا یک نرم‌افزار به نرم‌افزارهای دیگر نیاز دارد؟ (کتابخانه‌ها، ابزارهای دیگر)

  • تیتر ۳.۲: چالش‌های مدیریت دستی وابستگی‌ها

  • تیتر ۳.۳: نقش مدیران بسته در حل مشکل وابستگی‌ها

  • جستجو در مخازن (Repositories)

  • دانلود خودکار بسته‌های مورد نیاز

  • حل تداخل وابستگی‌ها

  • مثال: فرض کنید می‌خواهید nginx نصب کنید؛ مدیر بسته به طور خودکار libpcre و zlib را نیز نصب می‌کند.

فصل ۴: مخازن نرم‌افزاری (Software Repositories)


  • تیتر ۴.۱: مخازن چیستند و چرا مهم هستند؟

  • منابع معتبر و امن برای دریافت نرم‌افزار.

  • نقش مدیران بسته در دسترسی به مخازن.

  • تیتر ۴.۲: انواع مخازن

  • مخازن رسمی توزیع (Main, Universe, Multiverse, Restricted)

  • مخازن شخص ثالث (PPAs در اوبونتو، Copr در فدورا)

  • مخازن محلی (Local Repositories)

  • تیتر ۴.۳: اضافه کردن و مدیریت مخازن

  • مثال: اضافه کردن یک PPA برای نصب نسخه جدیدتر یک نرم‌افزار در اوبونتو.

فصل ۵: ابزارهای خط فرمان برای مدیریت بسته


  • تیتر ۵.۱: ابزارهای مبتنی بر dpkg/apt (Debian/Ubuntu)

  • apt update / apt upgrade

  • apt install <package>

  • apt remove <package> / apt purge <package>

  • apt search <query>

  • apt show <package>

  • تیتر ۵.۲: ابزارهای مبتنی بر rpm/yum/dnf (Red Hat/Fedora)

  • dnf update / dnf upgrade

  • dnf install <package>

  • dnf remove <package>

  • dnf search <query>

  • dnf info <package>

  • تیتر ۵.۳: جستجو و مشاهده اطلاعات بسته

  • مثال: نمایش نحوه یافتن یک بسته، نصب آن و سپس حذف کامل آن با تمام فایل‌های پیکربندی.

فصل ۶: ساخت بسته‌های نرم‌افزاری (مقدماتی)


  • تیتر ۶.۱: چرا نیاز به ساخت بسته داریم؟

  • توزیع نرم‌افزارهای اختصاصی.

  • کنترل دقیق‌تر بر فرآیند نصب.

  • تیتر ۶.۲: ابزارهای ساخت بسته

  • checkinstall (برای بسته‌های ساده‌تر)

  • dpkg-buildpackage (برای فرمت .deb)

  • rpmbuild (برای فرمت .rpm)

  • تیتر ۶.۳: مراحل کلی ساخت یک بسته (مثال ساده)

  • آماده‌سازی سورس کد.

  • ایجاد فایل کنترل (debian/control یا .spec فایل).

  • کامپایل و نصب در یک دایرکتوری موقت.

  • بسته‌بندی نهایی.

  • مثال: ساخت یک بسته .deb ساده برای یک اسکریپت پایتون.


خلاصه نکات کلیدی


  • بسته‌های نرم‌افزاری روشی استاندارد برای توزیع و مدیریت نرم‌افزار در لینوکس هستند.

  • فرمت‌های اصلی شامل .deb (برای دبیان/اوبونتو) و .rpm (برای ردهت/فدورا) هستند.

  • مدیران بسته (مانند apt و dnf) وابستگی‌ها را مدیریت کرده و نصب/حذف نرم‌افزار را آسان می‌کنند.

  • مخازن نرم‌افزاری منابع قابل اعتماد برای دریافت بسته‌ها هستند.

  • آشنایی با ابزارهای خط فرمان برای مدیریت مؤثر سیستم ضروری است.

  • امکان ساخت بسته‌های سفارشی برای توزیع نرم‌افزارهای خاص وجود دارد.


تمرین‌های پایان فصل



















  1. فصل ۱: ساختار پوشه‌ای یک نرم‌افزار نصب شده (مثلاً firefox) را در سیستم خود بررسی کنید. پوشه‌های اصلی مربوط به فایل‌های اجرایی، کتابخانه‌ها و فایل‌های پیکربندی را شناسایی کنید.

  2. فصل ۲: با استفاده از مدیر بسته توزیع خود (مثلاً apt یا dnf)، اطلاعات مربوط به بسته htop را مشاهده کنید. سعی کنید بفهمید این بسته به چه بسته‌های دیگری وابسته است.

  3. فصل ۳ & ۵: یک بسته نرم‌افزاری را که فکر می‌کنید دیگر به آن نیاز ندارید، به طور کامل حذف کنید (همراه با فایل‌های پیکربندی). سپس دوباره آن را نصب کنید.

  4. فصل ۴: لیستی از تمام مخازنی که در حال حاضر در سیستم خود فعال هستند را نمایش دهید. (دستور مربوطه بسته به توزیع متفاوت است، مثلاً apt repolist یا بررسی فایل‌های /etc/yum.repos.d/).

  5. فصل ۵: یک بسته نرم‌افزاری را که به طور پیش‌فرض نصب نشده است، جستجو کنید (مثلاً neofetch) و سپس آن را نصب کنید.

  6. فصل ۶ (پیشرفته): یک اسکریپت ساده بنویسید (مثلاً یک اسکریپت echo "Hello World!") و سعی کنید با استفاده از checkinstall آن را به صورت یک بسته .deb یا .rpm درآورید.

دروس متنی

#1

جلسه 1 نرم افزارهای متن باز )Source Open ،)معرفی سیستم عامل لینوکس،

#2

جلسه 2معرفی انواع محیط های کاربری گرافیکی و خط فرمان لینوکس و

#3

جلسه 3 معرفی انواع محیط های کاربری گرافیکی و خط فرمان لینوکس و نحوه اتصال و کار با آنها

#4

جلسه 4 بررسی نیازهای سخت افزاری سخت افزار برای نصب لینوکس و نصب و راه اندازی

#5

جلسه 5 معرفی محیط های خط فرمان لینوکس، نحوه نامگذاری محیطهای خط فرمان،

#6

جلسه 6آشنایی با نرمافزارهای ویرایشگر متن مانند: vim ،nano و ... کار با فرامین پردازش متن

#7

جلسه 7ساختار یک بسته نرمافزاری لینوکس، مدیریت بستههای نرمافزار لینوکس.

#8

جلسه 8 مدیریت پراسس ها و انواع پراسس ها در لینوکس،

#9

جلسه 9 مجوزهای فایل ها و نحوه کار با فرامین chmod ،umask ،chattr

#10

جلسه 10فرامین ایجاد، فرمت و مدیریت پارتیشن، مانند: df ،du ،mkfs ،mount

#11

جلسه 11مدیریت کاربران و فرامین groupadd ،passwd ،useradd

#12

جلسه 12 فرامین پشتیبان گیری و فشرده سازی مانند: cpio ،tar ،zip ،gzip ،bzip و ...

#13

جلسه 13 نحوه پیکربندی کارت شبکه در لینوکس و کار با فرمان ifconfig ،ping

مشاهده دروس کامل بررسی صفحه یادگیری دوره
درس متنی 7/13
در حال مشاهده
جلسه 7ساختار یک بسته نرمافزاری لینوکس، مدیریت بستههای نرمافزار لینوکس.