Tag Archives: linux

vi 에디터 사용법 (vim editor)

HYEONG HWAN, MUN/ 9월 26, 2018/ 미분류/ 2 comments

이 글에서는 거의 대부분의 리눅스 배포판에 포함되어 있는 vi 호환 에디터인 vim 에디터의 사용법에 대해 설명합니다. 당신이 최근 5년 이내에 배포된 리눅스를 설치하였다면 vim 에디터는 이미 설치되어 있을 것입니다. (또한 기본값입니다) 만약 당신의 시스템이 오래되어 vim 에디터가 설치되어 있지 않다면 다음의 명령어를 통해 vim 을 설치하세요. vim 은 VI iMproved 의 약자입니다. (향상된 vi) Ubuntu 의 경우 # apt-get install vim CentOS 의 경우 # yum install vim   vi 에디터는 모든 Linux/ Unix 시스템에서 사용할 수 있습니다. vi 에디터를 사용하기 위해서 마우스 입력 장치가 필요 없으며, 키보드 입력으로 모든 기능을 사용할 수 있기 때문에 터미널 환경에서 주로 사용되는 프로그램 입니다. vi editor 는 vi(sual) editor 의 약자이며 “브이-아이 에디터” 라고 부릅니다. < vi 에디터 개발자 Bill Joy >   현재는…

Linux 원격 백업 구현하기 (Dropbox 에 백업하기)

HYEONG HWAN, MUN/ 7월 15, 2017/ 미분류/ 11 comments

최근 나야나(nayana) 서버 해킹 사건으로 인해 서버 백업의 중요성 매우 커졌습니다. 실제로 백업은 매우매우 중요합니다.   이 글은 기존에 제가 작성한 https://blog.lael.be/post/1449 글에 이어서 작성하는 글입니다. 즉 이 글의 내용을 구현하려면 먼저 위의 글로 이동하여 로컬 백업을 구현해 두어야 합니다.   1. 믿을 수 있는 원격 저장소 찾기 이 글에서는 백업/동기화 부문에서 전세계 1위 업체인 Dropbox 를 원격 저장소로 사용할 것입니다.   https://www.dropbox.com 로 이동하여 무료 회원가입을 실시합니다. 무료 회원은 2GB 의 저장공간을 받습니다. 기타 다양한 기능을 사용할 수 있습니다.   추가 저장공간을 원한다면 1TB 저장공간 1년 사용 할 수 있는 Plus 가입을 해보세요! (권장)   2. Linux 서버에 Dropbox Uploader  설치 Dropbox Uploader 는 https://github.com/andreafabrizi/Dropbox-Uploader 에서 다운 받을 수 있습니다. CURL을 사용한 단순한 쉘 스크립트이며 따라서 서버에 추가적으로 설치할 프로그램은 없습니다.   본문은 Linux root…

서버 성능측정 (벤치마크 방법)

HYEONG HWAN, MUN/ 3월 28, 2016/ 미분류/ 7 comments

다음은 https://blog.lael.be/post/44 에서 각 상품군의 성능 벤치마크시 사용했던 지표입니다. ** 2018/08/06 : Ubuntu 18.04 에서의 명령어를 추가함. Ubuntu 기준. Windows 는 Novabench(https://novabench.com/) 를 사용하도록 하자. 벤치마크 점수에 너무 신경쓰지 말아야 한다. 점수는 점수일 뿐 당신의 체감 속도가 가장 중요하다. 아래 스크린샷은 라엘이가 개인용도로 사용하고 있는 직접 구축한 클라우드 서버에서 Sysbench 를 실행한 것이다. 가상 서버는 Hyper-V 기반이며, 6코어 5GB RAM, 100GB SSD 사양이다. # 제 서버를 기준 지표로 설정하지 마시고, https://blog.lael.be/post/44 의 업체를 기준 지표로 삼으세요. 0. 대조군 설정 당신이 이미 서버를 운영하고 있는 상태에서 이 글을 읽는다고 가정한다. 빠른 서버에 대한 느낌은 직접 사용해야 알 수 있다. 당신의 서버와 비교할 대조군을 설정한다. VULTR 클라우드서비스 (https://www.vultr.com/)에 가입후 도쿄 또는 싱가포르 지역에 자신의 서버와 동일사양인 서버를 추가해보자. 그 후 아래 명령어로 비교해…

