tutorials / linux / chapter-07.md · utf-8 ⬇ download chapter-07.md
فصل هفتم: مدیریت نرمافزارها در لینوکس
Linux Package Management
در فصلهای گذشته با فایلها، مجوزها، کاربران و ساختار داخلی لینوکس آشنا شدیم.
اکنون زمان آن رسیده است که یاد بگیریم چگونه نرمافزارها را در لینوکس نصب، حذف و مدیریت کنیم.
در هر سیستمعامل، نصب برنامهها یکی از کارهای روزمره کاربران است.
در سیستمهایی مانند Windows معمولاً کاربران فایل نصبکننده را دانلود کرده و آن را اجرا میکنند.
اما در لینوکس، روش مدیریت نرمافزارها متفاوت است.
لینوکس از مفهومی به نام Package Management استفاده میکند.
Package Managerها وظیفه پیدا کردن، دانلود، نصب، بهروزرسانی و حذف نرمافزارها را بر عهده دارند.
Package چیست؟
Package یا بسته نرمافزاری، مجموعهای از فایلها است که برای نصب یک نرمافزار آماده شده است.
یک Package معمولاً شامل:
- فایلهای برنامه
- فایلهای تنظیمات
- اطلاعات مربوط به نسخه
- وابستگیهای نرمافزاری
- دستورالعمل نصب
است.
چرا لینوکس از Package Manager استفاده میکند؟
در گذشته نصب نرمافزار در لینوکس میتوانست پیچیده باشد.
کاربر باید:
- کد منبع برنامه را دریافت کند.
- آن را کامپایل کند.
- وابستگیها را پیدا کند.
- تنظیمات لازم را انجام دهد.
Package Managerها این فرآیند را ساده کردند.
مزایای Package Manager:
- نصب سریع نرمافزارها
- مدیریت وابستگیها
- دریافت نسخههای امن
- حذف کامل برنامهها
- بهروزرسانی آسان
Repository چیست؟
Repository یا مخزن نرمافزار، سروری است که Packageهای مختلف در آن قرار دارند.
وقتی شما دستوری مانند:
apt install firefox
را اجرا میکنید، سیستم ابتدا Repositoryها را بررسی میکند، سپس Package مورد نظر را دانلود و نصب میکند.
ساختار کلی:
User | ▼ Package Manager | ▼ Repository | ▼ Package
تفاوت توزیعهای لینوکس در Package Management
توزیعهای مختلف لینوکس از Package Managerهای متفاوتی استفاده میکنند.
نمونهها:
Debian و Ubuntu:
APT
Fedora و Red Hat:
DNF
Arch Linux:
Pacman
APT چیست؟
APT مخفف:
Advanced Package Tool
است.
APT ابزار اصلی مدیریت Package در سیستمهای Debian-based است.
توسط APT میتوان:
- نرمافزار نصب کرد.
- نرمافزار حذف کرد.
- سیستم را بهروزرسانی کرد.
- اطلاعات Packageها را مشاهده کرد.
بهروزرسانی لیست Packageها
قبل از نصب نرمافزار بهتر است لیست Packageها را بهروز کنیم.
دستور:
sudo apt update
این دستور:
- Repositoryها را بررسی میکند.
- لیست نسخههای جدید را دریافت میکند.
- اطلاعات Packageها را بهروزرسانی میکند.
ارتقای نرمافزارها
برای بهروزرسانی Packageهای نصب شده:
sudo apt upgrade
استفاده میکنیم.
این دستور نسخههای جدید نرمافزارهای نصب شده را دریافت و نصب میکند.
نصب نرمافزار با apt install
ساختار:
sudo apt install package-name
مثال:
sudo apt install git
در این فرآیند:
- APT Package را پیدا میکند.
- وابستگیها را بررسی میکند.
- فایلها را دانلود میکند.
- نرمافزار را نصب میکند.
حذف نرمافزار
برای حذف یک Package:
sudo apt remove package-name
مثال:
sudo apt remove git
در این حالت برنامه حذف میشود، اما ممکن است فایلهای تنظیمات باقی بمانند.
حذف کامل نرمافزار
برای حذف برنامه همراه با تنظیمات:
sudo apt purge package-name
مثال:
sudo apt purge nginx
جستجو در Packageها
برای پیدا کردن نرمافزار:
apt search keyword
مثال:
apt search python
لیستی از Packageهای مرتبط نمایش داده میشود.
مشاهده اطلاعات یک Package
برای دریافت اطلاعات:
apt show package-name
مثال:
apt show python3
اطلاعاتی مانند:
- نسخه
- توضیحات
- حجم
- وابستگیها
نمایش داده میشود.
مشاهده Packageهای نصب شده
برای مشاهده لیست Packageها:
apt list --installed
استفاده میشود.
مفهوم Dependency
یکی از مهمترین وظایف Package Managerها مدیریت Dependency است.
Dependency یعنی یک نرمافزار برای اجرا شدن به نرمافزارهای دیگری نیاز دارد.
مثال:
یک برنامه ممکن است به:
- کتابخانه خاص
- ابزار سیستمی
- نسخه مشخصی از یک Package
نیاز داشته باشد.
APT این وابستگیها را به صورت خودکار مدیریت میکند.
dpkg چیست؟
dpkg ابزار سطح پایین مدیریت Package در Debian است.
APT در واقع از dpkg برای نصب Packageها استفاده میکند.
مهمترین کاربرد:
نصب فایلهای:
.deb
است.
نصب فایل deb با dpkg
مثال:
sudo dpkg -i package.deb
بعد از نصب ممکن است وابستگیهایی ناقص باشند.
برای اصلاح:
sudo apt install -f
استفاده میکنیم.
تفاوت apt و dpkg
| apt | dpkg |
|---|---|
| سطح بالا | سطح پایین |
| مدیریت وابستگیها را انجام میدهد | وابستگیها را خودکار حل نمیکند |
| از Repository استفاده میکند | فایل محلی deb را نصب میکند |
| مناسب استفاده روزمره است | برای مدیریت مستقیم Packageها استفاده میشود |
پاکسازی Packageهای اضافی
گاهی Packageهایی باقی میمانند که دیگر استفاده نمیشوند.
برای حذف آنها:
sudo apt autoremove
استفاده میشود.
بررسی فضای Package Cache
APT فایلهای دانلود شده را ذخیره میکند.
برای پاک کردن Cache:
sudo apt clean
استفاده میکنیم.
نصب ابزارهای کاربردی اولیه
چند ابزار رایج:
نصب Git:
sudo apt install git
نصب Python:
sudo apt install python3
نصب curl:
sudo apt install curl
نصب wget:
sudo apt install wget
مدیریت نرمافزارها در زندگی واقعی
یک کاربر حرفهای لینوکس دائماً با Package Manager کار میکند.
مثالها:
توسعهدهنده:
- نصب زبانهای برنامهنویسی
- نصب کتابخانهها
- نصب ابزارهای توسعه
مدیر سیستم:
- نصب سرویسها
- بهروزرسانی سرورها
- مدیریت امنیت
متخصص امنیت:
- نصب ابزارهای تحلیل
- مدیریت ابزارهای تست
تمرینهای فصل هفتم
[01]بهروزرسانی Repository
sudo apt update
[02]بررسی آپدیتها
sudo apt upgrade
[03]نصب یک برنامه
sudo apt install tree
[04]مشاهده اطلاعات برنامه
apt show tree
[05]حذف برنامه
sudo apt remove tree
[06]پاکسازی Packageهای اضافی
sudo apt autoremove
جمعبندی فصل هفتم
در این فصل یاد گرفتیم:
- Package چیست.
- Package Manager چه کاری انجام میدهد.
- Repository چیست.
- چگونه با APT نرمافزار نصب کنیم.
- چگونه نرمافزارها را حذف و بهروزرسانی کنیم.
- تفاوت apt و dpkg چیست.
- Dependencyها چگونه مدیریت میشوند.
مدیریت Packageها یکی از مهارتهای ضروری هر کاربر حرفهای لینوکس است.
بدون شناخت Package Management، مدیریت سیستمهای لینوکسی بسیار دشوار خواهد بود.