코딩두의 포트폴리오

리눅스 마스터 2급 2차 정리 본문

Linux/리눅스 마스터 2급

리눅스 마스터 2급 2차 정리

코딩두 2024. 8. 29. 16:45

합격 기준

 

시험 내용

 

리눅스 일반

리눅스 이해 - 리눅스의 개요, 역사, 철학

특징

오픈 소스 운영체제

- 소스코드 및 모든 관련 자료가 공개

멀티유저(다중 사용자), 멀티태스킹(다중 작업)을 지원

- 멀티유저 기능은 여러 사용자가 동시에 동일한 시스템에 접근 가능

- 멀티태스킹은 여러 개의 태스크를 동시에 실행하고, 교대로 컴퓨터의 자원을 사용할 수 있는 기능

다중 스레드를 지원하는 네트워크 운영체제

- 하나의 프로세스 내에서 여러 개의 네트워크 작업을 동시에 처리할 수 있기에 강력한 네트워크 지원이 가능

- 네트워크 서버로 사용이 가능하고, 인터넷과 이더넷에 안정적으로 연결이 가능

- 웹 브라우저, 메일, 뉴스, 웹 서버 등의 모든 인터넷 서비스 가능

여러 종류의 파일 시스템을 지원하는 운영체제

- 리눅스의 기본 파일 시스템인 ext2, ext3, ext4, DOSFAT16, WindowFAT32, NTFS, 네트워크 파일 시스템 SMB,         CIFS, NFS 등도 지원

장점

  • 유닉스와 완벽하게 호환
  • PC용 운영체제보다 안정적
  • 하드웨어 기능을 효과적으로 사용
  • 오픈소스 운영체제

단점

  • 공개 운영체제이기에 문제 발생 시 기술 지원을 받는데 한계가 있음
  • 한글 지원 미흡
  • 보안상의 취약점 쉽게 노출될 가능성 있음

역사

[1960년대 후반]

1969년 프로젝트에 참여했던 벨 연구소 연구원 켄 톰슨이 초기 형태의 UNIX를 개발

[1970년대]

1971년 벨 연구소의 데니스 리치가 C언어를 개발함으로써, 어셈블리 언어로 되어 있던 UNIXC언어로 재작성

[1980년대 초중반]

1985년 리처드 스톨먼은 FSF 라는 비영리 단체를 설립 후 'GNU 선언문'을 발표

1987년 앤드루 스튜어트 타넨바움은 MINIX를 개발

[1990년대 초중반]

핀란드의 헬싱키 대학의 리누스 토발즈가 MINIX의 커널 소스를 고쳐 GNU 시스템에 적합한 커널을 개발

 

Command Stack

령어 설명 ex 비고
umask 파일, 디렉토리 생성 시
기본 권한 설정
umask 0222 (file) == 666-022 = 644 권한 제한
lsblk (ls block) 스토리지 정보 lsblk -옵션 lspci - 설치된 PCI 관련 장치 목록 확인
blkid (block id) 블록의 UUID blkid/dev/sda1  
mount mount A B (A를  B에 mount) mount -o remount.rw.home -t: 파일시스템 유형 지정
-o: 마운트 시 사용할 옵션 지정
결과: dir type ..
umount mount 해제   unmount (X)
chsh (일반 사용자 환경에서)
셸 변경
chsh [옵션] [사용자명] -s (shell) (새로운) 로그인 셸 변경/ 다른 셸
-u (UID) User ID 변경
-l (list) 목록) 시스템에서 사용 가능 셸목록
-h (help) 도움 / 설치 옵션 확인
nohup (no hang up)
세션이 종료되더라도 프로그램이 종료되지 않음
   
fsck (file system check)
무결성 점검과 오류 복구
fsck -s 장치명 fsck - ext4 
/lost+found: 손상된 디렉터리, 파일 수정
(임시 디렉토리)
xfs_repair  무결성 점검과 오류 복구   xfs_repair - XFS
mke2fs 파일 시스템 포맷 (변경) mke2fs -j /dev/sdb1
mke2fs -t ext4/dev/sdb1
-t: 파일 시스템 지정
-o: 마운트할 옵션 지정
mkfs 파일 시스템 포맷 (생성) mkfs.xfs  

 

리눅스 운영 및 관리

파일 시스템 관련 명령어 - 권한 및 그룹 설정, 파일 시스템의 관리

ls 명령어

파일이나 디렉터리에 부여된 Set_UID, Set_GID와 같은 특수 권한 확인

권한

- rw-r-r--. 1 root grp 45 10월 11 13:44 tmp.txt

|영역|설명|
|--|--|
|- |파일유형 -:일반 파일, c: 문자 파일 ...|
| rw-r-r--. | 허가권 (사용자 - 그룹 - 제3자)|
|1 |링크 수|
|root | 소유자명|
|grp | 그룹명|
|45 |파일 크기|
|10월 11 13:44 | 최종 변경 시간
|tmp.txt| 파일명|

 

소유권 / 파일,디렉토리

명령어 설명 ex 비고
chown 사용자/그룹 소유권 변경 chown 소유자:그룹 파일명 루트 권한 필요
chgrp 그룹 소유권 (only) 변경 chgrp -c GROUP명 파일명
chown -R project /project
-R (-r 옵션은 없음)
-h (옵션 없이 심볼릭 링크 파일 바꿀 시 원본 파일 변경

 

허가권 (rwxrwxrwx) 

명령어 설명 ex 비고
chmod 파일/디렉토리 허가권 변경 chmod g -R /dir
chmod o=r -> other에 r(읽기) 권한만 부여
-R (recursive)
umask 기본 허가권 지정 umask -S 022 -> 파일 666, 디렉터리 777  
SetUID 소유자(사용자) 실행 권한에 UID 지정   둘 다 보안에 
취약
SetGID 그룹 실행 권한에 GID 설정  
Sticky 특정 디렉토리의 파일 삭제 권한
제 3자
실행 권한에 설정, a=w 이면 소유자/root 아니면 삭제 불가
Sticky-Bit 특정 디렉토리를 공유 디렉토리로 사용
stick bit은 사용자(u), 그룹(g)에 적용 X
 

w권한 - 파일 생성, 수정, 삭제

예제
예제
예제
예제

 

사용 모드 ( 사용자 - 그룹 - 제3자 ) / +

                       r           w          x

                       4           2          1

ex)

리눅스 기본 허가권 - 파일(666) / 디렉터리(777)

.txt 파일은 파일 -> 666

666 - 664(-rw-rw-r--) =0002

 

사용 기호 ( ex- chmod g+r lin.txt)

사용자 연산자 권한
u/g/o/a +-= rwx
user/group/other/all - -

