apt ابزار مدیریت بسته در اوبونتو است: فهرست مخازن را تازه میکند، بسته نصب یا ارتقا میدهد و در صورت نیاز حذف میکند. فهم تفاوت update، upgrade، install و purge جلوی بیشتر خطاهای روزمره را میگیرد؛ این آموزش همان مسیر مستند سرور اوبونتو را از صفر جمع میکند.
آموزش apt در اوبونتو؛ نصب، بهروزرسانی و حذف بسته
پیشنیاز: دسترسی sudo، اتصال شبکه، و ترجیحاً یک نشست SSH یا کنسول اضافه هنگام ارتقای بزرگ تا اگر چیزی قطع شد بیرون نمانید. روی دسکتاپ و سرور فرمانها یکساناند؛ فقط مخازن و نقشههای نصب فرق میکنند.
- همیشه با sudo apt update فهرست ایندکس را تازه کنید.
- برای دیدن چه چیزی ارتقا میخورد: apt list --upgradable.
- ارتقای امن بستههای نصبشده: sudo apt upgrade.
- نصب یک بسته: sudo apt install nginx (نام را با نیاز خود عوض کنید).
- حذف برنامه با نگهداشتن تنظیمات: sudo apt remove …؛ حذف همراه پاککردن کانفیگ: sudo apt purge ….
- بستههای یتیم را با sudo apt autoremove جمع کنید.
apt update خودش نرمافزار را عوض نمیکند؛ فقط فهرست را میخواند. بدون update، install ممکن است نسخهٔ کهنه یا خطای پیدا نشدن بدهد. full-upgrade در صورت نیاز بسته را حذف میکند تا وابستگی حل شود؛ روی سرور تولیدی قبل از Yes خروجی را بخوانید.
مخازن، عیبیابی و ارتقای امنتر
اگر update خطای hash یا مخزن میدهد، اول فایلهای زیر /etc/apt/sources.list.d/ را بررسی کنید نه اینکه کورکورانه --fix-missing بزنید. مخزن سومشخص را فقط وقتی لازم است اضافه کنید و کلید امضا را از منبع رسمی بگیرید.
اگر در نصب به تعارض وابستگی خوردید، در نظرات پیام خطا (بدون توکن) را بگذارید تا مشخص شود hold، مخزن یا نسخهٔ کاندید مقصر است. مرجع در Package management | Ubuntu Server documentation است. عادت شما update روزانه است یا فقط وقتی چیزی نصب میکنید؟
بیشتر خرابیهای «بسته پیدا نشد» در اوبونتو از این است که update فراموش شده یا مخزن برای آن suites فعال نیست. عادت سالم این است که در شروع نشست کاری روی سرور یک update بزنید، خروجی را اسکن کنید، بعد install کنید. upgrade جداگانه تصمیم آگاهانه است؛ روی سرور تولیدی اول list --upgradable را بخوانید.
تفاوت remove و purge برای نرمافزارهایی با کانفیگ در /etc مهم است. اگر فقط میخواهید باینری برود ولی سایت nginx را نگه دارید، remove کافی است. purge وقتی تمیزکاری کامل میخواهید؛ قبلش از فایلهای مهم کپی بگیرید.
autoremove بستههایی را برمیدارد که بهعنوان وابستگی آمدهاند و دیگر لازم نیستند. بعد از حذف یک استک بزرگ مفید است، ولی خروجی را بخوانید تا چیزی که هنوز دستی لازم دارید در فهرست نباشد. ابزارهای apt و apt-get هر دو کار میکنند؛ apt برای استفادهٔ تعاملی خواناتر است.
با apt show و apt policy قبل از نصب سنگین ببینید کاندید از کدام مخزن میآید. اگر policy نسخهٔ غیرمنتظره نشان داد، یک PPA یا مخزن vendor مسیر را عوض کرده است. غیرفعال کردن موقت آن منبع با rename فایل list در sources.list.d روش تشخیصی رایجی است.
خطای «kept back» یا تعارض وابستگی را با زور --force رد نکنید مگر بدانید چرا. اغلب full-upgrade یا صبر تا حل وابستگی در مخزن درستتر است. روی سرورهای دور، قبل از ارتقای کرنل یک مسیر دسترسی جایگزین (کنسول ابری یا IPMI) داشته باشید.
unattended-upgrades برای پچ امنیتی خودکار روی سرورهای پایدار مفید است؛ ولی همچنان گزارش را دوره کنید تا سرویسی بعد از پچ نایستاده باشد. مخزن تصادفی اینترنت را به لپتاپ شخصی هم بهراحتی اضافه نکنید؛ امضای کلید و نشانی HTTPS رسمی حداقل انتظار است.
ثبت کوتاه تاریخ آخرین upgrade موفق در مستند تیم، عیبیابی «از کی خراب شده» را کوتاه میکند. مستند Package management اوبونتو جزئیات منابع و ابزارها را کاملتر از این آموزش روزمره دارد.