Erste Schritte mit DSC für LinuxGet started with Desired State Configuration (DSC) for Linux

In diesem Thema werden die ersten Schritte mit PowerShell DSC für Linux erläutert.This topic explains how to get started using PowerShell Desired State Configuration (DSC) for Linux. Allgemeine Informationen zu DSC finden Sie unter Erste Schritte mit Windows PowerShell DSC.For general information about DSC, see Get Started with Windows PowerShell Desired State Configuration.

Unterstützte Linux-BetriebssystemversionenSupported Linux operation system versions

Die folgenden Linux-Betriebssystemversionen werden für DSC unterstützt.The following Linux operating system versions are supported for DSC for Linux.

  • CentOS 5, 6 und 7 (x86/x64)CentOS 5, 6, and 7 (x86/x64)
  • Debian GNU/Linux 6, 7 und 8 (x86/x64)Debian GNU/Linux 6, 7 and 8 (x86/x64)
  • Oracle Linux 5, 6 und 7 (x86/x64)Oracle Linux 5, 6 and 7 (x86/x64)
  • Red Hat Enterprise Linux Server 5, 6 und 7 (x86/x64)Red Hat Enterprise Linux Server 5, 6 and 7 (x86/x64)
  • SUSE Linux Enterprise Server 10, 11 und 12 (x86/x64)SUSE Linux Enterprise Server 10, 11 and 12 (x86/x64)
  • Ubuntu Server 12.04 LTS, 14.04 LTS und 16.04 LTS (x86/x64)Ubuntu Server 12.04 LTS, 14.04 LTS and 16.04 LTS (x86/x64)

In der folgenden Tabelle werden die erforderlichen Paketabhängigkeiten für DSC für Linux beschrieben.The following table describes the required package dependencies for DSC for Linux.

Erforderliches PaketRequired package BESCHREIBUNGDescription MindestversionMinimum version
glibcglibc GNU-BibliothekGNU Library 2…4 – 31.302…4 – 31.30
Pythonpython PythonPython 2.4 – 3.42.4 – 3.4
omiserveromiserver Open Management InfrastructureOpen Management Infrastructure 1.0.8.11.0.8.1
opensslopenssl OpenSSL-BibliothekenOpenSSL Libraries 0.9.8 oder 1.00.9.8 or 1.0
ctypesctypes Python CTypes-BibliothekPython CTypes library Muss mit Python-Version übereinstimmenMust match Python version
libcurllibcurl cURL http-ClientbibliothekcURL http client library 7.15.17.15.1

Installieren von DSC für LinuxInstalling DSC for Linux

Sie müssen vor der Installation von DSC für Linux die Open Management Infrastructure (OMI) installieren.You must install the Open Management Infrastructure (OMI) before installing DSC for Linux.

Installieren von OMIInstalling OMI

DSC für Linux erfordert den Open Management Infrastructure (OMI) CIM-Server, Version 1.0.8.1 oder höher.Desired State Configuration for Linux requires the Open Management Infrastructure (OMI) CIM server, version 1.0.8.1 or later. OMI kann unter The Open Group: Open Management Infrastructure (OMI) heruntergeladen werden.OMI can be downloaded from The Open Group: Open Management Infrastructure (OMI).

Zum Installieren von OMI installieren Sie das Ihrem Linux-System entsprechende Paket (RPM oder DEB), die OpenSSL-Version (ssl_098 oder ssl_100) und die Architektur (x64/x86).To install OMI, install the package that is appropriate for your Linux system (.rpm or .deb) and OpenSSL version (ssl_098 or ssl_100), and architecture (x64/x86). RPM-Pakete eignen sich für CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server und Oracle Linux.RPM packages are appropriate for CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Oracle Linux. DEB-Pakete sind für Debian GNU/Linux und Ubuntu Server geeignet.DEB packages are appropriate for Debian GNU/Linux and Ubuntu Server. Die ssl_098-Pakete eignen sich für Computer mit installiertem OpenSSL 0.9.8, während die ssl_100 Pakete für Computer mit installiertem OpenSSL 1.0 geeignet sind.The ssl_098 packages are appropriate for computers with OpenSSL 0.9.8 installed while the ssl_100 packages are appropriate for computers with OpenSSL 1.0 installed.

