프린터작업 ★★★★

SystemV
  • lp : 프린트 요청
  • lpstat : 프린트 상태 조회
  • cancel 작업 취소
BSD
  • lpr : 프린트 요청
  • lpc(Line Printer Control) : 프린트 제어 및 관리
  • lpq : 인쇄 대기열 확인
  • lprm : 프린트 요청 삭제

하드웨어 설치 패키지 ★★★★

각 패키지 상세내용 확인 필수 !

프린터 : LPRng(버클리, BSD계열) / CUPS(애플)
사운드 : ALSA(리눅스 커널요소) / OSS
스캐너 : SANE / XSANE
SCSI 스캐너 : /dev/sg0, /dev/scanner  
USB 스캐너 : /dev/usb/scanner, /dev/usbscanner

chown chgrp / chmod umask ★★★★★

[소유권] chown : 그룹 및 개인 소유권 설정 및 변경 chgrp : 그룹 소유권 변경

[허가권] umask : 허가권 지정 chmod : 파일이나 디렉터리의 허가권 값을 변경

읽기4(r) 쓰기2(w) 실행1(x) chown : 파일이나 디렉토리의 소유권 및 그룹 소유권을 변경하는 명령어

파일의 소유자는 posein, 소유 그룹은 jhkim으로 설정한다. chown posein:jhkim test.txt

BLOG 파일의 그룹 소유권을 root로 변경한다. chown :root BLOG

chgrp : 파일이나 디렉토리의 소유 그룹을 바꾸는 명령어 umask : 새로 만들어진 파일에 대한 소유권한 지정명령

test.txt 파일의 그룹 소유권을 jhkim으로 변경한다. chgrp jhkim test.txt

특수권한

  • Set-UID(d,4): 해당 파일 소유자의 권한을 잠시 사용
  • Set-GID(s,2): 해당 파일의 그룹 권한을 잠시 사용
  • Sticky-Bit(t,1): 특정 디렉토리를 누구나 자유롭게 사용할 수 있게 하기 위해서 사용

RAID 구성 레벨 ★★★★

  • RAID - 0 은 스트라이핑 즉 , 안정성 보단 성능을 위해 사용한다.
  • RAID - 1 은 미러링 / 복구 가능 / 비용 많이듬
  • RAID - 5 최소 3개 이상 디스크 은 한개의 패리티 사용
  • RAID - 6 최소 4 개 이상 디스크, 여러디스크 장애도 가능
  • RAID - 10 미러링 하고 스트라이핑 하는 방식

LVM(Logical Volume Mangager) 용어

LVM LVM(Logical Volume Manager) : 리눅스의 저장 공간을 효율적이고 유연하게 관리하기 위한 커널의 한 부분

장점

  • 유연한 용량 조절
  • 크기 조절이 가능한 storage pool
  • 편의에 따른 장치 이름 지정
  • disk striping, mirror volume 등 제공

그림 보면서 개념 숙지 필수

  • PV : Physical Volume, 디스크를 LVM에서 사용할 수 있게 변환하는 작업
  • VG : Volume Group, PV가 모여 만들어진 그룹
         VG는 다시 LV로 할당할 수 있는 공간이기도 함.
  • PE : Physical Extent, PV에서 나누어 사용하는 블록. 4MB 단위
  • LV : Logical Volume, VG에서 사용자가 필요한 만큼 할당돼서 만들어지는 공간
  • LE : Logical Extent, LV가 나누어진 일정한 크기의 블록. PE와 서로 1:1 대응
PV VG LV
LVM : 논리 볼륨 관리자라는 의미로 여러 개의 물리적인 하드디스크를 논리적인 디스크로 할당
PV : 물리적 볼륨이라는 의미로 각각의 파티션을 LVM으로 사용하기 위해 형식을 변환 시킨 것이다.
VG : 볼륨 그룹으로 PV로 되어 있는 파티션을 하나의 물리적인 그룹으로 만든다.
LV : 논리적 볼륨으로 마운트포인터로 사용할 실질적인 파티션이다

