</>

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

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

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

Command Palette

Search for a command to run...

به‌روزرسانی سیستم در Debian

آموزش به‌روزرسانی روزانه و ارتقای بزرگ در Debian: apt update/upgrade، به‌روزرسانی امنیتی خودکار، پاک‌سازی و ارتقا بین نسخه‌ها.

مقدماتی۶ دقیقه مطالعهآخرین بروزرسانی: ۹ تیر ۱۴۰۵ویرایش در گیت‌هاب

به‌روزرسانی منظم، مهم‌ترین وظیفهٔ نگهداری Debian است. در این آموزش با به‌روزرسانی روزانه، به‌روزرسانی‌های امنیتی خودکار، پاک‌سازی سیستم و ارتقای بزرگ بین نسخه‌ها آشنا می‌شوید.

به‌روزرسانی روزانه#

ساده‌ترین روش برای به‌روزرسانی، اجرای دو دستور زیر است:

# به‌روزرسانی فهرست بسته‌ها
sudo apt update
 
# ارتقای بسته‌های نصب‌شده
sudo apt upgrade

تفاوت update و upgrade

  • apt update: فقط فهرست بسته‌های موجود در مخازن را به‌روز می‌کند. هیچ بسته‌ای نصب نمی‌شود.
  • apt upgrade: بسته‌های نصب‌شده را به نسخه‌های جدید ارتقا می‌دهد.

هر دو دستور باید اجرا شوند. update بدون upgrade هیچ فایده‌ای ندارد.

دستورات کامل به‌روزرسانی#

برای یک به‌روزرسانی کامل:

# 1. به‌روزرسانی فهرست
sudo apt update
 
# 2. ارتقای بسته‌ها
sudo apt upgrade -y
 
# 3. ارتقای کامل (با حذف بسته‌های قدیمی در صورت نیاز)
sudo apt full-upgrade -y
 
# 4. حذف بسته‌های یتیم
sudo apt autoremove -y
 
# 5. پاک‌سازی کش
sudo apt clean
دستورتوضیح
apt updateبه‌روزرسانی فهرست بسته‌ها
apt upgradeارتقای بسته‌ها (بدون حذف)
apt full-upgradeارتقای کامل (با حذف در صورت نیاز)
apt autoremoveحذف وابستگی‌های یتیم
apt autocleanپاک‌سازی بسته‌های قدیمی در کش
apt cleanپاک‌سازی کامل کش

به‌روزرسانی امنیتی#

به‌روزرسانی‌های امنیتی در مخزن جداگانه‌ای نگهداری می‌شوند. مطمئن شوید مخزن security در /etc/apt/sources.list فعال است:

# بررسی مخزن security
grep security /etc/apt/sources.list
# deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

اگر این خط وجود ندارد، اضافه‌اش کنید و سپس به‌روزرسانی کنید:

sudo apt update
sudo apt upgrade

به‌روزرسانی خودکار با unattended-upgrades#

برای سرورها، فعال‌کردن به‌روزرسانی خودکار امنیتی توصیه می‌شود:

# نصب
sudo apt install unattended-upgrades apt-listchanges
 
# پیکربندی تعاملی
sudo dpkg-reconfigure -plow unattended-upgrades
# گزینهٔ Yes را انتخاب کنید

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

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
// /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Origins-Pattern {
    "origin=Debian,codename=${distro_codename},label=Debian-Security";
    "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
//  "origin=Debian,codename=${distro_codename},label=Debian";
//  "origin=Debian,codename=${distro_codename},label=Debian-Updates";
};
 
// بسته‌هایی که نباید خودکار ارتقا یابند
Unattended-Upgrade::Package-Blacklist {
//  "vim";
//  "libc6";
};
 
// ری‌استارت خودکار در صورت نیاز (مثلاً پس از ارتقای کرنل)
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
 
// ایمیل اطلاع‌رسانی
Unattended-Upgrade::Mail "root";
# تست اجرای خشک
sudo unattended-upgrade --dry-run --debug
 
# اجرای دستی
sudo unattended-upgrade

unattended-upgrades برای سرور

این ابزار فقط به‌روزرسانی‌های امنیتی را نصب می‌کند، نه ارتقاهای معمولی را. این یعنی پایداری سیستم حفظ می‌شود، اما آسیب‌پذیری‌های امنیتی به‌سرعت پوشش داده می‌شوند.

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

اگر unattended-upgrades نمی‌خواهید، می‌توانید با cron به‌روزرسانی زمان‌بندی کنید:

# ویرایش crontab ریشه
sudo crontab -e
# به‌روزرسانی روزانه ساعت 3 شب
0 3 * * * /usr/bin/apt update && /usr/bin/apt -y upgrade >> /var/log/apt-cron.log 2>&1
 
# پاک‌سازی هفتگی
0 4 * * 0 /usr/bin/apt -y autoremove && /usr/bin/apt clean >> /var/log/apt-cron.log 2>&1

بررسی بسته‌های قابل ارتقا#

پیش از به‌روزرسانی، می‌توانید ببینید چه بسته‌هایی ارتقا می‌یابند:

# بسته‌های قابل ارتقا
apt list --upgradable
 
