목록DEV&OPS/Linux & Cloud (39)
삶 가운데 남긴 기록 AACII.TISTORY.COM
WSL2 네트워크WSL 에서는 윈도우의 물리적 네트워크 인터페이스를 사용하는데 반해 WSL 2는 경량 VM에서 리눅스 커널이 실행됩니다.가상화된 네트워크 어댑터가 있어서 자체 IP 주소가 할당되어 네트워크를 이용할 수 있습니다.윈도우에서 PowerShell을 실행시키고 다음 명령어를 입력하면 네트워크 어댑터 정보를 확인할 수 있습니다.Get-NetAdapter *WSL* | Format-List IP 주소를 확인하려면 PowerShell에서 다음과 같이 입력합니다.Get-NetAdapter *WSL* | Get-NetIPAddress | Format-List IPAddress 우분투 배포판의 IPWSL의 우분투 배포판의 IP는 NAT 가상 네트워크에 속해 있으므로 터미널을 열고 ifconfig으로 알아..
원격 브랜치 로컬로 가져오기(fetch)1. 원격 저장소(orign)의 모든 원격 브랜치를 로컬로 가져옴git fetch origin 2. 체크아웃할 수 있는 브랜치 목록 확인git branch -a브랜치 목록 중에서 원격 브랜치에는 remotes/origin 접두사가 붙어 있습니다. 로컬 브랜치를 분리 생성 후 원격 브랜치에 적용1. 분리하려는 원본 브랜치를 checkout 합니다.git checkout 분리하려는브랜치이름 2. 로컬 저장소에 분리하려는 새로운 브랜치를 생성합니다.git checkout -b 분리생성할브랜치이름 3. 원격 저장소에 새 브랜치를 push 해 줍니다.git push origin 로컬에분리생성된브랜치이름 원격 브랜치 업데이트1. 원격 저장소의 브랜치들을 갱신git rem..
git 클라이언트 설치https://git-scm.com/ Git git-scm.com여기서는 윈도우를 기준으로 설명합니다. git 로컬 저장소 만들기윈도우의 cmd를 사용해도 되지만 linux 스타일인 위에서 설치한 git bash를 실행시켜 작업하겠습니다.d:\ 드라이브로 이동합니다.cd /dgit이라는 디렉터리를 생성한 뒤 이동합니다.mkdir gitcd git여기에 다시 gitwork 디렉토리를 생성한 뒤 이동합니다.mkdir gitworkcd gitwork깃 저장소를 생성해서 초기화 하는 명령어를 실행합니다.git init그러면. git이라는 디렉터리가 하위에 자동생성되며 이 디렉터리가 git에서 관리하는 저장소라는 역할을 하게 됩니다.디렉터리 경로 앞에 점(.)을 붙이는 것은 리눅스에서 숨김..
WSL ubuntu 24 기준입니다. NVM(Node Version Manager) 설치터미널을 열고 NVM을 설치하기 위한 스크립트를 다운로드하고 실행합니다.curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash curl 명령어로 스크립트를 다운로드하고 | bash 옵션으로 스크립트를 즉시 실행해서 설치를 진행하는 것입니다. 셸 초기화(설치 적용)설치 스크립트에서 ~/.bashrc 파일에 NVM을 로드하는 설정을 추가하기 때문에, 현재 터미널 세션에 변경사항을 적용하려면 셸을 다시 로드하거나 터미널을 재시작해야 합니다.source ~/.bashrc 제대로 적용되었는지 확인하기 위해 버전 확인을 해봅니다.nvm --v..
ubuntu 24 배포판 기준입니다.git 설치대부분의 WSL 배포판에는 git이 설치되어 있지만, git 이 설치되어 있지 않은 배포판도 많은 관계로 명시적으로 git을 설치하는 방법을 살펴보겠습니다. 1. 우분투 소프트웨어 repository에서 git을 설치합니다.sudo apt-get install git 2. 다 설치되었다면 설치된 버전을 확인해 봅니다.git --version 3. git 설정으로 사용자 이름과 메일 주소를 설정합니다. 여러 개발자가 협업하는 환경이라면 코드 변경자를 식별할 수 있게 해 줍니다.git config --global user.name "사용자이름"git config --global user.email "이메일주소" 개행 문자 차이 문제 윈도우와 리눅스는 개행문자(..
HTTPS 테스트용 SSL 사설 인증서 Tomcat 9 적용 방법여기서 HTTPS 포트는 8443 을 사용할 것입니다.CentOS7, JDK11, Tomcat9 기준으로 작성되었습니다. HTTPS 통신 Handshake 과정서버측: 서버 정보가 담긴 인증서와 공개키-개인키 쌍을 생성한 뒤 공개키를 인증기관(CA)에 등록합니다. (개인키는 서버측에서 관리하고 공개키는 인증기관에 등록되며 브라우저에 내장 됨)클라이언트 측: 실제 데이터를 암호화할 때 필요한 대칭키 자체를 이 인증기관에 등록된 공개키로 암호화해서 이 암호문을 서버측에 전송합니다.서버측: 클라이언트에서 전송된 암호문을 개인키(1에서 생성했던)를 써서 복호화하여 실제 클라이언트와 통신할 데이터를 암호화할 대칭키(암호키와 복호키가 같아서 대칭키)를..
WSL은 두 운영체제를 분리하여 네트워크로만 접근할 수 있게 하지 않고 직접 파일을 주고 받을 수 있습니다.윈도우에서 리눅스 파일 시스템을 실행할 수 있게 WSL은 리눅스 파일 시스템에서 수행되는 모든 작업을 NT 커널 작업으로 변환합니다. 가상 하드웨어 디스크(VHD)WSL 2는 모든 리눅스 파일을 ext4 파일 시스템을 사용하는 가상 하드웨어 디스크(VHD)에 저장합니다.VHD 파일은 처음 만들어질 때 최대 256GB 까지 늘어날 수 있도록 만들어지고 사용량에 따라 최대 제한에 도달할 때까지 자동으로 크기가 조절됩니다.한계에 도달하면 디스크 공간 부족 오류가 발생합니다.디스크 공간 부족을 해결하려면 다음 단계를 진행하여 VHD 크기를 확장합니다. 1. 실행중인 wsl의 인스턴스들을 종료wsl --s..
배포판 목록 조회wsl -lwsl --list 기본 배포판 설정위에서 조회한 배포판의 목록을 이용해서 --setdefault 또는 -s 매개변수로 WSL 기본 배포판을 지정할 수 있습니다.wsl --set-default 배포판이름 배포판 백업WSL의 배포판 패키지는 tar 파일로 내보내면 쉽게 백업할 수 있습니다.관리자 권한으로 명령 프롬프트에서 다음과 같이 export 할 수 있습니다.wsl --export 배포판이름 저장될윈도우경로\백업될파일이름.tar 백업된 배포판 복원 백업 파일이 c:\temp\ 경로에 복사되었다고 가정하면 다음과 같이 복원할 수 있습니다.이 c:\temp\ 경로는 배포판의 루트 파일 시스템이 설치됩니다.wsl --import 배포판새이름 c:\temp\ c:\temp\백업된파일..
WSL2WSL은 리눅스 가상 머신(VM)을 실행하지 않고도 기본적인 리눅스 바이너리를 그대로 윈도우에서 실행할 수 있드록 해줍니다. 단순히 리눅스 bash 쉘만 제공하는 것을 넘어서 실제 리눅스와 똑같이 보이도록 동작하게 해줍니다.단, 윈도우10 버전 1903 빌드 18362 이상에서 설치 가능합니다. WSL2 기능 활성화1.윈도우의 PowerShell을 관리자 권한으로 실행합니다.시작 버튼 > powershell 입력 > 관리자 권한으로 실행 2. 아래 명령어를 입력해서 wsl을 활성화 합니다.dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enabl..
docker container도커는 컨테이너를 이용해 application을 구동하는데, 보통 가상 머신과 비교를 많이 합니다.가상머신은 호스트OS에서 게스트 OS를 설치하여 호스트로부터 완전히 분리된 가상화 환경을 구축할 수 있습니다. 도커 컨테이너는 호스트OS에서 사용중인 프로세스를 격리시키고 어플리케이션 실행에 필요한 바이너리를 묶어서 가상화합니다. 도커 컨테이너는 application과 이 application을 실행할 가상 컴퓨터가 같이 들어 있는 셈입니다. 즉, 컨테이너에는 도커가 관리하는 독립적인 가상의 리소스(메모리,디스크,IP,등)들을 가지게 되는 것입니다.컨테이너 안에서는 컨테이너 바깥의 환경에 접근할 수 없도록 고립 시켜서 관리하기 쉽게합니다. 가상 머신은 각각 가상 OS상에서 app..
Windows 10 docker 설치도커 사이트 https://www.docker.com/products/docker-desktop/ Docker Desktop: The #1 Containerization Tool for Developers | DockerDocker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.www.docker.com에서 윈도우용 도커를 다운로드합니다.기본값으로 설치를 합니다.고래 아이콘이 나타나면 설치가 완료된 것입니다. CentOS 7 docker 설치대개 리눅스 배포판에는 도커..
1. Ubuntu 서버 다운로드https://ubuntu.com/download/server https://ubuntu.com/download/server ubuntu.com2. 네트워크 연결우분투 설치에는 큰 어려움이 없겠지만, DHCP가 아닌 Manual로 고정 IP로 설정을 할 때 주의할 점이 있습니다.네트워크 관리자에게 받은 네트워크 설정 정보는 아래와 같다고 가정하겠습니다.SUBNET: 255.255.255.0Address: 192.168.2.60 GATEWAY: 192.168.2.1Name servers: 8.8.8.8우분투를 설치할 때 위와 같이 설정하면 빨간 글씨로 안된다고 나옵니다.결론적으로 말하면 아래처럼 CIDR 표기법으로 설정해야 합니다. SUBNET: 192.168.2.0/24..
여기서는 grep의 다양한 옵션에 대해 다루지는 않겠습니다. 사용하기 유용했던 패턴 샘플만 몇개 언급하도록 하겠습니다. 1. 실행 중인 프로세스 중 "java"를 포함하는 프로세스를 찾을 때 ps -ef | grep java 하지만 이건 우리가 찾으려는 프로세스 외에 프로세스가 grep 자체 프로세스도 표시되는데요. 그래서, 2. 실행 중인 프로세스 중 "java"를 포함하는 프로세스를 찾되, grep로 시작하는 프로세스를 제외할 때 ps -ef | grep java | grep -v grep 요렇게 하면 됩니다. 3. 실행 중인 프로세스 중 "java"를 포함하는 프로세스의 PID만 찾되, grep로 시작하는 프로세스를 제외할 때 ps -ef | grep java | grep -v grep | awk ..
https://aacii.tistory.com/381 /var/cache 디렉터리의 용량 부족 리눅스 서버를 운영하다가 종종 /var/cache 디렉터리의 용량이 부족한 경우가 있습니다. 이럴 때 대처하는 방법을 소개합니다. 캐시 파일 확인 먼저 /var/cache 디렉터리 내의 파일 및 하위 디렉터리 blog.aacii.net /var 파티션이 용량이 부족한 관계로 디스크를 추가했습니다. CentOS 7에서 디스크를 추가하고 /var 파티션 용량을 확장해보겠습니다. 당연하겠지만 root 권한으로 작업해야합니다. su - 디스크 용량 확인 df -h 새 디스크 확인 새로운 디스크가 시스템에 제대로 인식되었는지 확인합니다. fdisk -l 리눅스에 설치된 디스크 목록을 확인합니다. /dev/sda1 /de..
리눅스 서버를 운영하다가 종종 /var/cache 디렉터리의 용량이 부족한 경우가 있습니다. 이럴 때 대처하는 방법을 소개합니다. 캐시 파일 확인 먼저 /var/cache 디렉터리 내의 파일 및 하위 디렉터리를 확인하여 어떤 파일이 공간을 차지하고 있는지 확인합니다. du -sh /var/cache/* 용량 크기순으로 정렬된 목록이 나타납니다. 캐시 파일 정리 불필요한 캐시 파일이나 오래된 파일을 삭제하여 공간을 확보할 수 있습니다. sudo yum clean all 오래된 패키지 캐시를 삭제할 수 있습니다. 패키지 관리 도구 사용 시스템에서 사용하지 않는 패키지를 확인하고 삭제하여 불필요한 파일을 제거합니다. sudo yum autoremove 디스크 용량 확인 df -h