yum 명령어(Debian)

  • yum list: 전체 패키지에 대한 정보 출력
  • yum history : 패키지 설치, 삭제 등 작업 이력 확인
  • yum remove 패키지명: 지정한 패키지 제거
  • yum search 문자열: 해당 문자열이 포함된 패키지 검색
  • yum groupinstall 패키지명: 지정한 패키지 그룹 설치
  • yum install 패키지명: 의존성을 고려하며 패키지 설치
  • yum list update: 업데이트시 필요한 패키지 정보
  • yum info: 패키지 정보 출력
  • yum check-update: 업데이트가 가능한 패키지 목록 확인
  • yum grouplist : 설치된 패키지의 그룹별 정보//groupinfo 낚시 주의
  • yum groupinfo : 해당 패키지 그룹명과 관련된 패키지의 정보를 보여준다.

rpm 명령어(Redhat)

  • rpm -i 패키지명 : 설치
  • rpm -qa 패키지명 : 확인
  • rpm -e 패키지명 : 제거
  • 옵션
    • -q : 패키지 설치 여부 확인
    • -a : 모든 패키지 확인
    • -i : 패키지 설치
    • -U : 설치 + 업데이트
    • -F : 설치

압축 ★★★★★

  • compress, uncompress (압축명: .Z)
  • xz, unxz (압축명: .xz), 옵션 ‘-d’(압축해제)
  • gzip, gunzip (압축명: .gz)
  • bzip, bunzip (압축명: .bz2)

압축률 순위: Z(compress) < gzip(gz) < bz2(bzip) < xz(xz)

압축해제

  • tar : Tape Archive
  • tar gzip - .zxvf
  • tar jxvf - .bzip2
  • tar Jxvf - .xz
  • tar 옵션
    • a 옵션 : (append) 파일 내의 기록에 다른 파일 내용을 추가로 묶음
    • c 옵션 : (create) 새 파일을 만듦
    • x 옵션 : (extract) 기록에서 파일을 발췌
    • t 옵션 : (list) 압축된 파일 안에 있는 구성 파일 출력

컴파일순서 ★★

  • configure - make - make install
  • configure 했을 때 Makefile이라는 파일이 나옴

온라인 패키지 관리 도구 ★★★★★★★

배포판 계열패키지 관리 도구명령어패키지 형식설명
Debian/UbuntuAPT, dpkg, alien, dselectapt, dpkg(온라인).deb의존성 관리 자동화, 직관적
RedHat/CentOS**YUM / DNF / rpm **yum, dnf.rpmYUM은 느림, DNF는 더 빠름
ArchPacmanpacmantar.zst가볍고 빠른 패키지 관리자
OpenSUSEYaST, Zypperzypper.rpmOpenSUSE 전용 패키지 관리자
  • alien : 래드햇 패키지(.rpm)을 데비안 패키지(.deb)로 변환해주는 패키지 관리 도구(Debian)

편집기 ★★★★★★★

  • pico nano 순서대로 자주 나옴
vi       1976 빌조이
emacs    1984 리차드 스톨만
pico     1989 아보일카사르
VIM      1991 브람 무레나르
nano     1999 크리스 알레그레타
gedit    2001 파올로 매기
kate     2001  크리스토프 컬만
Sublime Text 2008 스키너
Atom     2014 크리스트 완스트라스, 네이선 소보, 벤자민 오글

vi편집기 ★★★★★

  • 가장 많이 쓰이는 편집기로써 1976년 빌 조이가 만듦
  • 단축키
    • a 커서 뒤부터 입력
    • A 줄의 마지막에 입력
    • i 현재 문자 앞에 입력
    • I 줄의 시작 부분에 입력
    • o 현재 줄 다음 줄에 입력
    • O 커서가 있는 줄 위에 입력
    • :% s/^linux/Linux/ : 파일 전체의 linux로 시작하는 줄을 Linux로 치환 (줄의 첫부분)
    • <>는 완벽하게 같은 경우에만 바꾸라는 것(문자 단위)
  • 설정
    • set nu : 숫자 표기
    • set ai : 자동 들여쓰기 옵션 윗 라인에 맞춰 같이 자동으로 들여쓰기
    • set ic : 검색 패턴 사용 시 대소문자 구별 X
    • set sm : 소스 코딩 작성 중 괄호를 닫을 때 어디에 있는 열기 괄호와 연관 되어 있는지 표시
    • set list : 눈에 보이지 않는 특수문자를 표시

vim

  • 브람 무레나르
  • 편집시 다양한 색상을 이용하여 가시성을 높일 수 있다.