Hinweis

Um die installierte OpenSSL-Version zu bestimmen, führen Sie den Befehl openssl version aus.To determine the installed OpenSSL version, run the command openssl version.

Führen Sie den folgenden Befehl aus, um OMI auf einem CentOS 7 x64-System zu installieren.Run the following command to install OMI on a CentOS 7 x64 system.

# sudo rpm -Uvh omiserver-1.0.8.ssl_100.rpm

Installieren von DSCInstalling DSC

DSC für Linux kann hier heruntergeladen werden.DSC for Linux is available for download here.

Zum Installieren von DSC installieren Sie das Ihrem Linux-System entsprechende Paket (RPM oder DEB), die OpenSSL-Version (ssl_098 oder ssl_100) und die Architektur (x64/x86).To install DSC, install the package that is appropriate for your Linux system (.rpm or .deb) and OpenSSL version (ssl_098 or ssl_100), and architecture (x64/x86). RPM-Pakete eignen sich für CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server und Oracle Linux.RPM packages are appropriate for CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Oracle Linux. DEB-Pakete sind für Debian GNU/Linux und Ubuntu Server geeignet.DEB packages are appropriate for Debian GNU/Linux and Ubuntu Server. Die ssl_098-Pakete eignen sich für Computer mit installiertem OpenSSL 0.9.8, während die ssl_100 Pakete für Computer mit installiertem OpenSSL 1.0 geeignet sind.The ssl_098 packages are appropriate for computers with OpenSSL 0.9.8 installed while the ssl_100 packages are appropriate for computers with OpenSSL 1.0 installed.

Hinweis

Um die installierte OpenSSL-Version zu bestimmen, führen Sie den Befehl „openssl version“ aus.To determine the installed OpenSSL version, run the command openssl version.

Führen Sie den folgenden Befehl aus, um DSC auf einem CentOS 7 x64-System zu installieren.Run the following command to install DSC on a CentOS 7 x64 system.

# sudo rpm -Uvh dsc-1.0.0-254.ssl_100.x64.rpm

Verwenden von DSC für LinuxUsing DSC for Linux

In den folgenden Abschnitten wird erläutert, wie DSC-Konfigurationen erstellt und auf Linux-Computern ausgeführt werden.The following sections explain how to create and run DSC configurations on Linux computers.

Erstellen eines MOF-KonfigurationsdokumentsCreating a configuration MOF document

Das Windows PowerShell-Schlüsselwort „Configuration“ wird wie für Windows-Computer verwendet, um eine Konfiguration für Linux-Computer zu erstellen.The Windows PowerShell Configuration keyword is used to create a configuration for Linux computers, just like for Windows computers. Es folgen die Schritte zum Erstellen eines Konfigurationsdokuments für einen Linux-Computer mithilfe von Windows PowerShell.The following steps describe the creation of a configuration document for a Linux computer using Windows PowerShell.

  1. Importieren Sie das Modul „nx“.Import the nx module. Das Windows PowerShell-Modul „nx“ enthält das Schema für integrierte Ressourcen für DSC für Linux und muss auf dem lokalen Computer installiert und in die Konfiguration importiert werden.The nx Windows PowerShell module contains the schema for Built-In resources for DSC for Linux, and must be installed to your local computer and imported in the configuration.

    • Zum Installieren des Moduls „nx“ kopieren Sie das Verzeichnis dieses Moduls entweder in $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ oder in $PSHOME\Modules.To install the nx module, copy the nx module directory to either $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ or $PSHOME\Modules. Das Modul „nx“ ist im Installationspaket von DSC für Linux enthalten.The nx module is included in the DSC for Linux installation package. Verwenden Sie zum Importieren des Moduls „nx“ in Ihre Konfiguration den Befehl Import-DSCResource:To import the nx module in your configuration, use the Import-DSCResource command:
    Configuration ExampleConfiguration{
    
     Import-DSCResource -Module nx
    
    }
    
  2. Definieren Sie eine Konfiguration, und generieren Sie das Konfigurationsdokument:Define a configuration and generate the configuration document:

    Configuration ExampleConfiguration
    {
         Import-DscResource -Module nx
    
         Node  "linuxhost.contoso.com"
         {
             nxFile ExampleFile 
             {
                 DestinationPath = "/tmp/example"
                 Contents = "hello world `n"
                 Ensure = "Present"
                 Type = "File"
             }
         }
    }
    
    ExampleConfiguration -OutputPath:"C:\temp"
    