all(모든 사용자) - 소유자, 그룹, 다른 사용자 모두 포함

x (실행) 권한부여

 

ext/xfs

ext - 리눅스 최초의 파일 시스템

ext2 - ext의 후속 버전

ext3 - 저널링 기능 도입

ext4 - ext3의 개선 버전

 

xfs - 고성능, 고확장성을 지닌 저널링 파일 시스템

 

Command of Disk Quata

명령어 설명 ex 비고
df (free) 디스크 사용 (남은)가능용량
- 분할된 파티션 단위
df -sh /home/USER
du (used) 디스크 사용된 용량 df -sh ~USER
fdisk 파티션 생성/수정/제거/유형지정 fdisk [옵션] [장치명]
fdisk -l : 현재 디스크의 파티션 테이블 정보
t : 파티션 속성 변경
n(new), w(write), q(quit), x(expert), d(delete)
[파티션 속성 변경 값]
Swap(82) / Linux(83) / LWM(8e) / Raid(fd)
quota 디스크 사용량 제한 및 현재 사용량 quota USER  
quotaon quota 실행    
edquota (edit quota) 쿼터 설정/변경
텍스트 편집기(인터페이스) 제공
edquota [옵션] [사용자/그룹명], edquota 사용자명 짧음
setquota (텍스트 편집기 X) 쿼터 설정/변경   -u
repquota 쿼터 요약하여 출력    
xfs_quota Centos 7에서 사용자의 디스크 사용량 제한 xfs_quota -x -c 'limit bsoft=100m USER명 /home -x -c
usrquota 사용자 할당량    
userquota /etc/fstab의 옵션 값    
blkid uuid 확인   uuid: 파티션 고유 번호
mount 사용자, 그룹 쿼터 활성화 sudo mount -o usrquota,grpquota /dev/sda1 /mnt sudo: 특정 명령어 실행 시 루트 사용자 권한

xfs.fsck -> CentOS에서 사용 X

fdisk 내부 명령

 

파일들

파일명 설명 비고
/etc/mtab 현재 시스템에 마운트된 파일 시스템 정보 /proc/self/mounts
/etc/mounts /etc/mtab/에 현재 마운트된 파일 시스템 정보 (가상 파일)  
-- --  
/etc/fstab (file sys table) 부팅 시 시스템의 마운트 정의 /dev/sdb1 /home ext3
/etc/mounts    
/etc/shells 사용 가능 셸 목록  
/etc/passwd 사용자 계정 정보, 로그인 셸 정보 필드1 (사용자명)
필드2 (패스워드)
필드3 (사용자 uid)
필드4 (사용자 gid)
필드5 (사용자 이름)
필드6 (사용자 홈 디렉토리)
필드7 (사용자 로그인 쉘)
-- --  
~/.bashrc 개인 사용자 alias, 함수  
~/.bash_profile 개인 사용자 환경변수  
etc/bashrc 모든 사용자 alias, 함수  
/etc/profile 모든 사용자 환경변수, 시작 설정  
-- --  
/etc/hosts domain - IP / 가상의 도메인 설정 (매핑) 별칭 부
/etc/resolv.conf domain - IP alias
네임스페이스 IP / DBS 서버 목록 / 도메인 이름 -> IP 변환
 
-- --  
/etc/services 네트워크 프로토콜에 할당된 포트 번호  
/etc/sysconfig/network 기본 게이트웨이, 호스트 이름, 네트워크 허용 여부 등  
~/.bash_history 로그인 후 입력한 명령들 저장되는 파일  
/usr/bin/passwd 특수 권한이 설정된 파일 /bin - 기본적인 명령어
/sbin - 시스템 관리를 위한 명령어
/etc/inittab 부팅 모드 설정 (X윈도 실행)  

 

리눅스 부팅 시 커널 init 1 프로세스 실행 / fork 형태로 복사

 

*/etc/fstab 출력 결과

[fs 장치명] [마운트포인트] [fs 유형] [fs 옵션] [dump 1-가능/0-불가능] [점검 0-X/1-루트/2-일반]

4번째 필드 == 마운트 옵션 정보 ex) noexec

<dump 명령> - 0(사용 안함) / 1(매일 수행) / 2(2일에 한 번)

Shell - 개념 및 종류, 환경설정

Command /file of Shell

명령어 설명 ex
chsh 셸 변경 -s (shell) 로그인 셸 변경
-u (UID) User ID 변경
-l (list) 목록
ps 현재 실행 process / 로그인 후 이용 중 셸 확인
ps -l : 우선순위값 확인
/etc/shells 사용 가능 셸 목록  
export 환경변수 설정  
set 로컬 셸 변수 (전부)조회 set -o: 쉘 옵션 활성화(설정)
set +o: 쉘 옵션 비활성화(설정 해제)
unset 셸 변수 해제  
env 글로벌 셸 변수 전부 조회/등록  
printenv 시스템 환경 변수 출력  
alias 명령어 별칭 추가 자주 사용하는 명령어를 특정 문자로 입력
unalias ls 명령어에 설정된 alias 해제 unalias ls
~/.bashrc 개인 사용자 alias, 함수  
~/.bash_profile 개인 사용자 환경변수  
etc/bashrc 모든(전체) 사용자 alias, 함수  
/etc/profile 모든(전체) 사용자 환경변수, 시작 설정  
~/.bash_history 로그인 후 입력한 명령들(기록) 저장되는 파일 cast -user명/ .bash_history
history 최근 명령어 N개 출력 history 5
!! 가장 최근(마지막) 명령 재실행  
!?al 최근 실행 중 'al' 문자열을 포함하는 명령 실행  
!!al 직전 실행 중 al 문자열  
!*al 현재 명령 라인의 모든 단어를 포함하는 명령 실행  
!5 히스토리 5번 해당 명령  

 

전역 변수

변수 설명 비고
SHELL 로그인 시 부여받은 셸 정보 echo $SHELL
LANG 언어 변수 en_US, UTF-8
PS1 주 프롬프트, 사용자명, 호스트명, 현재 디렉토리
셸 프롬프트 선언 시 사용
해당 유저, 호스트 도메인 정보 알리는 프롬프트 변경
PS2 보조 프롬프트, 명령행 연장 \ 2차 프롬프트 변경
PROMPT 현재 프롬프트의 형식 지정  
USER 사용자 명 echo $USER != echo $user
ex)
$USER 이므로 현재 사용자 ihduser 출력
HISTSIZE history 크기 지정, 개수 확인  
HISTFILESIZE history 파일 크기  
HISTORY 명령어 최근 개수만큼  
MAIL 메일 관련 파일  
MAILCHECK 메일 확인 시간  

