Windows 패키지 관리 프로그램 Chocolatey

IT ETC / /
728x90


Kubernetes 를 이용하다 보면 Windows OS 내에서 해당 Plugin을 설치하려고 하면 Chocolatey로 설치하도록 가이드 되어 있다.

그래서 ChocolateyWindows OS에 설치하고 이용하는 방법에 대해 알아보고자 한다.

 

Chocolateywindows용 패키지 툴이다.

= Mac : Homebrew

         = Linux (Debian, Ubuntu 계열) : apt

         = Linux (Cent 계열) : yum

 

설치 사전 요건은 다음과 같다.

1.     OS : Windows 7 이상 / Windows Server 2003 이상

2.     Powershell 버전2 이상

3.     ,NET Framework 4 이상 설치되어 있어야 함

 

해당 명령어는 Windows Powershell (관리자 모드) 에서 진행한다.

-       https://chocolatey.org/install

URL에서 가이드 하듯이 관리자 모드 Powershell에 해당 명령어를 입력하곤 ps 파일을 다운로드 받아 실행되도록 한다.

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

 

실행 완료되면 다음과 같이 설치를 확인한다.

choco --version

 

0.10.15

 

-       https://docs.chocolatey.org/en-us/choco/commands/

URL 에서 Chocolatey가 제공하는 command를 확인할 수 있다.

자주 사용하는 command 몇 개만 확인하면 다음과 같다.

 

설치할 패키지 검색

choco search mariadb

Chocolatey v0.10.15

mariadb 10.5.10 [Approved]

mariadb.install 10.5.10 [Approved]

mariadb.portable 10.5.10 [Approved]

… … …

15 packages found.

해당과 같이 설치할 패키지명을 검색할 수 있으며 기본적으로 검색어에 대해 양쪽 like 검색을 시도하기 때문에 검색어가 명확할수록 검색속도가 빠르다.

 

설치한 패키지 조회

choco list –la

 

Chocolatey v0.10.15

chocolatey 0.10.15

lessmsi 1.8.1

2 packages installed.

사용된 옵션인 l Local에 설치된 내역 출력 (기본적으로 list만 입력 시 Local Remote에 있는 모든 패키지를 검색) 하는 옵션이고 a는 버전 등과 상관없이 Chocolatey로 설치되어 있는(또는 Remote) 모든 패키지를 검색하는 것이다. a 옵션이 없으면 최신 패키지만 리턴 한다.

 

패키지 상세 정보 조회

choco info kubernetes-helm

 

Chocolatey v0.10.15

kubernetes-helm 3.6.2 [Approved] Downloads cached for licensed users

 Title: helm | Published: 2021-07-07

… … …

1 packages found.

해당 패키지의 배포일 다운로드 횟수 등 자세한 정보를 조회할 수 있다.

 

패키지 설치

choco install kubernetes-helm

 

Chocolatey v0.10.15

… … …

Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): p

 

------ BEGIN SCRIPT ------

 

$packageName = 'kubernetes-helm'

$toolsDir =  "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"

$tempDir = "$toolsDir\temp"

 

$packageArgs = @{

    PackageName    = $packageName

    Url64bit       = 'https://get.helm.sh/helm-v3.6.2-windows-amd64.zip'

    Checksum64     = '71078748101de3f2df40b25031e4b7aa4bdf760ff7bcc6d3f503f988d24bd2c4'

    ChecksumType64 = 'sha256'

    UnzipLocation  = $toolsDir

}

 

# Download and unzip into a temp folder

Install-ChocolateyZipPackage @packageArgs

 

------- END SCRIPT -------

Do you want to run this script?([Y]es/[N]o):

설치 명령어를 입력하면 해당 패키지를 설치여부와 도시에 실행될 스크립트에 대해 print 여부를 선택하게 되고 print를 하면 실행 명령어를 볼 수 있다.

다른 패키지 프로그램들과 마찬가지로 -y 명령을 통해 자동으로 yes 선택이 되도록 명령 시 옵션을 줄 수 있다.

그리고 최신 패키지가 아닌 원하는 버전의 패키지로 설치를 원할 시 다음과 같이 명령어를 입력한다.

choco install kubernetes-helm --version 3.3.0

 

패키지 최신 상태로 갱신

choco upgrade kubernetes-helm

 

Chocolatey v0.10.15

Upgrading the following packages:

kubernetes-helm

By upgrading you accept licenses for the packages.

 

You have kubernetes-helm v3.3.0 installed. Version 3.6.2 is available based on your source(s).

Progress: Downloading kubernetes-helm 3.6.2... 100%

… … …

Chocolatey upgraded 1/1 packages.

 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

해당과 같이 최신의 버전으로 upgrade 하거나 원하는 버전으로 upgrade가 가능하다.

 

패키지 제거

choco uninstall kubernetes-helm

 

Chocolatey v0.10.15

Uninstalling the following packages:

kubernetes-helm

 

kubernetes-helm v3.6.2

 Skipping auto uninstaller - No registry snapshot.

 kubernetes-helm has been successfully uninstalled.

 

Chocolatey uninstalled 1/1 packages.

 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

해당 패키지명을 정확히 입력하여 제거한다.

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기