Linux용 DSC(필요한 상태 구성) 시작Get started with Desired State Configuration (DSC) for Linux

이 항목에서는 Linux용 PowerShell DSC(필요한 상태 구성) 사용 방법에 대해 설명합니다.This topic explains how to get started using PowerShell Desired State Configuration (DSC) for Linux. DSC에 대한 일반적인 내용은 Windows PowerShell 필요한 상태 구성 시작을 참조하세요.For general information about DSC, see Get Started with Windows PowerShell Desired State Configuration.

지원되는 Linux 운영 체제 버전Supported Linux operation system versions

다음의 Linux 운영 체제 버전이 Linux용 DSC에 대해 지원됩니다.The following Linux operating system versions are supported for DSC for Linux.

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

다음 표에서는 Linux용 DSC에 대한 필수 패키지 종속성에 대해 설명합니다.The following table describes the required package dependencies for DSC for Linux.

필수 패키지Required package 설명Description 최소 버전Minimum version
glibcglibc GNU 라이브러리GNU Library 2…4 – 31.302…4 – 31.30
pythonpython PythonPython 2.4 – 3.42.4 – 3.4
omiserveromiserver 개방형 관리 인프라Open Management Infrastructure 1.0.8.11.0.8.1
opensslopenssl OpenSSL 라이브러리OpenSSL Libraries 0.9.8 또는 1.00.9.8 or 1.0
ctypesctypes Python CTypes 라이브러리Python CTypes library Python 버전과 일치해야 합니다.Must match Python version
libcurllibcurl cURL http 클라이언트 라이브러리cURL http client library 7.15.17.15.1

Linux용 DSC 설치Installing DSC for Linux

Linux용 DSC를 설치하려면 먼저 OMI(개방형 관리 인프라)를 설치해야 합니다.You must install the Open Management Infrastructure (OMI) before installing DSC for Linux.

OMI 설치Installing OMI

Linux용 필요한 상태 구성을 사용하려면 OMI(개방형 관리 인프라) CIM 서버 버전 1.0.8.1 이상이 있어야 합니다.Desired State Configuration for Linux requires the Open Management Infrastructure (OMI) CIM server, version 1.0.8.1 or later. OMI는 Open Group: Open Management Infrastructure(OMI)(개방형 관리 인프라)에서 다운로드할 수 있습니다.OMI can be downloaded from The Open Group: Open Management Infrastructure (OMI).

