공부하기싫어

처음보는거나 자주 시험에 나올것 같은것만 빠르게 훑기

 

  • 프로세스 스케줄링

스케줄링이란 특정한 시간에 특정한 작업을 수행하게 하는것으로 리눅스에서는 at와 cron을 사용한다. at과 cron 모두 데몬으로 실행중에 있어야 하고, 대부분의 리눅스에서는 atd 및 crond 라 하여 기본적으로 동작하고있다. at은 주로 한번만 실행할 때 사용하고, cron은 주기적으로 프로세스를 실행할 때 사용된다.

 

  • 에디터

nano

emacs

vi

 

  • 소스 설치법 개요

리눅스에서 소스 프로그램을 설치하기 위해서는 보통

'압축풀기 > 디렉터리 이동 > configure > make > make install' 의 5단계를 거친다.

따라서 tar를 비롯한 압축도구, GNU C 컴파일러인 gcc, 의존성 검사 도구인 make 등의 응용 프로그램이 필요하다.

 

  • cmake (cross platfrom make system)

cmake는 소스 컴파일 시 사용되는 make의 대체 프로그램으로 멀티플랫폼을 지원하기 위한 목적으로 등장한 오픈소스 프로젝트이다. cmake는 make과정을 수행하지 않고, 지정한 운영체제에 맞는 make파일의 생성을 목적으로 하고있다.

cmake를 사용하는 대표적인 프로그램에는 mysql이 있는데 configure와 make작업을 cmake로 통합해서 설치 가능하다.

 

  • 패키지 파일을 이용한 설치법

RPM(Red Hat Manager) 의 개요

레드햇사에서 만든 패키지 관리 기법으로 프로그램을 .rpm 형태의 파일로 배포하고, rpm 명령을 사용하여 손쉽게 설치 및 갱신, 제거, 검증, 질의 등의 관리를 할 수 있다.

 

데비안 패키지 관리(Debian Package Management)의 개요

데비안 리눅스는 dpkg(Debian Package)라는 데비안 패키지 관리 도구를 사용하는데, 관련 프로그램을 .deb 형태의 파일로 배포하여 설치, 삭제 등의 관리를 한다.

 

  • tar와 압축 관련 유틸리티

tar (tape archive)

tar는 테이프 관련 장치를 이용하여 백업할 때 사용하는 명령이었으나, 현재는 여러 파일들을 하나의 파일로 묶어주는 명령으로 사용한다. 파일로 묶을 때 디렉터리를 지정하면 그 디렉터리의 모든 파일과 서브 디렉터리들까지 함께 묶여진다. 또한, 파일의 속성, 하드링크, 심볼릭링크 등도 보존된다. 유닉스에서 사용되던 tar는 파일로 묶거나 풀어주는 기능만을 할 뿐이지만, 리눅스에서 사용되는 GNU tar는 옵션을 이용해서 파일로 묶거나 풀 때 압축 관련 작업을 동시에 진행할 수 있다. 지원되는 압축 형식에는 compress(tar Z), gzip(tar.gz), bzip2(tar.bz2), xz(tar.xz) 등이 있다.

 

compress, uncomress : 전통적으로 유닉스에서 사용했던 압축 프로그램이지만, 리눅스에서는 압축률이 낮아 현재는 거의 쓰이지 않는다.

 

gzip, gunzip (GNU zip) : GNU 에서 만든 압축 프로그램으로 유닉스용 압축 프로그램인 compress 를 대체하기 위해 만들어졌다.

 

bzip2, bunzip2 : 버로우즈-휠러 변환 이라는 블록 정렬 알고리즘과 허브만 부호화를 사용하여 줄리안 시워드가 만든 압축 프로그램이다. gzip보다 압축률은 좋지만 압축 시간이 더 걸린다.

 

xz, unxz : xz는 LZMA2 라는 알고리즘을 이용하여 만든 데이터 무손실 압축 프로그램이다. gzip 및 bzip2 와 비교하여 매우 높은 압축률을 자랑한다. 높은 압축률로 인하여 최근 공개용 소프트웨어 사이트에서 이 압축 포멧을 사용하여 파일을 배포하고있다. 

 

