on
윈도우 패키지 관리, '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
설치 방법
-
설치는 간단한 스크립트 입력으로 자동 빌드하는 개념 같아 보인다. 설치 관련 스크립트를 복사해서 cmd에 붙여넣어 실행한다. (자세한 것은 Official Install Guide 참고..)
> powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PAT
-
윈10 사용자라면 무난하게 설치 될 것이라 보나, 윈10 아래 버전의 윈도우에서는 제한 된 TLS 기능 문제 떄문에 안 될 가능성이 크다. 나 역시 윈7 인 관계로 설치하면서 뻑이 나버렸다.
이 경우엔 Official Install Guide 의 아래 하단에 “ Download + Powershell Method “ 이라는 탭의 내용을 참고하여 설치해야 한다.
-
앞으로 우리는 수동으로 설치 스크립트를 다운 받고, 실행할 것이다. 그러나 윈도우7의 기본 정책상 스크립트 실행을 제한하고 있으므로 이를 먼저 해제해야 한다.
-
명령 콘솔(cmd)를 관리자 권한으로 실행시키고, powershell을 입력해 아래의 명령으로 스크립트 정책을 확인해본다.
> powershell
> Get-ExecutionPolicyUnrestricted
restricted 라며 한정 되어있음을 알 수 있다.
> Set-ExecutionPolicy unrestricted
정책을 무방비 상태로 만들어 준다.
-
다시 홈페이지로 돌아가서 “ Download + Powershell Method “ 의 ‘1. Download chocolatey package 링크를 클릭하여 설치 스크립트 압축 파일을 받는다.
-
받은 파일은 압축 파일이어야지만, 확장자가 압축파일이 아닌 파일로 받아진다. 수동으로 확장자를 1.zip 으로 이름을 바꿔주자.
(압축파일로 받아지면 변경을 안해도 된다.)
-
1.zip 을 해제하고 cmd를 관리자 권한으로 실행 -> powershell 을 입력해 powershell 명령을 준비한다.
-
1.zip 의 압축 해제한 폴더인 1 폴더의 tools 폴더에서 스크립트를 실행한다.
> cd c:\Users\유저이름\Desktop\1\tools
-
zip로 압축 해제한 1 폴더의 tools 로 이동해서 스크립트를 실행해야한다. 나 같은 경우는 유저이름이 jjj 인지라 스크린샷은 jjj로 보일 것이다. 오해하지 말자.
> ./chocolateyInstall.ps1
choco 설치 스크립트를 실행한다. 참고로 닷넷 설치때문에 설치 시간이 꽤 걸린다. 체감상 10분 정도 걸렸던 듯.
-
설치가 완료된 거 같다. choco 명령을 입력해 확인을 하자.
> choco
-
호우! 설치가 되었다.기념으로 한번 동작시켜 보아야 하지 않겠는가? 자바를 설치해보자.
> choco install -y jdk8
참고로 install 뒤의 -y 옵션은 설치 관련 Alert 을 무시한다는 명령이다. choco 의 지원 명령어를 확인하려면 -h 옵션 에서 알 수 있다. 또한 choco 실행은 powershell 이나 cmd 아무곳에서나 사용이 가능하다.
-
드디어 우리는 choco 를 첫 실행하는 데에 성공했다, 심지어 처음인데 잘 했다고 놀림 반 축하 반의 메시지도 보인다. 이제 우리는 choco 를 이용해 윈도우에서도 패키지 관리를 할 수가 있다.
choco 의 패키지 관리
choco 에서 설치 지원을 하는 패키지 목록은 아래 url에서 확인이 가능하다.
https://chocolatey.org/packages
choco의 cache 위치
여담으로 설치 패키지 cache는 어디에 쌓는 걸까 궁금해서 찾아 봤는 데..
C:\ProgramData\chocolatey\lib\
이쪽 경로에서 다운로드 받은 패키지를 찾을 수 있었다, 패키지 cache 가 이쪽으로 잡혀있는 듯하다. 흠.. 인터레스팅 어쨋든 이제 윈도우에서도 Apt-get 흉내를 할 수 있게 되었다.
ps
그런데 막상 설치는 해놓고 잘 안쓰고 있다, 에헿