# خروجی نمونه:
# firefox-esr/stable-security 115.8.0esr-1~deb12u1 amd64 [upgradable from: 115.7.0esr-1~deb12u1]
# openssl/stable-security 3.0.13-1~deb12u1 amd64 [upgradable from: 3.0.11-1~deb12u2]
# linux-image-amd64/stable 6.1+105 amd64 [upgradable from: 6.1+101]

پس از به‌روزرسانی کرنل#

اگر کرنل ارتقا یافته، باید برای اعمال آن ری‌استارت کنید:

# بررسی نسخهٔ کرنل در حال اجرا
uname -r
 
# بررسی نسخهٔ کرنل نصب‌شده
dpkg -l | grep linux-image
 
# اگر متفاوت بود، ری‌استارت
sudo reboot

پس از ارتقای کرنل

پس از ارتقای کرنل، سرویس‌های قدیمی ممکن است با ماژول‌های قدیمی کرنل در ارتباط باشند. برای اعمال کامل به‌روزرسانی، ری‌استارت ضروری است. این کار مخصوصاً برای سرورهای تولیدی در زمان تعرفه‌بندی کم‌بار (maintenance window) انجام شود.

پاک‌سازی دوره‌ای#

برای جلوگیری از پر شدن دیسک، هر چند هفته یک‌بار پاک‌سازی کنید:

# پاک‌سازی بسته‌های یتیم
sudo apt autoremove --purge
 
# پاک‌سازی کش APT
sudo apt clean
 
# پاک‌سازی بسته‌های rc (حذف‌شده با تنظیمات مانده)
dpkg -l | awk '/^rc/ {print $2}' | sudo xargs dpkg --purge
 
# پاک‌سازی لاگ‌های قدیمی
sudo journalctl --vacuum-time=30d
sudo journalctl --vacuum-size=500M
 
# بررسی فضای دیسک
df -h

ارتقای بزرگ بین نسخه‌ها (مثلاً 11 به 12)#

ارتقا بین نسخه‌های Stable (مثلاً Bullseye به Bookworm) یک فرایند جدی است:

۱. پشتیبان‌گیری#

# پشتیبان‌گیری از لیست بسته‌ها
dpkg --get-selections > ~/packages.txt
 
# پشتیبان‌گیری از پیکربندی‌ها
sudo tar -czf ~/configs-backup.tar.gz /etc /home /var/lib/dpkg

۲. به‌روزرسانی کامل نسخهٔ فعلی#

sudo apt update
sudo apt full-upgrade
sudo apt autoremove --purge

۳. تغییر sources.list#

# جایگزینی bullseye با bookworm
sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*.list
 
# بررسی
cat /etc/apt/sources.list

۴. به‌روزرسانی و ارتقا#

# به‌روزرسانی فهرست
sudo apt update
 
# ارتقای حداقلی (بدون حذف)
sudo apt upgrade --without-new-pkgs
 
# ارتقای کامل
sudo apt full-upgrade
 
# پاک‌سازی
sudo apt autoremove --purge
 
# ری‌استارت
sudo reboot

۵. بررسی نسخهٔ جدید#

cat /etc/debian_version
# 12.5
 
cat /etc/os-release | grep PRETTY
# PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"

ارتقای بزرگ ریسک دارد

ارتقا بین نسخه‌های Stable می‌تواند باعث شکسته شدن پیکربندی‌ها، حذف بسته‌ها یا حتی غیرقابل بوت شدن سیستم شود. همیشه پیش از ارتقا، از سیستم پشتیبان کامل بگیرید و در محیط تست ارتقا را امتحان کنید.

خطاهای رایج#

۱. خطای lock#

E: Could not get lock /var/lib/dpkg/lock-frontend

راه‌حل: یک فرآیند APT دیگر در حال اجراست. صبر کنید یا با sudo kill متوقف کنید.

۲. وابستگی‌های شکسته#

# رفع خودکار
sudo apt --fix-broken install
 
# پیکربندی بسته‌های نیمه‌نصب
sudo dpkg --configure -a

۳. فضای دیسک ناکافی#

# پاک‌سازی
sudo apt clean
sudo apt autoremove --purge
 
# بررسی
df -h

۴. بسته‌های hold شده#

# بررسی
apt-mark showhold
 
# رفع hold
sudo apt-mark unhold package-name

۵. ساختار مخزن تغییر کرده#

E: Repository 'http://deb.debian.org/debian bookworm InRelease' changed its 'Codename' value

راه‌حل:

sudo apt update --allow-releaseinfo-change

روتین هفتگی پیشنهادی#

# یک‌بار در هفته:
sudo apt update
sudo apt upgrade -y
sudo apt autoremove --purge -y
sudo apt clean
sudo journalctl --vacuum-time=30d
df -h

ترکیب با unattended-upgrades

بهترین استراتژی: unattended-upgrades برای به‌روزرسانی خودکار امنیتی + اجرای دستی هفتگی apt upgrade برای به‌روزرسانی‌های معمولی + پاک‌سازی ماهانه. این ترکیب امنیت بالا و پایداری را تضمین می‌کند.

خلاصه و مرحلهٔ بعد#

به‌روزرسانی Debian ساده است: apt update + apt upgrade + apt autoremove. برای سرورها، unattended-upgrades به‌روزرسانی امنیتی را خودکار می‌کند. ارتقای بزرگ بین نسخه‌ها نیاز به دقت و پشتیبان‌گیری دارد.

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

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

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