명령행 히스토리 기능 - 사용한 명령어 확인

 

역사

  1. sh (Bourne Shell, 1979년): 유닉스 기본 셸로 사용됨.
  2. csh (C Shell, 빌 조이, 1978년): C 문법을 따름 / 히스토리, alias, 작업 제어 등
  3. tcsh (TENEX C Shell, 1980년대): csh의 확장판으로 자동 완성 및 히스토리 기능 강화.
  4. ksh (Korn Shell, 1983년): Bourne Shell 기반, C 셸 기능 통합.
  5. bash (Bourne Again Shell, GNU, 1989년): 리눅스 배포판에서 기본 셸로 사용됨.
  6. zsh (Z Shell, 1990년대): 고급 기능과 사용자 커스터마이징을 제공하는 셸.
  7. dash (Debian Almquist Shell, ash의 경량 버전): 주로 /bin/sh에 사용, POSIX과 호환, history 명령 지원 X

sh - csh - tcsh - ksh - bash - zsh - dash

 

프로스세 관리 - 개념 및 유형, 프로세스 Utility

Command / file of 프로세스

명령어 설명 ex
% 백그라운드 작업을 종료 kill %2: 2번 bg proc 종료
명령어 & 명령어를 백그라운드 프로세스로 실행  
kill -l 시그널 번호 확인 시그널은 프로세스 간 메시지 통신 시 이용
kill 종료 + PID / 명령어 뒤에 옵션 없을 시 디폴트 값인 15번 kill 1023
killall 종료 + 프로세스명  
ps fg+bg+daemon 확인 / 현재 실행중인 프로세스 상태

pstree ps인데 트리 구조로 보여줌  
bg bg process 재개 / 백그라운드로 전환  
jobs 현재 셸에서 실행 proc
특정 사용자가 백그라운드로 실행중인 프로세스 확인
 
fork 새로운 프로세스를 원래의 프로세스의 자식 프로세스로 관리(복제) 복사본
exec 셸 스크립트가 다른 프로세스로 대체  
top 모니터링, 실시간 확인
nice 프로세스의 NI값 설정 nice -n 10 [프로세스명]
renice NI값 재설정 renice -10 10648 [PID]
-- --  
ctrl + z 일시 중지, SIGSTSP(20)  
ctrl * d 현재 터미널 세션 종료 (로그아웃 원할 시 사용)  
ctrl * \ 종료, SIGQUIT(3)  

PID 1 = 시스템의 핵심이 되는 초기화 프로세스

PID 0 = 특별한 목적을 가진 프로세스 / idle 프로세스 나타냄 / 어떠한 작업 x -> CPU 점유

 

Kill (kill + PID, killall + 프로세스명)

%: 백그라운드 작업을 종료 ex) kill %2: 작업 번호 2번인 백그라운드 프로세스 종료

-l: 시그널 번호 확인 옵션

 

SIGNAL 이름, 번호

SIGHUP (1): 터미널 연결 끊김 또는 데몬 재시작 신호
SIGINT (2): 인터럽트 신호 (보통 Ctrl + C로 생성)
SIGQUIT (3): 종료 신호 (코어 덤프 생성) ctrl + \
SIGILL (4): 불법 명령어 실행 (코어 덤프 생성)
SIGTRAP (5): 트랩(디버거에서 사용) (코어 덤프 생성)
SIGABRT (6): 프로세스 중단 신호 (보통 abort 함수 호출로 생성) (코어 덤프 생성)
SIGBUS (7): 버스 에러 (잘못된 메모리 접근) (코어 덤프 생성)
SIGFPE (8): 부동소수점 예외 (코어 덤프 생성)
SIGKILL (9): 강제 종료 신호 (프로세스가 무시할 수 없음)

 -> ex) 프로세스 식별번호 2219, 222, 2238인 프로세스 강제 종료 --> kill -9 22{1,2,3}9


SIGUSR1 (10): 사용자 정의 신호 1
SIGSEGV (11): 잘못된 메모리 접근 (세그멘테이션 폴트) (코어 덤프 생성)
SIGUSR2 (12): 사용자 정의 신호 2
SIGPIPE (13): 파이프 쓰기 에러 (리더가 없는 파이프에 쓰기)
SIGALRM (14): 타이머 신호 (일정 시간이 경과했음을 알림)
SIGTERM (15): 종료 신호 (정상적인 종료 요청)
SIGCHLD (17): 자식 프로세스 종료 시 부모 프로세스에 알림
SIGCONT (18): 중지된 프로세스를 재시작
SIGSTOP (19): 프로세스 일시 중지 (무시할 수 없음)
SIGTSTP (20): 터미널에서 중지 (보통 Ctrl + Z로 생성)
SIGTTIN (21): 백그라운드 프로세스가 터미널 입력을 읽으려 할 때
SIGTTOU (22): 백그라운드 프로세스가 터미널 출력을 쓰려 할 때
SIGURG (23): 소켓에 긴급 데이터가 도착했음을 알림
SIGXCPU (24): CPU 시간 초과 (코어 덤프 생성)
SIGXFSZ (25): 파일 크기 초과 (코어 덤프 생성)
SIGVTALRM (26): 가상 타이머 신호 (가상 시간 초과)
SIGPROF (27): 프로파일링 타이머 신호 (프로파일링 시간 초과)
SIGWINCH (28): 윈도우 크기 변경
SIGIO (29): I/O가 가능함을 알림
SIGPWR (30): 전원 실패 신호
SIGSYS (31): 잘못된 시스템 호출 (코어 덤프 생성)

 

PS

System V: ps -ef 

ps -A : System V 계열에서 모든 프로세스를 출력

BSD: ps aux (실행중인 모든 프로세스 확인)

 

유형: fg / bg / daemon(3)

fg : 백그라운드 -> 포어그라운드로 전환

bg (ctrl +z) : 포어그라운드 -> 백그라운드 전환 시 실행중인 작업 일시 중지 후 ctrl+z

daemon : (백그라운드에서 실행) 주기적, 지속적인 서비스 요청을 처리하기 위해 계속 실행되는 프로세스

  • Standalone: 메모리에 상주(대기)하다가, 요청 시 즉각 처리 (빈번 요청 서비스에 적합, 서버 부하됨)
  • (x)inted: 잠자다가, 요청 시 구동 (메모리 관리에 좋음) / rlogin, rsh 등 자주 사용되지 않는 서비스 포트 리슨

STAT 코드

R (Running) - 실행 중

S (Sleeping) - 대기 중

T (Stopped) - 일시 중지

Z (Zombie) -부모 프로세스가 종료 상태 수집 X

 

