| SYSTEMD-SYSUPDATE(8) | systemd-sysupdate | SYSTEMD-SYSUPDATE(8) |
نام (NAME)
systemd-sysupdate - ابزار بهروزرسانی اتمیک سیستم، سیستمعامل و افزونهها
خلاصه دستور (SYNOPSIS)
systemd-sysupdate [OPTIONS...]
systemd-sysupdate.service
توضیحات (DESCRIPTION)
systemd-sysupdate سیستمعامل میزبان، ایمیجهای کانتینر، ایمیجهای سرویس قابلحمل (portable service) یا سایر منابع را بر اساس فایلهای پیکربندی انتقال شرحدادهشده در sysupdate.d(5) بهصورت اتمیک بهروزرسانی میکند.
این ابزار طرحهای بهروزرسانی مبتنی بر فایل، دایرکتوری یا پارتیشن را پیادهسازی میکند و از چندین نسخه نصبشده موازی منابع خاص در قالب A/B (یا حتی: A/B/C، A/B/C/D و غیره) پشتیبانی مینماید. بهروزرسانی A/B به این معنی است که هنگامی که یک نسخه از منبع در حال حاضر استفاده میشود، نسخه بعدی میتواند در مکانی کاملاً مجزا و مستقل از نسخه اول دانلود، بازگشایی و آماده شود و — پس از تکمیل — فعال گردد؛ با جابجایی نقشها بهطوری که نسخه جدید به نسخه مورد استفاده تبدیل شده و نسخه قبلاً استفادهشده به نسخهای تبدیل میشود که در بهروزرسانی بعدی جایگزین خواهد شد، و به همین ترتیب ادامه مییابد. منابعی که باید بهروزرسانی شوند در فایلهای انتقال تعریف میشوند، یک فایل برای هر منبعی که قرار است بهروز شود. برای مثال، منابعی که ممکن است با این ابزار بهروزرسانی شوند میتوانند شامل: یک پارتیشن سیستمفایل ریشه (root)، یک پارتیشن متناظر Verity به همراه یک ایمیج هسته (kernel) باشند. ترکیب این سه مورد یک بهروزرسانی کامل سیستمعامل در نظر گرفته میشود.
این ابزار پارتیشنها، فایلها یا درختهای دایرکتوری را همیشه بهصورت کامل بهروزرسانی میکند، و حداقل با دو نسخه از هر یک از این منابع کار میکند: نسخه current (فعلی)، به علاوه نسخه next (بعدی): نسخهای که در حال بهروزرسانی به آن است و در ابتدا همزمان با نوشتهشدن دادههای دانلودشده درون آن ناقص است؛ به علاوه در صورت تمایل نسخههای بیشتر. به محض اینکه دانلود یک نسخه جدیدتر کامل شود، آن نسخه به نسخه فعلی تبدیل شده و نسخهای که پیشتر فعلی تلقی میشد را برای حذف/جایگزینی/بهروزرسانی آزاد میسازد.
هنگام نصب نسخههای جدید، این ابزار نسخه جدید را مستقیماً دانلود، از حالت فشرده خارج، بازگشایی و در مقصد مینویسد. این کار به شیوهای مقاوم انجام میشود تا بتوان یک دانلود ناقص را در فراخوانی بعدی تشخیص داد و پیش از آغاز تلاشی جدید، آن را پاکسازی کرد.
توجه داشته باشید که هنگام نوشتن بهروزرسانیها روی یک پارتیشن، پارتیشن باید از قبل وجود داشته باشد، زیرا systemd-sysupdate پارتیشنهای جدید را بهطور خودکار ایجاد نمیکند. از ابزاری مانند systemd-repart(8) استفاده کنید تا در زمان بوت، پارتیشنهای اضافی را برای استفاده با systemd-sysupdate بهطور خودکار ایجاد کند.
این ابزار هم میتواند روی سیستمعامل در حال اجرا برای بهروزرسانی سیستمعامل در وضعیت «آنلاین» از درون خود سیستم استفاده شود، و هم روی ایمیجهای دیسک «آفلاین» برای بهروزرسانی آنها از خارج بر اساس فایلهای انتقال تعبیهشده در ایمیجهای دیسک به کار رود. برای مورد دوم، به --image= در زیر مراجعه کنید. مورد دوم بهویژه برای بهروزرسانی ایمیجهای کانتینر یا ایمیجهای سرویس قابلحمل کاربردی است.
سرویس سیستمی systemd-sysupdate.service سیستمعامل میزبان را بر اساس فایلهای انتقال نصبشده بهطور خودکار بهروزرسانی میکند. این سرویس در فواصل زمانی منظم از طریق systemd-sysupdate.timer فعال میشود. سرویس systemd-sysupdate-reboot.service پس از نصب یک نسخه جدید، سیستم را بهطور خودکار بازراهاندازی (reboot) میکند. این سرویس از طریق systemd-sysupdate-reboot.timer راهاندازی میگردد. این دو سرویس از یکدیگر مجزا هستند زیرا معمولاً توصیه میشود که بهروزرسانیها بهطور منظم در زمان بالا بودن سیستم دانلود شوند، اما راهاندازی مجدد تا زمان مناسب (یعنی معمولاً در شب) به تعویق بیفتد. این دو مجموعه از واحدهای سرویس/تایمر را میتوان بهطور جداگانه فعال کرد.
برای جزئیات بیشتر درباره فایلهای انتقال و مشاهده مثالها به sysupdate.d(5) مراجعه کنید.
دستورات (COMMANDS)
دستورات زیر پشتیبانی میشوند:
list [VERSION]
اگر هیچ دستوری بهصراحت مشخص نشود، این دستور به طور پیشفرض در نظر گرفته میشود.
افزودهشده در نسخه 251.
features [FEATURE]
افزودهشده در نسخه 257.
check-new
افزودهشده در نسخه 251.
update [--offline] [VERSION]
اگر --offline مشخص شده باشد، بهروزرسانی باید از قبل با استفاده از acquire دریافت شده باشد و در این صورت، این نسخه از پیش دریافتشده نسخهای خواهد بود که سیستم به آن بهروزرسانی میشود.
افزودهشده در نسخه 251.
acquire [VERSION]
اگر نسخه جدیدی برای نصب/بهروزرسانی یافت شود، نسخههای قدیمی نصبشده حذف میشوند تا زمانی که حداقل یک نسخه جدید بتواند نصب شود، همانطور که از طریق InstanceMax= در sysupdate.d(5) یا از طریق اسلاتهای پارتیشن موجود از نوع مناسب پیکربندی شده است. این عملیات ضمنی را میتوان بهصورت صریح نیز از طریق دستور vacuum که در زیر توضیح داده شده است فراخوانی کرد.
افزودهشده در نسخه 260.
vacuum
افزودهشده در نسخه 251.
pending
افزودهشده در نسخه 251.
reboot
افزودهشده در نسخه 251.
components
افزودهشده در نسخه 251.
-h, --help
--version
گزینهها (OPTIONS)
گزینههای زیر پشتیبانی میشوند:
--component=, -C
از دستور components برای فهرست کردن مؤلفههای موجود جهت بهروزرسانی استفاده کنید. این دستور دایرکتوریهای منطبق با این قاعده نامگذاری را برمیشمارد.
مؤلفهها ممکن است برای تعریف یک مجموعه جداگانه از فایلهای انتقال برای بخشهای مختلف سیستمعامل که باید بهطور جداگانه بهروزرسانی شوند به کار روند. از این مفهوم برای منابعی که باید همیشه بهطور همزمان و هماهنگ بهروزرسانی شوند استفاده نکنید. برای این موارد، بهسادگی چند فایل انتقال را در همان دایرکتوری sysupdate.d/ تعریف کنید.
این گزینه نباید با --definitions= ترکیب شود.
افزودهشده در نسخه 251.
--definitions=
این گزینه نباید با --component= ترکیب شود.
افزودهشده در نسخه 251.
--root=
افزودهشده در نسخه 251.
--image=
افزودهشده در نسخه 251.
--image-policy=policy
--instances-max=, -m
افزودهشده در نسخه 251.
--sync=
افزودهشده در نسخه 251.
--verify=
افزودهشده در نسخه 251.
--reboot
افزودهشده در نسخه 251.
--offline
اگر در ترکیب با دستور update استفاده شود، به بهروزرسانیها اجازه میدهد از قبل دانلود شده (با استفاده از acquire) و بعداً نصب شوند.
افزودهشده در نسخه 257.
--transfer-source=
افزودهشده در نسخه 257.
--no-pager
--no-legend
--json=MODE
وضعیت خروج (EXIT STATUS)
در صورت موفقیت 0 بازگردانده میشود، در غیر این صورت یک کد خطای غیرصفر برگردانده خواهد شد.
همچنین ببینید (SEE ALSO)
systemd(1), sysupdate.d(5), systemd-sysupdated.service(8), systemd-repart(8)
| systemd 261.2 |