emacs ★★★★★

  • 리차드 스톨만
  • [Ctrl]+[x] - [Ctrl]+[s] : 파일 저장
  • [Ctrl]+[x] - [s] : 현재 열려있는 버퍼 저장
  • [Ctrl]+[b] : 이전(뒤) 칸으로 이동
  • [Ctrl]+[f] : 다음(앞) 칸으로 이동
  • [Ctrl]+[p] : 이전 줄로 이동
  • [Ctrl]+[n] : 다음 줄로 이동
  • [Ctrl]+[a] : 줄의 시작으로 이동
  • [Ctrl]+[e] : 줄의 끝으로 이동

nano ★★★★★

  • GNU 프로젝트
  • Ctrl + A 줄의 처음으로 이동
  • Ctrl + E 줄의 끝으로 이동 (End)
  • Ctrl + P 커서를 윗줄로 이동 (Previous)
  • Ctrl + N 커서를 아랫줄로 이동 (Next)
  • Ctrl + Y 이전 페이지로 이동
  • Ctrl + V 다음 페이지로 이동
  • Ctrl + K 한줄 삭제 (Kill)
  • Ctrl + U 붙여넣기
  • Ctrl + O 저장
  • Ctrl + X 종료

crontab(★★★★★★★)

0 7 1 1-10/2 * /bin/vipcheck.sh
매년 1월부터 10월까지 두달 주기로 1일날 오전7시 /bin/vipcheck.sh 스크립트를 실행
[분 시 일 월 요일]

프로세스 상태 코드

코드의미
R실행 중 또는 실행 가능
S잠자고 있음 (Interruptible sleep)
D깨울 수 없는 잠자기 상태
T중지된 상태 (Stop)
Z좀비 상태 (Zombie)
X종료된 상태 (Dead)
W페이지 교체 대기 상태
<우선 순위가 높은 상태
N우선 순위가 낮은 상태
L메모리에 고정된 상태

프로세스 명령어(★★★★★★★)

  • ps : 현재 실행 중인 프로세스의 상태를 출력하는 명령어
  • pstree : 실행 중인 프로세스를 트리(tree) 구조로 출력하는 명령어
  • top : 프로세스 상태를 실시간으로 확인하거나, 모니터링 하는 명령어
  • nohup : 프로세스를 중단하지 않고, 백그라운드(background) 작업을 수행 명령어
  • ss : 소켓 통계, 네트워크 연결, 프로토콜 사용 현황 등을 확인하는 명령어
  • netstat : 네트워크 상태와 관련된 통계. 네트워크 연결, 라우팅 테이블, 인터페이스 등을 확인하는 명령어
  • ethtool : 네트워크 인터페이스 카드의 조회 및 설정
  • mii-tool : 랜카드의 속도, duplex모드, 네트워크 점검 등에 사용하는 명령어
  • jobs : 백그라운드로 실행중인 프로세스를 확인하는 명령어
  • fg : 프로그램을 포그라운드(foreground)로 전환하는 명령어
  • bg : 프로그램을 백그라운드(background)로 전환하는 명령어
  • nice : 실행할 프로그램의 우선순위를 지정하고, 우선순위 설정값을 확인하는 명령어
  • renice : 이미 실행 중인 프로세스의 우선순위를 변경하는 명령어
  • kill : 프로세스에 특정한 시그널(signal)을 보내는 명령어
  • killall : 프로세스 번호가 아닌 프로세스 명으로 종료시키는 명령어

ps 명령어

PS(process status)명령어 : 실행중인 프로세스 상태를 보여줌

  • System V계열: 대시 ”-” 사용
  • BSD 계열:대시 사용 안함
  • GNU 계열: 대시 두개 ”—” 사용

옵션(BSD계열)

  • a: 현재 실행중인 모든 프로세스 출력
  • u: 사용자 이름과 프로세스 시작 시간 출력
  • x: 접속된 터미널뿐만 아니라 사용되고 있는 모든 프로세스들 출력

옵션(System V 계열)

  • A(System V 계열):모든 프로세스 출력
  • e:모든 프로세스를 출력 (-A 옵션과 같음)
  • a:세션 리더(로그인 셸)를 제외하고 터미널에 종속되지 않는 모든 프로세스를 출력

용어설명 (★★★★★★★)