zip, unzip : zip은 DOS/Windows 계열 운영체제에서 많이 사용되던 압축 프로그램으로 리눅스에서도 zip이라는 명령으로 사용 가능하다.

 

 

  • rpm 사용법

설치 및 갱신 모드

-i : 새로운 패키지를 설치할 때 사용한다. 기본적으로 이전 버전의 같은 패키지가 있을 경우 설치가 되지 않는다.

-U : 기존의 패키지를 새로운 버전의 패키지로 업그레이드 할 때 사용한다.

-F : 이전 버전이 설치되어 있는 경우에만 설치한다.

-v : 메세지를 자세히 보여준다

-h : 설치 상황을 '#' 기호로 표시해준다.

 

제거모드

-e  : 설치된 패키지를 샂게한다. 의존성을 갖는 패키지가 있을 경우에는 삭제되지 않는다.

--nodeps : 의존성을 갖는 패키지가 존재하는 경우에도 삭제한다.

 

질의모드

-q옵션만 사용하면 패키지 설치 유무나 간단한 버전 정보만 출력한다. 더욱 정확한 정보 출력을 위해서 -i, -a, -l, -d등의 옵션과 연동해서 쓴다.

-q : 질의시에 꼭 사용해야 하는 옵션이다. 패키지를 찾으면 패키지 이름과 버전만 표시한다.

 

검증모드

검증모드는 rpm 데이터베이스에 저장되어있는 패키지의 메타데이터정보를 이용하여 변경된 정보를 찾아내는 모드이다. 검증모드는 -V옵션을 사용하고 파일의 크기, 허가권, 소유권, 파일 형식 등에 대한 변경 정보를 출력한다.

-V : 검증 시 사용하는 기본 옵션이다.

-a : 모든 패키지를 검사할 때 사용한다.

 

리빌드(rebuild) 모드 : rpmbuild

rpm 소스파일인 .src.rpm 파일을 패키지 파일로 만드는 모드로서 rpmbuild라는 명령어를 사용한다.

 

 

  • yum 사용법

yum의 개요

yum(Yellwodog Updater, Modified) 은 rpm 기반의 시스템에서 패키지를 손쉽게 설치해주고 자동으로 업데이트를 수행하는 명령행 기반의 유틸리티이다. 특히 yum 패키지 설치 시에 가장 많이 발생하는 의존성 문제를 자동으로 해결해준다. 

주요옵션

-y : 모든 질의에 'yes'라고 답한다.

-v : 자세한 정보를 출력한다

 

 

  • dpkg 사용법

주요옵션

-i 패키지파일명 : 패키지를 설치할 때 사용한다. (--install)

-R 디렉터리명 : 설치하는 옵션인 -i 와 같이 사용되어 지정한 디렉터리 안에 있는 패키지를 설치할 때 사용한다.

-l : 설치되어 있는 패키지를 출력한다. (--list)

-s 패키지명 : 패키지에 대한 상태를 출력한다 (--status)

 

 

  • apt-get의 개요

apt-get은 데비안 리눅스 배포판에서 패키지 관리를 쉽게 하기 위해 제공되는 명령행 기반의 유틸리티로 레드햇 계열의 yum과 유사하다. 패키지를 설치할 때 가장 큰 문제점이 의존성과 충돌성인데, apt-get은 /etc/apt/sources.llist 파일에 패키지 관련 정보를 관리하여 이러한 문제점을 손쉽게 해결한다. apt-get은 ATP(advanced Packaging Tool) 라이브러리를 이용한 명령행 기반의 도구로 사용상의 어려움을 있을 수 있다.

#apt-get [option] [command] [패키지명]

주요옵션

-y : 모든 질의에 'yes'라고 답한다.

--purge : remove명령을 수행할 때 환경설정까지 같이 제거할 때 사용한다.