Linux 11

[Linux] 리눅스에서 TCP DUMP로 패킷헤더 출력하기

[Linux] 리눅스에서 TCP DUMP로 패킷헤더 출력하기 l Linux 일반적으로 어플리케이션간 통신이 되지 않을 때 어플리케이션의 로그도 확인하겠지만, 가장 먼저 확인하는 부분이 OS 방화벽 > 시스템 방화벽(보안프로그램) > 네트워크 방화벽 순이지 않을까 한다. 이때 사용자가 모든 권한을 가지고 있으면 각 단계별로 방화벽 로그나 기타 로그를 보면서 통신이 되는지 (접근이 되는지)등의 문제를 확인할 수 있지만, 사실상 대부분의 업무는 역할이 정해져 있고, 역할마다 접근 권한이 다르기 때문에 빠르게 모든 구간을 확인할 수 없다. 가끔은 필요한 단계에서 각 방화벽의 포트가 오픈되어 있는데, 통신이 되지 않는 경우(대부분은 오해로 발생)도 있다. 이럴 때 쉽게 패킷이 호출되는지 통신 여부를 확인할 수 있..

Linux 2024.01.02

[Linux] 리눅스 디스크 용량 확인

[Linux] 리눅스 디스크 용량 확인 l Linux 리눅스 시스템을 운영하다 보면 디스크 공간 사용률이 100%가 되어 서비스에 장애가 발생하는 경우가 있다. 일반적으로 실수하는 부분이 로그 파일을 방치하여 어느 순간 디스크 공간을 모두 소진하였거나, 데이터베이스 서버의 경우 데이터를 백업할 때 순간적으로 디스크를 모두 소진하여 발생할 때가 있다. 주기적인 시스템 모니터링으로 디스크 공간에 대한 사용률을 확인하여 사전에 이러한 부분을 방지할 수 있도록 하는 것이 중요하다. 그렇다면 어느 디렉터리에서 많은 공간을 사용하는지를 확인하는 방법은 무엇일까? 이번 포스트에서는 리눅스에서 디스크 사용량을 확인하는 방법에 대해서 알아본다. 리눅스에서 디스크 공간을 확인하는 명령어는 df (Disk Free)이다. ..

Linux 2023.09.26

[Linux] 쉘(shell) 스크립트 기초

[Linux] 쉘(shell) 스크립트 기초 l Linux 쉘 스크립트(shell script)는 셸이나 명령줄 인터프리터(Interpreter)에서 실행되도록 작성되었거나 한 운영 체제를 위해 쓰인 스크립트이다. 쉘 스크립트가 수행하는 일반 기능으로는 파일 이용, 프로그램 실행, 문자열 출력 등이 있다. 쉘 스크립트에서는 .sh라는 파일 확장자를 가진 파일이 특정 종류의 쉘 스크립트를 가리키는 것이 보통이지만, 대부분의 셸 스크립트는 파일 확장자를 지니지 않는다. 쉘 스크립트는 인터프리터 방식이므로 라인별로 읽어 실행함으로 속도가 다소 느리다는 단점이 있다. 쉘 스크립트라는 말은 유닉스 쉘을 위해 쓰인 스크립트를 말하는 반면, command.com(도스)과 cmd.exe (윈도우) 명령 줄 스크립트는 ..

Linux 2023.09.05

[Linux] Alpine Linux (알파인 리눅스) 는 무엇일까?

[Linux] Alpine Linux (알파인 리눅스) 는 무엇일까? l Linux 컨테이너 환경으로 다양한 서비스를 빌드하다보니, DevOps 팀에서 베이스 이미지를 ubuntu나 centos 대신 alpine(알파인) 리눅스를 사용하는 것이 어떻겠냐는 제안을 받았다. 리눅스는 다양한 커널 기반으로 배포판을 가지고 있다. 이번 포스트에서는 Alpine Linux (이하 “알파인 리눅스”)에 대해서 알아본다. [개요] 알파인 리눅스는 리눅스 커널 기반으로 한 리눅스 배포판 중 하나이며 MIT 라이선스 아래에 배포되었으며 LEAF 리눅스의 포크 버전이다. 알파인 리눅스는 다른 배포판과 다르게 Musl과 BusyBox를 기반으로 한다. 알파인 리눅스의 컨셉은 LEAF 리눅스와 동일하게 “작고”, “보안이 뛰..

Linux 2023.09.04

[Linux] OOM(Out of Memory)란?

[Linux] OOM(Out of Memory)란? l Linux 몇일전부터 개발 환경에서 겪던 문제로 멀쩡하던 MySQL 서비스가 갑자기 연결이 되지 않는다. 처음엔 단순히 행 현상인줄 알고, MySQL 서비스를 재시작 하였다. 그런데 동일한 상황이 하루에도 여러 번 발생하고 있어서 원인을 살펴보기로 했다. 원인을 살펴보니, 아래와 같은 로그가 있었다. Aug 30 01:35:08 xxxxx kernel: [7189052.423131] [18540] 111 18540 1930392 1535479 12935168 0 0 mysqld Aug 30 01:35:08 xxxxx kernel: [7189052.423132] Out of memory: Kill process 18540 (mysqld) score 5..

