본문 바로가기
IT/Linux_리눅스

[Linux / Packer] packer 설치 및 실행 하기 / CentOS에서 packer 명령어 실행이 안될 때

by 능보테 2022. 7. 22.
728x90
반응형

안녕하세요. 이번 포스팅에서는 CentOS Linux 환경에서 packer를 설치하고 실행하는 과정과 그 과정에서 packer 명령어가 실행이 안되는 경우 해결하는 방법을 씁니다.  

 


0. packer

 

Packer는 다양한 타입의 이미지(OS image) 생성 과정을 자동화 해주는 도구입니다. 

Hashicorp 사는 Packer를 사용하기 위한 tutorial 을 제공합니다. 

 

https://learn.hashicorp.com/packer

 

Packer Tutorials - HashiCorp Learn

Learn how to build automated machine images of using Packer.

learn.hashicorp.com

 

Hashicorp 에서 제공하는 공식 튜토리얼 중에서 RHEL/CentOS 기준으로 설치를 진행합니다.

 

 


 

 

1. CentOS에 packer 설치

 

RHEL/CentOS 환경에서는 yum을 사용하여 쉽게 설치가 가능합니다. 공식 튜토리얼에서도 yum을 이용하는 것을 보니 

RHEL/CentOS 8버전 환경에서는 stable한 버전인지는 확인이 어렵네요.

제 테스트 OS는 CentOS7.9 버전이므로 진행해보겠습니다. 

 

- yum-config-manager 활성화

sudo yum install -y yum-utils

 

- yum-config-manager 로 Hashicorp 리눅스 레포지토리 추가

sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo

 

- packer 설치

sudo yum -y install packer

 

- 설치 확인

packer 명령어를 실행하면 packer 명령어의 사용법과 옵션이 설명되지만 CentOS 환경이라면 아래와 같이 

명령어 실행 후 아무 동작도 하지않는 멈춤과 같은 상태가 됩니다. 아래에서 해결해봅니다. 

 

 

 


 

 

2. CentOS에서 packer 가 멈추는 이유

CentOS 환경에서 packer 명령어 설치 뒤 실행할 떄 에러가 생기는 이유는 CentOS 자체적으로 가지고 있는 패키지 중에

이미 설치된 'packer'라는 패키지가 있다는 점입니다. 

 

hashicorp의 packer를 설치했지만 현재 명령어의 위치가 원래 있던 packer로 연결되있는 것이 OS 상에선 정상동작을 하는 것이지만 사용자의 눈에는 에러처럼 보이게 됩니다.

 

아래는 Hashicorp의 공식 문서의 내용 중 겹치는 패키지로 에러가 날 수 있다는 점을 설명한 내용입니다. 

 


»Troubleshooting

On some distributions, there may be another tool named packer installed by default. The following error indicates that there is a name conflict.

 


 

packer --help 명령어를 사용하면 기존의 packer와 연결되어 원하지 않는 결과를 냅니다. 

 

 

 

 

기존의 packer 명령어는 /usr/sbin/packer 로 심볼릭 형태로 존재합니다. 실제 패키지 이름은 'cracklib-packer' 이지만

packer 라는 심볼릭 링크로 연결되어있습니다. 

 

 

 

 


 

728x90

3. Troubleshoot

우선 위의 심볼릭링크를 제거합니다. 

아래 처럼 제거 명령을 해도 삭제되는 것은 링크이기 때문에 본래 있던 cracklib-packer 패키지는 그대로입니다. 

 

rm -rf packer

 

이제 Hashicorp packer에 'packer' 링크를 연결합니다. 

 

ln -s /usr/bin/packer packer

 

위의 명령어 실행 후에 다시 packer 명령어를 실행하면 의도한대로 Hashicorp의 packer를 실행할 수 있습니다.

 

 


 

본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.

인용 시 출처와 같이 공개해주세요!

도움이 되셨다면 댓글 또는 공감 부탁드립니다!

728x90
반응형

댓글