به‌روزرسانی DirectAdmin – راهنمای کامل کانال‌های آپدیت، آپدیت خودکار، آپدیت دستی و بررسی آخرین نسخه

DirectAdmin چندین کانال به‌روزرسانی، سیستم آپدیت خودکار و روش‌های مختلف برای آپدیت دستی ارائه می‌دهد. در این مقاله، نحوه کار کانال‌های آپدیت، فعال‌سازی یا غیرفعال‌سازی آپدیت خودکار، آپدیت از طریق GUI و CLI، نصب نسخه‌های خاص با commit hash و بررسی آخرین نسخه موجود از طریق DNS TXT را بررسی می‌کنیم.

Update ChannelsAuto UpdatesManual Updates

~3 دقیقه مطالعه • بروزرسانی ۱۰ اسفند ۱۴۰۴

1. کانال‌های به‌روزرسانی DirectAdmin


DirectAdmin سه کانال آپدیت دارد که تعیین می‌کند هر سرور چه زمانی نسخه‌های جدید را دریافت کند:

  • current – کانال پیش‌فرض برای نصب‌های جدید؛ دریافت سریع‌تر آپدیت‌ها.
  • stable – نسخه پایدارتر؛ معمولاً یک نسخه عقب‌تر از current.
  • alpha – نسخه‌های روزانه و آزمایشی (Bleeding Edge).

کانال انتخاب‌شده در فایل directadmin.conf با کلید update_channel ذخیره می‌شود.

مشاهده کانال فعلی:


da config-get update_channel

تغییر کانال:


da config-set update_channel current
---

2. آپدیت خودکار (Auto Update)


DirectAdmin دارای سیستم آپدیت خودکار است که نسخه‌های جدید را به‌صورت تدریجی نصب می‌کند تا از آپدیت هم‌زمان همه سرورها جلوگیری شود.

فعال‌سازی آپدیت خودکار:


da config-set autoupdate 1

گزینه autopatch نیز برای نصب hot fixهای داخل همان نسخه استفاده می‌شود.

غیرفعال‌سازی autoupdate و autopatch (برای نصب نسخه خاص):


da config-set autoupdate 0
da config-set autopatch 0
service directadmin restart
---

3. آپدیت دستی از طریق GUI


در مسیر زیر:


Admin Level → Licensing / Updates

اگر نسخه جدیدی موجود باشد، دکمه Update DirectAdmin نمایش داده می‌شود.

---

4. آپدیت دستی از طریق CLI (با da update)


دستور da update DirectAdmin را به آخرین نسخه کانال انتخاب‌شده آپدیت می‌کند.

نمونه‌ها:


da update               # آپدیت به آخرین نسخه کانال فعلی
da update alpha         # آپدیت به آخرین نسخه کانال alpha
da update current       # آپدیت به آخرین نسخه کانال current
da update 00112233...ff # آپدیت به نسخه خاص با commit hash

نکته: DirectAdmin هر روز به کانال update_channel برمی‌گردد. اگر به نسخه خاص یا alpha آپدیت می‌کنید، کانال را تغییر دهید یا autoupdate را غیرفعال کنید.

---

5. آپدیت دستی کامل (روش قدیمی یا کنترل کامل)


اگر دستور da update وجود نداشته باشد یا بخواهید کنترل کامل داشته باشید، می‌توانید DirectAdmin را به‌صورت دستی آپدیت کنید.

هشدار: این روش برای سیستم‌عامل‌های EOL توصیه نمی‌شود.

CHANNELهای ویژه:

  • rhel7 – برای CentOS 7 / CloudLinux 7 (آخرین نسخه پشتیبانی‌شده: 1.668)
  • debian10 – برای Debian 10

روش کامل آپدیت:


CHANNEL=current
OS_SLUG=linux_amd64
COMMIT=$(dig +short -t txt "$CHANNEL-version.directadmin.com" | sed 's|.*commit=\([0-9a-f]*\).*|\1|')
FILE="directadmin_${COMMIT}_${OS_SLUG}.tar.gz"

curl --location --progress-bar --connect-timeout 20 \
"https://download.directadmin.com/${FILE}" \
--output "/root/${FILE}"

tar xzf "/root/${FILE}" -C /usr/local/directadmin
/usr/local/directadmin/scripts/update.sh
systemctl restart directadmin
---

6. بررسی آخرین نسخه DirectAdmin


DirectAdmin اطلاعات نسخه‌ها را از طریق DNS TXT منتشر می‌کند:

  • alpha-version.directadmin.com
  • current-version.directadmin.com
  • stable-version.directadmin.com
  • rhel7-version.directadmin.com
  • debian10-version.directadmin.com

نمونه بررسی با dig:


dig +short -t txt alpha-version.directadmin.com \
current-version.directadmin.com \
stable-version.directadmin.com \
rhel7-version.directadmin.com \
debian10-version.directadmin.com

استخراج فقط شماره نسخه:


dig +short -t txt current-version.directadmin.com | sed 's|.*v=\([0-9.]*\).*|\1|'

نوشته و پژوهش شده توسط دکتر شاهین صیامی