개인 112

[리눅스] 시스템 로그 설정과 관리(logrotate)

리눅스에서 로그는 리눅스 시스템에 관련된 사건이나 커널이나 데몬, 스케줄링, 메일 등 여러 프로그램에서 발생한 이벤트들은 각 서비스별로 구분되어 기록된다. 발생한 이벤트나 사건에 관련된 기록이 쌓인 파일을 로그라고 부른다. 시스템에 문제가 발생하면 해당 장비와 시간에 기록된 로그분석을 통해 프로그램에서 발생하는 각종 에러나 경고메시지를 확인해서 문제를 해결할 수 있다. 때문에 시스템을 관리하거나 보안에 대해서는 로그가 상당히 중요한 역할을 차지한다. 리눅스 초기에는 로그와 관련된 패키지로 syslog를 사용했다. 이후 syslog의 기능을 대폭 강화한 패키지인 rsyslog 로 대체되었다. rsyslog는 rsyslogd 데몬으로 실행되며 멀티스레드나 TCP, SSL과 같은 여러 기능을 지원하고 MySQ..

개인/리눅스 2020.02.16

[리눅스] 주변장치 관련 명령어 (프린터)

리눅스의 주변장치 (프린터) 리눅스에서 프린터를 지원해주는 인쇄 시스템은 대표적으로 LPRng, CUPS 두 가지가 있다. 초기에는 LPRng 를 주로 사용했으나 이후 CUPS라는 시스템이 추가되었으며, 두 가지 프린터는 관련 명령어 BSD, System V 계열 모두 지원한다. LPRng 프린터 시스템 LPRng는 버클리 프린팅 시스템으로 BSD계열 유닉스에서 사용하기 위해 개발되었다. 프린터 스풀링과 네트워크 프린터서버를 지원하며 프린터에 관련된 명령어로는 BSD, SystemV 계열 모두 지원한다. 프린터에 관련된 설정정보는 /etc/printcap 파일에 저장되어있으며, 관련된 사이트로는 http://www.lprng.org가 가 있다. CUPS 프린터 시스템 애플이 오픈소스 프린팅 시스템으로 개..

개인/리눅스 2020.02.15

[리눅스] 모듈의 관리와 설정파일

리눅스에서 모듈은 리눅스에서 모듈은 대부분 커널모듈을 이야기한다. 때문에, 모듈을 이해하기 위해서는 커널에 대해서 먼저 알고있는게 수월하다. 커널이란 커널은 모든 리눅스 운영체제의 핵심이라고 불리는데, 운영체제와 하드웨어 사이에서 시스템 자원을 관리하며 모든 시스템이 원할하게 동작할 수 있도록 하는 소프트웨어의 일종이다. 커널은 CPU,메모리,하드웨어와 어플리케이션 사이에서 동작하면서 프로세스 관리, 네트워크 관리 등 다양한 디바이스 기능을 수행하는데, 운영체제에서 일어나는 모든 부분을 관리하고 신규 드라이브를 위해 업데이트가 필요할 때도 있다. 커널에서 사용하는 모듈은 모듈은 커널에서 수행되면서 동적 공유라이브러리와 개념이 비슷하다. 리눅스에서는 여러 명령어나 프로그램은 동일한 부분이 많아 디스크 절약..

개인/리눅스 2020.02.14

[리눅스] 공유 라이브러리 확인방법 (ldd)

리눅스에서 라이브러리란? 라이브러리는 사전적인 의미로는 도서관을 뜻한다. 도서관에서는 여러 사용자가 공용으로 책을 이용할 수 있는 것처럼 리눅스에서의 라이브러리 또한 여러 사람이 이용할 수 있는 프로그램을 말한다. 컴퓨터 프로그램은 대부분 기본적인 명령어나 함수는 동일한 경우가 많다. 프로그램에 들어가는 동일한 기능은 여러 프로그램을 작성할 때 반복적으로 작성해야 하는 경우가 많고 이는 많은 시간이 들어가 비효율적인 구조를 가진다. 라이브러리는 이러한 불필요한 반복작업을 하지 않기 위해 기본적인 코드를 작성한 파일을 따로 만들어 두고 재사용이 가능한 형태로 만든 것이다. 라이브러리는 프로그램을 개발할 때 사용자의 프로그램과 링크되어 실행가능한 형태가 된다. 이 때, 링크 방식에 따라 정적 라이브러리와 동..

개인/리눅스 2020.02.13

[리눅스] 압축과 아카이브(tar, gzip, bzip2, xz)

리눅스에서 프로그램을 설치할 때 리눅스에서 사용되는 프로그램은 C언어로 된 소스(source)파일을 tar 형식으로 압축해서 배포된다. (소스프로그램은 GNU 웹사이트나 관련 프로그램사이트에서 무료로 배포된다.) 프로그램은 대부분 여러 배포판들의 패키지관리 기법을 통해 쉽게 설치,관리할 수 있지만, 환경설정을 변경해야하거나, 부득이하게 소스파일로 설치해야 하는 경우도 있다. 수동으로 소스파일을 설치할 때 가장 처음에 할 일은 압축된 프로그램을 풀어 내용을 확인하는 것이다. 프로그램은 압축도구에 따라 각기 다른 확장자가 붙게 된다. 이때 사용되는 압축도구에는 compress, gzip, bzip2, xz 총 4가지가 존재한다. 이번에는 이 네 가지의 압축도구와 tar 명령의 사용법에 대해 알아보려고 한다...