H - 다중 스레드

N - 낮은 우선순위

< - 높은 우선순위

> - nice 명령에 의해 낮아진 우선순

 

*centOS7 리눅스에서는 부팅 시 systemd (PID 1)

~ centos6 -> eth0..eth1..

centos7 ~ -> enp0s3

 

NI 번호 (우선순위) nice + 명 / renice +PID

사용자 - NI / 커널 - PRI

--> ps -l 옵션을 써야 확인 가능

-20 ~ 19

 

nice --10 [프로세스명] (-10으로 설정)

nice bash bash 셸의 프로세스 ni값 10 ↑ == 우선순위↓

|renice| PID로 NI값 재설정 |renice -10 10648|

ex) -10으로 우선순위 설정 (명/pid 1222)

 

cron

7필드

[분] [시] [일] [달] [요일(0-일 ~ 6) [사용자] [명령어]

매주는 **이 두개

/ step values

* range

, list

  • /var/spool/cron/에 위치
  • 각 계정마다 사용 가능 /주기적인 작업 용도에 사용

ex) 5분 주기 -> */5

 

ex)
* * * * * 1분마다
30 * * * * 매 시 30분마다
0 0 10 * * 10일 00:00 마다
* * 10 * * 10일에 1분마다
0 0 10 4 * 4월 10일 00:00 마다

ex)
0-59/10 * * * * 10분마다

 

에디터 - 에디터의 종류, 에디터 활용

Command / file

명령어 설명
.exrc  vi 에디터 환경 설정

 

vi 편집기

ex) /etc/hosts 파일을 열면서 ihd라는 문자열이 있는 위치에 커서를 둔다

   -> vi +/ihd /etc/hosts

 

검색 모드

 /  : 검색어 입력
 n  : 다음 위치
 N  : 이전 위치
:^ : (Shift + 6) 맨 앞
:$ : (Shift + 4) 맨 뒤

 

편집 모드

 c  : 변경 명령 (특정 명렁어 실행)
 cw  : 변경 명령 of word
 r  : 하나의 문자를 다른 문자로 교체 / 스왑 파일 목록 확인

 R  : 읽기 전용 모드
 p  : paste

 u  : 명령 모드에서 바로 직전에 삭제한 줄 다시 복사

 dd  : 라인 잘라내기

 x  : 문자 잘라내기
 yy  : copy (현재 줄을 버퍼로 복사) -> 여러 줄 복사 시 Nyy

 

전환 모드

 :a  : 커서 한 칸 뒤로 -> 편집 모드
 :i  : 커서 해당 위치 -> 편집 모드
 o  : 커서 다음 줄 -> 편집 모드

e는 x

 

특정 모드 (지정 / 복구)

 vi -r line.txt  -> (recover) 파일 복구
 vi $ line.txt  -> 커서, 줄의 맨 끝
 vi - line.txt  -> 커서, 줄의 맨 앞

 vi + line.txt  -> 맨 끝 줄
 vi +10 line.txt1  -> 10번째 줄

 

ex 명령모드

w - 작업중인 내용을 저장

w 파일명 - 지정한 파일명으로 저장

wq - 변경된 내용을 저장하고 종료

q - 수정사항 무시하고 저장x, 강제종료

 

커서 키가 없는 자판 이용 시 

- h : 한칸 왼쪽으로

-  l : 한칸 오른쪽

- k : 한줄 위로

- j : 한줄 아래로

 

환경설정

set ai: 자동 들여쓰기 옵션 윗 라인에 맞춰 같이 자동으로 들여쓰기

set ic: 검색 패턴 사용 시 대소문자 구별 X

set list: 눈에 보이지 않는 특수문자 표시

 

치환

(1) % s/linux: 찾을 패턴linux.` : 대체 문자

ex) windows라는 문자열 -> linux 치환 -->   % s/windows/linux/g

(2) % s/^linux

: 라인 끝<: 단어 시작>` : 단어 끝

(3) % s/\<linux/Linux/g

(linux (단어) -> Linux)
\< : 문장 어디에 위치하든

 

vim

vi 편집기의 향상된 버전의 텍스트 편집기

행 번호 자동으로 표시 -> .vimrc 파일

 

~/.exrc (vi, vim 텍스트 편집기에서 사용되는 설정 파일) / 환경 설정

set ~~

ai (autoindent) 자동으로 들여쓰기, 행 바꿈 / 새로운 줄에서 바로 윗줄의 시작 열과 같은 위치에 커서 위치시킴
sm (showmatch) 괄호 하이라이트

nu (number) 줄(행)(라인)번호
nonu (no number)

ts (tab stop) 탭 간격 조절

ic (ignore case) 

list 눈에 보이지 않는 특수문자

텍스트 환경 기반의 콘솔 에디터 - vi, pico, emacs

편집기 개발자

  • vi - 빌)(vi) 조이
  • emacs - 리(e)처드 스톨만 / 제임스 고슬링이 LISP 언어 기반으로 기능 추가

편집기 옵션

  • vim - 브람(m) 브레나르
  • IDLE - 귀도 반 로섬

vi -> (pico -> nano) -> gedit

pico: 오픈소스 라이선스 x(아보일 카사르) / nano: (GNU) pico의 복제판

*kwrite, gedit: X윈도우에서만 사용 가능

 

소프트웨어 설치 - 개념 및 사용법, 소프트웨어 설치 및 삭제

패키지 관리 도구

명령어 온라인 / 오프라인 리눅스 계열 ex 및 설명
.exrc vi 에디터 환경 설정    
dnf 온라인 페도라 페도라도 레드햇 계열
zypper 온라인 수세  
apt-get 온라인 데비안 apt-get purge vsftpd: vs ftp d 패키지 + 환경 설정 파일 제거
Yast 오프라인 수세  
rpm 오프라인 레드햇(m) rpm -d nmap --nodeps
yum 오프라인 레드햇(m) yum remove PKG
dpkg 오프라인 데비안 dpkg -i tmp.deb / 기본 패키지 관리 도구
dselect 오프라인 데비안 커서 사용하여 메뉴 이동, 패키지 관리
alien 오프라인 데비안 다른 패키지 형식으로 변환

 

dpkg (데비안)

ex) dpkg -r cron

-r (--remove) : 제거 of 패키지
-E : 패키지가 기 설치된 경우, 설치를 무시하는 옵션
-P (--purge) : 제거 of 패키지 + 관련 설정 파일
-i (--install) : 패키지 파일 설치
-l (list) : 패키지 목록
-L [PKG] : 파일 from 패키지 목록

옵션

 

rpm (레드햇)

ex) rpm -e nmap --nodeps : 의존성이 있는 패키지를 제거