Ubuntu 백업 스크립트 작성하기

HYEONG HWAN, MUN/ 6월 14, 2015/ 미분류/ 39 comments

아래 설명글은 Ubuntu 뿐만 아니라 모든 Linux 배포판에 대해서 공통적으로 실행가능합니다. 서버를 운영하면서, 백업과 보안은 항상 염두해 두어야 하는 사항이다.   리눅스 시스템에서 주기적으로 파일과 데이터베이스 백업을 하는 방법에 대하여 설명하겠다.   * Dropbox 에 원격 자동 백업하는 방법은 여기에 : https://blog.lael.be/post/5952   1. 정책 세우기 언제마다 백업을 할 것인가? 백업 방식은 어떤것인가? 백업 유지 기간은? 백업 저장소는 어떤 것인가?   1) 백업 주기 정책 대부분의 서버에서 접속자가 가장 낮을때는 4:00 AM ~ 4:30 AM 입니다. 그래서 많은 서버 관리자들이 새벽 4:00 에 백업이 이루어지게 설정합니다.   하루에 2번 백업하고 싶으면 오전/오후 4:00 에 백업을 하도록 합시다.   2) 백업 방식 정책 백업이라는 것이 데이터를 복사해 두는 것이기 때문에 하드디스크의 여유공간이 많아야 합니다. # df -h 명령어를 통해서 저장할 디스크의 여유공간이 충분한지…

sshfs를 사용하여 Linux 서버간 공유폴더 설정하기

HYEONG HWAN, MUN/ 6월 2, 2015/ 미분류/ 2 comments

리눅스 서버(Linux Server)를 운영하다보면 서버간에 폴더를 공유(Shared folder)해야 할 때가 있다. 공유폴더를 설정한다거나, 백업폴더를 설정한다거나 여러 이유가 있을 수 있다.   그 때 사용할 수 있는 서버간에 공유폴더를 설정할 수 있는 방법을 설명하고자 한다.   이 방법은 Ubuntu, Debian 및 CentOS, Redhat, Amazon Linux 에서 사용할 수 있다.   1. Ubuntu , Debian 설치 방법 # apt-get install sshfs 아주 간단하다.   2. CentOS, Redhat 리눅스 확장 저장소 추가. # yum install epel-release -y   설치 # yum install fuse sshfs   3. Amazon Linux AMI #yum install fuse   Amazon Linux 저장소에는 sshfs 패키지가 없다. 컴파일 환경을 만들고, 소스를 다운받아서 컴파일 하여야 한다. # yum install glib2-devel # wget http://downloads.sourceforge.net/project/fuse/sshfs-fuse/2.5/sshfs-fuse-2.5.tar.gz # tar -xzvf sshfs-fuse-2.5.tar.gz # cd sshfs-fuse-2.5/ # ./configure # make # make install    …

Ubuntu 에 fail2ban 을 설치하여 보안을 강화하기.

HYEONG HWAN, MUN/ 5월 9, 2015/ 미분류/ 4 comments

#이 글은 Ubuntu 운영체제 기준으로 작성되었습니다. CentOS 사용자는 다음의 글을 참조하세요 : http://crybit.com/steps-to-install-fail2ban/   이 곳에서는 fail2ban 이라는 프로그램을 사용하여 서버를 보호하는 방법을 적도록 하겠다. fail2ban 이란 지정한 시간내에 지정한 횟수만큼 실패 하면 ban 시간만큼 접속을 차단하는 것이다. 여러명이서 같이 쓰는 서버에 좋다. 주로 웹호스팅 서버. 방화벽을 세팅하기 귀찮을때에도 이것을 사용한다. fail2ban 은 로그기반 프로그램이기 때문에 로그가 쌓이는 시점으로 계산됩니다. 이것 때문에 발생하는 fail2ban maxretry별 최대 로그인 시도가능 횟수. 1 => 1번 2 => 7번 3=> 13번 4=> 19번 5=> 25번 6=>31번 n=> 6*(n-1) + 1 번 SSH의 경우 로그인이 실패(fail)하면 재시도(retry) 5회 하도록 해 줍니다.  재시도는 카운트 되지 않습니다. SFTP의 경우 로그인이 실패(fail)하면 retry 안하고 바로 연결을 끊기 때문에 로그인 최대 시도횟수가 의도한대로 동작합니다. 방화벽 확인 #iptables -L 아마 이렇게 되어…

