CentOS 7 패키지 설치

CentOS 7 기본 설정 후 서버 관리 및 운영을 도와주는 몇 가지 패키지들을 설치해주어야 한다.

해당 포스트에서는 필수 패키지 / 권장 패키지로 나누어 설명하도록 하겠다.

 

1. 패키지 업데이트

커널 및 각종 패키지들이 업데이트 되며 서버의 구성환경을 고려하여 진행한다.

## 패키지명을 지정하지 않을경우 설치되어있는 모든 패키지를 업데이트 한다.

yum update [패키지명]

## 설치된 패키지 중 업데이트된 패키지 목록 확인

yum list updates

2. 필수 패키지

일반적으로 설치해야하는 패키지들과 서버 모니터링을 위한 패키지로 구분하여 설명한다.

 

일반 패키지

# epel-release : 각종 패키지의 최신 버전을 사용하기 위해 설치
해당 패키지 설치후 다른 패키지 설치시에 최신 버전으로 설치되므로 disable 설정 후 enablerepo 옵션 사용

vi /etc/yum.repos.d/epel.repo
enabled=1 을 0으로

[epel]
...
enabled=0                                 
...

yum repolist                              
yum --enablerepo=epel install [패키지명]   



# net-tools : 각종 네트워크 명령어들을 관리하는 패키지로 IP 확인을 위한 ifconfig, 네트워크 연결 상태 확인을 위한 netstat 둘을 포함한 명령어를 사용하기 위해 설치한다.

<ifconfig>
ifconfig -a                 
ifconfig [interface] up     
ifconfig [interface] down   

<netstat>
netstat -nap
netstat -an | grep [Port]   
netstat -nlpt               


# unzip : zip으로 압축된 파일을 풀기 위해 사용한다.

unzip [file_name].zip       
unzip -l [file_name].zip    
unzip -t [file_name].zip    


# wget : 웹 서버로부터 콘텐츠를 가져오는 명령어로 HTTP, HTTPS, FTP 프로토콜클 지원한다.

wget -O [파일 이름] [URL 주소]            
wget --no-check-certificate [URL 주소]    


# curl : 커맨드 라인용 데이터 전송 도구로 HTTP, FTP등 다양한 프로토콜을 지원한다.
Web 파일 다운받을 경우 wget 권장

curl -o [파일 이름] [URL 주소]             
curl -T [파일 이름] [서버 IP]              
curl -L [URL 주소]                        


# chrony : NTP를 구현한 Server/Client로 ntpd를 대체하며 서버의 시간을 동기화한다.

## 동기화 시킬 NTP 서버의 IP 추가
vi /etc/chrony.conf

server [NTP server IP] iburst <iburst = 동기화 시간을 단축 시켜주는 옵션>

systemctl restart chronyd
chronyc sources


# gcc, gcc-c++ : 각각 C언어, C++언어 컴파일러로 서버에 개발환경을 구축하기 위해 설치한다.


# openssl-devel : openssl을 설치하기 위한 의존성 패키지로 openssl을 사용할 애플리케이션 개발용 파일이다.

 

서버 모니터링 관련 패키지

# htop : 리눅스에서 사용중인 리소스등을 확인 (윈도우의 작업 관리자와 비슷한 역할을 함)

프로세스

PID        
USER       
PR         
NI         
VIRT       
RES        
SHR        
S          
%CPU       
%MEM       
TIMR+      
COMMAND    


# iftop : 네트워크 인터페이스의 트래픽 모니터링

iftop -i eno1               
iftop -f "dst port 22"      


# dstat : 실시간으로 디스크별 I/O 사용량 체크 및 부하 유발을 주는 프로세스를 쉽게 확인 가능하다.

dstat -tcdml                


# sysstat : 리눅스 성능 측정 도구 패키지로 sar, iostat 등을 사용하기 위해 설치

<iostat> : CPU와 디스크의 처리량, 대기열 길이등을 실시간으로 모니터링 한다.
iostat -d 3            
iostat -c 3            

<sar> : 과거 모니터링 정보를 확인 /var/log/sa 폴더에 기록된 sa파일들을 조회한다.
sar -u                  
sar -r                  
sar -dp                 
sar -n DEV              


# lsof : 시스템에서 열려있는 파일에 대한 정보를 출력

lsof -u [사용자 이름]        
lsof -i                     
lsof -c [서비스 이름]        


# psmisc : proc 파일 시스템을 사용하는 유틸리티 패키지로 fuser, killall, pstree등을 사용

<fuser> : 특정 파일시스템을 umount 할 떄 어떠한 프로세스 떄문에 진행이 안될 경우, 그 프로세스를 kill 하기 위해 사용
fuser -v [디렉터리]           
fuser -ck [디렉터리]  
        
<killall> : 특정 프로세스를 한 번에 죽이기 위해 사용
killall -i [프로세스]        
killall -v [프로세스]        
killall -w [프로세스]        

<pstree> : 프로세스의 상태를 Tree 구조로 출력하여 확인
pstree -anp                 

 

3. 권장 패키지

# mlocate : 파일을 검색하기 위해 find 명령어 대신 데이터베이스 기반으로 파일을 검색하기 떄문에 빠른 검색을 위해 사용한다.

updatedb                     
locate [파일 이름]            
locate -n [숫자] [파일 이름]  

# ncat : 서버와 클라이언트가 소켓 통신을 하기위해 사용한다.

<서버>
ncat -l [Port]               
ncat -lk [Port]              

<클라이언트>
ncat [Server IP] [Port]      

# whois : 도메인 소유자나 IP 주소 위치 등 이외 다른 정보를 확인할 떄 사용한다.

whois [도메인 주소]           
whois [IP 주소]              

# cloud-utils-growpart : LVM 구성이 아닌 상태에서 root 파티션 용량을 추가하기 위해 사용한다.

growpart [디스크 명] [파티션 번호]    
resize2fs [파티션 경로]              

# tcping : 클라이언트에서 서버의 TCP 포트를 ping 유틸리티로 체크하기 위해 사용한다.

tcping [Server IP] [Port]    
image_print
카테고리: Linux

호스트웨이 시스템 팀

호스트웨이 시스템1팀