-f 라는 옵션은 없다~!

-e : 패키지 제거 옵션
--nodeps : 의존성 패키지 제거 옵션
-i: install
-F : freshen 업그레이드 / 기존 패키지 설치되어 있을 시
-U : upgrade 업그레이드 / 기존 패키지 설치되지 않았다면 일반적인 설치
-r : root 최상위 dir 지정

  • -q : 설치여부 / 파일목록
  • -qi : info / 설치된 모든 패키지 정보
  • -ql : list 패키지 파일들 출력
  • -qip .rpm : 패키지 파일
  • -qa : all / 모든 패키지
  • -qf : file 특정 파일을 설치한 패키지명 출력
  • -qV : 패키지 검증

yum (레드햇)

yum [옵션] [명령어] [패키지 명]

repository에 관련 패키지 모아둔

명령어 설명
yum info [PKG] 미설치된 pkg에 대한 정보 출력
yum remove [PKG] 시스템에서 pkg 제거
yum list 설치된 패키지 정보
yum history 작업한 목록 정보
yum install epel-relase 확장 패키지 관련 저장소 설치

(X) epel
(X) epel-repository
(X) epel-download

 

압축파일 확장자

tar

ex) tar jxvf file.bz2 압축 해제 / extratct
ex) tar jtvf file.bz2 내용 보기(리스트) / list
ex) tar cvf source.tar *.c 압축 / create

ex) tar rvf / append 아카이브의 마지막에 파일 추가

[파일확장자][공통옵션]

 

gzip -d 파일명: 파일 압축을 해제

gizp -l 파일명: 압축된 파일 정보 표시

gizp -v 파일명: 압축 과정을 표시

 

압축 효율성 좋은 순서

J(.xz) > j(.bz2) > z(.gz) > Z(compress)

 

공통옵션

c: create
x: 해제
t: 파일 내의 목록
v: 상세 정보 출력
f: 파일 이름 및 디렉토리 지정
p: 설치/미설치 패키지 파일 설명

-c : collect 디렉터리 묶음
-C : Change 디렉터리 변경

 

configure, make, make install

▶️ 프로그램을 소스 파일로 설치하는 과정
configure(Makefile 생성) → make(컴파일) → make install

       PATH / 환경설정           의존성 작업        디렉터리에 설치

make clean
(소스 파일의 압출을 푼 디렉터리에서 한 번 작업한 설정이나 관련 파일을 삭제하고 다시 설정 작업을 진행할 때 사용)

ex) configure --prefix=/usr/local/apache

ex) 아파치 웹 서버 프로그램이 설치되는 디렉터리를 /usr/local/httpd2로 지정해서 운영

  -> 소스 파일을 다운로드하여 디렉터리를 지정한 후에 설치

*MySQL, KDE, LMMS은 cmake로 설치함!

 

장치 설정 - 주변장치 연결 및 설정, 주변장치 활용

주변 장치의 종류 및 특징 (프린터 / 사운드카드 / 스캐너)

 

프린터

  1. LPRng
    1. BSD
    2. /etc/printcap
    • 초기: printtool, printconf
    • centOS: system-config-printer

 

레드햇: redhat-config-printer -> system-config-printer

2. CUPS (애플)

  1. UNIX
  2. /etc/cups

웹 서버의 Common Log Format 형태의 로그파일 제공

HTTP 기반의 IPP를 사용, SMB 프로토콜도 부분적으로 지원

CUPS 프린트 데몬의 환경 설정 파일의 기본문법인 아파치의 httpd.conf와 유사

제공하는 장치 드라이버는 어도비의 PPD 형식의 텍스트 파일 -> 이미지 파일 X

lpadmin 명령 사용

CUPS

 

IPP(Internet Printing Protocol): 인터넷상에서 원격으로 인쇄

 

사운드 카드

OSS

 - UNIX

 - POSIX(표준 유닉스 장치시스템 콜) 기반

 - hannu

ALSA

 - jaroslav

- alsactl

 

스캐너

SANE, XSANE(GTK+)

xcam - GUI 기반의 스캐너 도구

eject - 디스크 트레이 (CD-ROM) 여는 명령

 

Command of 라인 프린터(lp)

계열 명령어 설명
BSD lpq 1. 프린터 큐의 상태
Sys V lpstat 1. 프린터 큐의 상태
BSD lpr [OPTION][file(s)] 2. 인쇄 작업
BSD lprm 프린터 큐 작업 삭제
BSD lpc 프린터 인쇄 가능 상태 여부
Sys V lp 프린터 작업 제출
Sys V cancel 인쇄 작업 취소

 

RAID 0, 1, 5, 6

RAID 0 (Striping) / 안전성보단 성능 위주 / 복구X

*Striping: 연속된 데이터를 여러 개의 디스크에 RR(라운드 로빈) 방식으로 기록하는 기술 / 모든 디스크 사용

 

RAID 1 (Mirroring)

데이터를 두 개 이상의 디스크에 미러링(복제)하여 동일한 데이터를 저장하는 방식 / 개수의 절반을 백업에 사용

 

RAID 5 (1 parity) (min 3)

스트라이핑 + 패리티

데이터와 패리티 정보를 여러 디스크에 스트라이핑

패리티 정보는 데이터 복구에 사용 -> 디스크 하나 장애 발생 시 데이터 복구 가능

 

RAID 6 (2 parity) (min 4)

스트라이핑 + 이중 패리티

RAID 5와 유사

두 개의 독립적인 패리티 블록을 사용하여 두 개의 디스크가 동시에 고장 나더라도 데이터를 복구 가능

LVM (Logical Volume Manager) - 파티션 분할

물리적 디스크 1개를 이용해서 2개의 파티션을 구성 가능

물리적 디스크 2개를 이용해서 1개의 파티션을 구성 가능

파티션의 크기를 확장해도 데이터의 손실이 발생 X

PV -> VG -> LV
(PVG - lv)

PV(Physical Volume) : 물리적 디스크 / 가장 낮은 수준의 저장공간 단위

PE (Physical Extent) : LVM 구성하는 일정한 크기, 블록 단위 / 논리적 그룹

VG (Vol Group) : PV 집합 / LV들 생성 및 관리

LV (Logical Vol) : 사용자가 필요한만큼 할당, 파티션과 같은 개념 / 실제 데이터 저장

 

리눅스 활용

X 윈도 - 개념 및 사용법, X 윈도 활용

X 윈도는 디스플레이 장치에 의존적이지 않고, 서로 다른 기종 함께 사용 가능

X 컨소시엄에 의해 X11 버전이 처음으로 개정되어 X11R2가 발표됨