1. init (런레벨) : 재부팅과 종료레벨 있음 0~6까지 7단계 구분
2. inetd (internet service daemon의 약자) : 다른 데몬들을 제어, 연결하는 역할을 하는 데몬
3. standalone :백그라운드 요청 기다렸다가 요청이오면, 혼자 처리하는 방식
4. daemon : 프로세스로 메모리에 상주해 있다가 사용자 요청이 오면 응답하는 프로세스
5. top : 실시간으로 CPU 사용량을 확인할 이용하는 명령어
6. pgrep : 실행 중인 프로그램의 프로세스 ID를 찾을 있는 명령줄 유틸리티
7. nohup : 프로세스를 중단하지 않고, 백그라운드 작업을 수행할 있게 하는 명령어
8. free : 시스템에서 사용하지 않는 메모리와 이미 사용하고 있는 메모리의 전체 용량
특징Standalone 방식inetd 방식
서비스 실행서비스가 독립적인 프로세스로 실행inetd가 서비스를 대신 실행하고 관리
자원 소비각 서비스가 별도의 프로세스로 자원 소모가 많음클라이언트 요청이 들어올 때만 프로세스 실행, 자원 소모가 적음
서비스 관리개별적으로 독립적으로 관리inetd를 통해 여러 서비스를 중앙에서 관리
서비스 시작서비스가 항상 실행 중이고, 요청에 따라 처리요청이 들어올 때마다 서비스를 실행하고 종료

강제설치

--nodeps : 의존성 관계를 무시하고 설치
--force : 기존에 설치된 패키지와 관계없이 강제로 설치

/etc/passwd

필드 1 : 사용자명
필드 2 : 패스워드
필드 3 : 사용자 uid
필드 4 : 사용자 gid
필드 5 : 사용자 이름
필드 6 : 사용자 디렉토리
필드 7 : 사용자 로그인

/etc 파일들

/etc/shells

  • 사용 가능한 셸 목록을 저장하고 있는 파일

/etc/bashrc

  • 별칭(alias)과 bash가 수행될 때 실행되는 함수 제어와 관련된 설정 값을 저장하고 있는 파일

/etc/passwd

  • 리눅스 계정 정보를 저장하고 있는 파일
  • 필드
    • 필드 1 : 사용자명
    • 필드 2 : 패스워드
    • 필드 3 : 사용자 uid
    • 필드 4 : 사용자 gid
    • 필드 5 : 사용자 이름
    • 필드 6 : 사용자 홈 디렉토리
    • 필드 7 : 사용자 로그인 쉘

/etc/profile

  • 시스템 전역(모든 사용자)에 대한 환경설정 파일. 로그인시 설정 내용을 읽어들임. 시스템 전반적인 환경값들을 설정.

/etc/resolv.conf

  • DNS(nameserver)

/etc/bash_profile

  • bash 쉘로 로그인 되었을 경우에만 적용

/etc/mtab

  • 현재 마운트된 정보를 담는 파일

/etc/fstab

  • 부팅 시에 자동으로 마운트 될 정보를 담는 파일
  • fstab에 입력하고 mount -a하면 마운트됨

사용자별 파일

~/.bash_profile

  • 개인 사용자에 대한 환경설정 파일. 로그인시 설정 내용을 읽어들임. 각 사용자 환경에 맞는 설정

~/.bashrc

  • 별칭(alias)과 bash가 수행될 때 실행되는 함수를 제어하는 지역적인 시스템 설정과 관련된 파일이다.
  • 이들 별칭과 함수들은 오직 해당 사용자에게만 한정되며, 그 이외의 다른 사용자에게는 영향을 미치지 않는다.

~/.bash_logout

  • 개인 사용자가 로그아웃을 수행하는 설정을 지정하는 파일

nice renice(★★★)

기본값 10 / -20 ~ 19
값이 작을수록 우선순위 높음
 
(1) # nice --10 bash [감소]
(2) # renice -10 1222 [바로설정]
 renice 명령에서 우선순위를 높이기 위해서는 --10이 아닌 -10을 입력해야합니다.
 
*renice -10 7847 = 현재 값에서 -10이 계산되는게 아니라 그냥 -10
* 리눅스에서 지정 가능한 NI 값중 순위가 가장 높은 것은?
-21, [-19], 0, 19

인터넷

  • 사파리 - 애플
  • 오페라 - 노르웨이
  • 크롬 - 구글
  • 파이어폭스 - 모질라

