본문 바로가기

전체 글

(16)
PiKVM을 이용한 PC/서버 원격 전원 관리 및 콘솔 화면 제어 IT 관리자가 서버를 운영할 때 가장 중요한 요소 중 하나는 원격에서 서버를 모니터링하고 제어할 수 있는 기능입니다. 특히, 서버가 다운되었거나 네트워크에 문제가 발생했을 때 물리적으로 접근할 수 없는 경우, 원격으로 전원을 제어하고 BIOS 또는 운영체제 이전 단계에서 조작할 수 있는 기능이 필요합니다. 이러한 기능을 제공하는 대표적인 솔루션 중 하나가 PiKVM입니다.PiKVM이란?PiKVM은 라즈베리 파이를 이용해 KVM(Keyboard, Video, Mouse) 스위치를 구현하는 오픈소스 프로젝트입니다. 이를 통해 원격지에서도 서버의 콘솔 화면을 직접 확인하고 키보드 및 마우스를 사용할 수 있으며, 전원 제어까지 가능합니다. 기업용 IPMI나 iDRAC, iLO 같은 상용 솔루션과 비교해 저렴한 ..
Send e-mail with attachment in shell environment. Tested(target) OSs : Ubuntu Arch Linux Required packages : msmtp (simple mail client that can support external smtp like Gmail, Naver etc.) mutt (needs for file attachment) 1. Install package Ubuntu : apt-get install -y msmtp mutt Arch Linux : pacman -S msmtp mutt 2. Prepare shell environment create a "~/.msmtprc" file for msmtp cat ~/.msmtprc # Set default values for all following accounts. def..
PiKVM - KVM over IP 로 컴퓨터 시스템 원격 관리 서론 목포를 계절마다 오가며 일을 하게 되어 IT업력 25년만에 서버 환경이 필요해 Synology와 Linux 서버를 구축해 두었는데, 집에서 서버의 원격 업데이트를 실행하고 리부팅 실행 후에 더 이상 서버 접속이 안되는데... 아마도 부팅 과정에 Hang이 발생한 듯 한 직감! 누군가의 도움도 받을 수 없는 상황!!! 그래서 찾아보게 되었습니다. 집에서 목포에 설치해 놓은 장비들을 원격으로 관리할 수 있는 KVM을~ ATEN 과 같은 KVM 전문 회사 에서는 "KVM Over IP" 제품을 출시해 판매하고 있었지만, 일백만원을 넘어서는 장비 가격으로 달랑 2대의 장비를 관리하고자 투자하기에는 가성비가 좋지 않아 보다 저렴한 제품을 찾기 시작해 결국 찾게 되었습니다. 바로, "PiKVM" (https:..
쉘스크립트의 명령행 인자를 파싱하는 방법 일반적으로 쉘 스크립트를 만들 때 플래그 인자 값을 전달받아 처리하는 루틴을 구현하고자 하는 경우 getopt 나 getopts를 이용하는 경우가 많다. 여기서는, 또 다른 방법으로 for loop 와 case 를 이용해서 플래그 인자 값을 분류하고 처리하는 루틴을 구현하는 방법으로써 쉘 스크립트 개발에 getopt 나 getopts 에 친숙하지 않은 개발자에게 손쉽게 응용 가능할 것이라 생각되는 루틴이어서 발췌한다. ### pivpn.io 의 설치 스크립트로 부터 발췌한 파싱 방법은 아래와 같음. # Check arguments for the undocumented flags for ((i = 1; i
쉘 환경변수에 행 단위로 텍스트 저장/불러오기. 쉘의 배열을 이용해 여러행(multiple-line)을 파싱할 때 활용하는 방법을 안내합니다. # "ip -o link" 명령 실행 결과를 행 단위로 VARR 변수에 넣는 예 IFS=$'\r\n' GLOBIGNORE='*' command eval 'VARR=($(ip -o link))' # 배열의 정보를 행 단위로 출력 : echo ${VARR[0]} echo ${VARR[1]}
애플리케이션 구조에 맞게 MariaDB 를 배포/초기화 간편화 방법 MariaDB를 고정된 Application의 구조에 맞게 일관되게 초기화가 필요할 때가 있을 것입니다. 예를 들면, 테스트 DB 구조를 수시로 초기화 하는 등의 경우에 유용한 방법일 듯 합니다. 그 방법을 알아 보겠습니다. MariaDB는 초기화를 실행하는 "$MYSQL_HOME/scripts/mysql_install_db" 스크립트가 실행되는 과정에서 MariaDB 초기 배포 디렉토리 중 포함된 테스트DB 구성 스크립트인 "$MYSQL_HOME/share/mysql_test_db.sql" 파일을 실행하는데, 이 부분을 사용자가 원하는 DB 초기화 스크립트로 변경해 놓으면 됩니다. 제 경우는 MariaDB 배포 버전 "Ver 15.1 Distrib 10.4.6-MariaDB" 을 이용해서 패키지를 만들..
CentOS 7.7 의 NFS 마운트를 위한 클라이언트 RPM 패키지 CentOS 7.7 에서 NFS 파일시스템을 마운트하기 위해서는 필요한 RPM 패키지가 설치되어 있어야 합니다. 리눅스 OS 설치를 Complete 패키지 설치 모드로 진행 했다면 대부분 이미 설치 되어 있을 수도 있겠지만, 만약 패키지 설치가 추가로 필요한 경우라면, 아래의 패키지들을 추가 설치할 것을 고려해 보아야 합니다. 아래의 패키지는 CentOS 7.7 OS를 Minimal 로 설치한 환경에서 NFS 마운트에 필요한 패키지 목록들 입니다. nfs-utils-1.3.0-0.65.el7.x86_64.rpm libnfsidmap-0.25-19.el7.x86_64.rpm keyutils-1.5.8-3.el7.x86_64.rpm gssproxy-0.7.0-26.el7.x86_64.rpm libbasico..
CentOS exFAT 파일시스템 지원 설정 방법. CentOS 에서 exFAT 파일시스템을 마운트 하기 위해서는 exfat-utils, fuse-exfat, fuse-libs 패키지 설치가 필요합니다. 이들 패키지들은 인터넷 검색을 통해 손쉽게 다운로드하여 설치할 수 있으며, 그 절차는 아래와 같습니다. 1. Repository 를 이용한 설치 sudo yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm sudo yum install -y exfat-utils fuse-exfat fuse-libs2. 오프라인 설치 오프라인 설치를 위해 패키지를 다운로드하여 설치하는 것도 좋습니다. yumdownloader --downl..
리눅스 커널모듈 오류 대처법. 새롭게 컴파일 적용한 커널 모듈에 오류가 있을 경우 시스템 재시작 시 오류가 발생하게 됩니다. 커널 모듈이 정상적이지 않은 경우 initrd에 저장된 문제의 커널 모듈을 제거할 수 있습니다. 1. /etc/dracut.conf 파일 또는 /etc/dracut.conf.d/oooo.conf 파일에 omit_dracutmodules+="" 에 문제의 커널 모듈을 지정합니다. omit_dracutmodules+="netmap" 2. 현재 커널 버전의 initramfs 파일을 재생성 합니다. dracut -f 또는 dracut -f /boot/initramfs-2.6.32-220.7.1.el6.x86_64.img 2.6.32-220.7.1.el6.x86_64
한줄로 tar + gzip 압축 진행상태 모니터링 Compress tar cf - -P | pv -s $(du -sb | awk '{print $1}') | gzip > where: is the root-mounted (i.e. starts with /) path to the files is the output tarball to create Decompress pv | tar -xvzf - -C where: is the path to the tarball to extract is the directory to extract the tarball to Source : https://gist.github.com/Kautenja/tar-progress.md