بهروزرسانی سیستم در Ubuntu
آموزش کامل بهروزرسانی Ubuntu: APT update، upgrade، full-upgrade، بهروزرسانیهای امنیتی، unattended-upgrades و ارتقا به نسخهٔ جدید.
بهروزرسانی منظم، مهمترین کار برای نگهداری امن و پایدار Ubuntu است. در این آموزش با انواع بهروزرسانی، تنظیمات خودکار و ارتقا به نسخهٔ جدید آشنا میشوید.
تفاوت update، upgrade و full-upgrade
این سه دستور معمولاً با هم اشتباه گرفته میشوند:
| دستور | عملکرد |
|---|---|
apt update | فقط فهرست بستهها را بهروز میکند |
apt upgrade | بستههای نصبشده را به نسخهٔ جدید ارتقا میدهد (بدون حذف) |
apt full-upgrade | ارتقا با حذف بستهها در صورت نیاز (مثلاً برای وابستگیهای جدید) |
هرگز upgrade بدون update اجرا نکنید
دستور apt upgrade بهتنهایی کار نمیکند؛ ابتدا باید apt update اجرا شود تا فهرست بستههای جدید دریافت شود. بدون این کار، upgrade هیچ کاری انجام نمیدهد.
روتین بهروزرسانی روزانه
# ۱. بهروزرسانی فهرست بستهها
sudo apt update
# ۲. مشاهدهٔ بستههای قابل ارتقا
apt list --upgradable
# ۳. ارتقای بستهها
sudo apt upgrade -y
# ۴. ارتقای کامل (در صورت نیاز)
sudo apt full-upgrade -y
# ۵. پاکسازی بستههای یتیم
sudo apt autoremove -y
# ۶. پاکسازی کش
sudo apt cleanبهصورت یک خط
# بهروزرسانی کامل و پاکسازی
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo apt cleanخروجی نمونه apt update
$ sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Fetched 504 kB in 1s (504 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
25 packages can be upgraded. Run 'apt list --upgradable' to see them.| پیام | معنا |
|---|---|
Hit | فهرست قبلاً دریافت شده و تغییری نکرده |
Get | فهرست جدید دریافت شد |
Ign | خطای موقت در دریافت (مثلاً فایل قدیمی) |
Err | خطای جدی در دریافت |
بهروزرسانیهای امنیتی
بهروزرسانیهای امنیتی در مخزن noble-security قرار دارند. برای مشاهدهٔ فقط بهروزرسانیهای امنیتی:
# نصب ابزار unattended-upgrades (معمولاً نصب است)
sudo apt install -y unattended-upgrades
# مشاهدهٔ بهروزرسانیهای امنیتی موجود
sudo unattended-upgrade --dry-run -v
# اجرای دستی بهروزرسانیهای امنیتی
sudo unattended-upgradeتنظیم بهروزرسانی خودکار
# فعالسازی بهروزرسانی خودکار امنیتی
sudo dpkg-reconfigure -plow unattended-upgradesAutomatically install updates?
Yes → نصب خودکار بهروزرسانیهای امنیتی هر روز
No → فقط دستیبهروزرسانی خودکار برای سرور
بهروزرسانی خودکار امنیتی برای اکثر سرورها توصیه میشود. این کار آسیبپذیریهای امنیتی را بدون مداخلهٔ شما رفع میکند. اما برای ایستگاههای کاری حرفهای یا سرورهای production حساس، بهتر است ابتدا در محیط تست بررسی شوند.
پیکربندی پیشرفته unattended-upgrades
sudo nano /etc/apt/apt.conf.d/50unattended-upgradesUnattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
};
// پاکسازی خودکار
Unattended-Upgrade::Remove-Unused-Dependencies "true";
// ریاستارت خودکار در صورت نیاز (در ساعت ۴ صبح)
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";بررسی تاریخچه بهروزرسانیها
# تاریخچهٔ apt
cat /var/log/apt/history.log | tail -50
# خروجی نمونه:
# Start-Date: 2026-06-30 10:00:00
# Commandline: apt upgrade
# Upgrade: firefox (1:1snap4-0ubuntu1, 1:1snap5-0ubuntu1)
# End-Date: 2026-06-30 10:01:23
# تاریخچهٔ term
cat /var/log/apt/term.log | tail -100
# در صورت چرخش log
zcat /var/log/apt/history.log.1.gz | tail -50بررسی بستههای قابل ارتقا
# لیست بستههای قابل ارتقا
apt list --upgradable
# خروجی نمونه:
# firefox/noble-updates 1:1snap5-0ubuntu1 amd64 [upgradable from: 1:1snap4-0ubuntu1]
# openssl/noble-security 3.0.13-1ubuntu1 amd64 [upgradable from: 3.0.11-1ubuntu1]
# تعداد بستههای قابل ارتقا
apt list --upgradable 2>/dev/null | grep -c upgradableقفلکردن نسخهٔ بسته (Hold)
گاهی لازم است نسخهٔ یک بسته را ثابت نگه دارید:
# قفلکردن نسخهٔ یک بسته
sudo apt-mark hold linux-image-generic
# مشاهدهٔ بستههای قفلشده
apt-mark showhold
# رفع قفل
sudo apt-mark unhold linux-image-genericاحتیاط با hold
قفلکردن نسخهٔ بستهها میتواند بهروزرسانیهای امنیتی را مسدود کند. فقط در صورت ضرورت از این قابلیت استفاده کنید و بستههای قفلشده را بهطور منظم بررسی کنید.
بهروزرسانی Snapها
علاوه بر APT، Snapها هم بهطور جداگانه بهروز میشوند:
# مشاهدهٔ Snapهای نصبشده
snap list
# بهروزرسانی همهٔ Snapها
sudo snap refresh
# بهروزرسانی Snap خاص
sudo snap refresh firefox
# مشاهدهٔ تغییرات اخیر
snap changes
# بازگشت به نسخهٔ قبلی
sudo snap revert firefoxSnap خودکار است
Snap بهطور پیشفرض هر ۴ ساعت بهروزرسانی خودکار انجام میدهد. نیازی به snap refresh دستی نیست، اما میتوانید برای بهروزرسانی فوری اجرا کنید.
بهروزرسانی Flatpakها
اگر Flatpak نصب دارید:
# بهروزرسانی همهٔ Flatpakها
flatpak update -y
# پاکسازی runtimeهای غیراستفاده
flatpak uninstall --unused -yارتقا به نسخهٔ جدید Ubuntu
برای ارتقا از یک نسخهٔ Ubuntu به نسخهٔ بعدی:
# نصب ابزار ارتقا
sudo apt install -y update-manager-core
# بررسی نسخهٔ فعلی
lsb_release -a
# تنظیم رفتار ارتقا
sudo nano /etc/update-manager/release-upgrades
# Prompt=lts (فقط به LTS بعدی)
# Prompt=normal (هم non-LTS هم LTS)# اجرای ارتقا (LTS به LTS)
sudo do-release-upgrade
# ارتقا به آخرین نسخه (حتی non-LTS)
sudo do-release-upgrade -d
# ارتقا با SSH (recommended flag)
sudo do-release-upgrade -f DistUpgradeViewNonInteractiveپشتیبان بگیرید قبل از ارتقا
ارتقا بین نسخههای Ubuntu عملیاتی است که در صورت بروز مشکل میتواند سیستم را غیرقابلبوت کند. همیشه:
- از دادههای مهم پشتیبان بگیرید
- snapshot ماشین مجازی بگیرید (اگر در VM هستید)
- در زمانی انجام دهید که سیستم ساعاتی از دسترس خارج شدن، مشکلی ایجاد نکند
- پس از ارتقا، سرویسهای مهم را تست کنید
پاکسازی دورهای سیستم
# پاکسازی بستههای یتیم
sudo apt autoremove --purge -y
# پاکسازی کش apt
sudo apt clean
# پاکسازی بستههای قدیمی snap
sudo snap list --all | awk '/disabled/{print $1, $3}' | while read name rev; do sudo snap remove "$name" --revision="$rev"; done
# پاکسازی journal قدیمی
sudo journalctl --vacuum-time=30d
# پاکسازی cache کاربر
du -sh ~/.cache/
rm -rf ~/.cache/*رفع خطاهای رایج
۱. خطای lock
E: Could not get lock /var/lib/dpkg/lock-frontendراهحل: صبر کنید تا فرآیند قبلی تمام شود. اگر نشد:
sudo killall apt apt-get dpkg
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock-frontend
sudo dpkg --configure -a۲. وابستگیهای شکسته
# رفع خودکار
sudo apt --fix-broken install
# بررسی بستههای قفلشده
apt-mark showhold
# ارتقای کامل
sudo apt full-upgrade۳. Hash Sum mismatch
# پاکسازی cache
sudo rm -rf /var/lib/apt/lists/*
sudo apt update۴. فضای دیسک ناکافی
# بررسی فضای دیسک
df -h
# پاکسازی کش
sudo apt clean
sudo apt autoremove --purge -y
# پاکسازی Snap قدیمی
sudo snap set system refresh.retain=2اتوماسیون با Cron
برای بهروزرسانی خودکار روزانه (در ساعت ۳ نیمهشب):
# ویرایش crontab مدیر
sudo crontab -e# هر روز ساعت ۳ صبح بهروزرسانی امنیتی
0 3 * * * /usr/bin/unattended-upgrade --quiet
# هر یکشنبه ساعت ۴ صبح بهروزرسانی کامل و پاکسازی
0 4 * * 0 /usr/bin/apt update && /usr/bin/apt upgrade -y && /usr/bin/apt autoremove -yخلاصه و مرحلهٔ بعد
بهروزرسانی منظم Ubuntu با روتین سادهٔ apt update && apt upgrade انجام میشود. برای امنیت بیشتر، unattended-upgrades را فعال کنید و هر چند هفته یکبار apt full-upgrade و autoremove را اجرا کنید.
بهعنوان گام بعدی:
- آموزش APT و Snap را برای درک عمیقتر بخوانید
- آموزش سوالات متداول را برای رفع مشکلات رایج ببینید
- آموزش نسخههای Ubuntu را برای درک LTS و non-LTS مرور کنید
این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.