리눅스 툴 (★★★★)

  • Libreoffice Writer 문서 작성기
  • Libreoffice Impress 파워포인트
  • Libreoffice Calc 스프레드 시트, 엑셀
  • Libreoffice Draw 그림판

프로토콜 포트번호

[응용 계층 프로토콜]

  • FTP - 20, 21
  • SSH - 22
  • Telnet - 23
  • SMTP - 25
  • DHCP - 67, 68
  • TFTP - 69
  • HTTP - 80
  • POP3 - 110
  • IMAP - 143
  • SNMP - 161, 162

프로토콜 분류

[네트워크 계층 프로토콜] IP, ICMP, IGMP, ARP, RARP

[전송 계층 프로토콜] TCP, UDP

[응용 계층 프로토콜] FTP, SSH, Telnet, SMTP, DHCP, TFTP, HTTP, POP3, IMAP, SNMP

ssh

  • SCP(Secure Copy Protocol)
    • SSH를 사용하여 파일을 안전하게 전송
  • RSH(Remote Shell)
    • 원격 시스템에서 명령어 실행
  • SFTP(SSH File Transfer Protocol)
    • SSH를 사용한 파일 전송 프로토콜

TCP / UDP

TCP
- 연결지향
- 3-way handshaking 연결 방식
- 전송신뢰 가능
- 빠르지만 UDP보다 느림
- 부하 낮지만 UDP보다 높음
 
UDP
- 연결
- 전송을 신뢰할 없다.
- 속도 매우 빠르다
- 부하 매우 낮음

네트워크 설정 명령어

 ifconfig : IP 주소를 설정하거나, 활성화/비활성화, 인터페이스 정보를 출력하는 명령어
 route : 패킷을 전송할 있도록 목적지까지 경로를 설정 관리하는 명령어
 ping : 네트워크 또는 호스트들의 연결 상태를 확인하는 명령어
 traceroute :  특정 네트워크 호스트까지 도달하는 경로를 출력하는 명령어
 netstat : 현재 시스템의 네트워크 연결 상태를 확인하는 명령어
 arp : ARP 테이블을 설정하고 확인하는 명령어
 ethtool : 네트워크 인터페이스의 물리적 연결 상태를 확인하는 명령어

route 명령어

  • 디폴트 게이트웨이 추가: route add default gw x.x.x.x
  • 네트워크 경로 추가: route add -net x.x.x.x netmask x.x.x.x gw x.x.x.x
  • 호스트 경로 추가: route add -host x.x.x.x dev [인터페이스명]

xhost와 xauth

xhost

  • IP나 도메인명을 이용해서 서버 접속 요청
  • 형식: xhost [+][-][ip|도메인명] xauth
  • .Xauthority 파일의 쿠키 내용을 추가, 삭제, 리스트를 출력하는 유틸리티
  • 형식: xauth [옵션]

데스크톱 환경 및 기타 용어

  • 데스크톱 환경: GUI 환경을 이용하기 위해 사용자에게 제공되는 인터페이스 스타일
  • 윈도 매니저: X-윈도우상에서 윈도우의 배치와 표현을 담당하는 시스템 프로그램
                 도크(Dock), 태스크 바(Task bar), 프로그램 런처(Program launcher), 데스크톱아이콘(Desktop Icon),
                 바탕화면(Wallpaper) 등과 같은 다양한 유틸리티 제공
  • 디스플레이 매니저: X-윈도우 구성요소 중 사용자 로그인 및 세션 관리 역할 수행 프로그램
                      그래픽 모드에서 실행되는 것으로 XDM, GDM, KDM 등이 있음
  • 유저 인터페이스 : 사람들이 컴퓨터와 상호 작용하는 시스템

SaaS / IaaS / DaaS / PaaS

SaaS: 클라우드 환경에서 동작하는 응용 프로그램들을 서비스
IaaS:서버와 스토리지 같은 IT 하드웨어 자원을 빌려주는 클라우드 서비스
DaaS: 사용자에게 가상화된 데스크톱을 아웃소싱 형태로 전달하는 서비스
PaaS: 소프트웨어 서비스를 개발하기 위한 플랫폼을 제공하는 클라우드 서비스

국제기구들 ★★★★

