본문 바로가기
일/개발, IT정보

fzf, gdu, wsl, podman, goaccess / DevOps 운영 효율 높이기

소개하는 도구들을 선정한 이유

  • 라이센스 문제가 없다!
  • 운영/개발에 바로 적용할 수 있다! (실용!)

1. Chocolatey

  • https://chocolatey.org/
  • 윈도우용 패키지 매니저로, 설치하려는 소프트웨어를 커맨드 기반으로 설치할 수 있음.
  • 리눅스에 apt/yum이나 맥에서 homebrew와 같음.
  • 가장 많은 패키지를 제공함.
  • 특히 msi/exe를 제공하지 않는 개발 도구들을 설치할 유용함.
  • 라이센스 문제로 직접 배포하지 못할경우에도 유용함.

사용 방법

choco install git                   // 설치할 떄
choco install git --version 1.3.26 // 특정 버젼으로 설치할 때
choco uninstall git                 // 삭제할 떄
choco update git                   // 업데이트할 때
  • 특정 버젼으로 다운그레이드할 때 유용.
  • 윈도우 터미널에서 관리자 권한으로 실행하여야함.

 

2. fzf

 

  • https://github.com/junegunn/fzf
  • fuzzy finder의 약자로 fuzzy 알고리즘을 활용한 유닉스 필터
  • 실시간으로 검색도 가능하여 grab 명령어보다 실용적.
  • grab과 똑같이 '|' 파이프라인을 활용하여 파일 찾기,로그 필터,프로세스 검색 등에 활용할수 있음.

3. everything

 

  • https://www.voidtools.com/ko-kr/
  • 윈도우 전용 실시간 파일 / 폴더 검색 프로그램.
  • 성능 부담없이 사용 가능함.
  • 정규 표현식을 활용하여 검색 가능.

4. gdu

 

  • https://github.com/dundee/gdu
  • 파일 용량을 한번에 보여주는 cli 프로그램
  • 용량이 많이 나가는 파일과 폴더를 맨위로 정렬함.
  • vim 명령어 호환!

5. notepad++

 

  • https://notepad-plus-plus.org/
  • 윈도우 전용 기능이 많은 에디터(블록 선택/각종 플러그인)
  • 에디터를 닫아도 저장하지 않은 내용도 지워지지 않음.
  • 프로젝트 개발용 에디터 외에 특정 설정 파일이나 임시 메모장으로 쓰기 편함.
  • 알트키 + 마우스 왼쪽 버튼으로 블록 드래그 가능!

6. wsl

 


7. podman

 

  • https://podman.io/
  • docker 기능 + 명령어를 100% 호환하며 쿠버네티스와 쉽게 연동할 수 있음.
  • docker 이미지 사용 가능하고, docker hub에서 pull 가능.
  • alias docker=podman 사용 가능.

docker와의 차이

 

  • docker는 데몬에 켜져있고 데몬에 명령을 내리지만.
  • podman은 데몬 없이 명령을 실행함.

쿠버네티스 친화적이다!

  • podman은 POD Manager의 줄임말
  • docker가 나오고 나서 kuberneites가 나왔고 그다음 podman이 나옴!
  • kubernetes에 돌아가도록 설계됨!

systemd에 등록 방식

 

라이센스 문제에서 자유로움

 

  • docker의 경우 docker desktop이 유료화하여 구매하지 않을시 회사에서 사용 금지.
  • podman은 오픈소스 podman desktop 사용 가능.
  • podman desktop도 docker desktop보다 기능이 많음.

8. goaccess

 

  • https://goaccess.io/
  • 오픈소스 기반 웹로그 분석 도구.
  • 콘솔, HTML/JSON/CSV 데이터생성, 실시간 HTML 모니터링.
  • 이미 구축된 서비스에도 적용이 가능.
  • 설치 및 구성이 쉬움.

9. sdkman

 

  • https://sdkman.io/
  • java 관련 개발도구들의 여러 버젼을 설치하고 쉽게 바꿀수 있음.
  • choco가 한가지 버젼만 설치하여 쓴다면 sdkman은 여러 버젼을 설치하고 쉽게 바꿀수있음.
  • bash 기반 프로그램으로 윈도우에서 설치할떄 git bash와 unzip 명령을 할 수 있어야 함.
  • 윈도우에서 설치는 이곳을 참고(https://sdkman.io/install)

동작 방식

 

  • 보통 java_home 세팅은 개발자가 설치한 위치를 그때그때마다 바꾼다.
  • sdkman은 java_home 주소를 고정 시키고 바로가기를 이용하여 바꿈.

나는 자바를 설치를 했는데 필요할까?

 

  • 이제 java도 배포 주기가 빠르기 때문에 최신 기능을 테스트 및 사용하기 위해서는 버젼 변경 주기가 자주 일어남.
  • 개발은 1.8로 하더라도 사용하는 솔루션들이 필요한 버젼이 여러가지일수있음.
  • 개발자가 하나씩 설치해서 변경하기보다는 yum/choco와 같이 버젼관리가 필요함.

10. nvm

 

  • https://github.com/nvm-sh/nvm
  • node js 버젼 매니져.
  • 배포 주기가 짧은 nodejs를 손쉽게 관리해주는 도구.
  • sdkman과 같은 기능을 제공함.