윈도우 패키지 관리, 'chocolatey'

들어가는 말

패키지 관리로 우분투에는 apt-get, 레드헷에서는 yum 이 있습니다. 윈도우에도 이러한 패키지 관리 툴이 없을까 생각 해보았는 데, 이것저것 찾아 보니 천재들이 이미 오래전부터 생각을 하고 있었습니다.

윈도우에는 choco 라는 프로젝트가 개발 되고 있습니다. apt-get 이나 yum에 비해 기능이 다소 빈약해보이지만 나름 쓸만해보이길래 직접 사용해보았습니다. choco 는 국내에선 많이 안 쓰이는 지 관련 포스팅이 많이 없었습니다. 이렇다 보니 설치하는 데에 애법 애를 먹었는데, 이 분노를 어디 풀 곳도 없고 해서 기록 겸 정보 공유차원에서 포스팅합니다. 혹여나 설명이 부족하여 궁금하거나 자세한 것은 choco에서 확인해주세요.

choco의 재밌는 점은 마소에서 powershell에도 지원하게 한 것을 보면 꽤나 푸시 해주고 있는 것으로 생각됩니다.

” There is an official provider for Windows 10/Windows Server 2016’s built-in package manager (PowerShell PackageManagement) coming soon. “

어줍 잖은 발해석을 해보면, 윈10의 powershell 패키지 매니저에 등록 될 예정이라고.. 띠요옹.

설치 환경

Windows 7 x 64

설치 방법

  1. 설치는 간단한 스크립트 입력으로 자동 빌드하는 개념 같아 보인다. 설치 관련 스크립트를 복사해서 cmd에 붙여넣어 실행한다. (자세한 것은 Official Install Guide 참고..)

    > powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PAT

  2. 윈10 사용자라면 무난하게 설치 될 것이라 보나, 윈10 아래 버전의 윈도우에서는 제한 된 TLS 기능 문제 떄문에 안 될 가능성이 크다. 나 역시 윈7 인 관계로 설치하면서 뻑이 나버렸다.

    이 경우엔 Official Install Guide 의 아래 하단에 “ Download + Powershell Method “ 이라는 탭의 내용을 참고하여 설치해야 한다.

  3. 앞으로 우리는 수동으로 설치 스크립트를 다운 받고, 실행할 것이다. 그러나 윈도우7의 기본 정책상 스크립트 실행을 제한하고 있으므로 이를 먼저 해제해야 한다.

  4. 명령 콘솔(cmd)를 관리자 권한으로 실행시키고, powershell을 입력해 아래의 명령으로 스크립트 정책을 확인해본다.

    > powershell

    > Get-ExecutionPolicyUnrestricted

    restricted 라며 한정 되어있음을 알 수 있다.

    > Set-ExecutionPolicy unrestricted

    정책을 무방비 상태로 만들어 준다.

  5. 다시 홈페이지로 돌아가서 “ Download + Powershell Method “ 의 ‘1. Download chocolatey package 링크를 클릭하여 설치 스크립트 압축 파일을 받는다.

  6. 받은 파일은 압축 파일이어야지만, 확장자가 압축파일이 아닌 파일로 받아진다. 수동으로 확장자를 1.zip 으로 이름을 바꿔주자.

    (압축파일로 받아지면 변경을 안해도 된다.)

  7. 1.zip 을 해제하고 cmd를 관리자 권한으로 실행 -> powershell 을 입력해 powershell 명령을 준비한다.

  8. 1.zip 의 압축 해제한 폴더인 1 폴더의 tools 폴더에서 스크립트를 실행한다.

    > cd c:\Users\유저이름\Desktop\1\tools

  9. zip로 압축 해제한 1 폴더의 tools 로 이동해서 스크립트를 실행해야한다. 나 같은 경우는 유저이름이 jjj 인지라 스크린샷은 jjj로 보일 것이다. 오해하지 말자.

    > ./chocolateyInstall.ps1

    choco 설치 스크립트를 실행한다. 참고로 닷넷 설치때문에 설치 시간이 꽤 걸린다. 체감상 10분 정도 걸렸던 듯.

  10. 설치가 완료된 거 같다. choco 명령을 입력해 확인을 하자.

    > choco

  11. 호우! 설치가 되었다.기념으로 한번 동작시켜 보아야 하지 않겠는가? 자바를 설치해보자.

    > choco install -y jdk8

    참고로 install 뒤의 -y 옵션은 설치 관련 Alert 을 무시한다는 명령이다. choco 의 지원 명령어를 확인하려면 -h 옵션 에서 알 수 있다. 또한 choco 실행은 powershell 이나 cmd 아무곳에서나 사용이 가능하다.

  12. 드디어 우리는 choco 를 첫 실행하는 데에 성공했다, 심지어 처음인데 잘 했다고 놀림 반 축하 반의 메시지도 보인다. 이제 우리는 choco 를 이용해 윈도우에서도 패키지 관리를 할 수가 있다.

choco 의 패키지 관리

choco 에서 설치 지원을 하는 패키지 목록은 아래 url에서 확인이 가능하다.

https://chocolatey.org/packages

choco의 cache 위치

여담으로 설치 패키지 cache는 어디에 쌓는 걸까 궁금해서 찾아 봤는 데..

C:\ProgramData\chocolatey\lib\

이쪽 경로에서 다운로드 받은 패키지를 찾을 수 있었다, 패키지 cache 가 이쪽으로 잡혀있는 듯하다. 흠.. 인터레스팅 어쨋든 이제 윈도우에서도 Apt-get 흉내를 할 수 있게 되었다.

ps

그런데 막상 설치는 해놓고 잘 안쓰고 있다, 에헿