ICANN : IP 주소 할당 도메인
IEEE  : LAN,MAN
ISO   : OSI7계층
EIA   : RS-232C, T568B케이블 배열 표준화기구
IANA  : 인터넷 주소 할당 번호 관리기관

서비스 플랫폼 및 리눅스 커널 기반 OS ★★★★★

리눅스 커널 기반 OS

 - webOS - 리눅스 커널 기반 모바일 OS

  • Tizen - 리눅스 커널 기반 OS
  • QNX - 유닉스 계열 서버 OS
  • GENIVI - 리눅스 커널 기반 OS / 오픈소스 기반의 차량 멀티미디어 플랫폼 표준

서비스 플랫폼

  • Ansible : 구성 관리, 애플리케이션 배포 및 작업 자동화에 사용되는 오픈 소스 자동화 도구
  • OpenStack : 프라이빗 및 퍼블릭 클라우드 구축하고 관리. 오픈 소스 클라우드 컴퓨팅 플랫폼
  • Kubernetes : 컨테이너화된 애플리케이션의 배포. 확장 및 관리를 자동화하도록 설계된 오픈 소스 컨테이너 오케스트레이션 플랫폼. 구글에 의해 설계되었고 현재는 리눅스 재단에서 관리
  • Docker : 경량화된 가상화 기술. 하이퍼바이저나 게스트OS 없이 서버 운영에 필요한 프로그램과 라이브러리 만 격리해서 설치 및 운용 가능

GNOME 응용프로그램

totem     : 동영상 플레이어
evolution : 메일, 주소록, 일정 개인 정보 관리
evince    : PDF 뷰어 (영단어로 '분명히 나타내다')
Eog       : 그래픽뷰어
GIMP      : 그래픽 편집

이메일 프로토콜

SMTP = Simple Mail Transfer Protocol = 이메일 전송에 사용되는 프로토콜
 
IMAP = Internet Message Access Protocol
이메일 서버와 클라이언트 간의 효율적인 이메일 동기화 공유를 위한 프로토콜
 
POP3 = Post Office Protocol 3 = 이메일 수신에 사용되는 프로토콜
전자 우편 서비스를 제공하기 위해서는 설명한 개의 프로토콜을 함께 사용해야함.

fdisk ★★★

기능: 디스크의 파티션 생성, 삭제, 보기 파티션을 관리한다.
형식: -b 크기 섹터 크기를 지정한다.
      -ㅣ 파티션 테이블을 출력한다.
내부 명령
a -파티션의 부트 가능 플래그를 전환합니다.
c -파티션의 DOS 호환성 플래그를 전환합니다.
d -파티션을 삭제합니다.
l -fdisk에 알려진 파티션 유형을 나열합니다.
m -모든 사용 가능한 메뉴 목록을 표시합니다.
n -새 파티션을 추가합니다.
p -현재 디스크에 대한 파티션 테이블을 출력합니다.
q -변경사항을 저장하지 않고 종료합니다.
t -파티션에 대한 파일 시스템 유형을 변경합니다.
u -표시/항목 단위를 변경합니다.
v -파티션 테이블을 검증합니다.
w -파티션 정보 저장 종료합니다.
x -다음의 전문가용 추가 기능을 나열합니다.

fork / exec ★★★★★

fork
- 새로운 프로세스를 위해 메모리를 할당받아 복사본 형태의 프로세스를 실행하는 형태로
- 기존의 프로세스는 그대로 실행되어 있다.
 
exec
기본 프로세스가 교체되면서 새로운 프로세스로 할당하는 명령

데스크톱환경 ★★★★

KDE : 유닉스 워크스테이션을 위한 강력한 오픈소스 GUI 데스크톱 환경
       Qt(C++ 확장 라이브러리) 기반으로 만들어짐
       쉬운 사용법, 유닉스 운영체제의 기술력을 바탕
       
Xfce : 다양한 유닉스 운영체제들을 위한 가벼운 데스크톱 환경
       생산성 높은 디자인, 높은 프로그램 실행 속도, 낮은 시스템 리소스 점유율 등이 강점
       
LXDE : 컴퓨터 사양에 상관없이 사용할 있도록 설계된 데스크톱 환경
 
GNOME : 리눅스 유닉스 계열 운영 체제를 위한 그래픽 사용자 인터페이스(GUI) 기반

프로토콜 ★★

