반응형

전체 글 270

MAC 가상머신 UTM 설치 방법

UTM(Universal Turing Machine)은 Apple의 ARM 기반 Mac에서 가상 머신을 실행하기 위한 무료 옵션 중 하나로, 사용하기 쉬운 오픈 소스 가상화 소프트웨어다. macOS에서 다양한 운영 체제를 실행할 수 있고 간단하고, 경제적인 방법을 제공한다. 하지만, 상업용 솔루션들보다는 기능이 제한되기 때문에  공부 목적으로만 사용한다면 추천한다.  1. 설치 파일 다운1-1) UTM 설치Mac이라고 App Store에서 설치하려고 하면 유료 버전이다. 다운로드를 클릭해 설치 파일을 받는다.https://mac.getutm.app UTMSecurely run operating systems on your Macmac.getutm.app   1-1) 가상 머신에 설치하고 싶은 OS의 is..

기타 2024.02.23

프로그램과 통신에서의 동기 비동기 차이 및 개념

1. 프로그램 1-1) 동기(Synchronous) - 순차 작업 작업이 순차적으로 진행되는 방식으로 한 작업이 다른 작업을 호출하면, 호출된 작업이 완료될 때까지 대기하고 기린다. 이 때문에 작업의 순서와 진행 상태를 예측하기 쉽다. 예를 들어, 함수 A가 함수 B를 호출하고, 함수 B의 결과를 반환할 때까지 함수 A는 대기합니다. 이는 호출된 함수가 실행을 완료할 때까지 제어를 넘기지 않는 것을 의미합니다. 1-2) 비동기(Asynchronous) - 병렬 작업 작업이 순차적으로 진행되지 않고, 작업이 백그라운드에서 병렬로 실행된다. 한 작업이 다른 작업을 호출하면, 호출된 작업이 완료될 때까지 대기하지 않고 즉시 다음 작업을 실행합니다. 예를 들어, 함수 A가 함수 B를 호출하고, 함수 B의 결과를..

CS 2024.02.10

[Linux / Centos] 인바운드(Inbound)/아웃바운드(Outbound) 특정 IP만 접근 허용 방법

1. 인바운드(수신) 데이터가 서버로 들어오는 경우, [ex : 업로드] 2. 아웃바운드(송신) 데이터가 서버 밖으로 나가는 경우, [ex : 다운로드] 3. 인바운드 설정 방법 특정 클라이언트에서 서버의 특정 포트에 접근 허용을 설정한다. 사전에 해당 포트에 대한 방화벽을 열어둬야 한다. 2024.01.02 - [Linux] - [Centos 8] 방화벽(firewalld) 사용 방법 // 1) firewalld 서비스 실행 여부 확인 sudo systemctl status firewalld // 2) 실행중이 아니라면, 실행 sudo systemctl start firewalld // 3) firewalld 서비스를 부팅시에 자동 시작하도록 설정 sudo systemctl enable firewall..

Linux 2024.01.30

[SVN] 백업(backup) 및 복원(load) 방법

1. 전체 백업 가장 단순하면서 쉬운 전체 백업 방법이 있다. 저장소를 압축하고 이관 대상 서버로 들고 가서 풀어주면 끝! 1-1) 백업 repository 저장소 전체를 압축 // svn 프로세스 종료 kill -9 [svn PID] // 저장소를 압축한다. (ex : tar -cvf repo_20240118.tar ./svn) tar -cvf [압축파일명] ./[svn 저장소 경로] 압축 과정에서 커밋이 일어나면 안되기 때문에 꼭 svn을 종료시켜야 한다. 1-2) 복원 이관 대상 서버에 svn이 설치되어 있어야 하며, 해당 svn 버전을 동일하게 맞춰야 오류가 이상 없이 실행이 가능하다. // 압축 해제 tar -xvf [압축파일] 리포지토리 개별적으로 복원할 경우 svn 버전이 달라도 호환 가능하..

DevOps/SVN 2024.01.19

[Tomcat / 오류] Kill failed: $CATALINA_PID not set

1. Issue 톰캣의 shutdown.sh 스크립트를 실행하게 되면 Kill failed: $CATALINA_PID not set 오류 발생하고, 기존 프로세스가 죽지 않고 남아있는 현상 2. Problem shutdown.sh 스크립트 안에서 catalina.sh 스크립트를 실행하게 되는데 이때 $CATALINA_PID 라는 환경 변수가 설정되어 있지 않아 발생하는 오류이다. 3. Solution startup.sh에서 catalia.pid 파일을 생성하고 환경변수를 설정하고, 동일하게 shutdown.sh 스크립에서도 설정해 준다. // startup.sh export CATALINA_PID=/home/[tomcat 경로]/bin/catalina.pid exec "$PRGDIR"/"$EXECUTAB..

오류 해결 2024.01.18