Ubuntu 캐쉬 메모리를 주기적으로 지워서 메모리 확보하기

HYEONG HWAN, MUN/ 4월 2, 2015/ 미분류/ 18 comments

라엘이는 게임서버를 하나 운영하고 있다.   게임서버는 웹이나 DB서버보다 자원을 많이 필요로 하기에 모니터링과 튜닝을 잘해야 한다. 1. CPU 사용량 게임서버는 일반적으로 사람의 활동 시간과 일치하는 경향이 있다. 또한 주말마다(불금 ~ 일요일) 접속자가 늘어나므로 CPU 상태를 잘 보아야한다. CPU 사용량이 150%를 넘어서면 간헐적인 렉 현상이 일어난다. > 해결책 : 게임의 속성을 잘 조절해서 부하량을 낮추어야 한다. 또는 코어를 왕창 할당하면 됨.   2. 메모리 사용량 CPU 만큼 중요한게 메모리이다. 물론 메모리가 부족하면 새로운 프로세스가 생성이 안되는 문제가 발생하기도 하지만, 작은 여유 공간에 데이터를 넣었다가 뺏다가 intensive(강렬) 한 작업을 해야하기 때문에 CPU 또한 과부하가 걸려서 문제가 발생한다. (연쇄반응) 접속자가 없을 때 게임서버가 자동 재부팅되도록 설정해 두었지만.. 메모리 사용량이 순 증가 하는 현상이 발생하더라. tar 압축 같은 Disk I/O 할 때 캐쉬메모리가 대폭 증가하는 것을 알…

Ubuntu Linux / Mac OS X 에서 ssh 터널링 사용하기

HYEONG HWAN, MUN/ 2월 23, 2015/ 미분류/ 0 comments

터널링이란 A와 B사이에 가상의 네트워크를 생성하고 A가 B의 내부망을 이용할 수 있게 하는 것이다. 자세한 설명은 구글에서 VPN 을 검색한 후에 알아보아라.   라엘이가 예전에 윈도우를 사용할 때에는 putty 라는 프로그램을 사용해서 터널링을 자주 사용했었는데, 지금은 작업환경을 MAC OS 위주로 바꾸어서 putty를 이용할 수 없어서 새로운 터널링 방법을 찾아야 했다.   여러 프로그램도 설치해 보고 이것저것 해본 결과 가장 안전하고 쉬운 방법이다. 모든 Linux 기반 운영체제 (Ubuntu, CentOS, MacOS 등등) 에서 가능한 명령어이다. 윈도우에서 안됨. (윈도우에서는 putty쓰세요) 기본 내장된 ssh 프로그램을 사용한다.     사용할 옵션 : -p [number]  : number 포트번호로 접속한다. -N : 원격 쉘을 실행시키지 않고 접속만 유지한다. -L [로컬포트번호:호스트:호스트포트번호] : 로컬 포트번호로 listen 소켓을 열고 들어오는 패킷을 원격지에서 호스트:호스트포트번호로 전송한다.   예시 : ssh root@test.com -p 30022  -N…

Ubuntu – Best way to Local PortForwarding.

HYEONG HWAN, MUN/ 10월 18, 2014/ 미분류/ 0 comments

1. Find out the name of ‘rinetd’ package. #apt-cache search rinetd rinetd – Internet TCP redirection server socat – multipurpose relay for bidirectional data transfer 2. Install ‘rinetd’ Package. #apt-get install rinetd 3. Configure Port-forward setting. #vi /etc/rinetd.conf ex) 1) Listen 10322 PORT. 2) Send All TCP packet to Local 22 PORT. It is simple to configure. 4. Adjust it. #/etc/init.d/rinetd restart 로컬 포트포워딩 뿐만 아니라 리모트 포트포워딩도 됩니다.