Linux 2023.08.30

CnetOS 방화벽 설정

CnetOS 방화벽 설정 - CentOS 6.4 CentOS에서 방화벽 설정 하는 방법을 알아보자. 터미널 모드를 실행하여 setup 명령어를 실행 한다. # setup 텍스트 모드 설정 유틸리티가 나타나면 [방화벽 설정]을 선택 한다. 방화벽 설정에서 스페이스바를 이용하여 체크를 하면 방화벽이 활성화 되며 체크를 하지 않으면 방화벽이 비활성화 된다. 방화벽 활성화 여부를 선택하고 OK를 선택하면 기존 방화벽을 덮어쓰겠냐는 경고문이 나타난다. [예]를 선택하면 새로운 방화벽 정책이 적용되며 [아니오]를 선택하면 방화벽 설정 메뉴로 돌아간다. 다른 방법으로 모든 방화벽을 제거하기 위한 명령어는 다음과 같다. # iptables -F 방화벽 설정 확인은 다음 명령어를 사용 한다. # iptables -L 강..

Linux 2015.07.22

CentOS 파일 압축/풀기

CentOS 파일 압축/풀기 - CentOS 6.4 대부분 파일을 내려 받으면 압축이 되어 있을 것이다. 또는 어떤 파일을 전달 할 때 파일의 개수가 많을 때는 용량을 줄이기 위해 압축을 하는 경우도 있지만 하나의 파일로 패킹을 하기 위해 압축을 사용하기도 한다. 압축 종류에 따라 압축을 하는 방법과 해제하는 방법을 알아보자. 다음 예제는 아파치 사이트에서 하둡을 다운로드 하였을 때 압축 파일이다. 터미널 모드에서 압축을 풀어 보도록 하자. # tar zxvf hadoop-1.2.1.tar.gz 압축이 해제 된 것을 확인 할 수 있다. 리눅스 장비에서 파일을 압축하거나 푸는 방법은 다양하다. 압축 방식에 따른 장/단점 및 사용법에 대해서 알아보자. [ZIP] 가장 일반적으로 사용되는 압축 확장자 이다. ..

Linux 2015.07.22

CentOS 심볼 링크 설정

CentOS 심볼 링크 설정 - CentOS 5.1 l 심볼릭 링크 만들기 : ln [옵션] [파일명] [링크명] 예를 들어 java라는 폴더가 루트에 있을 때 java에 대한 심볼을 만들어 보자. [root@cent4 ~]# ln –s jdk1.7.0_45 java ln에 대한 옵션은 man ln 을 실행하면 도움말을 볼 수 있다. l -b : 대상 파일이 이미 있으면 그것을 백업 한다. l -d : 경로의 하드링크를 허용한다. 시스템 관리자만 가능 l -f : 대상 파일이 이미 있어도 그냥 지운다 l -i : 대상 파일이 이미 있을 때 어떻게 할 것인지 사용자에게 물어본다. l -n : 만약 링크할 파일이 심볼릭 파일이면 ln 명령은 그 심볼릭 대상이 되는 파일을 링크한다. l -s : 심볼릭 링크 ..

Linux 2015.07.22

CentOS IP 확인 및 변경

CentOS IP 확인 및 변경 - CentOS 5.1 [IP 확인] 현재 설정되어 있는 IP 확인 명령은 ifconfig 이다. [IP 변경] 다음 명령을 실행 한다. /etc/sysconfig/network-scripts/ifcfg-eth0 자동 할당 으로 설정되어 있다면 고정으로 바꾸고 IP를 부여 한다. l BOOTPROTO=static ##ip할당 방식 (static : 고정 IP, dhcp : 동적 IP) l HWADDR=xx:xx:xx:xx:xx:xx ## 맥주소 l BROADCAST= ## 브로드캐스트 주소 l IPADDR= ##아이피주소 l NETMASK= ##넷마스크 주소 l NETWORK= ##네트워크 주소 l GATEWAY= ## 게이트웨이 주소 l ONBOOT=yes ## 부팅시 ..

Linux 2015.07.22

CentOS 호스트명 (HostName) 변경

CentOS 호스트명 (HostName) 변경 - CentOS 5.1 시스템의 호스트명을 변경하여 보자. 터미널에서 명령어를 통한 변경 방법과 설정 파일에서 수정하여 적용하는 방법을 알아보자. 변경된 호스트명이 적용되려면 반드시 시스템을 재시작 해야 한다. 현재 호스트명을 검사하는 명령어로는 hostname 를 입력한다. 현재 호스트의 이름은 Cent4이다. hostname [vi 명령어로 호스트명 변경] vi명령어를 사용할 때에는 대소문자에 주의한다. vi /etc/sysconfig/network vi 명령어로 network 파일의 내용을 읽어서 수정한다. 이때 키보드의 [INSERT] 키를 사용하여 에디터의 내용을 삽입하거나 수정 할 수 있다.(하단의 빨간 박스 부분에 따라 삽입 또는 수정) 기존의 ..

Linux 2015.07.22