Übertragen der Konfiguration per Push auf den Linux-ComputerPush the configuration to the Linux computer

Konfigurationsdokumente (MOF-Dateien) können mit dem Cmdlet Start-DscConfiguration per Push auf den Linux-Computer übertragen werden.Configuration documents (MOF files) can be pushed to the Linux computer using the Start-DscConfiguration cmdlet. Verwenden Sie eine CIMSession, um dieses Cmdlet zusammen mit den Cmdlets Get-DscConfiguration und Test-DscConfiguration remote auf einem Linux-Computer zu verwenden.In order to use this cmdlet, along with the Get-DscConfiguration, or Test-DscConfiguration cmdlets, remotely to a Linux computer, you must use a CIMSession. Das Cmdlet New-CimSession dient zum Starten einer CIMSession mit dem Linux-Computer.The New-CimSession cmdlet is used to create a CIMSession to the Linux computer.

Der folgende Code zeigt, wie Sie eine CIMSession für DSC für Linux starten.The following code shows how to create a CIMSession for DSC for Linux.

$Node = "ostc-dsc-01"
$Credential = Get-Credential -UserName "root" -Message "Enter Password:"

#Ignore SSL certificate validation
#$opt = New-CimSessionOption -UseSsl $true -SkipCACheck $true -SkipCNCheck $true -SkipRevocationCheck $true

#Options for a trusted SSL certificate
$opt = New-CimSessionOption -UseSsl $true
$Sess=New-CimSession -Credential $credential -ComputerName $Node -Port 5986 -Authentication basic -SessionOption $opt -OperationTimeoutSec 90

Hinweis

Im Pushmodus müssen die Anmeldeinformationen des Benutzers denen des Root-Benutzers auf dem Linux-Computer entsprechen.For "Push" mode, the user credential must be the root user on the Linux computer. Für DSC für Linux werden nur SSL/TLS-Verbindungen unterstützt. Der Befehl New-CimSession muss mit auf „$true“ festgelegtem „–UseSSL“-Parameter aufgerufen werden.Only SSL/TLS connections are supported for DSC for Linux, the New-CimSession must be used with the –UseSSL parameter set to $true. Das von OMI (für DSC) verwendete SSL-Zertifikat wird in der Datei /etc/opt/omi/conf/omiserver.conf mit den Eigenschaften „pemfile“ und „keyfile“ angegeben.The SSL certificate used by OMI (for DSC) is specified in the file: /etc/opt/omi/conf/omiserver.conf with the properties: pemfile and keyfile. Wenn diesem Zertifikat vom Windows-Computer nicht vertraut wird, auf dem Sie das Cmdlet New-CimSession ausführen, können Sie in den Optionen für „CIMSession“ die Überprüfung des Zertifikats ignorieren: -SkipCACheck $true -SkipCNCheck $true -SkipRevocationCheck $trueIf this certificate is not trusted by the Windows computer that you are running the New-CimSession cmdlet on, you can choose to ignore certificate validation with the CIMSession Options: -SkipCACheck $true -SkipCNCheck $true -SkipRevocationCheck $true

Führen Sie den folgenden Befehl aus, um die DSC-Konfiguration per Push auf den Linux-Knoten zu übertragen.Run the following command to push the DSC configuration to the Linux node.

Start-DscConfiguration -Path:"C:\temp" -CimSession $Sess -Wait -Verbose

Verteilen der Konfiguration mit einem PullserverDistribute the configuration with a pull server

Konfigurationen können mithilfe eines Pullservers wie bei Windows-Computern auch an Linux-Computer verteilt werden.Configurations can be distributed to a Linux computer with a pull server, just like for Windows computers. Eine Anleitung zur Verwendung eines Pullservers finden Sie unter Windows PowerShell DSC – Pullserver.For guidance on using a pull server, see Windows PowerShell Desired State Configuration Pull Servers. Weitere Informationen und Einschränkungen im Zusammenhang mit der Verwendung von Linux-Computern mit einem Pullserver finden Sie die Versionshinweisen zu DSC für Linux.For additional information and limitations related to using Linux computers with a pull server, see the Release Notes for Desired State Configuration for Linux.