X 윈도 서버로 사용되는 X.org에 적용된 라이선스 - MIT

프로그램

프로그램 설명 비고
GIMP(GTK) image 편집 / IM보다 더 적합 편집기, GUI
ImageMagick image 편집 편집기, CLI
Eog(GNOME) image 뷰어
Totem(GNOME) video 미디어(동영상) 플레이어
Evince(GNOME) docs / PDF 문서 확인 뷰어
LibreOffice 문서 작성, 스프레드시트, 프레젠테이션  

 

부팅 시 X윈도 / 텍스트 모드

부팅 모드 확인 get-default

부팅 모드 설정 set-default

X-window : graphical.target, runlevel5 - *6000번대 포트 사용

text: : multi-user.target, runlevel3

startx: 텍스트 모드로 부팅된 상태에서 X 윈도 실행하는 명령

 

라이브러리

Xlib - XCB으로 대체 (C언어, X서버와 대화하는 역할, 저수준의 인터페이스)

GMWIN - 산업 자동화 시스템

KDB - Qt - KDE

GTK+ - GNOME

FLTK: 특정 데스크탑 환경과 직접 연결 X

X 클라이언트

xauth / MAC 방식으로 서버 접속 

.Xauthority 키 정보

ex) xauth list $DISPLAY

 

xhost / IP, 도메인명을 이용해서 서버 접속

ex) xhost [옵션] [IP/도메인]

ex) xhost 192.168.5.13 -> X서버에서 이와 같은 IP 주소를 가진 X 클라이언트를 허가

+ 모두 허용

- 모두 차단

+ IP IP 허용

- IP IP 차단

 

매니저

윈도우 매니저

X-window 시스템의 형태를 갖추어주는 프로그램 (윈도우의 배치, 표현)

 

1. GNOME

  • GNU Network Object Model Environment
  • GNU 프로젝트에서 개발된 오픈 소스 데스크탑 환경
  • GTK+ 라이브러리 기반
  • 윈도우 관리자: 기본적으로 특정 윈도우 관리자에 의존하지 않으며, 사용자가 자유롭게 선택 가능
  • 세션 관리자를 통해 사용자의 설정을 저장하고 유지

2. KDE

  • Kool Desktop Environment
  • 오픈 소스 데스크탑 환경
  • Qt 툴킷 기반
  • 시각적으로 풍부하고 다양한 커스터마이징 옵션을 제공하는 강력한 데스크탑 환경
  • Gwenview라는 기본 이미지 뷰어 사용

3. LXDE

  • Lightweight X11 Desktop Environment
  • 경량 데스크탑 환경 (X 윈도 관련 X)으로, 낮은 자원 사용을 목표로 개발
  • GTK 2 라이브러리 기반, 기본 윈도우 관리자로 Openbox 사용
  • 저사양 PC와 모바일 기기에 적합

4. Xfce

  • XForms Common Environment
  • 오픈 소스 소프트웨어 데스크탑 환경
  • GTK+ 2 기반, 기본 윈도우 관리자로 Xfwm 사용
  • 경량성과 모듈성을 특징으로 하며, 시스템 자원을 효율적으로 사용
  • 리눅스를 위한 윈도우 매니저

GNOME vs KDE

  GNOME KDE
그래픽 라이브러리 GTK+ QT
설정 항목 수 필요한 것만 출력 최대한 많이 출력
기본 편집기 gedit kate
기본 브라우저 Web konquerer
파일 탐색기 Nautilus konquerer
윈도 매니저 Mutter or Metacity kwin(유닉스, POSIX 호환)

 

  • Metacity는 GNOME 2에서 사용된 단순하고 직관적인 윈도우 매니저로, 주로 일반 사용자를 위한 환경을 제공
  • Fvwm은 고도로 커스터마이즈 가능한 윈도우 매니저로, 사용자가 데스크탑 환경을 세밀하게 조정할 수 있는 기능을 제공. 고급 사용자리소스가 제한된 시스템에서 주로 사용

 

디스플레이 매니저

서버 접속(사용자 로그인)과 세션을 담당

xdcmp로 원격 제어

X-window 

 dtlogin (Motif, Redhat), gdm (GNOME, GNU), xdm (X11, GUI)

 

데스크톱 환경

GUI 스타일, 파일관리자/아이콘/창/배경화면/위젯 등

 

환경변수

변수 설명 비고
VISUAL 기본 텍스트 에디터  
TERM 터미널 유형  
XTERM X-window, 터미널 에뮬레이터 종류  
DISPLAY 클라이언트 -> 원격지 전송 xauth와 연관

 

$DISPLAY (원격지 전송) 서로 간의 통신을 위해 사용

ex) echo $DISPLAY 결과: 0 -> X클라이언트를 실행하면, 로컬시스템의 첫 번째 X 서버에 실행된다

      echo $DISPLAY 결과: 1 -> X클라이언트를 실행하면, 로컬시스템의 두 번째 X 서버에 실행된다

 

ex) xauth add $DISPLAY . f667657456t

 

ex) A 시스템 firefox를 B 시스템에 전송해서 실행할 수 있도록

(1) A - X client && DISPLAY 환경변수

(2) B - X server && xhost 명령

 

인터넷 활용 - 네트워크의 개념, 인터넷 서비스의 종류, 인터넷 서비스의 설정

Command / file

명령 설명 ex 비고
netstat 네트워크 상태 정보 netstat -an

SYN Flooding 공격 확인
-a (all)
-e (ethernet)
-n (IP, port 형식)
-m (소켓, 버퍼의 메모리)
-r (route)
-s (프로토콜 statistics)
-t (tcp 연결 표시)
arp ARP 테이블 설정 확인
로컬 상의 다른 시스템 MAC 주소 확인 ip
  MAC 차단
-a (all)
-s (static 설정)
ifconfig IP 주소 설정, 활성화/비활성화    
mii-tool 네트워크 인터페이스의 속도/ 전송모드 확인, 물리적으로 케이블이 연결되었는지 점검    
ethtool 상세 인터페이스 정보(게이트웨이 주소값 등), 물리적 연결 상태 이더넷 카드의 link mode 변경하는 명령  
route 라우팅 테이블 확인
경로 설정
게이트웨이 주소
route add -host [IP addr] netmask [subnet mask] dev [인터페이스명]  
route netstat -r 게이트웨이 주소 확인    
ip  게이트웨이/MAC 주소 확인 
라우팅 테이블 정보 출력
route보다 더 다양함
ip route show  
put local -> FTP server send / 업로드  
get  FTP server -> local recv / 다운로드  
ssh (https = 443)  SSH 서버 접속 명령어 ssh USER명@domain.com 보안 / 관련 서비스 - NFS
telnet  (http = 80) telnet 서버 접속 명령어
telnet [호스트이름] [포트번호]
telnet domain.com
telnet -I user명 domain.com
평문, 패키지명: telnet-server
/etc/services 프로토콜 관련 포트 번호    
/etc/sysconfig/network 네트워크 전반(사용 유무/호스트명/게이트웨이주소/NIS 도메인 명)    
/etc/sysconfig/network-scripts 네트워크 인터페이스 환경 설정    

 

