بدء استخدام Desired State Configuration (DSC) لنظام التشغيل Linux
يشرح هذا الموضوع كيفية البدء في استخدام PowerShell Desired State Configuration (DSC) لنظام التشغيل Linux. للحصول على معلومات عامة حول DSC، راجع بدء استخدام Windows PowerShell تكوين الحالة المطلوبة.
إصدارات نظام تشغيل Linux المدعومة
يتم دعم إصدارات نظام التشغيل Linux التالية بواسطة DSC لنظام التشغيل Linux.
- CentOS 7 و8 (x64)
- Debian GNU/Linux 8 و9 وand 10 (x64)
- Oracle Linux 7 (x64)
- Red Hat Enterprise Linux Server 7 و8 (x64)
- SUSE Linux Enterprise Server 12 و15 (x64)
- Ubuntu Server 14.04 LTS و16.04 LTS و18.04 LTS و20.04 LTS (x64)
تثبيت DSC لنظام التشغيل Linux
يجب تثبيت البنية الأساسية للإدارة المفتوحة (OMI) قبل تثبيت DSC لنظام التشغيل Linux.
تثبيت OMI
يتطلب تكوين الحالة المطلوب لنظام التشغيل Linux خادم CIM للبنية الأساسية للإدارة المفتوحة (OMI)، الإصدار 1.0.8.1 أو أحدث. يمكن تنزيل OMI من المجموعة المفتوحة: البنية الأساسية للإدارة المفتوحة (OMI).
لتثبيت OMI، قم بتثبيت الحزمة المناسبة لنظام Linux (.rpm أو .deb) وإصدار OpenSSL (ssl_098 أو ssl_100) والبنية (x64/x86). حزم RPM مناسبة ل CentOS وRed Hat Enterprise Linux وSUSE Linux Enterprise Server وOracle Linux. حزم DEB مناسبة ل Debian GNU/Linux وUbuntu Server. حزم ssl_098 مناسبة لأجهزة الكمبيوتر التي تم تثبيت OpenSSL 0.9.8 بينما تكون حزم ssl_100 مناسبة لأجهزة الكمبيوتر المثبت بها OpenSSL 1.0.
ملاحظة
لتحديد إصدار OpenSSL المثبت، قم بتشغيل الأمر openssl version
.
قم بتشغيل الأمر التالي لتثبيت OMI على نظام CentOS 7 x64.
# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm
تثبيت DSC
يتوفر DSC لنظام التشغيل Linux للتنزيل من مستودع PowerShell-DSC-for-Linux في المستودع.
لتثبيت DSC، قم بتثبيت الحزمة المناسبة لنظام Linux (.rpm أو .deb) وإصدار OpenSSL والبنية (x64/x86). حزم RPM مناسبة ل CentOS وRed Hat Enterprise Linux وSUSE Linux Enterprise Server وOracle Linux. حزم DEB مناسبة ل Debian GNU/Linux وUbuntu Server.
ملاحظة
دعم DSC Linux OpenSSL حتى الإصدار 1.1. لتحديد إصدار OpenSSL المثبت، قم بتشغيل الأمر openssl version
.
قم بتشغيل الأمر التالي لتثبيت DSC على نظام CentOS 7 x64.
# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm
استخدام DSC لنظام التشغيل Linux
تشرح الأقسام التالية كيفية إنشاء تكوينات DSC وتشغيلها على أجهزة كمبيوتر Linux.
إنشاء مستند MOF للتكوين
يتم استخدام الكلمة الأساسية Windows PowerShell Configuration لإنشاء تكوين لأجهزة كمبيوتر Linux، تماما كما هو الحال مع أجهزة كمبيوتر Windows. تصف الخطوات التالية إنشاء مستند تكوين لجهاز كمبيوتر Linux باستخدام Windows PowerShell.
استيراد الوحدة النمطية nx. تحتوي الوحدة النمطية nx Windows PowerShell على مخطط موارد Built-In ل DSC لنظام التشغيل Linux، ويجب تثبيتها على الكمبيوتر المحلي واستيرادها في التكوين.
- لتثبيت الوحدة النمطية nx، انسخ دليل الوحدة النمطية nx إلى إما
$env:USERPROFILE\Documents\WindowsPowerShell\Modules\
أو$PSHOME\Modules
. يتم تضمين الوحدة النمطية nx في حزمة تثبيت DSC ل Linux. لاستيراد الوحدة النمطية nx في التكوين الخاص بك، استخدمImport-DSCResource
الأمر :
Configuration ExampleConfiguration{ Import-DSCResource -ModuleName nx }
- لتثبيت الوحدة النمطية nx، انسخ دليل الوحدة النمطية nx إلى إما
تعريف التكوين وإنشاء مستند التكوين:
Configuration ExampleConfiguration { Import-DSCResource -ModuleName nx Node "linuxhost.contoso.com" { nxFile ExampleFile { DestinationPath = "/tmp/example" Contents = "hello world `n" Ensure = "Present" Type = "File" } } } ExampleConfiguration -OutputPath:"C:\temp"
دفع التكوين إلى كمبيوتر Linux
يمكن دفع مستندات التكوين (ملفات MOF) إلى كمبيوتر Linux باستخدام الأمر Start-DscConfiguration cmdlet. لاستخدام cmdlet هذا، جنبا إلى جنب مع Get-DscConfiguration أو Test-DscConfiguration cmdlets، عن بعد إلى كمبيوتر Linux، يجب عليك استخدام CIMSession. يتم استخدام New-CimSession cmdlet لإنشاء CIMSession إلى كمبيوتر Linux.
توضح التعليمات البرمجية التالية كيفية إنشاء CIMSession ل DSC لنظام التشغيل Linux.
$Node = "ostc-dsc-01"
$Credential = Get-Credential -UserName "root" -Message "Enter Password:"
#Ignore SSL certificate validation
# $opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck
#Options for a trusted SSL certificate
$opt = New-CimSessionOption -UseSsl
$sessParams = @{
Credential = $credential
ComputerName = $Node
Port = 5986
Authentication = 'basic'
SessionOption = $opt
OperationTimeoutSec = 90
}
$Sess = New-CimSession @sessParams
ملاحظة
بالنسبة لوضع "Push"، يجب أن تكون بيانات اعتماد المستخدم هي المستخدم الجذر على كمبيوتر Linux. يتم دعم اتصالات SSL/TLS فقط ل DSC لنظام التشغيل Linux، New-CimSession
ويجب استخدام مع تعيين المعلمة –UseSSL إلى $true. يتم تحديد شهادة SSL المستخدمة من قبل OMI (ل DSC) في الملف: /etc/opt/omi/conf/omiserver.conf
مع الخصائص: pemfile وkeyfile. إذا كانت هذه الشهادة غير موثوق بها من قبل كمبيوتر Windows الذي تقوم بتشغيل cmdlet New-CimSession عليه، يمكنك اختيار تجاهل التحقق من صحة الشهادة باستخدام خيارات CIMSession: -SkipCACheck -SkipCNCheck -SkipRevocationCheck
قم بتشغيل الأمر التالي لدفع تكوين DSC إلى عقدة Linux.
Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose
توزيع التكوين باستخدام خادم سحب
يمكن توزيع التكوينات على كمبيوتر Linux مع خادم سحب، تماما كما هو الحال مع أجهزة الكمبيوتر التي تعمل بنظام Windows. للحصول على إرشادات حول استخدام خادم سحب، راجع Windows PowerShell خوادم سحب تكوين الحالة المطلوبة. للحصول على معلومات وقيود إضافية تتعلق باستخدام أجهزة كمبيوتر Linux مع خادم سحب، راجع ملاحظات الإصدار لتكوين الحالة المطلوبة لنظام التشغيل Linux.
العمل مع التكوينات محليا
يتضمن DSC لنظام التشغيل Linux برامج نصية للعمل مع التكوين من كمبيوتر Linux المحلي. يتم تحديد موقع هذه البرامج النصية وتضمين /opt/microsoft/dsc/Scripts
ما يلي:
GetDscConfiguration.py
إرجاع التكوين الحالي المطبق على الكمبيوتر. على غرار cmdlet cmdlet
Get-DscConfiguration
Windows PowerShell.# sudo ./GetDscConfiguration.py
GetDscLocalConfigurationManager.py
إرجاع تكوين التعريف الحالي المطبق على الكمبيوتر. على غرار cmdlet Get-DSCLocalConfigurationManager cmdlet.
# sudo ./GetDscLocalConfigurationManager.py
InstallModule.py
تثبيت وحدة مورد DSC مخصصة. يتطلب المسار إلى ملف .zip يحتوي على مكتبة الكائنات المشتركة للوحدة النمطية وملفات MOF للمخطط.
# sudo ./InstallModule.py /tmp/cnx_Resource.zip
RemoveModule.py
إزالة وحدة مورد DSC مخصصة. يتطلب اسم الوحدة النمطية لإزالتها.
# sudo ./RemoveModule.py cnx_Resource
StartDscLocalConfigurationManager.py
تطبيق ملف MOF للتكوين على الكمبيوتر. مشابه ل Start-DscConfiguration cmdlet. يتطلب المسار إلى التكوين MOF لتطبيقه.
# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof
SetDscLocalConfigurationManager.py
تطبيق ملف Meta Configuration MOF على الكمبيوتر. مشابه ل Set-DSCLocalConfigurationManager cmdlet. يتطلب المسار إلى Meta Configuration MOF لتطبيقه.
# sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof
تكوين الحالة المطلوبة ل PowerShell لملفات سجل Linux
يتم إنشاء ملفات السجل التالية لرسائل DSC ل Linux.
ملف السجل | الدليل | الوصف |
---|---|---|
omiserver.log | /var/opt/omi/log |
الرسائل المتعلقة بتشغيل خادم OMI CIM. |
dsc.log | /var/opt/omi/log |
الرسائل المتعلقة بتشغيل عمليات موارد Configuration Manager المحلية (LCM) وDSC. |