1. IRC : 실시간 채팅 프로토콜 / 파일 전송기능도 제공
2. NFS : 네트워크상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유하여
				 상대방의 파일 시스템 일부를 자기 자신의 디렉터리인것처럼 사용
3. SAMBA : 리눅스, 유닉스 계열의 OS와 윈도의 OS간 자료 공유 하드웨어를 공유
4. Usenet : 텍스트 형태의 기사들을 주고 받을 있는 게시판

서버 가상화 ★★★

[ KVM ]
- 전가상화 기술을 지원
- QEMU라는 CPU 에뮬레이터 사용
- 전용 하이퍼 바이저가 아닌 Linux 자체를 호스트 OS로 이용
 
[ XEN ]
- 전가상화 기술과 반가상화 기술을 모두 지원
- 베어메탈 방식의 하이퍼 바이저이므로 호스트 OS가 존재하지 않는다.
- Domain 0이라는 특수한 Domain이 존재. 도메인을 제어한다.
 
[VirtualBox]
- 이노테크(InnoTek) 개발 현재는 오라클이 개발 중인 상용, 사유 소프트웨어(제한된 GPL 버전)
- 가상머신 생성시 기본 확장자: vdi

쿼터설정

1. quota : 현재 사용자 단위 쿼터 정보를 출력한다
2. edquota : 편집기(editor) 사용하여 그룹에 디스크 사용량 할당, 실행시 vi 편집기 실행됨
3. repquota : 시스템 단위 쿼터 정보를 요약하여 출력한다
4. xfs_quota : CentOs 7에서 사용자의 디스크 사용량을 제한할 사용하는 명령어
 
edquota -a
-특정 사용자의 쿼터를 다른 사용자에게 동일하게 설정
 
edquota -p 이름1 이름2
- 이름1에게 설정된 쿼터를 이름2에게도 적용
 
1) quotaon : 쿼터를 활성화하는 명령어
2) quotaoff : 파일시스템에 적용된 쿼터의 사용을 중지하는 명령어
3) quotacheck : 모든 파일 시스템을 점검하고, 쿼터 설정 및 기록 파일 갱신하는 명령어
 
[개념 보충 _ 쿼터를 설정하는 과정]
quotacheck edquota quotaon repquota

IPv4 / IPv6

항목IPv4IPv6
주소 크기32비트 (4바이트)128비트 (16바이트)
주소 수약 43억 개 (고갈됨)2¹²⁸개 (사실상 무한)
표기법10진수 점(.) 표기법16진수 콜론(:) 표기법
보안별도의 보안 프로토콜 필요IPSec 기본 내장
자동 구성DHCP 필요자동 주소 구성 지원
단편화발신자와 라우터 모두 가능발신자만 단편화 가능
브로드캐스트지원 (Broadcast 사용)멀티캐스트/애니캐스트 지원
QoS 지원제한적Flow Label로 QoS 지원
전환IPv6와 호환되지 않음듀얼 스택, 터널링, NAT64

클러스터 ★★★★★

1. 고계산용 클러스터 : 베어울프, 슈퍼컴퓨터
2. 부하분산 클러스터 : LVS, 로드밸런서, 대규모 서비스
3. 고가용성 클러스터 : 연속적인 서비스 제공을 위하여 사용
                    부하 분산기와 백업 서버 사이에서 주기적으로 통신
                    
LAN Ethernet,token ring,FDDI
- Token Ring : IBM에 의해 개발, 데이터 전송을 위해 네트워크 채널을 사용하려면 일종의 사용권을 획득해야 한다  
- Ethernet : 데이터 전송을 위해 네트워크 채널을 사용하려면 일종의 사용권을 획득해야 한다  
              MAC 주소를 기반으로 상호간에 데이터를 주고받을 있도록 설계되었다.  
-  X.25 : WAN 상에서 널리 쓰이는 프로토콜. 최근에는 X.25를 기반으로 하는 프레임릴레이(Frame Relay) 나왔다  
          패킷망에서 DCE(회선 종단 장치) DTE(데이터 단말 장치) 사이에 이루어지는 상호 작용을 규정한 프로토콜  
- FDDI : 광섬유 케이블을 사용하여 설계된 구조의 통신망. 엑세스 제어는 토큰 패싱 방법 채택
MAN DQDB
WAN 회선교환망 PPP,HDLC
    패킷교환망 X.25,ATM,Frame-Realy

