Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

Windows 10에는 새로운 PowerShell 모듈인 PackageManagement가 기본 포함되어 있습니다. PackageManagement(이전 명칭은 OneGet)는 외부 또는 로컬 저장소에서 애플리케이션과 프로그램을 설치, 관리, 제거할 수 있게 해주며, PowerShell 콘솔에서 연결된 저장소 목록까지 관리할 수 있는 강력한 도구입니다.

쉽게 말해, Linux에서 널리 쓰이는 apt-get install 명령처럼 Windows 10 및 Windows Server 2016에서도 명령 프롬프트만으로 프로그램을 설치할 수 있게 된 것입니다.

PackageManagement 모듈은 새 소프트웨어 설치 과정을 크게 간소화합니다. 단 한 줄의 PowerShell 명령으로 설치가 완료되며, 사용자가 직접 웹을 검색해 배포 파일을 내려받을 필요가 없기 때문에 오래되었거나 악성코드에 감염된 프로그램을 실수로 설치할 위험도 줄어듭니다. 모든 소프트웨어는 신뢰할 수 있는 소스에서 설치되며, 저장소 쪽에서 업데이트가 배포되면 클라이언트에도 자동으로 반영할 수 있습니다.

PackageManagement 모듈 개요

PackageManagement 모듈은 Windows 10에 이미 통합되어 있으며 PowerShell 5 이상이 필요합니다. Windows 8.1 환경에서 사용하려면 먼저 Windows Management Framework 5.0을 설치해야 합니다. 또한 Microsoft는 PowerShell v3 및 v4 환경을 위한 별도의 PackageManagement 모듈도 배포하고 있습니다.

PackageManagement 모듈에서 사용할 수 있는 PowerShell cmdlet 목록을 확인하려면 다음 명령을 실행합니다.

Get-Command -Module PackageManagement

현재 버전(v 1.0.0.1)에서 제공되는 주요 명령은 다음과 같습니다.

  • Find-Package – 사용 가능한 저장소에서 패키지(프로그램) 검색
  • Get-Package – 설치된 패키지 목록 표시
  • Get-PackageProvider – 컴퓨터에서 사용 가능한 패키지 공급자 목록 표시
  • Get-PackageSource – 사용 가능한 패키지 소스 목록 조회
  • Install-Package – 컴퓨터에 패키지(프로그램) 설치
  • Register-PackageSource – 공급자에 패키지 소스 추가
  • Save-Package – 설치하지 않고 패키지를 로컬에 저장
  • Set-PackageSource – 공급자를 패키지 소스로 설정
  • Uninstall-Package – 프로그램(패키지) 제거
  • Unregister-PackageSource – 패키지 소스 목록에서 공급자 제거

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

패키지 공급자(Package Providers) 이해하기

패키지는 서로 다른 소스에서 패키지를 가져오는 다양한 공급자(Provider)를 통해 처리됩니다. 사용 가능한 공급자 목록을 확인하려면 아래 명령을 실행합니다.

Find-PackageProvider

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

기본적으로 시스템에는 두 개의 패키지 소스가 등록되어 있습니다. 하나는 nuget.org이고, 다른 하나는 Microsoft의 공식 PowerShell 스크립트 온라인 갤러리인 PSGallery입니다. 이 두 소스는 주로 개발자와 시스템 관리자를 대상으로 합니다.

참고: Nano Server에는 NanoServerPackage라는 전용 공급자가 존재하며, 이에 대해서는 별도의 글에서 다룹니다.

일반 애플리케이션 저장소를 활용하기 위해, 4,500개 이상의 다양한 프로그램을 제공하는 인기 소프트웨어 저장소인 Chocolatey를 연결해 보겠습니다.

Chocolatey 공급자 설치

다음 명령으로 Chocolatey 공급자를 설치합니다.

Install-PackageProvider chocolatey

설치 확인 메시지가 나타나면 Y를 입력해 진행합니다.

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

매번 패키지 설치 여부를 확인하지 않도록 Chocolatey를 신뢰할 수 있는 패키지 소스로 지정합니다.

Set-PackageSource -Name chocolatey -Trusted

이제 Chocolatey가 애플리케이션 저장소 목록에 정상적으로 등록되었는지 확인합니다.

Get-PackageSource

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

Name                      ProviderName    IsTrusted  Location
----                      ------------    ---------  --------
PSGallery                 PowerShellGet    False      https://www.powershellgallery.com/api/v2/
chocolatey                Chocolatey       True       https://chocolatey.org/api/v2/

Chocolatey 저장소에서 애플리케이션 설치하기

이제 Chocolatey에서 애플리케이션(패키지)을 설치하는 방법을 살펴보겠습니다.

설치 가능한 애플리케이션 목록은 공식 Chocolatey 웹사이트(https://chocolatey.org/packages)에서 직접 확인할 수 있습니다.

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

물론 PowerShell 콘솔에서 바로 검색하고 설치하는 것도 가능합니다. 예를 들어 PDF 파일을 열기 위해 Adobe Acrobat Reader를 설치해야 한다고 가정해 보겠습니다. 애플리케이션의 정확한 패키지 이름을 모르는 경우, 먼저 키워드로 저장소를 검색해 패키지 이름을 확인해야 합니다. "adobe"라는 키워드로 검색해 보겠습니다.

Find-Package -Name *adobe* -Source Chocolatey

콘솔에 해당 키워드를 포함하는 모든 패키지 목록이 표시됩니다. 여기서 필요한 것은 adobereader 패키지입니다(Name 열에 표시된 이름을 사용해야 합니다).

이제 Adobe Reader 패키지를 설치합니다.

Install-Package -Name adobereader -ProviderName Chocolatey

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

PowerShell 창 상단에 Adobe Reader 패키지가 다운로드되고 있음을 나타내는 진행 표시줄이 나타납니다. 다운로드가 완료되는 즉시 애플리케이션이 시스템에 설치됩니다.

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

또 다른 예제를 살펴보겠습니다. SysInternals 도구 모음이 필요하다고 가정해 봅시다. 일일이 수동으로 내려받는 대신, Chocolatey에서 SysInternals 패키지를 검색해 바로 설치할 수 있습니다.

Find-Package -Name Sysinternals | Install-Package

이 패키지는 별도의 설치 과정이 필요 없으므로 컴퓨터에 저장만 되며, C:\Chocolatey\lib\ 경로에 보관됩니다. 이 예제의 경우 C:\Chocolatey\lib\sysinternals.2016.11.18\tools에 저장됩니다.

Windows 10에서 PowerShell PackageManagement로 프로그램 설치·관리하기

여러 애플리케이션을 한 번의 명령으로 동시에 설치하는 것도 가능합니다.

Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package

패키지 제거 방법

패키지 제거 역시 단 한 줄의 명령으로 처리할 수 있습니다. 예를 들어 Adobe Reader를 제거하려면 다음 명령을 실행합니다.

Uninstall-Package adobereader

지금까지 PowerShell 명령 프롬프트에서 Windows 애플리케이션을 설치하는 새로운 방법을 살펴보았습니다. 앞으로는 CLI에 익숙하지 않은 일반 사용자도 손쉽게 소프트웨어를 설치하고 제거할 수 있도록 PackageManagement용 그래픽 애드인이 등장할 것으로 기대됩니다.