만쥬의 개발일기
article thumbnail
[Shell] - oh-my-zsh 설치
🛠️TOOL/📄Linux 2024. 1. 17. 16:19

개발환경 : AWS ec2 - ubuntu 18.04 터미널을 보기 좋게 쓰기 위해 개발환경에 oh-my-zsh를 설치해보자. zsh 설치 sudo apt install zsh -y 기본 쉘을 zsh로 변경 chsh -s /bin/zsh 만약 여기서 변경이 안되고 chsh:PAM authentication failed 오류가 발생했다면, 다음 순서를 따라하고 다시 쉘을 변경해준다. 1.chsh 설정 파일을 vim으로 접속 sudo vim /etc/pam.d/chsh 2.해당 파일의 auth required pam_shells.so 주석처리 oh-my-zsh 설치 sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/too..

article thumbnail
[Docker] - 배포 서버와 개발 환경의 Platform이 다를때 : The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) ...
🛠️TOOL/🐳Docker 2024. 1. 17. 16:14

문제 상황 개발환경에서 DockerHub에 Docker 이미지를 푸시하고, 배포서버에서 pull해서 사용하려고 하자 실행시 WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 와 같은 에러가 발생했다. 이는 개발환경은 WSl2 Ubuntu (linux/amd64) 이고, 배포 서버는 linux/arm64 아키텍처이기 때문이다. 따라서 로컬에서 docker image를 빌드 시, 해당 아키텍처용 이미지를 만들어주어야 한다. 이를 위해선 docker buildx가 필요한데, buildx란 다..

article thumbnail
[SSH] - MobaXterm을 통해 원격 서버 SSH 접속 후 vscode로 작업하는 법
🛠️TOOL 2024. 1. 10. 13:53

MobaXterm을 사용해야 하는 이유 원격 서버에서 작업해야 할 경우 대부분 연결을 ssh로 하게 되었는데, 기존에는 로컬에서 작업 ➡️ git에 push ➡️ 원격 서버에서 pull 로컬에서 scp프로토콜을 이용해 파일 전송 등의 방식을 사용하였고, 크게 불편함을 느낀 적이 없었다. 그러나 서버측에서 간단한 수정만을 하거나, 리눅스 서버에 데스크탑 환경이 깔려있지 않음 + 위 두가지 방법을 사용 못하는 경우엔 꼼짝없이 vi로 코딩을 해야만 했다. 나의 경우는 원격 서버 내의 파일들이 필요하지만 전부 로컬로 옮길 수 없는 방대한 양인데다가, 기존 코드 자체가 해당 데스크탑의 폴더 구조를 기준으로 짜여져 있기 때문에 반드시 추가 작업을 해당 원격 서버 환경에서 해야만 했다. 따라서 SSH로 접속하고, 해..

article thumbnail
[PostgreSQL] - 원격 서버에서 PostgreSQL 접속하는 법
🛠️TOOL/🐘PostgreSQL 2024. 1. 2. 10:08

PostgreSQL을 설치하면 기본적으로 외부 서버에서 접속할 수 없기 때문에, config 파일들을 수정해주어야 한다. 개발환경은 WSL2 + ubuntu18.04 이다. 우선 다음 명령어로 Ubuntu에서 열려있는 포트를 확인한다. netstat -nltp postgres의 기본 포트는 5432이다. 위 결과처럼 127.0.0.1:5432로 되어 있다면 5432포트는 내부에서만 접속할 수 있다는 뜻이다. postgresql.conf파일 수정 Postgres 설정을 변경하려면 postgresql.conf에서 변경해 줘야 한다. 먼저 다음 명령어로 postgresql.conf 파일을 vim 편집기로 변경해준다. sudo vim /etc/postgresql/10/main/postgresql.conf (po..

article thumbnail
[PostgreSQL] - PostgreSQL DB생성 및 접속 시 Peer authentication 에러 해결법
🛠️TOOL/🐘PostgreSQL 2024. 1. 1. 23:18

PostgreSQL을 사용하며 DB를 생성하거나, psql로 접속할때 종종 Peer authentication 에러가 발생하곤 한다. 이때에는 pg_hba.conf파일의 설정을 변경해주어야 한다. 먼저 pg_hba_conf 파일의 위치를 찾아야하는데, 리눅스 우분투의 경우 보통 다음 경로에 위치한다. /etc/postgresql/{postgresql 버전}/main/pg_hba.conf 해당 파일을 vi 편집기로 접속하고, 몇가지 설정을 변경해준다. 로컬 호스트 기준 여기서 local all postgres와 local all all의 peer을 모두 md5로 변경해준다. 위 사진과 같이 변경되었다면 저장을 해준다. 외부 host기준 host all all 127.0.0.1/32 md5 위 설정에서 12..

article thumbnail
[PostgreSQL] - PostgreSQL사용 시 데이터 공간 부족 문제 해결
🛠️TOOL/🐘PostgreSQL 2024. 1. 1. 23:09

postgresql 설정 파일이 위치한 폴더로 이동한다. 각 OS별로 대부분 다음 위치에 존재한다. Linux /etc/postgresql/13/main/postgresql.conf macos /usr/local/var/postgres/postgresql.conf window C:\\Program Files\\PostgreSQL\\13\\data\\postgresql.conf 해당위치의 postgresql.conf 파일에서 data_directory를 확인한다. 해당 경로가 postgresql 서버에서 사용하는 모든 데이터와 메타데이터가 저장되는 데이터베이스 클러스터이다. 그리고 해당 파일에서 log_temp_files 부분을 다음과 같이 수정해준다. log_temp_files = 10240 공간 확보 ..

[Linux] - SCP를 이용한 파일전송
🛠️TOOL/📄Linux 2024. 1. 1. 22:15

프로젝트를 하다보면 종종 SSH로 연결된 서버에 파일 혹은 폴더를 전송해야 하는 경우가 있다. 이때는 SCP를 활용한다. 로컬 ➡️ 원격 서버 scp -P 포트번호 -r {전송할 폴더 위치} {전송한IP의 ID}@{전송할IP}:{도착주소} 원격 서버 ➡️ 로컬 scp -P {원격서버포트} -r {원격서버ID}@{원격서버 IP or DDNS}:{전송하려는 파일 절대경로} {전송받는 로컬 폴더 절대경로} -r 옵션은 폴더를 전송할 때 사용한다. 파일을 전송한다면 생략해도 된다. 만약 원격 서버 ➡️ 로컬을 진행할때, ssh 키 등록이 안되어있어 에러가 난다면, 로컬의 ssh public 키를 원격 서버의 ~/.ssh/authorized_keys 에 등록해준다.

[Linux] - 리눅스 프로세스가 killed 되었을 때의 원인 찾는 법
🛠️TOOL/📄Linux 2024. 1. 1. 22:09

리눅스 환경에서 프로그램을 돌리다보면 에러 메시지가 뜨지 않고 killed라는 글자만 쓰여있는 경우가 있다. 이 때는 다음과 같이 커맨드에 입력해주면 process가 강제종료된 원인을 알 수 있다. 대부분은 out of memory문제이다. dmesg | grep -E -i -B100 'killed process'