Secure 기반 원격제어 서비스 - ssh, sftp, scp

ex) 운영 중인 서버의 특정 포트에 접속하여 연결된 정보를 확인하는 명령의 조합 - ss, netstat

OSI 7계층

계층 설명 데이터 단위 프로토콜 설명 인터네트워킹 장비
7 응용       게이트웨어, 프록시 서버
6 표현 data   데이터의 암호화와 해독
압축, 압축해제
코드, 문자 번역 - 일관된 이해
 
5 세션 socket HTTP, SSL 전송 순서 및 동기점 위치 제공  
4 전송 segment TCP/UDP(DNS)   게이트웨이
3 네트워크 packet IP, ARP, ICMP, BGP   라우터
2 (데이터)링크 frame     브릿지, 스위치
1 물리 bit     리피터, 허브

 

예제

 

프로토콜

1. 구문 (데이터 구조)

2. 의미 (제어 정보, 오류 등)

3. 순서 (순서 제어)

  • ARP : IP -> MAC
  • RARP : IP <- MAC
  • IPv4 (32bit) / IP 주소 대역 구분인 클래스 확장
  • IPv6 (64bit) / 패킷 크기 확장, 패킷 출처 인증 및 비밀 보장 기능, 흐름 제어 기능
  • MAC (48bit)
계층 프로토콜 설명 포트번호 비고
7 응용 IMAP 이메일 관리, 동기화 143  
TELNET 원격지 시스템에 명령어 기반으로 접속 23  
SNMP Simple Next Management 161, 162  
5 세션 HTTP HyperText 80  
FTP Active, passive 모드 지원
익명 계정으로 접속, FTP 서버 필요
20(전송), 21(제어) TCP, hash #
SSH Secure Shell, 원격접속, 데이터 암호화
(telnet, ftp에서 암호화 기능 추가한 프로토콜)
22(ss22) TCP
SMTP Simple Mail Transfer, 메일 서버 간 25 TCP
3 네트워크 ICMP Internet Control Msg Protocol (제어 메시지)   메시지 오류 보고
DNS 도메인 이름 변환 53  

*SMTP/IMAP(143)/POP3(110) - 전자 우편 서비스 관련

SFTP (SSH File Transfer Protocol) - SSH를 사용-> 22번 포트

ss - SYN Flooding 공격과 같은 네트워크 상태 정보 확인

HTTP(www) - 80 / https - 443 / print - 631 / web - 8080

 

Ethernet (2) - CMSA/CD(회선 경쟁 방식)

  • MAC 주소 (48bit) 기준으로 데이터 통신하도록
  • BNC, UTP 케이블 사용

BNC

커넥터를 한쪽 커넥터에 삽입하여 90도 회전하여 로크하는 동축 케이블

UTP

절연체로 감싸여 있지 않고, 두가닥씩 꼬여있다

 

TCP (3) 3-way handshake

  • LISTEN: 22번 포트(ssh)가 열린 상태
  • SYN_SENT : 클라이언트가 SYN을 보냄
  • SYN_RECEIVED :서버가 SYN 받음 (ACK는 아직 안 받음)
  • ESTABLISHED : 연결 완료~ (클라이언트와 서버가 ACK를 주고 받은 상태)

IP (4)

IPV4 A/B/C 클래스

A: 0.0.0.0 ~ 127.255.255.255 (loopback 네트워크 포함 -> 127.0.0.0 ~ 127.255.255.255)

 --> 사설 10.0.0.0 ~ 10.255.255.255

B: 128.0.0.0 ~ 191.255.255.255

 --> 사설 172.16.0.0 ~ 172.31.255.255

C: 192.0.0.0 ~ 223.255.255.255 (255+1 = 256개)

 --> 사설 192.168.0.0 ~ 192.168.255.255

 

c - IP 주소 첫 번째 부분의 3비트 110

 

서브넷 마스크

ex1) 255.255.255.192

192 == b 1100 0000

11 -> 네트워크 부분
00 0000 -> 호스트 부분

64 4개
맨앞 == 네트워크 ID로 사용 불가
맨뒤 == 브로드 캐스트로 사용 불가

따라서, 64*4=248

1100 0000 = 192
189 = 128 + (32 + 16 + 8 + 4 + 1)
10111101

 

ex2) 예시1) 192.168.100.0/24

서브넷마스크: 255.255.255.0

1) 네트워크 ID: 192.168.100.0
2) 브로드캐스트: 192.168.100.255
3) 게이트웨이: 192.168.100.254

 

ex3) 192.168.5.150/26
1) 서브넷 마스크: 255.255.255.192
2) 구간: 128-191 에 포함됨
3) 게이트웨이 주소: 시작 주소 + 1 -> 192.168.5.129

예제

최상위 도메인

com, org, mil(군), net, gow, kr , edu, ...

 

SSH

ex) ssh USER명@192.168.5.13

ex) ssh -a 192.168.5.13:5050

 

-a (auto login)
-d (debugging)
-I (user명 지정)
-p (port 지정)

-n (ssh가 끝날 때까지 터미널을 차지하지 않고 ssh를 백그라운드에서 실행)

-x (X11 포워딩을 비활성화)

 

LAN < MAN < WAN, SAN

LAN (local area network) 근거리 통신망 / LAN구성(리피터, 허브, RJ-45(랜선))

MAN (Metropolitan) 큰 도시. 캠퍼스. 전화 TV 인터넷 (DQDB / IEEE 802.6)

SAN (Storage Area Network) 저장 장치를 네트워크로 연결

IEEE 802 표준
LAN 케이블 규격

 

데이터 교환 방식

 

+ 추가 예정~~~

패킷 교환 방식은 오버헤드 비트 존재

 

토폴로지(Topology)

링(Ring)형

링형은 각각의 노드가 양 옆의 두 노드와 연결하여, 전체적으로 고리처럼 하나의 연속된 길을 통해 통신을 하는 형태이다.

📍장점
- 노드 수가 증가되어도, 네트워크 상의 손실이 거의 없음
- 충돌이 발생할 가능성이 적음
- 문제가 발생한 노드를 쉽게 탐색할 수 있음