개인/리눅스 2020.02.12

[리눅스] 레드햇 계열의 패키지관리 (RPM,YUM)

레드햇 계열의 패키지관리 리눅스에서 사용하는 프로그램들 대부분은 소스코드와 컴파일도구 및 관련문서들이 포함되어 전문가들에겐 수정하면서 유용하게 사용할 수 있으나 초보자가 설치하거나 사용하기엔 어려움이 있다. 따라서 리눅스의 배포판에서는 프로그램의 쉬운 설치, 삭제, 관리를 위해 각 계열마다 독자적인 패키지 관리기법을 사용한다. 리눅스의 배포판 중 하나인 레드햇 계열에서는 패키지 관리기법으로 RPM과 YUM을 사용한다. RPM 은 Red Hat Package Manager의 약자로 프로그램을 .rpm 형태의 파일로 배포한다. rpm 파일의 형식 (패키지이름-버전-릴리즈-아키텍처.rpm) ex) httpd-2.4.6-3.fc21.x86_64.rpm httpd : 패키지 이름 = 어떤 프로그램의 패키지인지 나..

개인/리눅스 2020.02.11

[리눅스] 프로세스 스케줄링 (at,crontab)

프로세스 스케줄링이란 리눅스에서는 특정한 시간에 어떤 작업을 수행하기 위해 스케줄링이라는 기능을 사용한다. 스케줄링에는 at 과 cron 두 가지가 있으며 모두 데몬이 실행중이어야 한다. at 스케줄링은 주로 프로그램을 특정시간에 한 번만 사용하고 싶을 때 이용한다. cron 스케줄링은 프로그램을 특정 날짜나 시간, 요일에 맞춰 주기적으로 사용하고 싶을 때 이용한다. at 스케줄링의 사용 ]# at [옵션] [시간] -c : 작업정보 출력 -d : 예약한 작업을 삭제(=atrm) -l : 큐에 있는 작업 출력(=atq) -f : 파일을 지정해서작업을 읽어온다. ▷ 시간지정 = HHMM , HH:MM (am,pm 구분가능) ▷ 날짜지정 = MMDDYY, MM/DD/YY, MM.DD.YY (today, no..

개인/리눅스 2020.02.10

[리눅스] /proc 와 프로세스 우선순위 (nice,renice)

프로세스에게 부여되는 우선순위 프로세스는 실행중인 프로그램을 말한다. 프로그램은 최초 하드디스크에 저장되며 프로그램을 실행하면 하드디스크 → RAM (주기억장치)로 옮겨져 상주한다. 이 때 프로세스에게 PID라는 번호가 할당되어 관리된다. 하나의 시스템은 여러개의 프로그램을 동시에 실행할 수 있다. 하지만 여러 프로그램을 시스템이 동시에 처리하기에는 무리가 있다. 따라서 RAM에 상주한 프로세스들은 우선순위가 부여되서 관리된다. 프로세스의 우선순위 리눅스에서는 ps -l 명령을 통해 우선순위를 확인할 수 있다. ps 명령에서는 프로세스에게 보여되는 PID와 부모프로세스를 말하는 PPID 및 해당 프로세스를 실행시킨 사용자의 UID나 CMD (명령어) 모두 확인할 수 있다. 이 화면에서 우선순위와 관련된 ..

개인/리눅스 2020.02.09

[리눅스] 디스크 쿼터 사용법 (quotacheck, repquota)

디스크 쿼터 리눅스 시스템은 기본적으로 사용자의 용량을 제한하지 않는다. 여러 사용자가 동시에 접속해서 사용할 수 있는 리눅스 서버에서 만약 특정사용자가 디스크의 모든 용량을 사용할 경우, 다른사용자는 용량을 사용하지 못하는 문제가 발생할 수 있다. 이런 문제를 해결하기 위해서는 여러명이 사용하는 서버에서 디스크의 용량을 사용자에 따라 제한할 필요가 있다. 이런 제한을 리눅스에서는 디스크 쿼터라고 부른다. 디스크쿼터는 특정 사용자나 그룹의 디스크사용량이나 파일의 개수(i-node수)를 제한할 수 있다. 1. quota 설정하기 /etc/fstab 파일 설정 [장치명] = /dev/sda2 [마운트위치] = / [파일시스템] = ext4 [옵션] = 기본값,유저쿼터 (defaults,usrquota) [백..

개인/리눅스 2020.02.08

[리눅스] swap 생성 및 관리 (mkswap / dd)

swap 메모리는 무엇일까? 스왑(swap)메모리를 이해하기 위해서는 RAM과 하드디스크에 대해서 먼저 알아두는것이 좋다. RAM과 하드디스크의 역할 하드디스크는 보조기억장치, RAM은 주기억장치이다. 컴퓨터에 설치된 프로그램은 모두 하드디스크에 저장되어 있다. 이 프로그램을 실행하면 관련 데이터가 하드디스크에서 RAM으로 옮겨지게 된다. 이후 프로그램을 관련된 데이터를 처리하는 일은 CPU의 역할이다. 결국 RAM은 CPU가 처리해야하는 데이터가 임시적으로 저장된 곳이다. 즉 실질적으로 프로그램을 실행하면 CPU는 RAM에 들어있는 데이터를 읽어와서 처리한다. RAM에서는 하드디스크에 저장된 데이터의 일부를 복사해서 저장하며 필요에 따라 CPU로 전달하는 역할을 수행한다. 이후 RAM에 용량이 가득차게..

개인/리눅스 2020.02.07