본문 바로가기
반응형

IT 실무/서버 관리62

[리눅스마스터] 커널 버전 보는 방법과, 버전별 주요 차이 쉘에서 다음 명령어를 통해 커널 버전을 확인할 수 있다. #uname -r 2.6.32-642.4.2.el6.x86_64 2.6.32에 대해서만 알면 된다. - 2 : 주(메이저) 버전번호. 큰 변화가 있을때만 바뀐다. 현재 4까지 나왔다. - 6 : 부(마이너) 버전번호. 짝수면 안정 버전, 홀수면 개발 버전이다. - 32 : 이 버전에 32번의 업데이트가 있었음을 의미한다. 가장 많이 쓰고 있는 리눅스 커널 버전 2.6의 특징 - TCP/IP를 이용한 네트워킹이 가능하다. - 스케줄러는 여러 개의 동시 다발적인 프로세스를 수행할 수 있다. - 가상메모리를 사용할 수 있다. - 선점형 스케쥴링 방식이 도입되었다. - NTFS에 대한 안정적 쓰기가 가능하게 되었다. - 32bit UID를 도입하였다. 리.. 2018. 2. 4.
netstat의 TCP status 의미 연결 관련 상태 LISTEN : 데몬이 요청을 발을 수 있도록 연결 요구를 기다리는 상태. 즉, 포트가 열려있음을 의미. http(80), mail(25), ftp(21), telnet(23) 등. 윈도우에서는 LISTENING으로 표시SYN_SENT : 로컬에서 원격으로 연결 요청(SYN 신호를 보냄)을 시도한 상태SYN_RECV : 원격으로 부터 연결 요청을 받은 상태. 요청을 받아 SYN+ACK 신호로 응답은 한 상태이지만 ACK는 받지 못했다. netstat로 확인할 때 SYN_RECV가 상당히 많다면 TCP SYN 플러딩(Flooding) 공격일 가능성이 있다. (윈도우즈와 솔라리스에서는 SYN_RECEIVED으로, FreeBSD는 SYN_RCVD으로 표시)ESTABLISHED : 서로 연결이 .. 2018. 1. 31.
[리눅스마스터] XFree86과 X.org XFree86은 IBM 호환 시스템을 사용하는 리눅스 및 유닉스 계열 X 윈도 프로젝트로 2004년 초기까지는 가장 선도적인 프로젝트였으나, 2004년 2월에 발표된 4.4.0 버전이 GPL 라이선스와 호환되지 않으면서 현재 대부분의 리눅스 배포판은 X.org를 사용한다. 출처 : 다음 ( 괄호 ) 안에 들어갈 내용으로 알맞은 것은? 2018. 1. 31.
리눅스의 부팅 관련 설정 파일 리눅스 시스템 부팅 시 가장 먼저 실행되는 프로세스는 init 프로세스이다. init프로세스가 /etc/init 리첵터리 안에 있는 설정 파일들을 참조하여 부팅을 관장한다. 관련 설정 파일 (실행 순서대로) ㅇ /etc/inittab : 부팅과 관련된 Run level이 정의되어 있다.ㅇ /etc/init/rcS.conf : 시스템 초기화(System initialization)과 관련된 설정이 있다. 주요 내용으로는 /etc/rc.d/rc.sysinit 스크립트를 실행하는데 호스트명 설정, 시스템 점검, RAID 및 LVM 장치 활성화, 쿼터 설정 활성화 등을 한다.ㅇ /etc/init/rc.conf : 부팅 시 각 레벨별로 진행되는 내용이 설정된 파일로 주요 내용으로는 /etc/rc.d/rc 스크립트.. 2018. 1. 31.
리눅스 /proc 디렉토리 일종의 가상 파일시스템으로 동작 중인 프로세스의 상태정보, 하드웨어 정보, 시스템 정보 등을 알 수 있다./proc엔 현재 실행중인 PID와 같은 이름의 폴더들이 생성된다. ps라는 명령어는 이 폴더의 내용을 조회해서 보여준다. 네트워크 관리사 : 리눅스의 가상 파일시스템으로 동작 중인 프로세스의 상태 정보, 하드웨어 정보, 시스템 정보 등을 확인할 수 있는 디렉터리로 올바른 것은? 리눅스마스터 : 다음 디렉토리 중 하드디스크에 저장되어 있지 않으며 여러 물리장치들의 상태정보와 커널파라미터 등을 표시하는 파일들이 위치한 곳으로 알맞은 것은?다음 중 커널에서 제공하는 파일 시스템 정보를 확인 할 때 참고하는 파일로 알맞은 것은?다음에서 설명하는 디렉터리로 알맞은 것은? 2018. 1. 31.
리눅스 LVM(Logical Volume Manager) 하드디스크 및 파티션을 유동적으로 관리할 수 있게 해 주는 프로그램이다. 여러개의 하드를 뭉쳐서 하나의 하드처럼 만들 수 있고, 2개의 하드디스크를 3개의 하드디스크인 것처럼도 만들 수 있다. LVM은 아래와 같이 구성되어 있다. - 물리적 볼륨(PV : Physical Volume) : 물리적인 하드를 지칭 - 물리적 확장(PE : Physical Extent) : PV에서 나누어서 사용하는 블록 단위 영역 - 볼륨 그룹(VG : Volume Group) : 물리적 볼륨의 집합이자 PE의 집합 - 논리적 볼륨(LV : Logical Volume) : VG에서 필요한만큼 할당해서 만드는 논리적인 단위 즉 물리적인 몰륨을 다 보아서 작은 블록단위로 나누어 둔다. 마치 하나의 볼륨인것 처럼. 그게 볼륨 그룹.. 2018. 1. 31.
[리눅스마스터] OS 및 용어의 정의, 구분(빈출 문제) 바다 OS : 2009년 10월, 삼성전자에서 멘토 그래픽스사의 Nucleus RTOS를 기반으로 발표한 운영체제이다. 중저가 스마트폰 시장을 주요 타겟으로 하여 스마트폰화를 주도하였으나 적은 수의 앱이 가장 큰 약점으로 지적되고 있다. 현재 이 운영체제는 미고(MeeGo)와 리모(LiMo)가 통합된 타이젠(Tizen)과 통합하였다. 타이젠 : FSF : 1985년 자유소프트웨어의 생산, 보금, 발전시키기 위해 리처드 스톨만이 세운 비영리 조직이다. 자유 소프트웨어란 무료 프로그램을 의미하는 것은 아니다. 자유(Free)는 '구속되지 않는다'는 관점에서의 자유로서 프로그램의 변경이나 수정의 자유를 말한다. 빅데이터(Big Data) : 기존의 데이터베이스 관리도구로 데이터를 수집, 관리, 분석할 수 있는.. 2018. 1. 31.
[리눅스마스터] cpio 명령어 옵션 CPIO 옵션 i 압축 해제o 압축p 표준입력에서 파일명을 읽는다.B 5120 bytes블럭단위로 입출력한다.c 아스키 형식으로 헤더정보를 읽고 쓴다.d 없는디렉토리는 생성한다.u 기존파일과 겹치면 덮어쓰지 않는다.m 파일의 변경시간을 그대로 유지한다.v 파일명 목록을 출력한다.h 헤더의 형식을 tar와 같이 읽고 쓴다.x 장치파일도 읽고 쓴다. 2018. 1. 27.
[리눅스마스터] grub.conf #boot = /dev/sdadefault = 0timeout = 10splashimage = (hd0,3)/boot/grub/splash.xpm.gztitle CentOS (2.6.32-358.el6.i686) root (hd0,3) kernel /boot/vmlinuz-2.6.32-358.el6.i686 ro root = UUID = fa23421-a342-43-c7.. initrd /boot/initramfs-2.6.32-358.el6.i686.imgtitle DOSrootnoverify (hd0,0)chainloader + 1 grub.conf 파일이 위와 같이 되어 있을 경우 1. /boot 디렉터리는 첫 번째 하드디스크의 네 번째 파티션에 설치되어 있다.root (hd0,3)을 보고 알수 있다.. 2018. 1. 27.
CentOS환경에 phpMyAdmin 설치 epel Repolist 추가 # yum install epel-release# yum repolist..(생략)..epel Extra Packages for Enterprise Linux 6 - x86_64 ..(생략).. 위와 같이 epel이 확인되면 정상적으로 설치 된 것이다. phpMyAdmin 설치 # yum install phpMyAdmin# service httpd reload웹브라우저에서 http://서버주소/phpMyAdmin 으로 접속 확인 403에러가 떨어진다면 conf파일을 수정해 주어야 한다. # vi /etc/httpd/conf.d/phpMyAdmin.conf core와 setup의 접근 권한이 아래와 같이 되어 있을 것이다.Order Deny,AllowDeny from AllA.. 2016. 1. 1.
iptables 가장 간단한 사용법 하나 리눅스 서버에서 가장 흔하게 쓰이는 iptables. 명령어 종류도 많고 명령어를 사용하기도 정말 복잡하다. 하지만 이런 복잡한 명령어에 의해서 생성된 규칙들은 의외로 간단명료하게 아래 파일에 저장돼 있다. 뭔가 복잡한 새로운 규칙을 추가 하려면 iptables의 명령어를 숙지 해야 할테지만 단순히 이미 사용하던 규칙 그대로 포트 하나만 열어주는 등의 간단한 작업이라면 아래의 방법이 가장 사용하기 쉽다. iptables파일을 직접 열고 수정한 뒤 리스타트 시켜 주는것이다. #cd /etc/sysconfig/#vi iptables(iptables 내용)#service iptables restart#/etc/init.d/iptables save 2015. 12. 22.
CentOS 환경에 nodejs 설치하기 1. node 유저 생성# useradd -m node# passwd node 안전하고 원활한 관리를 위해 nodejs의 권한 자체는 별도의 아이디를 만들어서 이양하는 것이 좋다. 설치는 root아이디로 하고 나중에 권한을 변경하도록 한다. 2. nodejs, 뭘 다운 받을 것인가https://nodejs.org/en/ 에 들어가서 기본적인 릴리즈 정보들을 확인해 본다. 다운로드 전용 URL에 대한 안내도 모두 저 메인 홈페이지에서 확인할 수 있다.그냥 최신 버전을 다운받을 생각이거나 설치하고자 하는 특정 버전을 정해두었다면https://nodejs.org/dist/ 로 바로 들어간다. 모든 버전에 대한 다운로드 경로가 있다.2015년 12월 기준으로 안정버전은 v4.2.3, v5.x.x버전은 지속적으로.. 2015. 12. 22.
리눅스 $PATH 추가 설정 많은 프로그램들이 설치만 하면 명령어처럼 바로 실행 가능하나 어떤 프로그램들은 자기들 폴더에 설치만 되고 매번 실행하려면 그 폴더에 찾아 들어가서 실행을 해야 한다. 자주 쓰는 프로그램일 경우 일일히 경로를 입력해 가며 사용하기가 쉽지 않다. 그럴때 PATH를 지정해 주면 명령어처럼 편하게 실행 가능하다. vi ~/.bash_profile 위 명령어를 통해 PATH를 설정할 수 있다. PATH=$PATH:$HOME/bin 위와 같은 라인을 찾아간다. 지금은 $HOME/bin만 PATH로 설정 되어 있는 상태다. 즉 해당 계정의 home/bin폴더에 있는 프로그램들만 별도의 경로 입력 없이 명령어 처럼 사용가능하게 되어 있다는 것이다. 다른 폴더를 추가하려면 아래와 같이 하면 된다. PATH=$PATH:$.. 2015. 10. 1.
[에러] Archive contains obsolescent base-64 headers 말 그대로 헤더가 잘못되었다는 것이다. 가장 흔한 이유는 (1) 헤더가 깨졌거나 (2) 압축을 하고 압축을 푸는 시스템이 상이한 경우이다. (1) 헤더가 깨진 경우 전송 과정의 오류일 확률이 높다. 헤더가 바이너리로 구성되어 있는 파일을 아스키 형태로 전송 할 경우 바이너리 데이터가 깨지게 된다. 주로 리눅스 파일을 윈도우 FTP로 옮길 경우 이런 문제가 생기는데 이럴 경우엔 FTP전송 방식을 바이너리로 바꿔 주면 된다. 대부분의 FTP는 전송 옵션에서 전송 방식을 Binary로 할 것인지 ASCII로 할 것인지 선택 할 수 있다. 다운받거나 업로드하는 과정을 다시 시행해보자 (2) 압축 형태가 다를 경우에도 이런 오류가 난다. 예를 들어 gz나 bzip파일을 그냥 tar -xvf 로 풀 경우 저런 오류.. 2014. 11. 24.
prepare를 사용할 때 최종 실행된 sql문 로그로 기록하여 확인 prepare을 사용 할 경우, 명령 구문과 변수가 excute시 합쳐지기 때문에 PHP에서는 최종적으로 실행된 sql문이 어떤 것인지 확인 할 수 없다.보안상 안전하긴 하지만 한번씩 디버깅이 힘들 때가 있다. 이럴땐 mysql의 로그 기능을 이용하여, mysqld가 동작 중일때 실행 되었던 모든 sql statement를 기록시켜서 확인 해야 한다. 여러 방법이 있지만.. 가장 default한 설정을 건들지 않고 간단하게 확인 할 수 있는 방법은 아래와 같다. shell > set global log_output = 'TABLE';mysql Database 테이블에 저장 할 수도 있고 파일로 저장 할 수도 있다. default가 table이므로 설정을 건든적이 없다면 굳이 이 명령은 실행시키지 않아도 .. 2014. 2. 22.
웹에서 파일 업로드 용량 제한 변경하기(php, linux) /etc/php.ini upload_max_filesize=2M post_max_size=8M 두 군데를 수정해 준다. 2014. 1. 12.
Centos에서 php-mbstring이 설치가 안될경우 linux사용시 최신버전의 라이브러리들을 깔다 보면 의존성 문제가 많이 발생한다. php-mbstring 을 설치 하려니 php-common을 업데이트 하라고 하고, php-common을 업데이트 하려니 업데이트 할게 없다고 한다. yum에서 제공하는 버전 리스트들은 안정화를 최우선으로 하므로 어떤 프로그램이든 최신 버전 보다는 확실히 stable한 버전만 취급을 하기 때문에 이런 문제가 발생한다. 이럴땐 별도의 repository 를 사용해야 한다. repository는 말 그대로 패키지 저장소인데, yum에서 일반적으로 사용하는 RHEL 저장소 같은 경우 위에서 말 했듯이 최신버전들이 잘 취급되지 않으므로 좀 덜 안정하더라도(그래도 꽤나 안정하다) 최신 버전들을 취급하는 EHEL 저장소를 사용함으로써.. 2014. 1. 12.
서버가 갑자기 느려지고 과부화 상태가 될 경우 1. 아파치 로그 확인 # cd /var/log/httpd 또는 # find / -name access_log 로 검색, 비정상적인 접속들이 없는지 확인한다. 2. 프로세스 확인 # top 으로 프로세스 상태를 본다. load average가 1가 1이상이면 과부화 상태로 간주한다. 서버에 돌아가는게 좀 많을 경우 1 내외는 될 수 있지만 무언가 비정상적인 동작이 있다면 2~3까지 올라가기도 한다. 그럴때 보면 특정 한 두 프로세스가 말썽인 경우가 많으므로 k + PID 명령어를 통해서 해당 프로세스를 죽인다. 2013. 11. 18.
반응형