چنانچه تا به حال با Debian Linux یا دیگر توزیع‌های لینوکس مانند اوبونتو کار کرده باشید، حتماً ابزار مدیریت بسته APT را دیده و یا استفاده کرده‌اید. APT ابزاری برای نصب، به روزرسانی و حذف بسته‌ها بر روی چنین سیستم‌هایی است.

 

هنگام استفاده از خط فرمان می‌توان از دستورات apt update و apt upgrade به ترتیب برای به روزرسانی مخزن بسته‌ها و به روزرسانی بسته‌ها استفاده کرد. در این راهنما، تفاوت بین این دو دستور و نحوه استفاده از آن‌ها برای به روزرسانی بسته‌های نصب شده بر روی سیستم مبتنی بر دبیان شرح داده شده است.

 

این مطلب نیز ممکن است برای شما مفید باشد: دستور apt در لینوکس

 

نکته: شما ممکن است دستورات apt-get update و apt-get upgrade را نیز استفاده کرده باشید. این دستورات نیز عملکردهای مشابه دستورات apt مربوطه را انجام می‌دهند.

 

چه توزیع‌هایی از apt update و apt upgrade استفاده می‌کنند؟

دبیان و اوبونتو برجسته ترین توزیع‌های لینوکس هستند که از نرم افزار APT (Advanced Package Tool) استفاده می‌کنند. این نرم افزار شامل دستورات apt update و apt upgrade و سایر دستورات مرتبط است. توزیع‌های دیگری نیز وجود دارند که مبتنی بر Debian هستند و بیشتر آن‌ها نیز از APT استفاده می‌کنند.

توجه داشته باشید که ممکن است دستورات apt در توزیع‌های مختلف مبتنی بر دبیان عملکرد متفاوتی داشته باشند. بنابراین، به منظور درک عملکرد دستورات apt در توزیع‌های مختلف باید صفحات man را با استفاده از دستور man apt در سایر گزینه‌ها بررسی نمایید. در این مقاله، عملکرد دستورات apt بر روی دبیان و اوبونتو شرح داده شده است.

توزیع‌های دیگر با دیگر ابزارهای مدیریت بسته مانند DNF ،YUM ،Pacman و ... به هیچ وجه قادر به استفاده از دستورات apt نخواهند بود. آن ابزارها، توابع و ساختار دستوری خاص خود را دارند که ممکن است با apt بسیار متفاوت باشد.

 

این مطلب نیز ممکن است برای شما مفید باشد: جلوگیری از نصب، به روزرسانی و حذف بسته در اوبونتو

 

تفاوت apt update با apt upgrade

apt update، اطلاعات بسته را از همه منابع پیکربندی شده (به عنوان مثال منابع پیکربندی شده در /etc/apt/sources.list) بارگیری می‌کند. به این ترتیب سیستم شما می‌داند که چه بسته‌هایی برای ارتقا موجود است و این نرم افزار را باید از کجا بازیابی نماید.

سپس apt upgrade می‌تواند براساس این اطلاعات عمل کرده و تمام بسته‌های نصب شده را به آخرین نسخه‌های خود ارتقا دهد. این دستور، تنها بسته‌هایی را که از قبل نصب شده‌اند ارتقا می‌دهد و بسته‌های جدید را نصب نمی‌کند، مگر اینکه برای نصب وابستگی‌ها مورد نیاز باشد. apt upgrade هیچ بسته‌ای را نیز حذف نمی‌کند. بدین معنی که اگر برای تکمیل به روزرسانی باید بسته‌ای حذف شود، از آن دستور به سادگی رد شده و بسته‌های فعلی شما را دست نخورده باقی می‌گذارد.

پس چرا این دو دستور از هم جدا هستند؟

از آنجا که این دستورات بسیار مشابه یکدیگر هستند و با همدیگر کار می‌کنند، بسیاری از کاربران این سوال در ذهنشان بوجود می‌آید که چرا این دو دستور بصورت جداگانه استفاده می‌شوند. اجرای این دستورات به صورت پشت سر هم یا حتی اجرای آن‌ها در یک خط، بسیار معمول است:

sudo apt update && sudo apt upgrade

 

دلیل جداسازی این دستورات این است که با اجرای دستور apt upgrade تمام بسته‌های نصب شده روی سیستم به روز می‌شود که همیشه مطلوب نیست. به عنوان مثال، اگر می‌خواهید تنها نسخه Apache را به آخرین نسخه ارتقا دهید، چه می‌کنید؟

sudo apt update
sudo apt install apache2

با استفاده از دستورات بالا، می‌توانید تنها بسته apache2 را ارتقا دهید و از به روزرسانی بقیه سیستم خودداری نمایید. همچنین می‌توانید از این دستورات برای نصب Apache در سیستمی که در حال حاضر بسته نصب شده Apache را ندارد، استفاده کنید. در چنین حالتی، اجرای apt update قبل از دستور apt install همچنان توصیه می‌شود تا در نهایت با آخرین نسخه مواجه شوید.

 

اکنون که این تفاوت را متوجه شدید، به خاطر سپردن دستورات apt full-upgrade و apt autoremove نیز مفید است.

apt full upgrade کاملاً مشابه apt upgrade کار می‌کند، با این تفاوت که در صورت لزوم برای تکمیل یک upgrade، امکان حذف بسته‌ها از سیستم را نیز دارد. استفاده از این دستور معمولاً بی خطر است، اما در صورت تردید، شما می‌توانید ابتدا یک دستور apt upgrade را امتحان نمایید. همه این دستورات apt قبل از ایجاد تغییر در سیستم شما، از شما درخواست تأیید می‌کنند.

apt autoremove می‌تواند برای حذف بسته‌های بزرگی که تنها به عنوان وابستگی برای بسته‌های دیگر نصب شده‌اند، استفاده شود. معمولاً تعدادی از این بسته‌ها پس از یک upgrade طولانی، بدون استفاده در سیستم باقی می‌مانند. بنابراین دیگر نیازی به نگهداری آن‌ها در سیستم وجود ندارد. APT برای حذف این بسته‌ها به تأیید شما نیاز دارد؛ زیرا نمی‌خواهد بدون رضایت شما چیزی را حذف نماید. حذف این بسته‌های قدیمی فضای دیسک را آزاد می‌کند و سیستم شما را تمیز نگه می‌دارد.

معمولاً اجرای آن بلافاصله پس از ارتقا معمول است.

sudo apt update && sudo apt upgrade && sudo apt autoremove

به منظور تأیید حذف این بسته در همان ابتدای اجرای دستور، می‌توانید از گزینه -y استفاده کنید.

sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove

 

 

 

منبع:

linuxconfig