Arbeiten mit lokalen KonfigurationenWorking with configurations locally

DSC für Linux bietet Skripts für das Ausführen von Konfigurationsaufgaben auf einem lokalen Linux-Computer.DSC for Linux includes scripts to work with configuration from the local Linux computer. Diese Skripts befinden sich in /opt/microsoft/dsc/Scripts und umfassen Folgendes:These scripts are locate in /opt/microsoft/dsc/Scripts and include the following:

  • GetDscConfiguration.pyGetDscConfiguration.py

Gibt die aktuell auf dem Computer installierte Konfiguration zurück.Returns the current configuration applied to the computer. Dies ist vergleichbar mit dem Windows PowerShell-Cmdlet Get-DscConfiguration.Similar to the Windows PowerShell cmdlet Get-DscConfiguration cmdlet.

# sudo ./GetDscConfiguration.py

  • GetDscLocalConfigurationManager.pyGetDscLocalConfigurationManager.py

Gibt die aktuell auf dem Computer installierte Metakonfiguration zurück.Returns the current meta-configuration applied to the computer. Vergleichbar mit dem Cmdlet Get-DSCLocalConfigurationManager.Similar to the cmdlet Get-DSCLocalConfigurationManager cmdlet.

# sudo ./GetDscLocalConfigurationManager.py

  • InstallModule.pyInstallModule.py

Installiert ein benutzerdefiniertes DSC-Ressourcenmodul.Installs a custom DSC resource module. Erfordert den Pfad zu einer ZIP-Datei, die die freigegebene Objektbibliothek des Moduls und die MOF-Dateien mit dem Schema enthält.Requires the path to a .zip file containing the module shared object library and schema MOF files.

# sudo ./InstallModule.py /tmp/cnx_Resource.zip

  • RemoveModule.pyRemoveModule.py

Entfernt ein benutzerdefiniertes DSC-Ressourcenmodul.Removes a custom DSC resource module. Erfordert die Angabe des Namens des Moduls, das entfernt werden soll.Requires the name of the module to remove.

# sudo ./RemoveModule.py cnx_Resource

  • StartDscLocalConfigurationManager.pyStartDscLocalConfigurationManager.py

Wendet eine MOF-Konfigurationsdatei auf den Computer an.Applies a configuration MOF file to the computer. Vergleichbar mit dem Cmdlet Start-DscConfiguration.Similar to the Start-DscConfiguration cmdlet. Erfordert die Angabe des Pfads zur anzuwendenden MOF-Konfigurationsdatei.Requires the path to the configuration MOF to apply.

# sudo ./StartDscLocalConfigurationManager.py –configurationmof /tmp/localhost.mof

  • SetDscLocalConfigurationManager.pySetDscLocalConfigurationManager.py

Wendet eine MOF-Metakonfigurationsdatei auf den Computer an.Applies a Meta Configuration MOF file to the computer. Vergleichbar mit dem Cmdlet Set-DSCLocalConfigurationManager.Similar to the Set-DSCLocalConfigurationManager cmdlet. Erfordert die Angabe des Pfads zur anzuwendenden MOF-Metakonfigurationsdatei.Requires the path to the Meta Configuration MOF to apply.

# sudo ./SetDscLocalConfigurationManager.py –configurationmof /tmp/localhost.meta.mof

PowerShell – DSC für Linux – ProtokolldateienPowerShell Desired State Configuration for Linux Log Files

Die folgenden Protokolldateien werden für DSC-für-Linux-Nachrichten generiert.The following log files are generated for DSC for Linux messages.

ProtokolldateiLog file VerzeichnisDirectory BESCHREIBUNGDescription
omiserver.logomiserver.log /var/opt/omi/log Meldungen im Zusammenhang mit dem Betrieb des OMI CIM-Servers.Messages relating to the operation of the OMI CIM server.
dsc.logdsc.log /var/opt/omi/log Meldungen im Zusammenhang mit dem Betrieb des lokalen Konfigurations-Managers (LCM) und DSC-Ressourcenvorgängen.Messages relating to the operation of the Local Configuration Manager (LCM) and DSC resource operations.