مقدمه
در درس قبل، یاد گرفتیم که چگونه نرمافزارها را با استفاده از مدیر پکیج APT نصب و حذف
کنیم. اما مدیریت نرمافزار به همین جا ختم نمیشود. دنیای نرمافزار دائماً در حال تغییر است:
حفرههای امنیتی جدید کشف میشوند، باگها برطرف میگردند و ویژگیهای جدیدی اضافه میشود. فرآیند
اعمال این تغییرات به نرمافزارهای نصبشده روی سیستم شما، Patch کردن یا بروزرسانی
(Updating) نام دارد.
به روز نگه داشتن سیستم یکی از حیاتیترین وظایف برای حفظ امنیت و پایداری آن است. یک سیستم Patch
نشده، در برابر انواع حملات و بدافزارها آسیبپذیر است. خوشبختانه، مدیر پکیج APT این
فرآیند را نیز بسیار ساده و مدیریتشده کرده است. در این درس، با دستورات لازم برای بروز نگه داشتن
سیستم لینوکسی خود آشنا میشویم.
فرآیند بروزرسانی و ارتقا
بروزرسانی کامل سیستم در توزیعهای مبتنی بر دبیان، یک فرآیند دو مرحلهای است که هر دو مرحلهی آن
باید به ترتیب انجام شوند.
مرحله ۱: بروزرسانی لیست پکیجها (Update)
این مرحله دقیقاً همان دستوری است که در درس قبل به عنوان اولین قدم قبل از نصب معرفی کردیم. دستور
sudo apt update لیست پکیجهای محلی شما را با آخرین اطلاعات موجود در مخازن نرمافزاری
همگام میکند. این دستور به سیستم شما اطلاع میدهد که نسخههای جدیدی از کدام نرمافزارها در دسترس
است، اما در این مرحله هنوز هیچ چیزی را دانلود یا نصب نمیکند.
$ sudo apt update
مرحله ۲: ارتقای پکیجها (Upgrade)
پس از اینکه سیستم فهمید چه بروزرسانیهایی موجود است، دستور sudo apt upgrade کار اصلی
را انجام میدهد. این دستور، لیست پکیجهای نصبشده روی سیستم شما را با لیست بروز شده از مخازن
مقایسه کرده و سپس تمام پکیجهایی که نسخهی جدیدتری برایشان موجود است را دانلود و نصب (ارتقا)
میکند.
$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Calculating upgrade... Done
The following packages will be upgraded:
firefox libssl3 openssh-client ...
5 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 85.3 MB of archives.
After this operation, 1,234 kB of additional disk space will be used.
Do you want to continue? [Y/n]
تفاوت apt upgrade و apt full-upgrade
علاوه بر upgrade، دستور دیگری به نام full-upgrade نیز وجود دارد که کارهای
مشابهی انجام میدهد اما یک تفاوت کلیدی دارد.
-
دستور apt upgrade: این یک ارتقای «امن» است. این دستور هرگز یک پکیج
نصبشده را برای انجام یک بروزرسانی حذف نمیکند. اگر ارتقای یک پکیج نیازمند حذف پکیج دیگری
باشد، apt upgrade به سادگی از ارتقای آن پکیج صرف نظر کرده و آن را «به تعویق
افتاده» یا "held back" علامتگذاری میکند.
-
دستور apt full-upgrade: این دستور هوشمندتر و تهاجمیتر عمل میکند. این
دستور نیز تمام پکیجها را ارتقا میدهد، اما اگر برای ارتقای یک پکیج مهم (مانند کرنل سیستم)
نیاز به حذف یک پکیج کماهمیتتر (مانند یک کتابخانهی قدیمی) باشد، این کار را انجام میدهد.
چه زمانی از کدام استفاده کنیم؟
- برای بروزرسانیهای روزمره و هفتگی، استفاده از sudo apt upgrade بهترین و
امنترین گزینه است. این دستور پایداری سیستم شما را تضمین میکند.
- از sudo apt full-upgrade معمولاً فقط زمانی استفاده میشود که قصد دارید نسخهی کلی
توزیع خود را ارتقا دهید (مثلاً از Ubuntu 22.04 به Ubuntu 24.04) یا زمانی که apt
upgrade به شما اطلاع میدهد که برخی پکیجها به دلیل تداخل، به تعویق افتادهاند.
پاکسازی با apt autoremove
گاهی اوقات وقتی یک پکیج را بروزرسانی یا حذف میکنید، برخی از وابستگیهای آن که دیگر توسط هیچ
نرمافزار دیگری استفاده نمیشوند، روی سیستم باقی میمانند. به این پکیجها، «وابستگیهای یتیم»
(Orphaned Dependencies) گفته میشود. این پکیجها بیدلیل فضای دیسک را اشغال میکنند.
دستور apt autoremove برای پیدا کردن و حذف خودکار این پکیجهای غیرضروری طراحی شده است.
اجرای دورهای این دستور پس از عملیات ارتقا یا حذف، یک عادت خوب برای تمیز و بهینه نگه داشتن سیستم
است.
$ sudo apt autoremove
Reading package lists... Done
Building dependency tree... Done
The following packages will be REMOVED:
lib-old-version-1.0
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 512 kB disk space will be freed.
Do you want to continue? [Y/n]
جمعبندی: یک روتین برای سلامت سیستم
حفظ سلامت و امنیت یک سیستم لینوکسی با انجام یک روتین ساده و منظم امکانپذیر است. این سه دستور را
به خاطر بسپارید و سعی کنید به صورت هفتگی آنها را اجرا کنید:
- sudo apt update: برای همگامسازی لیست پکیجها.
- sudo apt upgrade: برای نصب امن بروزرسانیها.
- sudo apt autoremove: برای پاکسازی وابستگیهای غیرضروری.
اجرای مرتب این زنجیره، سادهترین و در عین حال مؤثرترین کاری است که میتوانید برای اطمینان از
عملکرد صحیح و امن سیستم خود انجام دهید.