[Jenkins / 오류] nohup 백그라운드 프로세스 실행 오류

1. Issue Jenkins 빌드 후에 배포된 파일(jar)을 백그라운드로 실행 시 스크립트가 실행되지 않음 2. Problem 하나의 서버로 Jenkins 서버를 구축하고, 빌드 파일을 실행할 경우 Jenkins 계정으로 명령어를 실행하기 때문에 권한에 따른 오류가 발생한다. (원격 서버로 배포되면 ssh로 접속하기 때문에 발생하지 않는다.) 3. Solution 사용자 계정으로 명령어 or 스크립트를 실행한다. 3-1) Jenkins에 사용자 권한 부여 // 관리자 계정으로 변경 (이미 관리자 계정이면 상관 없음) su - [관리자 계정] // 쓰기 권한 부여 chmod 640 /etc/sudoers // 수정 vi /etc/sudoers - vi 편집기 jenkins ALL=(was) NOPASS..

오류 해결 2024.01.17

[Jenkins / 오류] Kill -9 명령어 오류 해결(동일 서버)

1. Issue 파이프라인 스크립트로 통해 프로세스를 체크하고, 재실행하는 과정에서 kill -9 [PID] 실행 시 오류 발생 2. Problem 하나의 서버에 Jenkins를 구축하고, 해당 서버에서 스크립트를 실행하게 되면 권한에 따른 오류가 발생하게 된다. 만약, 원격 서버가 따로 존재한다면 ssh로 접속하기 때문에 별다른 문제가 발생하지 않는다. 3. Solution Jenkins 사용자에게 sudo 권한 부여하고 sudo로 kill 명령어를 실행한다. 1) 관리자 계정 로그인 su - [관리자 계정] 2) 권한 설정 // 수정하기 위한 쓰기 권한 부여 chmod 640 /etc/sudoers // 수정 vi /etc/sudoers // jenkins에 권한 부여 jenkins ALL=(ALL)..

오류 해결 2024.01.16

[Centos 8] 방화벽(firewalld) 사용 방법

CentOS 8에서 방화벽을 관리하는 데는 주로 firewalld를 사용한다.   1. firewalld 서비스 상태 확인sudo systemctl status firewalldacitve (running) : 방화벽 서비스가 활성화 상태inactive (dead) : 방화벽 비활성화 상태  2. firewalld 시작하기(만약 비활성화되어 있다면)sudo systemctl start firewalld  3. firewalld 설정 확인하기sudo firewall-cmd --list-all  4. 방화벽 열기포트를 열 때, 해당 포트를 어떤 서비스에 사용할지에 따라 --add-port 뒤에 tcp 또는 udp를 사용한다.// 8080 포트 방화벽 열기sudo firewall-cmd --zone=publi..

Linux 2024.01.02

[Spring Boot/Spring Cloud] MSA - Spring Cloud Config 외부 설정 관리

Spring Cloud Config의 기능 - 분산 시스템에서 서버와 클라이언트 구성에 필요한 설정 정보(application.yml)를 외부 시스템에서 관리 - 하나의 중앙화된 저장소에서 구성요소 관리 기능 - 각 서비스를 다시 빌드하지 않고, 바로 적용 가능 - 배포 파이프라인을 통해 dev, uat, prod 등 환경에 맞는 구성 정보 사용 가능 1. Lcal Git Repository 로컬 Repository에만 등록해 형상관리 진행(인터넷이 되지 않더라도 Git을 이용해 형상관리, 소스 관리, 히스토리 관리를 할 수 있다.) 1-1) Git 디렉토리 생성 $ mkdir git-local-repo // 디렉터리 생성 $ cd git-local-repo // 이동 $ git init // git 초..

Java 2023.12.25

[네트워크] 공인 IP와 사설 IP 개념

1. 공인 IP 공인 IP 주소는 인터넷을 통해 직접 통신할 수 있는 고유한 주소로 인터넷 제공업체로부터 부여받게 된다. 1. 고유한 식별자로, 인터넷 상에서 전 세계적으로 유일 2. 인터넷 서비스 제공업체(ISP)가 부여하며, 각 기기가 직접 인터넷에 접속 가능 3. 공개되어 다른 네트워크나 장치에서 접근 가능 1-1) 공인 IP? 공유 IP? 공인 IP와 공유 IP는 개념은 다르지만, 결국 둘 다 인터넷상에서 직접 접근 가능한 주소로, 기본적으로는 공인 IP 주소를 가리키는 개념이다. 공인 IP 주소: 인터넷 상에서 고유하게 식별되며, 직접 인터넷에 접근할 수 있는 IP 주소 공유 IP 주소: 여러 기기가 공용으로 사용하는 IP 주소로, 일반적으로 공유기를 통해 여러 기기의 사설 IP 주소를 변환하여..

CS 2023.12.19
반응형