윈도우에서는 리소스 사용량을 "작업 관리자" 라는 기능을 이용해서 CPU, 메모리 사용량 등을 체크할 수 있습니다. 리눅스에서도 이런 시스템 자원을 모니터링 할 수 있는 여러 기능들이 있지만 htop 이라는 직관적인 GUI를 제공 해주는 패키지도 존재합니다. 오늘은 htop에 대해서 알아보도록 하겠습니다. htop 설치하기 최초에 리눅스를 설치하셨다면 htop은 설치가 되어 있지 않습니다. 만약 설치되어 있지 않은 상태에서 CPU, 메모리 등을 확인하시려면 아래의 명령어를 사용하셔야 합니다. CPU : top Memory : free # yum -y install epel-release epel-release에 htop도 함께 포함되어 있으므로 설치를 진행해 줍니다. epel-release는 리눅스의 추..
CentOS, Ubuntu 세션 타임아웃(TMOUT) 설정하는 방법 보통 리눅스를 사용하시는 분들은 ssh 프로토콜로 연결해서 사용하시는 경우가 많으실 텐데 한번 연결을 할 때를 한 세션이라고 합니다. 여기서 세션 타임아웃이란 어떤 이벤트가 특정 시간동안 없으면 시스템에서 자동으로 세션을 끊어버리는 것을 말합니다. 만약 세션 타임아웃이 되지 않고 지속된다면 권한이 없는 사용자는 언제든지 시스템에 접근해서 악의적인 목적을 행할 수 있기 때문에 세션 타임아웃 설정은 보안적인 측면에서도 중요하다고 할 수 있습니다. 오늘은 리눅스에서 Session TimeOut 설정을 하는 방법에 대해서 한번 알아보도록 하겠습니다. 1. 타임아웃 설정 방법 세션 타임아웃 설정은 기본적으로 /etc/profile 파일에 정의되어..
Defunct 프로세스란? 부모 프로세스가 자식 프로세스를 만들게 되고 프로세스가 끝나게 될 때, 부모 프로세스는 자식 프로세스 실행이 끝난 후 커널은 이 사실을 시그널 18의 형태로 부모에게 전송합니다. 하지만 부모 프로세스가 어떤 작업을 하고 있다면 자식 프로세스의 시그널을 받지 못합니다. 이때는 자식 프로세스가 정상적으로 종료될 수 없게 되는데 이 상태가 defunct 상태입니다. 쉽게 말해서 부모 프로세스가 없는 자식 프로세스들입니다. 좀비(defunct) 프로세스 찾기 # ps -ef | grep defunct | grep -v grep 실행예시 # ps -ef | grep defunct | grep -v grep root 17107 21899 0 Feb25 ? 00:00:00 [프로세스] te..
우분투 패키지 설치 방법(apt, apt-get, apt-cache) apt(Advanced Packaging Tool)는 debian 계열의 패키지 툴입니다. 이는 리눅스 시스템에 패키지를 설치하고 제거하는데 사용됩니다. ubuntu 등의 가이드를 찾아보면 패키지를 설치할 때 어디서는 apt 또 다른 곳에서는 apt-get으로 알려주고 서로 다른 명령어로 알려주는 경우가 있습니다. 이 차이점에 대해서 조금 더 알아보도록 하겠습니다. apt는 apt-get, apt-cache의 기능 중에서 잘 사용되지 않는 기능을 제외하고 꼭 필요한 요소만 모아 만든 새로운 툴입니다. 여기서 apt-get은 패키지 설치를 담당하고, apt-cache는 패키지 검색을 담당하는 tool입니다. 결론적으로 apt-get이 아..
CentOS7에서 iptables 설정하는 방법 centos7에서는 기본적으로 Firewalld가 실행되어 있기 때문에 이 서비스를 중지 시켜줘야 iptables 사용이 정상적으로 가능합니다. firewalld는 룰 변경시 서비스 중지 없이 설정 변경이 가능합니다. 하지만 출발지 목적지의 설정이 명확치 않아 중급자 이상이라면 iptables 사용을 권장합니다. Firewall 데몬 끄기 # systemctl stop firewalld # systemctl mask firewalld firewalld 서비스를 stop 해주고, 실행되지 않도록 mask 설정을 해주세요 # systemctl status firewalld - 데몬 상태 확인 firewalld 서비스가 정상적으로 stop 되었는지 데몬을 확인해..
리눅스 서버에서 SSH를 이용하여 접속을 시도할 때 한참을 접속을 하다가 연결되는 경우가 있습니다. 이럴 경우 접속을 조금이라도 더 빠르게 하는 방법을 알려드리겠습니다. sshd_config 파일 수정 # vi /etc/ssh/sshd_config SSH 접속 시에 DNS 조회(Lookup)를 하여 DNS을 찾지 못하는 경우 그 만큼의 대기시간을 가지느라 접속이 느려지는 경우가 있습니다. 이럴 때에는 DNS Lookup 하는 기능을 off 해주면 ssh 접속이 조금이라도 더 빨라질 수 있습니다. /etc/ssh/sshd_config 파일에 'UseDNS=yes' 가 설정되어 있거나 설정 자체가 주석처리 되어 있을 경우 주석을 해제 합니다. 기본적으로 UseDNS가 yes로 되어 있으실 겁니다. /UseD..
요즘 방화벽을 구축하지 않는 회사를 찾기가 더 힘든데요 방화벽은 외부에서 비업무적인 접근을 선별적으로 차단해주는 네트워크 보안 장치입니다. 내부 네트워크와 외부 네트워크를 차단하는 방법은 보편적으로 사설(private) IP 를 사용하는 방법입니다 nonroutable IP 라고도 불리는데요 10.0.0.0~10.255.255.255 172.16.0.0~172.31.255.255 192.168.0.0~192.168.255.255 세가지 범위로 나누어지는데 이 주소 범위에 있는 컴퓨터는 인터넷 라우터를 통과할 수 없습니다. 외부에서도 물론 내부의 이 주소 IP에 접근할 수 없습니다 이런 사설IP 주소가 외부 인터넷에 접속할 수 있도록 하는 방법을 마스커레이딩 Masquerading 이라고 부릅니다. IP위..
저번 시간에는 리눅스에서 이전 명령어를 보는 히스토리 명령어의 사용 방법에 대해서 알아보았습니다. [IT/리눅스(Linux)] - 리눅스 히스토리(history) 명령어 옵션 및 기능 히스토리 명령어를 사용할 때에는 시간이 따로 나오지 않아 언제 사용한 명령어인지 기억하지 않으면 알지 못합니다. 그래서 오늘은 history 명령어에 시간을 표시하는 방법에 대해서 알아보겠습니다. 리눅스 히스토리 명령어 시간 표시 방법 # history history 명령어의 출력은 기본적으로 순번과 명령어로 구성되어 있습니다. 하지만 여기에 시간을 넣을 수 있는 기능이 있습니다. history에 시간을 표시하는 방식은 로그인시 수행되는 스크립트를 만들어, 명령어를 수행할 때마다 현재시각을 기록하도록 합니다. 부팅 스크립트..
리눅스 이전 명령어 보는 히스토리 기능 알아보기 리눅스 유닉스에서 명령어를 사용하시다가 예전에 사용하시던 명령어가 필요한 경우가 발생합니다. 명령어들을 기록해 주는 기능이 있습니다. history 옵션 옵션 의미 -c RAM에 있는 history list를 클리어 즉 삭제합니다. -d history 명령어 치면 첫 번째 열에 offset이 있는데 offset 위치에 있는 history 명령어를 삭제합니다. -a history list에 있는 내용들을 파일에다가 추가합니다. (원래 종료될때 추가되는걸 지금 추가) -n 히스토리 파일로부터 이미 읽혀지지 않은 라인들을 읽고 history list에다가 추가합니다. -r 히스토리 파일을 읽고 history list에다가 내용을 추가합니다. -w 현재 histo..
쉘스크립트를 작성하기 위해 예시를 찾아보다가 /dev/null 2>&1 같은 것을 보신적이 있으실 겁니다. 지금이 아니더라도 나중에 한번쯤은 보게 되실 수도 있으실 텐데요, 어떤 뜻인지 천천히 알아보도록 하겠습니다. 2>&1 는 표준에러를 표준출력으로 redirection 하라는 의미입니다. 하나하나의 의미를 살펴보자면 0 : 표준입력 1 : 표준출력 2 : 표준에러 filename 출력 방향을 바꾼다.(overwrite) >> filename 출력에 이어서 덧붙인다.(append) 아래와 같은 예시로 출력을 파일의 형태로 저장할 수 있습니다. # output > file_name.txt 2> filename 오류의 방향을 바꾼다. 2>> filename 오류..
NTP(Network Time Protocol) 서버 가이드 리눅스 유닉스에서 시간이 맞지 않으면 여러 서비스들이 정상적으로 동작하지 않거나 다른 로그들과 상이하게 될 수 있습니다. 그래서 시간을 주기적으로 정상적인 타임으로 동기화 해주는 것이 중요합니다. NTP 시간 동기화 서버를 만드는 방법에 대해서 알아보겠습니다. NTP는 UDP 123을 기본 포트로 사용합니다. 포트는 다른 포트로 수정해서 사용할 수도 있지만 오늘은 123포트를 이용해서 하는 방법에 대해서 알아보겠습니다. 주요 상용 포트 목록은 아래의 글을 참고해 주세요 [IT/네트워크(Network)] - 네트워크 주요 포트번호 목록, TCP, UDP / port number 네트워크 주요 포트번호 목록, TCP, UDP / port numbe..
CentOS, Ubuntu 등 리눅스 명령어 백그라운드 실행 방법 nohup과 &를 이용해서 리눅스의 명령어를 백그라운드로 실행하는 방법에 대해서 알아보겠습니다. 1. 명령어 & 명렁어 뒤에 &을 붙이면 백그라운드에서 작업을 실행합니다. &만 사용하여 실행했을 때, 사용자가 터미널 세션이 끊어버리면 백그라운드 중인 작업도 같이 종료됩니다. nohup 명령어를 함께 사용하면 백그라운드에서 작업함과 동시에 터미널 세션을 끊거나 컴퓨터를 종료해도 프로세스가 사라지지 않습니다. 2. nohup 명령어와 & nohup 으로 실행하면 실행한 위치에 nohup.out파일이 생성되는데, 명령어 실행 시 발생하는 표준 출력 > 을 nohup.out에 입력합니다. nohup으로 실행하면 해당 작업의 pid와 출력문구가 나..