LAN 통합 통신장비

리피터 : 전송신호를 증폭, 재생하여 전달(OSI1)
브리지 : 두개의 근거리통신망(LAN) 상호 접속해 주는 연결장치(OSI2)
라우터 : LAN을 연결해주는 장치 / 가장 적절한 통신 통로를 이용(OSI3)
게이트웨이 : 프로토콜이 다른 통신망을 상호 접속하기 위한 장치 (OSI4)

OSI 7계층 (★★★★★★★)

1. 물리계층
네트워크의 전기적, 물리적 연결 담당
관련장비 : 허브, 리피터
 
2. 데이터 링크 계층
신호 충돌 현상이 발생하지 않도록 회선 제어 기능
오류검출, 오류제어
각 노드는 식별가능한 MAC주소를 가지고 있다.
2개의 노드가 직접 연결돼있을때 프레임단위 데이터 전송 수행
관련장비 : 브리지, 스위치
 
3. 네트워크 계층
노드간 경로 설정하는 라우팅 기능
데이터를 패킷 단위로 분할 / 논리주소를 설정해 전송
관련장비 : 라우터
 
4. 전송계층
송수신 프로세스 연결 제공, 신뢰성 있는 통신 도움
주소 및 포트지정, 연결제어, 오류복구, 흐름제어
TCP/IP
 
5. 세션계층
세션 설정 및 유지, 동기, 대화기능
노드간 메세지 단위로 데이터 전송
 
6. 표현 계층
송수신자가 동일한 표현 방식을 사용할 수 있도록 기능 제공
데이터 암호화와 해독, 압축 해제 기능 제공
 
7. 응용 계층
사용자에게 편리항 응용 환경 제공
SMTP,FTF,HTTP 등 

네트워크 토폴로지(★★★★★★★★)

1. 스타
중앙 노드와 사용자 노드가 point-to-point방식으로 연결
중앙 노드가 고장나면 전체 네트워크가 고장
 
2. 버스
단일 회선에 사용자노드가 T자모양으로 연결됨
하나의 회선에 연결되어 설치 비용 저렴
노드 증가시 네트워크 성능 저하
 
3. 링
노드가 원형으로 연결됨
하나의 회선에 연결되어 설치 비용 저렴
한 노드에 장애 발생시 전체 네트워크 중단
 
4. 망
서로 그물처럼 연결된 네트워크
특정 노드에 장애가 발생해도 다른 경로로 전송 가능
설치 관리 재구성이 어렵고 비싸다

[클래스별 IP특징]

 A Class : IP 주소 번째 부분의 1비트가 0인 경우이다.
					: 0.0.0.0 ~ 127.0.0.0 [/8]
 B Class : IP 주소 번째 부분의 2비트가 10인 경우이다.
					: 128.0.0.0 ~ 191.255.0.0 [/16]
 C Class : IP 주소 번째 부분의 3비트가 110인 경우이다.
					: 192.0.0.0 ~ 223.255.255.0 [/24]
 D Class : IP 주소 번째 부분의 4비트가 1110인 경우이다.
					: 224.0.0.0 ~ 239.255.255.255 [N/A]
 E Class : IP 주소 번째 부분의 4비트가 1111인 경우이다.
					: 240.0.0.0 ~ 247.255.255.255 [N/A]

저널링

디스크에 기록되는 데이터의 복구 기능을 강화한 것

  • 데이터를 디스크에 기록하기 전에 먼저 저널에 수정 사항을 기록
  • 저널은 쉽게 말해 로그 기록 같은 것
  • 따라서 디스크에 데이터를 기록하기 전에 갑자기 전원이 나가거나 시스템에 충돌이 발생할 경우, 이 저널의 기록을 보고 빠르게 복구 가능

시그널값

리눅스 시그널 값 표

  • 강제 종료: SIGKILL (9), 중단 불가능.
  • 중지/재개: SIGTSTP (20), SIGSTOP (19), SIGCONT (18).
  • 프로세스 제어: SIGHUP 재시작 (1), SIGINT Ctrl+C (2), SIGTERM (15).
  • 디버그 및 오류: SIGSEGV (11), SIGILL (4), SIGBUS (7), SIGFPE (8)
  • SIGSTOP Ctrl + Z
  • SIGTSTP Ctrl + z