Tech

윈도우에서도 apt-get을 패키지 관리 "chocolatey"

glqdlt 2016. 12. 26. 18:08
#들어가는 말

패키지 관리로 우분투에는 apt-get, 레드헷에서는 yum 이 있다.
윈도우에는 그런 편한 패키지 관리 툴이 없을까 생각해보았는 데,
천재들은 이미 오래전부터 생각을 하고있었다. apt-get 에 비해 기능이 다소 빈약해보이지만 choco(chocolate) 라는 프로젝트가 기동 중이었다.
(이 부분은 마소의 폐쇄 정책 때문으로 보여진다. 오픈소스 운영체제에 비해 코어 접근이 힘들기 때문이라 본다.)
그런데 웃기게도 최근에 마소에서 choco를 밀어주고 있는 듯 하다.
공홈의 하단을 보면 자랑 하고 있는 게 보인다.

" There is an official provider for Windows 10/Windows Server 2016's built-in package manager (PowerShell PackageManagement) coming soon. "
 
발해석을 해보면, 윈10의 powershell 패키지매니저에 등록 될 예정이라고 한다. 흠좀무.




choco 는 국내에선 많이 안 쓰이는 지 관련 포스팅이 많이 없었다.
그래서 설치하는 데에 애법 애를 먹었는데, 이 분노를 어디 풀 곳도 없고 해서 정보 공유차원에 포스팅 하게 되었다.
혹여나 설명이 부족하여 궁금하거나 자세한 것은 아래 choco 공홈에서 확인하자.

https://chocolatey.org/

#설치 환경

설치환경: windows 7 x64 
대부분 윈도우의 버전이 win10으로 올랐지만, 아직까지 대체적인 업무환경은 윈7이 많을 거라 생각한다. (내 업무pc도 윈7이다)
마소에서 choco 를 밀어주려는 분위기로 보아 windows 10 에서는 설치가 무난히 잘 될 것이라 생각한다.



#설치 방법


1) https://chocolatey.org/install 에 접속하여 install guide를 참고하자,
설치는 간단한 스크립트 입력으로 자동 빌드하는 개념 같아 보인다. 설치 관련 스크립트를 복사해서 cmd에 붙여넣어 실행한다.


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




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


    이 경우엔  https://chocolatey.org/install  의 아래 하단에 " Download + Powershell Method " 이라는 탭의 내용을 참고하여 설치해야 한다.
   





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

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

>  powershell 

>  Get-ExecutionPolicyUnrestricted

restricted 라며 한정되어 있다고 나온다.


> Set-ExecutionPolicy unrestricted

정책을 무방비상태로 만들어주자.

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

   나같은 경우엔 편의를 위해 바탕화면에 다운 받았다.

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

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

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

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

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

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

> ./chocolateyInstall.ps1 

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


뭔가 그럴싸하게 되고 있는 거 같다. warning은 무시하자.


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

> choco


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

> choco install -y jdk8

참고로 install 뒤의 -y 옵션은 설치 관련 Alert 을 무시한다는 명령이다. choco 의 지원 명령어를 확인하려면 choco -h 에서 알 수 있다.

또한, choco 실행은 powershell 이나 cmd 아무곳에서나 사용이 가능하다.


축하한다. 드디어 우리는 choco 를 첫 실행하는 데에 성공했다, 심지어 처음인데 잘 했다고 놀림 반 축하 반의 메시지도 보인다.

이제 우리는 choco 를 이용해 윈도우에서도 패키지 관리를 할 수가 있다.

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

https://chocolatey.org/packages 



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

C:\ProgramData\chocolatey\lib\

이쪽 경로에서 다운로드 받은 패키지를 찾을 수 있었다, 패키지 cache 가 이쪽으로 잡혀있는 듯하다. 흠.. 인터레스팅


어찌 됬든 윈도우에서도 Apt-get 흉내를 할 수 있게 되었다.

그럼 끝.



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






'Tech' 카테고리의 다른 글

mybatis utf8 설정  (0) 2017.01.12
VS CODE Python 설치 와 에러 (Linter pylint is not installed)  (0) 2017.01.03
Apt-get 먹통 일 때 ( /var/lib/dpkg/lock )  (0) 2016.12.19
Tomcat과 ServletContextListener  (0) 2016.12.05
PMD 와 Xpath  (0) 2016.12.02