</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

به‌روزرسانی سیستم در 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-upgrades
Automatically install updates?
  Yes  →  نصب خودکار به‌روزرسانی‌های امنیتی هر روز
  No   →  فقط دستی

به‌روزرسانی خودکار برای سرور

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

پیکربندی پیشرفته unattended-upgrades#

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-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 firefox

Snap خودکار است

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 را اجرا کنید.

به‌عنوان گام بعدی:

اشتراک‌گذاری:

این صفحه در تاریخ ۹ تیر ۱۴۰۵ به‌روزرسانی شده است.