본문 바로가기
개발/devOps

[AWS] CLI 설치 및 사용법 (Feat E: Couldn't create temporary file to 에러)

by coking 2022. 12. 15.

AWS CLI(Command Line)

AWS 명령줄 인터페이스(CLI)는 AWS 서비스를 관리하는 통합 도구입니다. 도구 하나만 다운로드하여 구성하면 여러 AWS 서비스를 명령줄에서 제어하고 스크립트를 통해 자동화할 수 있습니다.

AWS CLI는 Amazon S3에서 효율적으로 파일을 보내고 받을 수 있는 간단한 새 파일 명령 세트를 제공합니다.
- 공식 - 

 

간단하게 설명하자면 터미널 창에서 aws 서비스를 이용하기 위해 필요한 도구라고 보면 된다. 

설치법 

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

 

나 같은 경우에는 EC2가 우분투이기 때문에 리눅스 설치법을 이용해서 다운 받았다. 다른 설치법이 궁금하다면 아래 링크를 확인하길 바란다. 

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html 

 

Installing or updating the latest version of the AWS CLI - AWS Command Line Interface

When updating from a previous version, the unzip command prompts to overwrite existing files. To skip these prompts, such as with script automation, use the -u update flag for unzip. This flag automatically updates existing files and creates new ones as ne

docs.aws.amazon.com

 

내가 이 글을 쓰는 이유는 단순히 CLI 설치법 때문이 아니라 설치 만날 수 있는 에러를 정리하고자 해서이다. 

위에 curl로 zip 파일을 받고 zip 파일을 풀려고 하면 unzip을 사용해야 하는 데 없는 경우가 있어서
install을 해줘야 한다.  그래서 install 명령어를 치면 이런 에러가 발생하는데 

E: Couldn't create temporary file to work with /var/lib/apt/lists/ap-northeast-2.ec2.archive.ubuntu.com_ubuntu_dists_bionic_InRelease 
- mkstemp (2: No such file or directory) 
E: The package lists or status file could not be parsed or opened.

 

첫 번째로 /tmp 폴더가 없는 경우가 있고 아님 tmp파일 권한이 없는 경우가 있다. 

나 같은 경우는 둘 다 였기 때문에 아래와 같은 과정으로 문제를 해결했다. 

sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update

 

여기까지 하면 다운은 위에 발생하던 에러는 발생 안 하는데 이제 unzip install시 이런 에러가 발생한다. 

E:unable to locate the package unzip

 

여기서 이제 아래와 같이 권한을 변경해 줌으로 써 문제를 해결했다. 

sudo chmod 777 /tmp

 

이제 다시 위로 돌아가 aws 명령어를 다 실행했으면 설치된 버전을 확인할 수 있다. 

$ aws --version
// aws-cli/2.9.6 Python/3.9.11 Linux/5.4.0-1060-aws exe/x86_64.ubuntu.18 prompt/off
 
$ rm -f awscliv2.zip
// 사용한 zip 파일 삭제

사용법

AWS Cli를 사용하기 위해서는 AWS 계정에서 발급한 IAM 사용자의 AWS Access Key ID AWS Secret Access Key가 필요하다.

AWS IAM 접근 후 왼쪽 사용자 버튼 클릭 후 사용하고자 하는 사용자 클릭

이 이미지는 이미 키가 발급되어 있는 상태이다

 

키를 발급했다면 AWS configure를 입력하여 사용하고자 하는 유저를 인증하면 된다.

설정 후 확인 방법 

$ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key     ****************ZRXQ shared-credentials-file    
secret_key     ****************uJ6w shared-credentials-file    
    region           ap-northeast-2      config-file    ~/.aws/config

 

여기까지 완료했으면 사용하고자 하는 서비스를 사용하면 된다!! 

댓글