OMI를 설치하려면 Linux 시스템(.rpm 또는.deb)과 OpenSSL 버전(ssl_098 또는 ssl_100) 및 아키텍처(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 패키지는 CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server 및 Oracle Linux에 적합합니다.RPM packages are appropriate for CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Oracle Linux. DEB 패키지는 Debian GNU/Linux 및 Ubuntu 서버에 적합합니다.DEB packages are appropriate for Debian GNU/Linux and Ubuntu Server. ssl_098 패키지는 OpenSSL 0.9.8이 설치된 컴퓨터에 적합하고, ssl_100 패키지는 OpenSSL 1.0이 설치된 컴퓨터에 적합합니다.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.

참고

설치된 OpenSSL 버전을 확인하려면 openssl version 명령을 실행합니다.To determine the installed OpenSSL version, run the command openssl version.

CentOS 7 x64 시스템에 OMI를 설치하려면 다음 명령을 실행합니다.Run the following command to install OMI on a CentOS 7 x64 system.

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

DSC 설치Installing DSC

Linux용 DSC는 여기에서 다운로드할 수 있습니다.DSC for Linux is available for download here.

DSC를 설치하려면 Linux 시스템(.rpm 또는.deb)과 OpenSSL 버전(ssl_098 또는 ssl_100) 및 아키텍처(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 패키지는 CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server 및 Oracle Linux에 적합합니다.RPM packages are appropriate for CentOS, Red Hat Enterprise Linux, SUSE Linux Enterprise Server, and Oracle Linux. DEB 패키지는 Debian GNU/Linux 및 Ubuntu 서버에 적합합니다.DEB packages are appropriate for Debian GNU/Linux and Ubuntu Server. ssl_098 패키지는 OpenSSL 0.9.8이 설치된 컴퓨터에 적합하고, ssl_100 패키지는 OpenSSL 1.0이 설치된 컴퓨터에 적합합니다.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.

참고

설치된 OpenSSL 버전을 확인하려면 openssl version 명령을 실행합니다.To determine the installed OpenSSL version, run the command openssl version.

CentOS 7 x64 시스템에 DSC를 설치하려면 다음 명령을 실행합니다.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

Linux용 DSC 사용Using DSC for Linux

다음 섹션에서는 Linux 컴퓨터에서 DSC 구성을 만들고 실행하는 방법을 설명합니다.The following sections explain how to create and run DSC configurations on Linux computers.

구성 MOF 문서 만들기Creating a configuration MOF document

Windows PowerShell 구성 키워드는 Windows 컴퓨터와 마찬가지로 Linux 컴퓨터용 구성을 만드는 데 사용됩니다.The Windows PowerShell Configuration keyword is used to create a configuration for Linux computers, just like for Windows computers. 다음 단계에서는 Windows PowerShell을 사용한 Linux 컴퓨터용 구성 문서 작성에 대해 설명합니다.The following steps describe the creation of a configuration document for a Linux computer using Windows PowerShell.

  1. nx 모듈을 가져옵니다.Import the nx module. nx Windows PowerShell 모듈은 Linux용 DSC를 위한 기본 제공 리소스에 대한 스키마를 포함하며, 로컬 컴퓨터에 설치되어 구성에 가져와야 합니다.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.

    • nx 모듈을 설치하려면 nx 모듈 디렉터리를 $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ 또는 $PSHOME\Modules에 복사합니다.To install the nx module, copy the nx module directory to either $env:USERPROFILE\Documents\WindowsPowerShell\Modules\ or $PSHOME\Modules. nx 모듈은 Linux용 DSC 설치 패키지에 포함되어 있습니다.The nx module is included in the DSC for Linux installation package. 구성에서 nx 모듈을 가져오려면 Import-DSCResource 명령을 사용합니다.To import the nx module in your configuration, use the Import-DSCResource command:
    Configuration ExampleConfiguration{
    
     Import-DSCResource -Module nx
    
    }
    
  2. 구성을 정의하고 구성 문서를 생성합니다.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"
    

구성을 Linux 컴퓨터에 밀어넣기Push the configuration to the Linux computer

구성 문서(MOF 파일)을 Start-DscConfiguration cmdlet을 사용하여 Linux 컴퓨터에 밀어넣을 수 있습니다.Configuration documents (MOF files) can be pushed to the Linux computer using the Start-DscConfiguration cmdlet. 원격으로 Linux 컴퓨터에 Get-DscConfiguration 또는 Test-DscConfiguration cmdlet과 함께 이 cmdlet을 사용하려면 CIMSession을 사용해야 합니다.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. CIMSession를 Linux 컴퓨터에 만드는 데에는 New-CimSession cmdlet이 사용됩니다.The New-CimSession cmdlet is used to create a CIMSession to the Linux computer.

다음 코드는 Linux용 DSC를 위한 CIMSession을 만드는 방법을 보여 줍니다.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

참고

"밀어넣기" 모드의 경우, 사용자 자격 증명은 Linux 컴퓨터 상의 루트 사용자여야 합니다.For “Push” mode, the user credential must be the root user on the Linux computer. Linux용 DSC에는 SSL/TLS 연결만 지원되며, New-CimSession은 $true로 설정된 –UseSSL 매개 변수와 함께 사용해야 합니다.Only SSL/TLS connections are supported for DSC for Linux, the New-CimSession must be used with the –UseSSL parameter set to $true. OMI(DSC용)에서 사용하는 SSL 인증서는 속성이 pemfile 및 keyfile인 /opt/omi/etc/omiserver.conf 파일에 지정되어 있습니다.The SSL certificate used by OMI (for DSC) is specified in the file: /opt/omi/etc/omiserver.conf with the properties: pemfile and keyfile. 이 인증서를 New-CimSession cmdlet을 실행 중인 Windows 컴퓨터에서 신뢰하지 않는 경우에는 CIMSession 옵션 -SkipCACheck:$true -SkipCNCheck:$true -SkipRevocationCheck:$true을 사용하여 인증서 유효성 검사를 무시하도록 선택할 수 있습니다.If 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

Linux 노드에 DSC 구성을 밀어 넣으려면 다음 명령을 실행합니다.Run the following command to push the DSC configuration to the Linux node.

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

끌어오기 서버로 구성 배포Distribute the configuration with a pull server

구성은 Windows 컴퓨터와 마찬가지로 끌어오기 서버로 Linux 컴퓨터에 배포할 수 있습니다.Configurations can be distributed to a Linux computer with a pull server, just like for Windows computers. 끌어오기 서버 사용에 대한 지침이 필요하면 Windows PowerShell Desired State Configuration Pull Servers(Windows PowerShell 필요한 상태 구성 끌어오기 서버)를 참조하세요.For guidance on using a pull server, see Windows PowerShell Desired State Configuration Pull Servers. 추가 정보 및 끌어오기 서버와 함께 Linux 컴퓨터를 사용하는 것과 관련된 제한 사항에 대해서는 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.

로컬에서 구성 사용Working with configurations locally

Linux용 DSC는 로컬 Linux 컴퓨터의 구성으로 작업하는 스크립트를 포함합니다.DSC for Linux includes scripts to work with configuration from the local Linux computer. 이 스크립트는 /opt/microsoft/dsc/Scripts에 있으며 다음 내용을 포함합니다.These scripts are locate in /opt/microsoft/dsc/Scripts and include the following:

  • GetDscConfiguration.pyGetDscConfiguration.py

컴퓨터에 적용된 현재 구성을 반환합니다.Returns the current configuration applied to the computer. Windows PowerShell cmdlet Get-DscConfiguration cmdlet과 유사합니다.Similar to the Windows PowerShell cmdlet Get-DscConfiguration cmdlet.

# sudo ./GetDscConfiguration.py

  • GetDscLocalConfigurationManager.pyGetDscLocalConfigurationManager.py

컴퓨터에 적용된 현재 메타 구성을 반환합니다.Returns the current meta-configuration applied to the computer. cmdlet Get-DSCLocalConfigurationManager cmdlet과 유사합니다.Similar to the cmdlet Get-DSCLocalConfigurationManager cmdlet.

# sudo ./GetDscLocalConfigurationManager.py

  • InstallModule.pyInstallModule.py

사용자 지정 DSC 리소스 모듈을 설치합니다.Installs a custom DSC resource module. 모듈 공유 개체 라이브러리 및 스키마 MOF 파일을 포함하는 .zip 파일의 경로가 필요합니다.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

사용자 지정 DSC 리소스 모듈을 제거합니다.Removes a custom DSC resource module. 제거할 모듈의 이름이 필요합니다.Requires the name of the module to remove.

# sudo ./RemoveModule.py cnx_Resource

  • StartDscLocalConfigurationManager.pyStartDscLocalConfigurationManager.py

구성 MOF 파일을 컴퓨터에 적용합니다.Applies a configuration MOF file to the computer. Start-DscConfiguration cmdlet과 유사합니다.Similar to the Start-DscConfiguration cmdlet. 적용할 구성 MOF의 경로가 필요합니다.Requires the path to the configuration MOF to apply.

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

  • SetDscLocalConfigurationManager.pySetDscLocalConfigurationManager.py

메타 구성 MOF 파일을 컴퓨터에 적용합니다.Applies a Meta Configuration MOF file to the computer. Set-DSCLocalConfigurationManager cmdlet과 유사합니다.Similar to the Set-DSCLocalConfigurationManager cmdlet. 적용할 메타 구성 MOF의 경로가 필요합니다.Requires the path to the Meta Configuration MOF to apply.

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

Linux용 PowerShell 필요한 상태 구성 로그 파일PowerShell Desired State Configuration for Linux Log Files

Linux용 DSC 메시지용으로 다음 로그 파일이 생성됩니다.The following log files are generated for DSC for Linux messages.

로그 파일Log file 디렉터리Directory 설명Description
omiserver.logomiserver.log /var/opt/omi/log OMI CIM 서버의 작업에 관한 메시지입니다.Messages relating to the operation of the OMI CIM server.
dsc.logdsc.log /var/opt/omi/log LCM(로컬 구성 관리자)의 작업 및 DSC 리소스 작업에 대한 메시지입니다.Messages relating to the operation of the Local Configuration Manager (LCM) and DSC resource operations.