애자일 조직이란? 가끔 뉴스나 기사에서 애자일이라는 이야기를 들어보신 적이 있으실 겁니다. IT 전공자나 정보처리기사, 정보보안기사 등의 자격증을 공부하시다 보면 애자일 조직이라는 얘기가 나오기도 합니다. 또 회사에 계신다면 간혹 메일로 애자일 조직 관련하여 홍보 메일이 오기도 합니다. 애자일 조직이란 어떤 조직을 말하는지에 대해 간략하게 알아보겠습니다. 애자일의 사전적 의미는 기민하거나 민첩한 조직, 불확실성에 빠르게 대응하여 성과를 내는 조직, 수평적인 조직, 소규모 셀 단위로 나누어진 조직 등으로 해석됩니다. 쉽게 한 단어로 요약하자면 탄력적인 조직이라고 볼 수 있습니다. 애자일의 시작 애자일은 2001년 17명의 미국 소프트웨어 개발자가 유타주 스노우버드에 모여서 '애자일 소프트웨어 개발 선언'에..
리눅스에서 파일 내용을 확인할 수 있는 방법은 여러가지가 있습니다. 위에서 부터 몇 줄만 확인하는 방법, 아래에서부터 몇 줄 확인하는 방법 그리고 실시간으로 쌓이고 있는 로그를 실시간으로 확인하는 방법 오늘은 리눅스의 다양한 파일 내용 확인 방법을 알아보겠습니다. 리눅스 파일 내용 확인 방법 cat 단순히 파일을 내용을 확인하기 위함 옵션 -b 각 행에 번호를 붙임 -n 각 줄에 번호를 붙임(빈 줄 포함) more 긴 파일을 읽을 때 위에서 부터 짤라서 읽습니다. enter로 줄을 넘어갈 수 있습니다. less more과 비슷하게 동작하지만 방향키와 Page Up, Page Down 키를 이용해서 위 아래로 움직이며 읽을 수 있다는 장점이 있습니다. 파일을 다 읽고 나가기 위해서는 q키를 이용하시면 됩니..
리눅스 시스템을 안정화 하는 방법에는 여러가지 방법이 있습니다. 그 중 디스크 레이드(raid) 설정 방법이 있습니다. 레이드 설정을 하시려면 2개 이상의 디스크가 필요합니다. raid0 raid1 처럼 이런 레이드 방식을 사용한다면 디스크를 추가로 사용하거나 미러링하여 디스크 2개가 똑같이 동작하여 하나의 디스크가 고장나게 되면 다른 한쪽으로 인해 정상동작을 할 수 있는 장점이 있습니다. 레이드에 대한 자세한 정보는 아래의 글을 참고해 주세요 [보안(Security)] - [Raid0-5] Raid 설명 - 디스크 미러링 - 레이드 설명 - raidrive - raid0 - raid5 [Raid0-5] Raid 설명 - 디스크 미러링 - 레이드 설명 - raidrive - raid0 - raid5 Re..
CentOS, Ubuntu 등 리눅스에서 파일을 검색할 때 ls 명령어를 사용하게 됩니다. ls, ll 에서는 여러 옵션을 사용해서 파일을 다양하게 나열해 줄 수 있습니다. 오늘은 파일의 용량 순서대로 오름차순 내림차순으로 나열하는 방법에 대해서 알아보겠습니다. 리눅스 파일 크기 오름차순 내림차순 나열하기 큰 것 부터 보기 ll -SS -h /var/log 파일을 용량 순서대로 보기 위해 -S 옵션을 사용합니다. 대문자 S를 사용하셔야 합니다. 작은 것 부터 보기 ll -SS -rh /var/log 파일을 작은 것부터 나열하기 위해서는 파일 크기 명령어를 역순으로 돌려줘야하기 때문에 -r 옵션(Reverse)을 사용해서 거꾸로 작은 것부터 나열해 줍니다. -h 옵션은 K, M, G 같은 크기 단위를 붙여..
리눅스 관리자가 되었다고 하면 예를 들어 이런 상황이 있을 수 있습니다. 교육장에 100대의 가상머신이 필요하면 100대를 모두 하나하나 설치하기가 어려울 수 있습니다. 이럴 때 사용하는 방법이 PXE 설치 서버(PXE Installation Server)를 운영하는 것입니다. 같은 네트워크에 컴퓨터 전원만 넣으면 PXE 설치 서버에 있는 파일을 다운받아 설치할 수 있습니다. 100대를 설치한다고 하면 컴퓨터 전원만 켜주시고 퇴근하면 됩니다. PXE 설치 서버 킥스타트 PXE는 Preboot Excution Environment 입니다 아직 운영체제가 설치되지 않은 컴퓨터가 네트워크를 통해 PXE 서버에 접속해서 부팅되도록 해주는 인터페이스 입니다. 패키지를 설치하기 위해 syslinux, dhcp, t..
httpd.conf 웹 서버 설정파일과 X 윈도용 설정 도구 웹 서버의 설정파일인 /etc/httpd/conf/httpd.conf 파일을 수정해서 설정할 수 있습니다. 항상 conf파일을 수정할 때에는 백업하는 습관을 기릅시다. 실행하는 데몬이 config 파일을 읽어갈 때 정상적이지 못하면 데몬 자체가 구동이 되지 않는 경우가 허다합니다. Apache 최상위 디렉토리 ServerRoot "/etc/httpd" --> 웹서버의 설정파일, 로그 파일 등이 저장되는 최상위 디렉토리 포트번호 설정 Listen 80 --> 웹서버의 포트 번호 Include conf.modules.d/*.conf --> 설정 파일에 포함될 파일의 경로와 파일 이름 User apache / Group apache --> 웹서비스를..
setenv.sh 파일 설정 setenv 쉘 파일은 tomcat 구동 시 읽어 들이는 실행 환경설정 파일입니다. 대부분의 시스템은 JVM 관련 옵션을 catalina.sh 파일을 수정하여 사용할 수 있지만, 이렇게 되면 톰캣 버전 업그레이드, 서버 이전 등의 작업에서 해당 파일이 변경될 수 있기 때문에 유지보수가 어려울 수 있습니다. 그렇기 때문에 bin 디렉토리 아래의 setenv.sh 환경변수 파일을 수정해서 JVM 관련 옵션을 수정할 수 있습니다. JVM이란? Java Virtual Machine으로 JAVA와 운영체제 사이의 중개자 역할을 수행합니다. 한정된 메모리에서 프로그램의 효율적인 성능을 내기 위해서 필요합니다. JAVA_OPTS 등 환경 설정이 가능합니다. 여러 라인을 작성할 경우 역 슬..
catalina.out 초기화 및 용량 관리 방법 Tomcat은 Catalina.out이라는 파일에 로그를 남기게 됩니다. 정적으로 확인하려면 vi, vim으로 열어서 확인하고 동적으로 실시간 로그를 확인하려면 tail -f 명령어를 이용해서 확인하게 될 겁니다. 만약 tail -f catalina.out 에서 특정 로그가 발생할 때 보고 싶으시다면 # tail -f catalina.out | grep -i 'error' 위의 명령어로 볼 수도 있습니다. Catalina.out은 단일 파일로 생성되고 날짜가 바뀌더라도 바뀌지 않고 크기 제한 없이 한없이 커집니다. 그렇기 때문이 이 파일의 관리는 중요합니다. Catalina.out 로그 남기지 않는 방법 tomcat bin에 있는 Catalina.sh 파..
윈도우에서는 리소스 사용량을 "작업 관리자" 라는 기능을 이용해서 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이 아..