💥단점
- 네트워크 구성 변경이 어려움
- 회선에 장애가 발생하면, 전체 네트워크에 영향을 미침

 

성(star)형

성형은 모든 노드가 중앙에 있는 노드에 연결된 형태이다. / Point-to-Point

📍장점
- 노드를 추가하거나 에러를 탐지하기 쉬움
- 패킷의 충돌 발생 가능성이 적음
- 문제가 발생한 노드를 쉽게 탐색할 수 있음
- 문제가 발생한 노드가 중앙 노드가 아니라면, 다른 노드에 영향을 끼치는 것이 적음

💥단점
- 중앙 노드에 장애가 발생하면, 전체 네트워크를 사용할 수 없음
- 설치 비용이 고가임

 

트리(Tree)형

계층형 토폴로지라고도 하며, 말 그대로 트리 형태로 구성된다.

📍장점
- 노드의 추가 삭제가 쉬움

💥단점
- 특정 노드에 트래픽이 집중될 때, 하위 노드에 영향을 끼치기 쉬움

 

 

 버스(Bus)형

정류장을 두고 가운데 차선으로 버스가 다니듯이, 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 형태이다. 근거리 통신망(LAN)에서 사용한다.

📍장점
- 설치 비용이 적다
- 신뢰성이 우수하다
- 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉽다

💥단점
- 스푸핑 공격을 받을 위험이 있다

 

망(Full Connected)형

노드가 다른 노드에 전부 연결된 형태이다.

📍장점
- 한 단말 장치에 장애가 발생해도, 다른 여러 개의 경로가 존재하므로 네트워크 운영에 차질이 적다
- 트래픽이 몰려도 분산 처리가 가능하다

💥단점
- 노드의 추가가 어렵다
- 구축 비용과 운용 비용이 고가이다

 

관련 기술들

SAMBA: 윈도우 & Linux/Unix 간의 자료 및 하드웨어 공유 / TCP/IP 기반

프로토콜 - SMB -> CIFS: 원격지의 윈도우 시스템에 공유된 폴더 마운트


NFS: Network File Sys. 네트워크로 원격지 호스트 파일 시스템 공유 / 중앙 집중식 / 마이크로시스템즈 

 -> NFS 서버 사용 시 RPCBIND 데몬을 구동해야 함


IRC: 실시간 채팅 프로토콜, Xchat

 

브라우저

  • GUI - firefox, opera, safari
  • CLI - Lynx, Links / X 윈도가 설치되지 않은 환경
  • 파이어폭스 - 모질라
  • 오페라 - 노르웨이
  • 사파리 - 애플
  • 크롬 - 구글

www

  • 하이퍼텍스트 : 정보검색 시스템
  • URL : 서버 자원 접근

기관

이름 설명 비고
ICANN (Internet Corp for Assigned Names and Numbers) IP 주소 할당/ 도메인 네임 관리 이전엔 IANA
ISO (International Oraganization for Standardization) 표준 개발 기구 OSI 7계층
IEEE (Institute of Eletrical and Electronics Engineers) 전기/전자공학 분야 전문가 단체 LAN 관련 표준
EIA (Electronic Industries Alliance) (과거) 전자산업 연합 LAN 케이블 관련 표준
TIA (Telecommunications Industry Association) 통신 분야 기업 협회  

 

응용분야 - 기술동향, 활용기술

아두이노/라즈베리파이/마이크로비트

  • 아두이노 (마이크로 컨트롤러)
  • 라즈베리파이 (교육용, 저가의 싱글 보드 컴퓨터 )
  • 마이크로비트 (초소형 컴퓨터, 기울기 센서, 나침반 등)
  • 큐비보드 (안드로이드/우분투 설치 가능 미니 pc)

배포판

  • Rocky Linux (cent os 종료 후, Gregory Kurtzer)

관련 기술

클러스터링

HPC cluster (고계산용, High Performance Computing) 베어울프 / 고성능, 과학 계산용
HA cluster (고가용성, High Availability) 연속적인 서비스 제공 / 부하분산기, 백업 서버 주기적인 통신  / 이상 유무 점검

HA(고가용성)


LVS cluster (부하분산, Linux Virtual Server) 대규모 서비스 제공 / 여러 개의 서버가 부하분산기에 연결

VMWare - VMDK

 

플랫폼

  • K8s
  • Docker : 컨테이너 기반 (경량화된) 가상화 플랫폼 / 게스트 OS 없이 프로세스 구동 O -> 하이퍼바이저 사용 X
  • Kubernetes : 컨테이너 관리 프로그램 / CNCF에서 개발
  • Ansible : 오픈 소스 자동화 플랫폼 (레드햇)
  • Openstack : 오픈 소스 클라우드컴퓨팅 플랫폼

임베디드

스마트TV (Tizen, WebOS)

  • Tizen - 인텔, 삼성 / 모바일 운영체
  • Web OS - LG 전자, palm OS 계승
  • UNIX - QNX
  • Linux - WebOS, Tizen, GENIVI(자동차용)

가상화

  • Xen 반가상화 / 오픈소스 하이퍼바이저 / 고성능 / AWS 위주
  • KVM 전가상화 / Qumranet에서 개발된 하이퍼바이저 / x86 시스템 기반
  • VirtualBox 가상화 - 인텔의 하드웨어 가상화 VT-x와 AMD의 VMD-V를 기반으로 전가상화 지원

Hyper-V는 윈도우 서버

 

FDDI - 광섬유 케이블 (Fiber: 섬유)

 

Hadoop - 빅데이터 처리를 위한 분산 시스템 / 자바 프레임워크

R - 통계 및 데이터 분석을 위한 프로그래밍 언어

Cassandra - 분산형 NoSQL DB

 

클라우드 서비스

IaaS - PaaS - SaaS (알파벳 순)

인프라 구축 - 플랫폼 설정 - 소프트웨어 설정

IaaS(Infrastructure as a Service, 인프라 기반 서비스)

-> 업무 처리에 필요한 서버, 데스크톱 컴퓨터, 스토리지 같은 IP 하드웨어 자원을 원하는 만큼 빌려서 사용

PaaS(Platform as a Service, 플랫폼 기반 서비스)

-> 개발자가 애플리케이션을 개발할 수 있는 플랫폼을 제공하며, 인프라 관리가 필요 없는 환경

SaaS(Software as a Service, 소프트웨어 기반 서비스)

-> 완성된 소프트웨어를 구독 형태로 제공하여, 유지보수 및 설치 없이 소프트웨어 사용이 가능

'Linux > 리눅스 마스터 2급' 카테고리의 다른 글

리눅스마스터 2급 취득  (0) 2024.10.06