리눅스마스터2급 족보
fdisk : 파티션테이블을 관리하는 명령어로 리눅스의 디스크파티션을 생성, 수정, 삭제할 수 있는 일종의 유틸리티
[옵션]
a : 부팅파티션을 설정할 수 있습니다.
b : BSD로 디스크라벨 설정합니다.
c : DOS호환가능한 플래그 설정합니다.
d : 파티션을 삭제할 수 있습니다.
l : 설정가능한 파티션 타입을 보여줍니다.
m : 파티션 설정도움말을 보여줍니다.
n : 새로운 파티션을 생성할 수 있습니다.
o : 새로운 도스파티션 테이블을 생성합니다.
p : 현재 설정된 파티션정보를 보여줍니다.
q : 설정된 정보를 저장하지않고 fdisk를 빠져나갑니다.
s : SUN 디스크라벨을 생성합니다.
t : 파티션 타입을 변경할 수 있습니다. (82 - 스왑 파티션 / 83 - 리눅스 파티션 / 8e - LVM 파티션 / fd - Raid 파티션 / b - W95 FAT32)
u : 유닛(units)정보를 열람하거나 변경할 수 있습니다.
v : 지정된 파티션을 검사합니다.
w : 현재까지 설정한 파티션정보를 저장하고 fdisk를 빠져나갑니다.
x : 파티션설정 전문가 모드로 들어감. 이 전문가 모드에서는 실린더(cylinder)수나 헤드(head)수 그리고 트랙(track)당 섹터(sector)수를 변경할 수 있습니다.
SWP : 스왑파일은 기본적으로 숨김파일 vi로 파일 편집 중 예기치 못하게 종료해버린 경우 스왑파일이 생성
SWAP : 물리메모리의 메모리 부족시 사용할 수 있는 디스크를 메모리로 사용하는 파티션 각 파티션은 파티션에 따라 ID가 다름
[옵션]
82 : Linux swap / Solaris
83 : Linux
8e : 논리 볼륨 관리자 파티션
fd : Linux RAID
mkfs : 리눅스 파일 시스템을 만든다.
chkdsk : 윈도우 디스크 검사
scandisk : 윈도우 불량섹터 검사
fsck : 리눅스 파일 시스템 검사하고 수리
blkid : 디스크 파티션에 부여된 UUID값 확인
umask : 파일이나 디렉터리의 생성 시에 부여되는 기본 허가권의 값을 지정하는 명령어
umask -S : 설정된 umask의 값을 확인할 때 사용하는 명령어
ls -ld : 디렉터리의 허가권을 확인
마운트 할 때 지정하는 유형
FAT : windows nt가 지원하는 파일 시스템 중 가장 간단한 시스템
VFAT : FAT 파일 시스템이 확장된 것으로 FAT와 호환
FAT32 : windows 95 , 98 , me 과 같은 버전과 다중 부팅을 구성
NTFS : 윈도우에서 사용하는 파일 시스템
ISO9660 : CD-ROM의 표준 파일 시스템
quota : 사용자의 디스크 사용을 제한하는 방법
제한하는 방법은 i-node와 block의 두가지이며, 사용자별, 그룹별로도 쿼더를 지정할 수 있다
지정은 /etc/fstab의 옵션 필드에 추가를 해서 할 수 있다.
[옵션]
quotaon : quota켜기
quotaoff : quota끄기
quotaed : quota수정
quotacheck : 쿼터 설정을 확인하여 쿼터파일이 존재할 경우 검사하고 없을 경우 쿼터파일을 생성함.
repquota : quota정보를 출력함
edquota : 그룹에 quota를 설정, 쿼터를 설정할 때 사용하는 명령(vi 이용)
aquota.user : 사용자의 쿼터 관련 정보를 기록하는 파일
aquota.group : 그룹의 쿼터 관련 정보를 기록하는 파일
setquota : 쿼터를 설정할 때 사용하는 명령(별도 과정없이 명령단에서 바로 수행)
requota : 파일 시스템의 단위로 쿼터 설정을 표기하는 명령
xfs_quota : CentOS 7에서 사용자의 디스크 사용량을 제한
eject : 이동식 보조기억장치의 미디어를 꺼낼 때(제거할 때) 사용하는 명령어
- 저널링 파일 시스템
파일 시스템에 대한 변경사항을 반영하기전에 저널이라 부르는 로그에 변경사항을 저장하여 추적이 가능하게 만든 파일 시스템이다.
시스템에 충돌현상이 발생하거나 전원 문제가 발생된 경우에 데이터 복구 확률을 높여준다.
ext3 부터 저널링 파일 시스템 기능이 있다.
- mkfs(make filesystem) : 새로운 파일 시스템을 만드는 명령으로 root만 사용 가능하다.파일 시스템 유형을 지정하지 않으면 ext2로 생성된다.
- mke2fs : ext2, ext3, ext4 파일 시스템을 만드는 명령으로 최근 리눅스 배포판에서 mkfs 명령 실행 시 실제 사용되는 명령어이다. 파일 시스템의 유형을 지정하지 않으면 ext2로 생성된다.
- mkfs.xfs : XFS 파일 시스템을 생성하는 명령어
# mke2fs /dev/sdb1 : /dev/sdb1 장치의 파일 시스템을 ext2로 생성한다.
# mkfs -t ext3 /dev/sdb1 : /dev/sdb1 장치의 파일 시스템을 ext3로 생성한다.
# mke2fs -j /dev/sdb1 : /dev/sdb1 장치의 파일 시스템을 ext3로 생성한다.
# mke2fs -t ext4 /dev/sdb1 : /dev/sdb1 장치의 파일 시스템을 ext4로 생성한다.
[옵션]
-i : inode의 개수 설정
-T : inode 크기 설정
-j : 저널링 파일 시스템으로 만들기(ext3)
df 명령어 -> Disk Free의 줄임말로 파티션의 전체 용량, 사용한 용량, 남은 용량, 마운트 정보 등의 디스크 관련 정보들을 보여주는 명령어
df -i 또는 df inode
-T : type. 파일시스템의 유형을 표기.
파티션별 블록 사용 정보 대신 inode 정보를 표시합니다.
파일명, 소유주, 권한, 시간 정보 등
du 명령어 -> disk usage 디렉토리 사용량 확인
[옵션]
h : 사람이 보기 편하게 용량 단위별 표기.
-b,k,m : 바이트, 킬로바이트, 메가바이트 등 각 단위별 표기.
-a : 디렉토리 내부의 각 파일 별 사용량을 표기.
-s : 전체 사용량. 하위디렉토리를 보여주지 않음
mount 명렁어
-t : 파일시스템 지정
-o : 주기설정
ro : 읽기전용 마운트
loop : Loop 디바이스나 CD-ROM 이미지 파일 iso 마운트
chwon : 파일이나 디렉토리의 소유자를 변경하는 명령어
chgrp : 파일이나 디렉토리의 소유그룹을 변경하는 명령어
-c : 변경된 파일만 자세하게 보여준다.
-f : 변경되지 않은 파일에 대해서 오류 메시지를 보여주지 않는다.
-v : 작업상태를 자세히 보여준다.
-R : 경로와 그 하위 파일들을 모두 변경한다.
-h : 원본 파일의 소유권은 그대로 둔 채 심볼릭링크 파일의 그룹 소유권만 변경
--help: 도움말을 출력한다.
--version: 버전 정보를 보여준다.
chmod : 파일이나 디렉토리의 허가권을 설정하는 명령어 (rwx 421)
chmod 명령
sticky Bit 가 설정된 디렉토리에는 누구나 접근 가능하고 파일을 생성할수 있다
하지만 생성된 파일을 삭제 할때에는 파일생성자(소유자)와 관리자만 지울수 있게 된다. 이러한 디렉토리에는 /tmp 디렉토리가 있다.
- 8진수(1xxx)나 기호(o+t 또는 u+t)를 이용하여 sticky 비트를 설정할 수 있음(sticky 비트 설정 제거 o-t 또는 u-t)
- 리눅스의 경우 o+t, 유닉스(솔라리스)의 경우는 u+t로 설정
- 권한 변경을 위해 chmod 명령어를 이용함
- sticky 비트가 설정되어 있으면 기타 사용자 접근 권한의 실행 권한 자리에 실행 권한이 있으면 소문자 t로 실행권한이 없으면 대문자 T로 표시됨
- /tmp 디렉토리 처럼 공용 디렉토리 접근에 활용
- 실행권한이 있는 'x'에 sticky bit를 설정하면 = 소문자 't'
- 실행권한이 없는 '-'에 sticky bit를 설정하면 = 대문자 'T'
Set UID = u+s ,4, d
Set GID = g+s ,2, s
Sticky bit = o+t ,1, t
읽기r = 4, 쓰기w = 2, 실행x = 1
-v : 버전출력
-R : 하위 디렉토리까지 모두 소유권 변경
w권한이 파일에 있을 때 : 파일 내용의 수정 및 쓰기
w권한이 디렉터리에 있을 때 : 디렉터리 내의 파일의 생성과 삭제
/ : 루트 디렉토리
/boot : BOOT 부트 이미지 디렉토리
/bin : BINaries 사용자 명령어 디렉토리
/dev : DEVice 장치 파일 디렉토리
/etc : ETCetera 시스템 환경 설정 디렉토리
/home : HOME 사용자 홈 디렉토리
/lib : LIBraries 공유 라이브러리 및 커널 모듈 디렉토리
/lost+found : LOST+FOUND 파일 시스템 복구를 위한 fsck의 링크 디렉토리
/misc : MISCellaneous 아키텍처 독립 자료 디렉토리
/mnt : Mount 마운트 포인트 디렉토리
/opt : OPeraTion 애드온(Add-on) 소프트웨어 패키지 디렉토리
/proc : PROCess 커널과 프로세스를 위한 가상 파일 시스템 디렉토리
/root : ROOT 루트 사용자 홈 디렉토리
/sbin : System BINaries 시스템 명령어 디렉토리
/tmp : TeMPorary 임시 작업 디렉토리
/usr : User 공유 파일 시스템 디렉토리
/var VARiable data : 가변 자료 디렉토리
/var/spool/cron : 일반 사용자가 등록한 cron 작업 관련 파일이 저장되는 디렉터리
/etc/fstab : 마운트 가능한 사용자에 대해 파일 시스템을 지정
6필드 [장치명][마운트위치][파일시스템종류][옵션][덤프][점검]
/dev/sdb1/backup/ ext4/ defaults 0 0
장치명으로 가능한 것은 실제 장치 이름, 라벨명(설정한 경우), 장치의 UUID 이다.
/etc/x.org : 기본적으로 리눅스에서 사용되는 X 윈도우 시스템
/etc/inittab : 부팅 시에 실행하기 위해 설정하는 파일
id:[숫자]:initdefault:
0 : 시스템 중지
1 : 단일 사용자 모드, 관리자인 루트로 로그인
3 : 콘솔 모드
5 : X윈도우 로그인 모드
/etc/initdefault : init 프로세스의 설정 파일
/etc/resolv.conf : DNS 서버를 관리하는 파일
/etc/sysconfig/network : 네트워크사용유무지정, 호스트명설정, 게이트웨이주소설정, 게이트웨이장치파일설정, 도메인이름등이기록되는파일
/etc/sysconfig/network-scripts : 네트워크 인터페이스 환경설정 파일
/etc/hosts : 도메인 이름과 IP주소 매핑 파일
/etc/crontab : 시스템 운영에 필요한 작업을 예약할 때 설정하는 파일
/etc/passwd : 특정 사용자의 로그인 시에 부여되는 셸 정보를 확인 파일
필드 1 : 사용자명
필드 2 : 패스워드
필드 3 : 사용자 uid
필드 4 : 사용자 gid
필드 5 : 사용자 이름
필드 6 : 사용자 홈 디렉토리
필드 7 : 사용자 로그인 쉘
/etc/services : 포트번호 정보 파일
/etc/profile : 시스템 전체(모둔 사용자)에 적용되는 환경변수와 시작돤련 프로그램 설정 파일
etc/apt/sources.list : apt-get 명령어를 통해 패키지를 업데이트 할 때
etc/rc.d/nfs start : 서비스 데몬 구동
~/.bashrc : 사용자가 설정한 alias가 다음 로그인 시에도 사용가능하도록 등록하는 파일, alias와 function
~/.bash_logout : 로그아웃할 때 자동으로 생성되는 .bak 파일 삭제 파일
.exrc : vi 실행 시 지속적으로 지정한 설정을 이용하는 파일명
mput backup.tar.gz
mput : 파일을 업로드할때
mget : 파일을 다운로드할때
chfn : 사용자의 정보를 변경하는 명령어
chsh : 쉘을 바꿔주는 명령어
chsh -l : 변경 가능한 쉘의 종류를 확인하는 명령으로 cat/etc/shells 파일의 내용을 출력해준다.
chsh -s : 사용자가 로그인 셸을 변경
[옵션]
-s : 지정하는 셸을, 앞으로 사용할 로그인 셸로 변경
-l : /etc/shells 파일 안에 지정된 셸을 나열
echo $PS1 : 명령 프롬프트 모양에 대한 변수를 출력해주는 명령 기본적으로 [(사용자명)@(호스트명) (현재 디렉토리)]가 설정되 있다.
echo $SHELL : 현재 접속되어 있는 셸(Shell)을 확인
셸 환경 변수를 선언 방법
PATH : $PATH:$HOME/bin (path 설정)
TMOUT : /etc/profile
TERM : xterm , 터미널 종류 확인 환경변수
PS1 : '[\u@\h \w]\$ ' (셸 프롬프트 변경 옵션)
[옵션]
u - 사용자
t - 24시간시로 현재시간
W - 현재 디렉터리의 마지막 디렉터리
PS1 : 기본 프롬포트
PS2 : 보조 프롬포트
> : 명령어를 다 치지 못핬을 때
/ : 줄을 바꿀 때
HISTTIMEFORMAT : 명령어를 수행할 때마다 현재시각을 history에 기록
HISTFILE : 히스토리 파일의 절대 경로
history 명령어
history n : 최근의 n개 명령어 확인
history -c : 히스토리 모두 삭제
!! : 가장 최근 명령 다시 수행
![문자열] : 문자열 포함된 가장 최근 명령 수행
!n : 히스토리 번호가 n번인 명령 수행(n번째로 수행했던 명령 수행)
$ cd /disk1 ; tar cvf - . (cd /disk2; tar xvf -)
cd /disk1; -> disk1 디렉토리에 접근하여
tar cvf - . -> 현재 폴더의 모든 내용을 c(묶는다)v(과정을 보여준다)f(파일명 지정)한뒤
cd /disk2; -> disk2 디렉토리에 접근하여
tar xvf -; -> 모든 내용을 x(묶음해제한다)vf
따라서 /disk1의 모든 내용을 /disk2로 옮긴다.
작업번호 뒤에 +는 가장 최근에 실행한 애, -는 최근에 실행한 애의 바로전 실행한 애를 의미
작업번호 없이 fg명령을 수행하면 vi a.txt가 포어그라운드로 전환된다.
vi a.txt가 포어그라운드로 전환하려면 fg%1 명령어로 전환해야함
시그널 : 2시그널은 프로세스 간 메시지를 보내는 통신 할 때 이용
번호 시그널이름 뜻 키보드
1 SIGHUP 재시작 키보드존재x
2 SIGINT 인터럽트 CTRL + C
3 SIGQUIT CTRL + \
9 SIGKILL 강제종료 키보드존재x
11 SIGSEGV 메모리 비정상사용일때 종료 키보드존재x
15 SIGTERM 종료 키보드존재x
17 SIGCHLD 좀비 프로세스 종료 키보드존재x
18 SIGCONT
20 SIGTSTP for->bag CTRL + Z
kill -l : 시그널의 전체 목록을 확인할 수 있다.
killall -9 [프로세스명] : 프로세스에게 9번(강제종료) 시그널을 보냄
kill -HUP : 프로세스에게 1번(재시작) 시그널을 보냄
kill [PID] : 프로세스에게 15번(종료) 시그널을 보냄
pstree : 프로세스의 상관관계를 보고자 할때
-p : 프로세스 id값을 출력하는 명렁어
fork : 리눅스에서 프로세스를 복제하는 기능, 사용자가 새로운 프로세스를 생성하는 유일한 방법
exec : 프로세스의 메모리에 새로운 프로세스의 코드 덮어씌우기
standalone : 지속적인 서비스 요청을 처리하기 위해 메모리에 계속 상주하면서 처리 실행속도 빠름
inetd : 클라이언트의 서비스 요청이 들어왔을 때 관련 프로세스를 실행시키고, 접속 종료 후에는 자동으로 프로세스를 종료시키는 방식
top : 시스템 전체상태를 실시간으로 파악
[옵션]
k : PID값을 입력하여 종료신호
t : 프로세스와 CPU항목을 on/off
m : 메모리 관련 항목을 on/off
w : 바꾼 설정을 저장
r : nice 값을 변경
프로세스 호출은 fork 와 exec 방식
최초의 프로세스 PID는 1
프로세스 우선순위
'ps –l' 명령으로 PRI와 NI를 확인할 수 있다.
NI는 운영체제에서 참고하는 우선순위 값으로 범위는 –20 ~ 19 까지이다.
NI는 root나 사용자가 조작하는 우선순위 값으로 낮은 값일수록 우선순위가 높다.
NI값을 설정하면 리눅스는 상황에 따라 PRI값을 적절히 변경하여 우선순위를 조정한다.
일반사용자는 NI값의 증가만 가능하고, root사용자만 NI값을 감소시킬 수 있다.
PRI 값을 변경하여 우선순위를 조절
실행가능한 프로세스 중에서 커널(kernel)이 다음으로 실행할 값을 정하는 기준 중 하나가 NI값이다.
nice와 renice는 프로세스의 ni값을 변경시키는 명령어
nice : 프로세스명으로 우선순위를 조정하고 새로운 프로세스가 발생
renice : PID값으로 우선순위를 조정하고 기존의 프로세스를 바로 수정
< : 우선순위가 인위적으로 높아진 상태를 의미하는 프로세스 상태 코드 값
nohup : 작업중인 터미널이 닫혀도 계속 실행될 수 있게하는 명령어
ps aux 명령어
USER / PID / %CPU / %MEM / VSZ / RSS / TTY / STAT / START / TIME / COMMAND
ps 명령어
PID TTY TIME CMD
a : 터미널과 연관된 프로세스를 출력하는 옵션. 보통 x옵션과 연계하여 모든 프로세스를 출력할 때 사용(BSD계열)
u : 프로세스의 소유자를 기준으로 출력
x : 데몬 프로세스처럼 터미널에 종속되지 않는 프로세스를 출력
Z : 좀비(zombie) 프로세스를 뜻한다. 작업이 종료되었으나 부모 프로세스로부터 회수되지 않아 메모리를 차지하고 있는 상태.
T : 정지된 상태 (Traced or stopped)
W : paging 상태 (2.6.xx 커널 이후로는 사용 안함)
ps -ef 명령어
UID PID PPID C STIME TTY TIME CMD
프로세스 관련
foreground -> background 전환하기 위해 작업중인 프로세스를 대기상태로 전환하는 키조합 (STOP) : ctrl+z / bg %[작업번호]
fg명령어는 %작업번호로 수행
bg로 프로세스를 실행하기 위해 &를 붙인다.
보통 셸에서 명령을 실행하면 포어그라운드 프로세스로 진행된다.
백그라운드 프로세스로 명령을 실행하면 작업번호와 PID를 반환한다.
한번 사용자가 실행한 프로세스는 중간에 중지시킬 수 있다.
최초의 프로세스인 init 프로세스는 PID가 1이다
CentOS 7 리눅스의 최초 프로세스명은 systemd 이다
find / -type d 2 > /dev/null > list & : 시스템 전체에서 디렉터리만 찾아서 관련 정보를 저장하는 명령을 백그라운드 프로세스로 실행 명령어
jobs 는 작업목록을 보여주는거고, at,crontab으로 작업예약을 함.
특정한 시간에 특정한 작업을 수행하게 하는 것으로 리눅스에서는 at과 cron을 사용한다.
둘 모두 데몬으로 실행 중에 있어야한다. at는 주로 한번 만 실행할 때 사용하고
cron은 주기적으로 프로세스를 실행할 때 사용된다.
cron 설정
0:일 1:월 2:화 3:수 4:목 5:금 6:토
분 시 일 월 요일/ect/cheack.sh ..
crontab 옵션
-e : 편집
-u : 특정 사용자 일정수정
-r : 내용 삭제
-l = 설정된 내용 출력
sed : 대화형 기능이 없는 편집기. 명령어와 파일을 지정하여 작업한 후 결과를 화면으로 확인 가능.
cat : 파일이름을 인자로 터미널에 보여줌
awk : 패턴 탐색과 처리를 위한 명령어 -> grep과 비슷하고 바로 입력이 가능.
printf : 자료를 형식화 하여 화면에 출력 (C언어형식)
vi : 빌 조이가 개발
vim : 브람 무레나르가 개발
pico : 아보일 카사르가 개발, 유닉스 기반의 텍스트 에디터, Apache 라이선스
emacs : 리처드 스톨만이 개발 LISP 언어를 사용 전문가 3개의
나머지 nano : GNU프로젝트 개발, pico와 유사 및 무료, GPL 라이선스
gedit : 자유소프트웨어 X 윈도 환경에서만 사용, GNOME 기반의 문서편집기
gvim : X 윈도 환경에서만 사용
bash : 브레인 폭스 , POSIX와 호환 , 명령어완성기능,히스토리,GNU프로젝트에 의해 개발
csh : 빌 조이 , C 언어의 특징 , 히스토리 별명 작업제어 , 다양한 프로그래밍 작성기능
ksh : 데이비드 콘 , 명령어 완성기능 , 히스토리 기능 , 벨 연구소에서 본셸을 확장해서 만들었다
tcsh : 켄 그리어 , 테넥스(TENXT) 운영체제 명령어 완성기능 반영 , 명령행 편집기능 지원
dash : /bin/sh를 가능한 작게 구현한 셀, 히스토리 명령 지원안함
pico 명령어
Ctrl + k : 현재 줄 삭제
Ctrl + a : 현재 행의 맨 앞으로 이동
Ctrl + e : 현재 행의 맨 끝으로 이동
Ctrl + i : 화면 갱신
Ctrl + o : 파일 저장
vi 편집기 입력모드전환 : --INSERT--
[옵션]
i : 현재 문자 앞에 입력
I : 줄의 시작 부분에 입력
o : 현재 줄 다음 줄에 입력
O : 커서가 있는 줄 위에 입력
s : 현재 커서가 위치한 곳의 문자를 지우면서 입력보드로 전환
u : 바로 직전에 실행한 줄 삭제 명령을 취소하여 복원
a : 커서 뒤부터 입력
A : 줄의 마지막에 입력
vi 편집기 명령어
dd : 1줄 잘라내기
p : 붙여넣기
yy : 단순 복사로 커서가 위치한 줄이 삭제되지는 않음
-R : 읽기모드
-r : 오류나 system crash로 인해 손상된 파일을 복구 할 때
-c command : 열 때 ex모드로 실행할 command 지정
+[n] : 파일을 열때 커서가 위에서 부터 n번째 줄에 위치, n이 생략되면 마지막 줄에 위치
h : 커서를 한칸 왼쪽으로 이동하는 명령
j : 커서를 한줄 아래로 이동하는 명령
k : 커서를 한줄 위로 이동하는 명령
l : 커서를 한칸 오른쪽으로 이동하는 명령
ctrl + f : 커서가 위치한 부분부터 한 화면 아래로 이동
vi 편집기 치환
. : 현재줄 생략 가능
n+m : n줄에서 m을 더한 줄까지
$ : 마지막 줄
n,m : n줄에서 m줄까지
% : 전체
치환 마지막의 g : 문자열 전부 치환
[ex]
:% s/ihd/kait/g => 문서전체의 ihd 문자열을 kait로 치환한다.
:.,$ s/ihd/kait/g => 현재 줄 부터 문서의 끝까지 ihd 문자열을 kait로 치환한다.
:1,$ s/ihd/kait/g => 1줄부터 문서의 끝까지 ihd 문자열을 kait로 치환한다.
배쉬셀 편집기
커서를 왼쪽으로 한 칸 이동 : ctrl+b
커서를 오른쪽으로 한 칸 이동 : ctrl+f
맨 왼쪽으로 이동 : ctrl+a
맨 오른쪽으로 이동 : ctrl+e
현재 커서의 글자 지우기 : ctrl+d
emacs 편집기
커서가 위치한 부분부터 줄 전체를 삭제 : ctrl+K
저장하기 : ctrl+x, ctrl+s
종료 : ctrl+x, ctrl+c
마크 설정 : ctrl+space
잘라내기 : 마크 설정 후 ctrl+w
붙이기 : ctrl+y
한 줄 지우기 : ctrl+k
커서를 줄의 맨 앞으로 이동 : ctrl+a
커서를 줄의 맨 뒤로 이동 : ctrl+e
커서를 한 줄 아래로 이동 : ctrl+n
커서를 한 줄 위로 이동 : ctrl+p
커서를 오른쪽으로 이동 : ctrl+f
커서의 윗부분에서 찾을 문자열을 검색 : ctrl+r
문자열 치환 : ESC, %, Query replace
명령 끄기 : ctrl+g
본쉘(sh)특성
AT&T 벨 연구소의 스티븐 본(Stephen Bourne)이 개발하였다.
1977년에 처음으로 유닉스 버전 7에 포함되었다.
if, while, for 등 다양한 조건문 및 반복문을 지원한다.
별칭(alias)이 존재하지 않는다.
unset : unset 명령어는 쉘 변수를 효과적으로 널(null)로 세트를 해서 그 변수를 지우는 효과를가져옵니다.
remove : remove 명령어는 rm 즉, 파일 또는 디렉터리를 지우는 명령어입니다.
배쉬셀(bash)특성
브라이언 폭스가 GNU 프로젝트를 위해 개발
명령어 완성 기능, 명령어 치환 기능 지원
POSIX와도 호환
리눅스 뿐만 아닌 다양한 운영체제에서 사용 가능 (리눅스, 맥 OS)
현재 작업 디렉터리를 알려준느 환경변수 : PWD
패키지 관리 프로그램
alien : 데비안에서 .rpm 패키지 파일을 .deb로 변환해주는 명령어.
강제 명령이기 때문에 의존성을 보존하지 못하고 작동이 보장되지 않는다.
apt-get : 데비안계열 패키지 설치 명령어
dselect : 데미안계열 dpkg를 대화식으로 연속적인 액션처리 가능.
yum : 레드햇계열에서 RPM의 의존성을 고려한 패키지 관리자
/etc/yum.repos.d : 명령의 저장소 관련 파일들이 위치하는 디렉터리
dnf : 패도라22에서부터 적용된 패키지 관리도구, yum문제점 보완
YaST : 수세(SUSE) 대표하는 기능. 시스템 관리를 위한 GUI 및 ncurses 인터페이스 제공.
Zypper : 수세(SUSE) 리눅스에서 사용하는 저장소 (repository) 기반
리눅스 프로그램 설치 방법
1. 소스파일 컴파일 설치
configure - make - make install
* cmake(cross platform make) 는 기존 MAKE를 수행하지 않고 운영체제에 맞는 make 생성만을 수행한다.
따라서 configure(환경설정)의 과정이 필요하지 않다
* cmake를 채택한 프로젝트에는 KDE와 Mysql이 있다.
* 이외에도 tar, gcc, gcc-c++, make등
* configure 설치시 Makefile 생성됨
* configure 작업으로 생성된 다양한 파일을 제거시 make clean 명령어 사용
* ./configure --help : 환경설정과 관련된 옵션정보 확인
2. 패키지 파일 설치 : 소스파일을 미리 컴파일해서 컴퓨터가 사용할 수 있게 설치파일로 만든것.
의존성 있는 프로그램 있으면 바로 설치 못하고 그거 먼저 찾아 깔아야됨
rpm(레드햇), dpkg(데미안, 우분투), yaST(openSUSE), yum(레드햇 계열(Centos))
3. 자동 설치 도구 : 저장소에서 패키지 파일 다운. 의존성 파일까지도 알아서 찾아서 받아준다
yum(레드햇), apt-get(데미안), zypper(openSUSE)
rpm : 소스파일을 미리 컴파일해서 컴퓨터가 사용할수 있게 설치파일로 만든것, 패키지이름 버전과 릴리즈로 이름이 구성
-v : 메세지를 자세히 보여준다
-V : 검증 시 사용하는 기본 옵션 (--verify)
-q : 패키지 정보를 검색
--version : rpm의 버전 보기 (패키지와는 상관없다)
-e : 삭제
-i : 새로운 패키지를 설치할 때 사용한다. (--install)
-U : 기존 패키지 업그레이드
-F : 이전 버전이 설치되어 있는 경우에만 설치한다.(--freshen)
-v : 메시지를 자세히 보여준다.
-h : '#'기호로 표시해 준다.
--force : 기존에 설치된 패키지와 관계없이 강제로 설치 한다.
--nodeps : 의존성 관계를 무시하고 설치 한다.
-vv : 메시지를 아주 자세히 보여준다.
--oldpackage : 구버전으로 다운그레이드할 때 사용한다.
--rebuilddb : 특정한 패키지 설치후에 rpm패키지로 검색했으나 나타나지 않을 때 rpm 데이터베이스를 업데이트한다.
-ivh : 새로운 패키지 설치
-Fvh : 현재 설치된 패키지만 찾아서 업데이트
-Uvh : 해당 패키지 업그레이드
-qa : 전체 패키지 목록을 출력한다.
-qi : 자세한 정보를 출력한다.
-ql : 패키지 내의 파일을 출력한다.
-qf : 파일을 설치한 패키지 이름을 출력
-qs : 패키지 안에 들어 있는 설정 파일을 보여준다.
-qap : 옵션 p는 패키지명으로 상세 정보를 출력한다.
dpkg 옵션
-r : 시스템에서 삭제
-P : 패키지기반 모두 삭제
-l : 설치된 패키지 리스트
-L : 설치된 패키지에 포함된 파일 목록
--purge : 완전 제거
apt-get remove : 제거옵션
apt-get -u : 업그레이드한 패키지 목록
yum 옵션
install : 패키지 설치
remove : 패키지 삭제
update : 패키지 업데이트
search : 패키지 검색
info : 패키지 정보
list [단어] : 특정단어가 포함 된 패키지 리스트
whatprovides [filename] : 특정 파일을 제공한 패키지 검색
-y update : 커널 패키지에 설치된 모든 패키지를 업데이트
tar로 압축하기 : tar -cvf [파일명.tar] [폴더명]
tar 압축 풀기 : tar -xvf [파일명.tar]
tar.gz로 압축하기 : tar -zcvf [파일명.tar.gz] [폴더명]
tar.gz 압축 풀기 : tar -zxvf [파일명.tar.gz]
tar.bzip 압축하기 : tar -jcvf [파일명.tar] [폴더명]
tar.bzip 압축 풀기 : tar -jxvf [파일명.tar]
tar 파일 추가 묶기 : tar -rvf [파일명.tar] [추가파일명]
아카이브를 풀지 않고 내용만 확인 : tar -tvf -t
아카이브 해제 : tar -tvf -x
디렉터리를 변경할 때 사용 : -C
xz 관련 옵션 : J
압축효율
압축 했을 때 파일 크기가 가장 크다는 것 = 압축률이 낮은것
compress < gzip < bzip2 < xz 순으로 좋습니다.
.Z < .gz < .bz2 < .xz
효율 낮음 ------------효율 높음
프린터 설정
USB포트에 연결 : /dev/usb/lp0
직렬 포트 연결 : /dev/lp0
sane-find-scanner : USB 스캐너 관련 장치 파일을 찾아줌
system-config-printer : X-Window 환경에서 프린터를 설정
vmstat : 가상메모리 상태(용량)확인
netstat : 네트워크의 연결과 포트를 출력
top : 시스템 전체상태를 실시간으로 파악
lspci : PCI 관련 장치 시스템에 설치된 장치 목록을 출력
lp : 지정한 파일이 프린터를 통해 출력되도록 작업을 요청
lp -n : System V 계열 명령어로 인쇄할 매수 지정 옵션.
lp -d : System V 계열 명령어로 기본 설정 프린트 이외에 다른 프린터로 지정
lpstat : System V 계열 명령어로 Lp 프린터의 상태를 보여준다.
cancel : System V 계열 명령어로 프린트 작업 취소
lpd : BSD 계열 명령어로 프린터의 데몬
lpq : BSD 계열 명령어로 기본 프린터의 큐의 내용을 보여준다.
lpc : BSD 계열 명령어로 프린터를 제어한다.
lpr : BSD 계열 명령어로 파일 내용을 출력한다. 프린터 작업을 요청
lpr -# : BSD 계열 명령어로 인쇄할 매수 지정 옵션
lpr -r : BSD 계열 명령어로 출력한 뒤 지정 파일 삭제
lprm : BSD 계열 명령어로 프린터 큐의 작업을 삭제한다.
ihd.txt 파일을 프린터로 인쇄
cat ihd.txt > /dev/lp0
cat ihd.txt | lpr
cat ihd.txt > /dev/null --> 휴지통
lpr kait.txt
표준 유닉스 장치 시스템 콜(POSIX READ, WRITE, IOCTL 등)에 기반을 둔 것은 OSS (Open Sound System)
OSS는 리눅스 및 유닉스에서 사운드를 만들고 캡처하는 인터페이스. 현재 리눅스 커뮤니티에서 ALSA로 대체되었음.
사운드카드와 관련있는 것 : OSS, ASAL, OSS/free
* OSS SANE -> (Scanner Access Now Easy) 이미지 스캐너 및 카메라 하드웨어에 표준화된 액세스를 제공하는 API
* SANE 스캐너 인터페이스를 X-Window 기반으로 만든 프로그램으로, GTK+ 라이브러리로 만들어짐
SANE
GPL 라이선스로 공개되어 있다.
이미지 관련 하드웨어를 사용할 수 있도록 해주는 API이다.
스캐너 관련 드라이버와 사용자 관련 명령이 있는 2개의 패키지로 구분되어서 배포된다.
DEMON, SMB : 프로세스 관련
LPRng, CUPS : 프린터 관련
SANE, XSANE : 스케너 관련
ALSA, OSS : 사운드 장치 관련
ASAL 명령어
alsactl : ALSA 사운드 카드를 제어
alsactl store : 사운드 카드 정보를 환경 설정 파일에 저장.
alsactl restore : 환경 파일로부터 선택된 정보를 다시 읽어드림.
alsactl init : 사운드카드 장치를 초기화
alsactl -E : 환경 변수를 설정한다.
alsactl -f : 환경 설정 파일을 지정한다.
alsactl -i : init을 위한 설정 파일을 지정한다.
LPRng: 버클리 프린팅 시스템. 프린터 스풀링과 네트워크 프린터 서비스 지원. BDS와 System V 계열 명령어도 지원. 리눅스에서 프린터를 지원해주는 초기 인쇄 시스템
CUPS: 애플이 개발한 오픈소스 프린팅 시스템. HTTP 기반의 IPP를 사용합니다. BSD와 System V 계열 명령어도 지원. 사용자와 호스트 기반의 인증도 제공합니다.
SMB 프로토콜도 부분적으로 지원
4CUPS가 제공하는 장치 드라이버는 어도비의 PPD 형식의 텍스트 파일을 이용하여 설정한다.
startx : X윈도 실행시키는 스크립트
3startx -- -depth 8 : 256 color 모드로 X 윈도를 실행
xauth 명령은 .Xauthority 파일 쿠키 내용을 추가,삭제,리스트 출력하는 유틸리티이다.
프로토콜 네임 값이 없기 때문에 . 을 찍는다.
데스크톱 환경(Desktop Environment, DE)
- 그래피컬 컴퓨팅에서 GUI를 사용자에게 제공하는 "인터페이스 스타일"
- 제어판, 도움말 등 다양한 도구를 제공하는 패키지 형태의 프로그램
디스플레이 매니저
- 그래픽 로그인 화면을 띄워주고 아이디와 패스워드를 입력받아 인증을 진행하고 인증이 정상적으로 완료되면 세션을 시작함
- 그래픽 모드인 런레벨 5에서 부팅과 동시에 실행
- 사용자 이름과 암호를 요청하고 유효한 값이 입력되면 세션을 시작
- XDM(X Display Manager), GDM(GNOME Display Manager), KDM, dtlogin 등이 있다.
- GNOME에서는 GDM을 사용
- KDE에서는 KDM을 사용
- 런레벨 5
- x server의 접속과 세션시작 담당
데스크톱 환경
- GUI 환경을 이루기 위해 사용자에게 제공되는 인터페이스 스타일을 말한다.
- 보통 윈도 매니저를 포함하여 파일관리자, 아이콘, 창, 도구 모음, 폴더, 배경화면, 데스크톱 위젯을 제공한다.
- 대표적인 데스크톱 환경에는 GNOME, KDE, Xfce, LXDE 등이 있다.
윈도우 매니저
- X 윈도 환경에서 윈도의 배치와 표현을 담당하는 시스템 소프트웨어를 말한다.
- 비디오카드, 키보드 등에 접근하지 않고 디스플레이 서버를 통해서 접근
- 대표적인 윈도우 환경으로는 kwin, Windowmaker, Afterstep, Mutter
- 도크(Dock), 테스크 바(Tesk bar), 프로그램 런처(program launcher), 데스크톱 아이콘(Desktop Icon) 등과 같은 유틸리티 제공
xhost : 서버에 접속할 수 있는 클라이언트를 지정하거나 해제
display : x서버 프로그램이 실행될 떄 표시되는 클라이언트 주소를 지정
CSMA/CD : 네트워크에서 충돌될만한 패킷을 감지하여 확인 후 패킷을 송출하는 방식
KDE는 자유소프트웨어이다.
X 윈도에 사용되는 대표적인 데스크톱 환경이다.
Qt 라이브러리를 기반으로 만들어졌다.
GNOME 보다 먼저 개발되었다.
노키아의 Qt툴킷을 기반으로 만들어졌고 대부분의 유닉스, 리눅스, BSD, AIX 등의 운영체제에서 작동.
KDE에서 사용되는 윈도매니저는 KWin 또는 KWM
konqueror 은 KDE에 포함된 주요 프로그램이다.
OKular : KDE 문서 뷰어 프로그램
Gwenview : KDE의 기본 이미지 뷰어
Dolphin : KDE용 파일 관리자
GNOME에 대한 설명
GNU 에서 만든 공개형 데스크톱 환경
GNOME은 패널,표준 데스크톱 툴, 응용프로그램, 그리고 그 외의 다른 프로그램들과 서로 간에 협동적으로 동작할 수 있도록 지원한다.
리눅스처럼 완전 공개 소스이다.
GTK+(GimpTool Kit +)라이브러리를 기반으로 만들어진다.
GNOME 3에서 사용되는 윈도 매니저는 mutter 이다.
GNOME 2에서 사용되는 윈도 매니저는 Metacity 이다.
nautilus 는 GNOME에 포함된 주요 프로그램이고
ImageMagicK : x윈도 기반 비트맵이미지등을 수정함
eog : x윈도 기반 GNOME 이미지뷰어
gThumb : x윈도 기반 GNOME 데스크톱 이미지 뷰어 프로그램
GIMP : 이미지등을 편집하거나 만드는 프로그램
Totem : GNOME 기반 동영상플레이어
Rhythmbox : 통합형 음악 관리 프로그램
KMid : 미디어 및 노래방 파일 플레이어
Libreoffice writer : 문서 작성기
Libreoffice impress : 프레젠테이션
Libreoffice calc : 스프레드시트(엑셀)
Libreoffice Draw : 드로잉 프로그램
XCB, Xlib은 저수준의 X라이브러리 이고, GTK+, Qt, Xt는 모두 X툴키트입니다 라이브러리가 툴키트보다 저수준이다.
XCB : Xlib을 대체하기 위해 등장한 클라이언트 라이브러리로써, 스레드 기능 지원하고 확장성이 뛰어남
CentOS 6 버전에서 X 윈도 기반으로 네트워크 주소를 설정 : nm-connection-editor (system-config-network의 대안)
서브넷 마스크값
2의8승(255) = 128 64 32 16 8 4 2 1
/24 = 0
/25 = 128
/26 = 128+64 = 192
/27 = 128+64+32 = 224
/28 = 128+64+32+16 = 240
OSI7계층 단위 장비 프로토콜
응용 계층 : message HTTP, FTP, SMTP, DNS
표현 계층 : message JPG, MPEG, APP, PAP
세션 계층 : message NetBIOS, SSH, SSL
전송 계층 : segment 게이트웨이 TCP, UDP
네트워크 계층 : packet 라우터 IP, RIP, ARP, ICMP
데이터링크 계층 : frame 브릿지, 수의치 PPP, Ethernet, HDLC , FFDI
물리 계층 : bit 허브,리피터 RS-232, RS-449
RFC : 컴퓨터 네트워크 공학 등에서 인터넷 기술에 적용 가능한 새로운 연구, 혁신, 기법을 올리면 메모의 형태로 전문가의 비평을 받을 수 있다.
ISO : 국제 표준화 기구 - 국제적으로 통용되는 표준을 개발 및 보급
CVE : 보안 취약점 정보를 제공하는 시스템. 보안 취약성과 기타 노출사항을 기록한 목록.
STD : 인터넷에 해당하는 기술이나 방식의 규범적 규격 . 국제 인터넷 표준화 기구에서 제정하여 출판.
IETF : 인터넷의 운영, 관리, 개발에 대해 협의하고 프로토콜과 구조적인 사안들을 분석하는 인터넷 표준화 작업기구
IANA : 인터넷 할당 번호 관리기관의 약자로 IP 주소, 최상위 도메인 등을 관리하는 단체이다. 현재 ICANN이 관리하고 있음.
ICANN : 국제 인터넷 주소 관리기구 IP 주소공간 할당, 프로토콜 파라미터 지정, 루트 서버 시스템 관리 등의 업무를 조정하는 역할
ISO : OSI 7계층과 관련 프로토콜 제정
IEEE : LAN 및 MAN 관련 표준 제정
ANSI : 미국내 규격. ASCII 코드 제정
ITU : 전기통신의 개선과 효율을 위한 국제 연합 산하기구 (국제 전기 통신 연합)
DQDB : 미국전기전자학회(IEEE)에서 제정한 도시권 통신망(MAN)의 표준 규격인 IEEE 802.6에 채용되어 있는 다중 접속 프로토콜
ATM : 비동기 전송모드의 약어, 대용량의 정보를 처리해야 하는 초고속 국가망을 구축하는데 핵심기술
FDDI : 전송매체로 광섬유 케이블을 사용하도록 설계된 링 구조의 통신망으로, 네트워크 액세스를 제어하기 위해 토큰 전달방식을 사용
X.25 : 패킷 교환망에서 DCE(회선 종단 장치)와 DTE(데이터 단말 장치)사이에 이루어지는 상호작용을 규정한 프로토콜
DQDB : 도시권 통신망(MAN)에 사용되는 프로토콜로서 IEEE802.6 규격이다. 데이터, 음성, 비디오 등의 전송을 지원
GOPHER: 미국의 미네소타 대학에서 개발된 정보 검색 서비스 텍스트 기반
Xen : 커널이 수정된 게스트 운영체제를 통해 물리적 서버 대비하여 최대 성능을 나타낸다는 CPU 반 가상화를 지원
xbr0 -> 유튜버
xe0 -> 라틴어 글자 à 코드
xen0 -> 가수
xenbr0 -> 네트워크 장치명
4ip addr show : 설정된 IP 주소를 확인하는 명령
IPv4 class
A : 0.0.0.0 ~ 127.0.0.0
B : 128.0.0.0 ~ 191.255.0.0
C : 192.0.0.0 ~ 223.255.255.0
ifconfig : 네트워크 인터페이스 구성을 위한 설정 또는 확인 가능. 자신의 MAC 주소를 확인 가능 [ifconfig eth0 'IP주소' netmast '서브넷마스크' up]
ip : ip주소와 특성 정보, 네트워크 상태, 라우팅 테이블, 멀티캐스트, ARP 테이블 등 확인 가능. (ip link show eth0 : 시스템에서 사용하는 MAC주소를 사용할때는 명령어)
netstat : 전송제어 프로토콜, 라우팅 테이블, 네트워크인터페이스, 네트워크 프로토콜 통계 및 연결 상태 확인 가능.
state순서 : LISTEN -> SYN_SENT -> SYN_RECEIVED -> ESTABLISHED
서버측 수신대기 -> 클라이언트쪽의 접속요청 -> 서버측 요청수신응답 -> 연결
ss : netstat 의 대체, 소켓 상태를 출력해주는 명령어로 TCP의 상태정보를 제공, IP 주소 및 포트 번호를 확인
arp : IP주소로 MAC주소를 알기 위한 프로토콜. ARP테이블로 IP주소에 대한 MAC주소를 확인 할 수 있다.
mii-tool : 리눅스의 네트워크 설정 확인 및 설정에 이용
ethtool : 네트워크 인터페이스의 물리적 연결 여부를 확인할 수 있는 명령어. mii-tool보다 상세한 상태정보 확인. 설정을 변경하기 위한 명령어
Sliding window : 두 개의 네트워크 호스트간의 패킷의 흐름을 제어하기 위한 방법
route : 시스템에 설정된 게이트웨이 주소를 확인할 때 사용하는 명령
SSH : 네트워크 상 원격으로 명령 실행, 파일 복사등을 하는 프로토콜, 원격 로그인 클라이언트
소켓 통신용 : ssh [-L address]
일반적인 접속 : [user@]]hostname [command]
ssh 포트가 변경되었을 경우 접속방법 : ssh -p [변경포트] [ip]
ssh 다른계정 접근 명령어 : ssh -l [변경계정] [ip/domain]
인픙파일 경로 : /ssh/authorized_keys
NFS : 리눅스/유닉스 시스템간 디렉터리 공유, 프로토콜은 RPC 이다. RPCBIND 데몬을 반드시 구동해야한다
FTP : 파일전송 프로토콜 (일반데이터 20, 제어데이터 21)
hash : 파일 전송 및 다운로드 진행상태 # 기로호 확인할때 사용하는 명령어
SAMBA : 윈도우간 디렉터리 공유 원격지에 있는 시스템과의 프린터 공유를 위해 필요한 서비스 리눅스와 윈도우 모두 접근가능
CIFS : SAMBA 의 SMB 프로토콜 확장버전
IRC : 인터넷을 사용하여 전세계 사람들과 대화를 나눌 수 있다록 만들어진 채팅 프로그램
RSH : 원격 관리 서비스
TELNET : 로컬시스템의 웹 서버 동작을 확인
telnet [ip or domain] [port]
scp : ssh 서버가 구성되어 있는 system을 대상으로 원격 복사할 수 있는 프로그램
sftp : ssh와 함께 동작하는 ftp
slogin : sh 서버가 구성되어 있는 로그인
IP : 송수신 호스트가 패킷 교환 네트워크에서 정보를 주고받는데 사용
UDP : 전송계층 프로토콜로 매우빠른 전송속도, 비연결 지향, 비신뢰성
ARP : IP주소를 물리적 하드웨어 주소로 대응 시키기 위한 프로토콜
ICMP : 송신 시스템에게 IP 전달에 대한 다양한 메시지를 전달하기 위한 프로토콜 오류 보고 메시지와 질의 메시지로 구분
DHCP : P를 동적으로 설정해주는 프로토콜
POP3 : 메일을 받고 삭제 프로토콜
IMAP : 메일 수신용
SMTP : 메일 송신용
SNMP : 네트워크 장비를 관리 감시
서브넷 값 : 2진 : 서브 네트워크 수
0 : 00000000 : 1
128 : 10000000 : 2
192 : 11000000 : 4
224 : 11100000 : 8
240 : 11110000 : 16
248 : 11111000 : 32
252 : 11111100 : 64
IPV6의 특징 (128bit)
- IP주소의 확장
- 패킷크기의 확장
- 호스트주소 자동 설정
- 헤더 구조 단순화
- 흐름 제어 기능 지원
- 인증 및 보안기능
- 이동성
서버 가상화란
- 가상화 기술을 사용해 1대의 컴퓨터상에 여러 대의 가상 시스템을 제공하는 소프트웨어를 말함
- 대표적으로 Vmware사의 VSphere, REDhat사의 RHEV, MS사의 Windows server가 대표적
- 레드햇은 KVM 기반의 사용화 제품으로 RHEV를 시판
리눅스 커널 기반 운영체제 : Tizen, MeeGo, Moblin
GEN IVI : 리눅스 커널 기반의 표준화된 자동차용 플랫폼
Tizen : 인텔과 삼성전자, 리눅스재단,리모재단이 공동으로 개발한 모바일 및 IT기기를 지원하는 운영체제
이탈리아~~~ : 아두이노 (운영체제 없음)
영국에서 교육용~~~ : 라즈베리파이
병렬 컴퓨터 : 다수의 중앙처리장치가 장착된 컴퓨터를 채널본딩 이라고 하고 이 컴퓨터 수십대를 묶어서 높은 연산 성능이 가능한 하나의 시스템
클러스터에는 대표적으로 세 종류가 있다. 고성능(HPC), 부하분산(LVM), 고가용성(HA)
고가용성 클러스터: 시스템이 다운되는걸 최대한 보완하려는 시스템. 은행시스템 등에 사용
베어울프 클러스터: 최대한의 파워를 사용하려는 시스템. 슈퍼컴퓨터 등에 사용 == 고성능 클러스터
부하분산 클러스터: 여러작업을 동시에 처리하려는 시스텀. 웹서버 등 사용자가 몰리는 시스템에 사용
* 베어울프 클러스터 = 고계산용 클러스터 = 고가용성 클러스터
베어울프 시스템 특징 : 특정한 병렬 프로그래밍 라이브러리를 포함하고 있지는 않으나, 기존의 MPI나 PVM을 사용
클라이언트에 보조기억장치(하드디스크)를 두지 않고 서버에만 둔다