본문 바로가기

서버 | OS

(10)
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]}
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
cmd 환경에서 PATH 내용 점검 방법 간단하게... > echo %path% C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH 하지만... > echo %path:;=&echo(% 하면... C:\Program Files (x86)\Common Files\Oracle\Java\javapath C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0..
Faster bulk(directory) copy than cp, and watch progress tar cf - . | ( cd /target-dir/ ; tar xf - ) yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install --disablerepo="*" --enablerepo="epel" pv tar cf - . | pv | ( cd /target-dir/ ; tar xf - )