공부하다가 pdf랑 블로그 요약 그 무엇도 마음에 들지 않아 내가 쓰는 요약본
응이것만보면 책안봐도돼~
시험 가기전 정독하면 합격잼
파티션
- 파티션이란 하나의 물리적 디스크를 여러 개의 논리적인 디스크로 분할하는 것
주 파티션 | 부팅이 가능 하나의 하드디스크에 최대 4개의 주 파티션 분할 가능 하드디스크를 4개 이상의 파티션으로 사용해야 할 때 하나의 확장 파티션을 설정하여 확장 파티션 안에 여러 개의 논리 파티션을 분할하여 데이터 저장 |
확장 파티션 | 주 파티션 내에 생성, 하나의 물리적 디스크에 1개만 생성 파티션 번호는 1~4번이 할당 데이터 저장 영역을 위한 것이 아니라 논리 파티션을 생성 |
논리 파티션 | 확장 파티션 안에 생성되는 파티션 논리 파티션은 12개 이상 생성하지 않는 것을 권고하며 5번 이후의 번호가 붙여짐 |
스왑 파티션 | 하드디스크 일부를 메모리처럼 사용함 주 파티션 또는 논리 파티션에 생성 프로그램 실행시 부족한 메모리 용량을 하드디스크로 대신 리눅스 설치 시에 반드시 설치되야 함 스왑 영역의 크기는 메모리의 2배를 설정하도록 권고 |
LVM
- 여러개의 하드디스크를 합쳐서 사용하는 기술로 한 개의 파일 시스템을 사용한다
- 작은 용량의 하드디스크 여러 개를 큰 용량의 하드디스크 한 개처럼 사용
- 서버를 운영하면서 대용량의 별도 저장 공간이 필요할 때 활용
- 다수의 디스크를 묶어서 사용함으로써 파티션의 크기를 줄이거나 늘릴 수 있음
물리적인 볼륨 (Physical Volumes, PV)
- 물리적인 하드 디스크, 파티션 또는 논리적인 볼륨을 LVM에서 사용할 수 있는 물리적인 스토리지로 지정한다
- PV는 논리적인 볼륨 그룹에 속할 수 있다
논리적인 볼륨 그룹 (Volume Group, VG)
- 하나 이상의 물리적인 볼륨을 논리적으로 그룹화하여 사용하는 스토리지의 컨테이너
- VG는 하나 이상의 논리적인 볼륨을 포함하고 있을 수 있습니다.
논리적인 볼륨 (Logical Volume, LV)
- 논리적인 볼륨 그룹에서 생성되는 논리적인 스토리지 단위
- LV는 파티션과 유사한 개념이지만 크기를 동적으로 조정할 수 있고 다른 스토리지 공간에 확장이 가능
*Physical Volume(물리 볼륨) : /dev/sda1, /dev/sdb1 등의 파티션
*Volume Group(볼륨 그룹) : 물리 볼륨을 합쳐서 하나의 물리 그룹으로 만드는 것
*Logical Volume(논리 볼륨) : 볼륨 그룹을 나눠서 논리 그룹으로 나눈 것
RAID
- 여러 개의 물리적 디스크를 하나의 논리적 디스크로 인식하여 작동하게 하는 기술
- 여러 개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하는 기술
RAID 0

- 스트라이핑 저장방식: 연속된 데이터를 여러 디스크에 나눠 저장
- 최소 2개의 하드디스크가 필요
- 입출력 작업이 모든 디스크에 동시에 진행: 저장과 읽기 속도가 가장 빠르지만 하나의 디스크라도 고장나면 전체 시스템 사용 불가
- 고장 대비 능력이 없으므로 주요 데이터 저장은 부적합
RAID 1

- 미러링 방식: 하나의 디스크에 데이터를 저장하면 다른 디스크에 동일한 내용이 백업되어 저장
- 데이터 저장 시 두 배의 용량이 필요
- 결합 허용을 제공하지만 공간 효율성은 떨어짐
- 주요한 데이터를 저장하기에 적절함
RAID 2

- 스트라이핑 저장 방식
- 기록용 디스크와 데이터 복구용 디스크를 별도로 제공: 오류 제어 기능이 없는 디스크를 위해 해밍 코드 사용
- 디스크의 사용 효율성이 낮음
- 모든 SCSI 디스크에 ECC(에러 검출 기능)를 탑재하고 있기 때문에 실제 사용되지 않음
RAID 3, 4

- 스트라이핑 저장 방식
- 오류 검출을 위해 패리티 방식 이용
- 패리티 정보를 저장하기 위해 전용 디스크를 사용하기 때문에 최소 3개 이상의 하드디스크가 필요
- 데이터 복구는 패리티 저장 디스크에 기록된 정보의 XOR를 계산하여 수행
- 대형 레코드가 사용되는 단일 사용자 시스템에 적합
- RAID3와 유사한 방식: 2개 이상의 데이터 디스크와 전용 패리티 디스크 사용
- 3은 Byte단위로 데이터를 저장하는 반면 4는 Block단위로 저장
RAID 5

- 스프라이핑 저장 방식
- 디스크마다 패리티 정보를 갖고 있어 패리티 디스크의 병목 현상을 줄이는 것이 가능해 실무에서 많이 사용
- 디스크 섹터 단위로 저장
- 쓰기 작업이 많지 않은 다중 사용자 시스템에 적합
RAID 6

- 기본적으로 5를 확장한 것
- 제2parity를 두는 dual parity를 사용함으로써 더 나은 무정지성을 갖게 함
- 최소 4개의 드라이브가 필요
구분 | RAID 0 | RAID 1 |
성능 | 뛰어남 | 변화 없음 |
안정성 | 결함 허용이 안 됨 안정성 보장 못 함 |
결함 허용 안정성 보장 |
공간 효율성 | 좋음 | 낮음 |
구분 | RAID 5 | RAID 6 |
Parity | Single | Dual |
보호 | 드라이브 1개 불량 | 드라이브 2개 불량 |
필요조건 | N+1 최소 3개의 드라이브 필요 | N+2 최소 4개의 드라이브 필요 |
각 레벨의 장점을 합친 RAID 구성으로는 대표적으로 RAID0+1과 RAID 1+0이 있다
RAID 0+1
- 디스크 2개씩 0으로 구성 후 0으로 구성된 하드디스크들을 1로 구성
- 속도는 빠르나 데이터 복구 시간이 오래 걸림
RAID 1+0
- 디스크 2개씩 RAID 1로 구성 후 RAID 1로 구성된 하드디스크들을 0으로 구성
- 미러링 후 스트라이핑을 진행하여 손실된 데이터만 빠른 복원이 가능하므로 0+1보다 운영상 유리
fdisk
- 파티션 테이블을 관리하는 명령어
n: 새로운 파티션 추가
t: 파티션 종류 변경
w: 파티션 정보 저장
p: 정보 확인
리눅스 기본 명령어
/etc/passwd
- 계정자의 정보를 가지고 있는 파일로 리눅스에 로그인할 때 사용
pwd
- 현재 작업 중인 디렉터리 위치를 나타냄
cd
- 디렉터리 이동
ls
- 현재 위치한 디렉터리의 파일 목록들을 나타냄
nslookup
- 도메인명으로 ip 조회 또는 ip로 도메인명을 조회
host
- 호스트명을 알고 있는데 ip주소를 모르거나 그 반대의 경우에 사용
- 하위 호스트명도 조회 가능
파일 시스템 관련
chown(체인지 오너)
- 디렉터리의 사용자 소유권과 그룹 소유권을 변경
R: 하위 디렉터리를 포함하여 디렉터리 내부의 모든 파일의 소유권을 변경
chgrp(체인지 그룹)
- 파일이나 디렉터리의 그룹 소유권을 변경
-R: 위랑 동일
허가권 관련
ls -l
- 파일 유형과 허가권을 알 수 있음
- 파일 권한은 읽기(r), 쓰기(w), 실행(x)이 있음
- 8진수 숫자모드로는 4, 2, 1임 (rwx)
chmod(체인지 모드)
- 파일이나 디렉터리의 접근 허가권 변경
R: 위랑 동일
기호 모드
u: 소유자
g: 그룹
o: 기타 사용자
a: 모든 사용자
+: 허가권 부여
-: 허가권 제거
=: 특정 사용자에게 허가권 지정
ex) chmod u+w: 소유자에게 쓰기 권한 부여
chmod u-x: 소유자의 실행 권한 제거
chmod o=rx: 기타 사용자에게 읽기와 실행 권한 부여
umask
- 새로 생성되는 파일이나 디렉터리의 기본 허가권 값을 지정
- 파일의 기본 권한은 666, 디렉터리는 777
S: umask 값을 문자로 표기
- 파일이나 디렉터리 생성 시 디폴트 권한 값에서 설정한 umask 값을 뺀 값을 기본 허가권으로 설정한다
예를 들어 umask가 022인 경우 디폴트 파일 권한은 644(666-022), 디폴트 디렉터리 권한은 755(777-022)으로 변경됨
특수 권한
SetUID
- 사용자가 사용할 때만 소유자 권한으로 파일을 실행시킨다
- 프로그램을 실행하는 동안 프로세스는 파일의 소유자와 같은 권한으로 실행
SetGID
- 사용자가 사용할 때만 그룹 권한으로 파일을 실행시킨다
- 프로그램을 실행하는 동안 프로세스는 파일의 그룹과 같은 권한으로 실행
- 권한이 명시된 디렉터리에 생성되는 모든 하위 디렉터리나 파일도 SetGID 권한을 갖는다
- 실행 파일에 setuid를 설정하면 소문자 s가 되고 정상적으로 실행할 수 있다
- 실행 파일이 아닌데 setuid를 설정하면 대문자 S가 되고 실행할 수 없다
Sticky bit
- 공용 디렉터리를 사용할 때 설정하여 사용
- 설정되어 있는 디렉터리 안의 내용은 해당 파일의 소유자가 root만이 변경이 가능하게 하여 공용 디렉터리라도 권한에 제약을 두어 다른 사용자들의 파일을 보호하기 위한 목적으로 만든 것
- 설정된 디렉토리에는 누구든 접근 가능함 파일 생성도 가능
- 삭제는 소유자와 관리자만 지울 수 있음
디스크 쿼터
- 파일 시스템마다 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수를 제한하는 것
inode의 개수를 제한
quotaoff
- 쿼터 서비스 비활성화
quotacheck
- 파일 시스템의 디스크 사용 상태를 검색
edquota
- 편집기를 사용하여 사용자, 그룹 디스크 사용량을 할당
setquota
- 편집기가 기반이 아닌 명령행에서 사용량을 할당
리눅스 전용 디스크 기반 파일 시스템
ext1
- 리눅스 초기에 사용되던 파일 시스템
- 2의 원형
ext2
- 고용량 디스크 사용을 염두에 두고 설계됨
ext3
- 리눅스의 대표적인 저널링을 지원
ext4
- 2와 3 호환성이 있음
저널링 기술이 적용된 파일 시스템은 ext3, 4, XFS, JFS등이 있음
네트워크 파일 시스템
SMB
- 삼바 파일 시스템을 마운트 지정
CIFS
- SMB 확장 파일 시스템
NFS
- 네트워크 파일 시스템
- 썬마이크로 시스템이 개발
mount / umount
- 특정 디바이스를 특정 디렉터리처럼 사용하기 위해 장치와 디렉터리를 연결하는 것
fdisk
- 새로운 파티션의 생성, 기존 파티션의 삭제, 파티션 타입 결정 등의 작업을 수행
- 한 번에 한 디스크에서만 작업 수행
-v: 버전 정보 표시
-l: 현대 디스크의 파티션 테이블 정보 표시
-s: 지정된 파티션의 크기를 블록 단위로 표시
mkfs
- 리눅스 파일 시스템을 생성
-V: 자세한 정보 보기
-t: 생성할 파일 시스템 타입(ext2,3,4등)을 지정
-v: 상태, 결과 자세히 보기
mke2fs
- ext2, 3, 4타입의 리눅스 파일 시스템을 생성하는 명령어
-j: 저널링 파일 시스템 3으로 생성
-R: RAID4 장치를 포맷할 때 사용
fsck
- 파일 시스템의 무결성을 점검, 대화식으로 복구
e2fsck
- ext 타입의 리눅스 파일 시스템을 점검 및 복구
du
- Disk Usage의 약자
- 디시크 사용 공간에 대한 정보를 보여 줌
- 파일이나 디렉터리들이 디스크에 차지하고 있는 용량을 출력할 때 사용
df
- 마운트된 하드 디스크의 남은 공간(용량)에 대한 정보를 보여줌
- -i: 에러가 발생하면 추가로 원인을 파악하기 위한 명령어 //inode
환경 변수와 셀 변수
환경 변수
- 전체 셀에서 사용 가능한 전역 변수
셀 변수
- 현재 로그인 셀에서만 사용 가능한 지역 변수
환경 변수 설정 명령어
export
- 환경 변수 리스트 확인
echo $변수명
- 변수명에 해당하는 환경 변수 값 확인
배쉬 셸의 시작 파일
/etc/profile
- 모든 사용자의 셀 환경을 제어
- 관리자만 설정 가능
/etc/bashrc
- 앨리어스와 배쉬가 수행 시 실행되는 함수를 전역적으로 제어
/.bash_profile
- 개인 사용자의 셸 환경을 제어하는 지역적인 시스템 설정 파일
~/.bashrc
- 앨리어스와 배쉬가 수행 시 실행되는 함수를 지역적으로 제어
배쉬셸의 주요 기능
!!
- 마지막으로 실행했던 명령문 실행
alias
- 설정되어 있는 별명들 확인
alias 별명 ='명령어 정의'
- 새로운 별명 정의
프로세스 유형
포그라운드 프로세스
- 사용자와 상호작용함
- 명령 입력 후 수행 종료까지 기다려야 함
- 화면에서 실행되는 것이 보임
백그라운드 프로세스
- 사용자와 대화하지 않고 뒤에서 실행됨
- 입력에 관계 없이 실행되고 있음
- 실행은 되지만 화면에 나타나지 않음
fork()
- 새로운 프로세스를 만들 때 기존 프로세스를 복제하는 방식
- 원본을 부모프로세스라고 부름 복제된 건 자식 프로세스
데몬
- 리눅스 부팅 시 자동으로 실행되는 백그라운드 프로세스
- 주기적이고 지속적임
standalon: 독립적으로 수행되며 요청에 응답하기 위해 항상 메모리에 상주, 서버 부하가 큼
포그라운드에서 백그라운드로의 전환
bg %작업번호 또는 bg 작업번호
백그라운드에서 포그라운으로의 전환
fg %작업번호 또는 fg 작업번호
시그널
- 프로세스에 이벤트 발생을 전달해줌
- kill -l로 시그널 리스트를 확인할 수 있음
SIGHUP 1
- 연결이 끊어졌을 때 종료 후 재시작
SIGINT 2 (ctrl+c)
- 동작 멈춤
SIGQUIT 3(ctrl+\)
- 머니널에서 종료키를 누를 때
SIGKILL 9
- 강제 종료
SIGTERM 15
- Kill 시스템 호출 시 종료
SIGTSTP 20(ctrl+z)
- 프로세스 대기로 전환
kill
- 프로세스를 종료시킨다
-1: 프로세스 재시작
-9: 강제 종료
killall
- 같은 데몬의 여러 프로세서를 한 번에 종료시킨다
- 프로세스 명으로 연관된 프로세스들을 종료시킴
nice
- 프로세스 사이의 우선순위를 확인하고 우선순위를 변경할 수 있는 명령어
- -20(가장 높은 우선권)~19(가장 낮은 우선권)
- 값이 작을수록 우선순위가 높다
renice
- 실행 중인 프로세스의 우선순위를 변경
- nice는 양수값에 -, 음수값에 --를 사용하지만 리나이스는 양수값에 -를 사용하지 않음
nohup
- 프로세스가 중단되지 않고 백그라운드로 작업을 수행할 수 있게 한다
스케줄링
분 / 시 / 일 / 월 / 요일
에디터⭐⭐⭐⭐⭐
Pico
- 초기 리눅스 배포판 버전이 낮았을 때 사용했음
- 다른 편집기에 비해 사용하기 쉽지만 기능이 부족함
- GNU 프로젝트에서는 pico의 복제 버전 에디터인 nano를 개발(23/11/9) 시험에 나왔음!!
Emacs
- 리처드 스톨만이 개발 이후 제임스 고슬링이 기능을 추가함
vi
- 빌조이가 개발
- 리눅스와 유닉스에 기본적으로 포함
- 유닉스 환경에서 가장 많이 쓰임
- 모드형 편집기
vim
- 브람 무레나르가 개발
- vi와 호환됨
gedit
- 그놈 데스크톱 환경용
- utf-8과 호환
- X-윈도우 시스템에 맞춰짐
vi 에디터 입력모드 전환
a: 커서 뒤부터 입력
A: 줄의 마지막에 입력
i: 현재 문자 앞에 입력
I: 줄의 시작 부분에 입력
o: 현재 줄 다음 줄에 입력
O: 커서가 있는 줄 위에 입력
^: 줄의 시작을 의미
%: 전체 줄을 표시
프로그램 설치
배포판별 패키지 관리 (기본 패키지 관리 / 온라인 패키지 관리)
래드햇 : RPM / YUM
데비안 : Dpkg / apt-get
수세 : YaST / Zypper
RPM
- 레드햇 사에서 만들어낸 패키지 관리 툴
-i: 새로운 패키지 설치
-e: 패키지 제거
-q: 패키지 설치 여부 확인
--nodeps: 의존성 관계 무시하고 설치
YUM
- RPM 패키지 파일의 업데이트 자동 수행, 새로운 패키지 설치 및 제거를 수행
yum install 패키지명: 설치
yum into 패키지명: 요약 정보 확인
dpkg
- 데비안의 저레벨 패키지 관리 툴
apt-get
- 데비안 리눅스에서 소프트웨어 설치와 제거를 위한 패키지 관리 유틸리티
aptitude
- 우분투의 패키지 관리 유틸리티
파일 압축과 해제
compress: 압축률 낮음
gzip: 많이씀
bzip2: 많이씀
xz: 압축률 높음
.Z
-d: 압축 해제
-c: 지정 파일로 생성
-v: 압축 과정 표시
-V: 명령어 버전 정보 출력
.gz
-d: 압축 해제
-l: 파일 정보
-v: 과정 화면 표시
.bz2
.xz
-z: 강한 파일 압축
-d: 강한 파일 압축 해제
-v: 과정 화면 표시
컴파일 순서
configure -> make -> make install
프린터 인쇄 시스템
LPRng
- 리눅스 초기에 사용
- BSD 계열 유닉스에서 사용하기 위해 개발
CUPS
- 애플이 개발
- HTTP 기반의 IPP를 사용
사운드 카드
OSS
- 리눅스 및 유닉스 계열 운영체제에서 사운드를 만들어 캡처하는 인터페이스
- 현재 리눅스는 ALSA로 대체
ALSA
- 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널 요소
- GPL 및 LGPL 라이센스 기반으로 배포
스캐너
SANE
- 평판 스캐너, 핸드 스캐너, 비디오 캠 등 이미지 관련 하드웨어
XSANE
- X-windows 기반 스캐너 프로그램
- GTK+ 라이브러리로 만들어짐
- 스캔뿐만 아니라 캡처한 이미지에 수정 작업 가능
프린터 관련 명령어
BSD 계열: lpr, lpq, lprm, lpc
System V 계열: lp, lpstat, cancel
[BSD 계열]
lpr
- 프린터 작업 요청
lpq
- 작업 목록 출력
lprm
- 대기 중인 작업 삭제
[System V]
lp
- 작업 요청
plstat
- 프린터 큐의 상태 확인
cancel
- 작업 취소
사운드카드 관련 명령어
alsactl
- ALSA 사운드 카드를 제어
스캐너 관련 명령어
sane-fine-scanner
- 파일 찾아줌
scanimage
- 이미지 스캔
scanadf
- 여러개의 사진을 스캔
X-윈도우
- 오픈 데스크톱 환경으로 그놈, KDE. XFCE 등이 있음
윈도우 매니저
- 윈도우 매니저는 창의 배치와 표현을 담당하는 시스템
- 창 열기와 닫기, 창의 생성 위치, 창 크기 조정, 창의 외양과 테두리 변화
- 라이브러리는 Xlib와 XCB를 사용
fvwm, twm, mw, widowMaker, AfterStep
데스크톱 환경 또는 데스크톱 매니저
- GUI 사용자에게 제공하는 인터페이스 스타일로 데스크톱 관리자
- 윈도우 매니저, 파일 관리자, 도움말, 제어판 등 다양한 도구를 제공하는 패키지
- 아이콘, 창, 도구모음, 폴더, 배경화면 위젯 제공
- KDE, 그놈, LXDE, XFCE등이 있다
GNOME
- GNU에서 만든 공개형 데스크톱
- GTK+ 라이브러리를 사용
디스플레이 매니저
- X윈도우 상에서 작동하는 프로그램이다
- 종류들로는 XDM, GEM, KDM 등이 있다
X클라이언트
xhost
- X서버에 접속할 수 있는 클라이언트를 지정하거나 해제
xauth
- 파일의 쿠키 내용을 추가, 삭제, 리스트를 출력
X윈도우 프로그램
오피스
LibreOffice Writer: 한글
LibreOffice Impress: PPT
LibreOffice Calc: 엑셀
LibreOffice Draw: 그림판
그래픽(사진)
ImageMagik
eog: 그놈
gwenview: KDE
멀티미디어(동영상)
Totem: 그놈 기반의 비디오 재생 프로그램
LAN 토폴로지
성형
- 중앙 컴퓨터에 여러 대의 컴퓨터가 허브 또는 스위치와 같은 장비로 연결
- 중앙 집중식 형태로 네트워크 확장이 용이
- 고속의 대규모 네트워크에 적합
- 관리하는 중앙 컴퓨터 고장시 전체 네트워크 사용이 불가능
망형
- 모든 노드가 서로 일대일
- 대량의 데이터를 송수신 할 경우 적합
- 장애 발생시 다른 시스템에 영향이 적음 가장 신뢰성이 높음 방식
- 회선 구축 비용이 많이 듦
버스형
- 하나의 통신회선에 여러 컴퓨터를 연결함
- 연결된 컴퓨터 수에 따라 네트워크 성능이 변동
- 단말기 추가 및 제거가 용이
- 노드 수 증가시 트래픽 증가로 병목 현상 발생
- 문제가 발생한 노드의 위치를 파악하기 여러움
링형
- 각 노드가 좌우의 인접한 노드와 연결되어 원형을 이룸
- 토큰 패싱 방법
- 고속 네트워크로 자주 네트워크 환경이 바뀌지 않는 경우 구성
- 분산 제어 가능
- 논리적인 순환형 토폴로지
- 노드의 추가 및 삭제가 용이하지 않다
트리형
- 버스형과 성형 토폴로지의 확장 형태
- 백본과 같은 공통 배선에 적절한 분기 장치 사용하여 링크를 덧붙여 나갈 수 있는 구조
- 트래픽 양 증가 시 병목 현상의 가능성 증대
OSI 7 모델과 TCP/IP 모델
응표세전네데물!
[네트워크 액세스 계층]
1. 물리 계층
- 물리적인 연결
2. 데이터 링크 계층
- 데이터 전송을 위한 형식 결정
[인터넷 계층]
3. 네트워크 계층
- 논리적인 주소를 사용
[전송 계층]
4. 전송 계층
- 종단 간 연결, 응용계층 사이에 논리적인 통로 제공
[응용 계층]
5. 세션 계층
- 종단 간 애플리케이션들의 연결 설정 유지 해제
6. 표현 계층
- 부호화, 압축, 암호화
7. 응용 계층
- 사용자에게 다양한 네트워크 서비스를 제공하기 위해 유저 인터페이스 제공, UI로 데이터를 생성
OSI 7계층 모델 계층 별 전송 단위
- 물리계층 = bit
- 데이터링크계층 = Frame
- 네트워크계층 = Packet
- 전송 계층 = TCP - Segment // UDP - Datagram
ISO: OSI 7계층
EIA: 케이블
IEEE: LAN
인터넷/네트워츠 계층 프로토콜
IP, ICMP, IGMP, ARP, RARP
전송 계층 프로토콜
TCP
응용계층 프로토콜
SMTP: 20
POP: 110
Telnet: 23
SSH: 22
FTP: 20,21
HTTP: 80
SNMP: 161,162
TFTP: 69
DHCP: 67, 68
솔직히 이거 다 외워라는 건 말도 안 되는 것 같음
IPv4: 32비트
IPv6: 128비트
Token Ring
- IBM에 의해 개발
- 데이터 전송을 위해 네트워크 채널을 사용하려면 일종의 사용권을 획득 해야함
Ethernet
- 데이터 전송을 위해 네트워크 채널을 사용하려면 일종의 사용권을 획득해야함
- MAC 주소를 기반으로 상호간에 데이터를 주고받을 수 있도록 설계됨
X.25
- WAN 상에서 널리 쓰이는 프로토콜
- 최근에는 X.25를 기반으로 하는 Frame Relay가 등장함
FDDI
- 광섬유 케이블을 사용하여 설계된 링 구조의 통신망
- 액세스 제어는 토큰 패싱 방법 채택
사설 IP 주소
- 공식적인 승인 없이 사용할 수 있는 주소
- 라우팅이 불가능하고 인터넷상에서 사용할 수 없음.
- A클래스 : 10.0.0.0 ~ 10.255.255.255
- B클래스 : 172.16.0.0 ~ 172.31.255.255
- C클래스 : 192.168.0.0 ~ 192.168.255.255
WWW
- 프로토콜 HTTPf를 기반으로 한 멀티미디어와 하이퍼텍스트를 통합한 정보 검색 시스템
메일 서비스
- MTA, MUA, MDA, MIME
FTP 서비스
- TCP/IP에 의해 제공되는 호스트 간의 파일 복사를 위한 프로토콜
DNS
- 호스트 이름을 기반으로 IP 주소로 변환하거나 IP 주소를 기반으로 호스트 이름을 변환
테넷과 SSH
- 네트워크상에 있는 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령 실행, 파일 복사 등을 제공하는 서비스
- 테넷은 서버와 주고는 정보를 바이트 스트림 형식으로 전송하고 SSh는 des, rsa등의 암호화 기법을 사용함
- 테넷보다 SSH가 안전함
네트워크 설정 파일
/etc/stsconfig/network
- 네트워크 기본 정보가 설정되어 있음
/etc/resolv.conf
- 기본적으로 사용할 도메인명과 네임서버를 설정
/etc/host
- IP주소와 도메인 주소를 1:1로 등록하여 도메인에 대한 아이피 주소를 조회하도록 한다
네트워크 관련 명령어
route
- 라우팅 테이블을 확인
- 시스템에 설정된 게이트웨이 주소값을 확인
nslookup
- 인터넷 도메인 네임서버에 특정 호스트에 대한 정보를 질의하는 대화식 명령어
netstat
- 전공 제어 프로토콜, 라우팅 테이블 등 네트워크 연결 상태를 확인할 수 있는 명령어
mii-tool
- 네트워크 인터페이스의 속도와 전송모드 확인
ethtool
- 네트워크 인터페이스의 물리적 연결 여부 확인
클러스터링
고계산용 클러스터
- 고성능의 계산능력을 제공하기 위한 목적으로 제작, 과학계산용으로 활용가치 높음
- 베어울프 클러스터
부하 분산 클러스터
- 대규모 서비스, 웹서비스 등에 활용가치 높음
- 로드밸런서는 부하 분산을 위해 전체 노드를 제어하는 시스템으로 균등하게 테이터를 분산
고가용성 클러스터
- 지속적인 서비스 제공을 목적으로 제작 주로 금융권, 데이터센터 등에 사용
- 로드밸런서
- 고장이 인식되면 점유하고 있는 IP를 백업 서버로 이주시켜 지속적인 서비스를 수행시킴
오픈소스 하이퍼바이저
Xen
- 케임브리지 대학교에서 개발
- 기본저장소를 이용한 yum 설치
- 네트워크 MAC주소 고정 가능
- KVM과 호환
KVM
- Qumranent에서 게발
- CPU 전가상화 방식 사용
버츄얼박스
- 이노테크가 개발, 현재는 오라클이 개발중인 상용 소프트웨어
- 리눅스 기본 커널 포함X
- 독자적인 가상 장치 관리자
IaaS
- 서버와 스토리지 같은 IT 하드웨어 자원을 빌려주는 클라우드 서비스
- (스토리지, 네트워킹, 서버, 가상화)
- 온프레미스에서 한층 발전한 유형
- 간접비가 낮고 유지관리 비용이 들지 않는 매우 경제적인 옵션
- ex) AWS, Azure, GCP (퍼블릭 클라우드 업체)
PaaS
- 소프트웨어 서비스를 개발하기 위한 플랫폼을 제공하는 클라우드 서비스
- 개발자들에게 Infra 영역의 수고를 덜어 오직 개발에만 집중할 수 있게 함.
- ex) AWS Elastic Beanstalk, Red Hat OpenShift
SaaS
- 클라우드 환경에서 동작하는 응용 프로그램들을 서비스
- (공급업체가 모든 서비스를 제어 및 관리 / 가장 포괄적인 형태)
- 주기적으로 사용되는 애플리케이션이 있는 소기업에 매우 유용한 옵션
- ex) Dropbox, Google Apps
도커(Docker)
- 경량화된 가상화 기술의 일종으로 하이퍼바이저나 게스트 운영체제 없이
서버 운영에 필요한 프로그램과 라이브러리만 격리해서 설치 및 사용 가능. - XEN, KVM 등으로 나누어서 운영되는 가상화 환경을 통합 관리할 때 유용한 프로그램
- 네트워크 장치명 : docker0 // br은 안들어감
- 컨테이너를 다루는 도구 중 가장 유명한 것
컨테이너(container)
- 우리가 구동하려는 애플리케이션을 실행할 수 있는 환경까지 감싸서,
어디서든 쉽게 실행할 수 있도록 해주는 기술
컨테이너 런타임
- 컨테이너를 다루는 도구
- 도구 중 가장 유명한 것이 바로 도커(Docker)
쿠버네티스(Kubernetes)
- 구글에 의해 설계되었고 현재는 리눅스 재단에 의해 관리되는 컨테이너 관리 프로그램.
- 컨테이너 런타임을 통해 컨테이너를 다루는 도구
- 여러 서버(노드)에 컨테이너를 분산해서 배치하거나, 문제가 생긴 컨테이너를 교체하거나,
컨테이너가 사용할 비밀번호나 환경 설정을 관리하고 주입해 주는 일 등을 함. - 이것을 컨테이너 오케스트레이션이라고도 함.
앤서블(Ansible)
- 여러 개의 서버를 효율적으로 관리할 수 있게 해주는 환경 구성 자동화 도구
- 2012년 마이클 데한이라는 개발자가 만든 오픈소스 소프트웨어
- 2015년부터 레드헷이 인수하여 운영중.
- 플레이북이라는 곳에 실행할 구성을 선언해 놓으면, 필요할 때 마다 자동으로 실행 시킬 수 있는것이 가장 큰 특징!
- 웹서버의 구성과, DB서버의 구성을 선어해 놓으면 관리자들은 필요할 때마다
그 구성대로 서버의 설정을 배포 할 수 있게 해줌.
오픈스택(OpenStack)
- 계산, 저장소, 네트워크 자원들을 관리하는 클라우드 운영체제
- 현재 클라우드 인프라를 구축할 수 있는 가장 거대한 오픈 소스 프로젝트
(6개월에 한번씩 새 버전 릴리즈) - 기본적으로 스크립트라고 하는 일련의 명령이기도 하다.
- 이러한 스크립트는 프로젝트라 불리는 패키지로 구성되어 클라우드 환경을 구축하는 태스크를 전달함
하둡
- 대용량 데이터를 분산처리할 수 있는 자바 기반의 오픈소스 프레임워크
- 분산 파일 시스템을 데이터에 저장하고 분산처리 시스템인 맵리듀스를 이용해 데이터 처리
- 데이터의 복제본을 저장하기 때문에 데이터의 유실이나 장애가 발생했을 때에도 데이터의 복구가 가능
- 여러 대의 서버를 데이터에 저장
임베디드 시스템
마에모
- 노키아가 스마트폰 및 인터넷 태블릿용으로 만듦
모블린
- 인텔과 리눅스 재단이 리눅스 기반으로 개발
미고
- 인텔의 모블린과 노키아의 마에모가 합병하여 만든 모바일 운영체제
리모
- 리눅스 모바일의 약자로 삼성전자, 파나소닉 바다폰 등이 참여하여 시작한 프로젝트
타이젠
- 인털과 삼성을 주축으로 한 리눅스 재단, 미고 개발자 등이 합류하여 만듦
iOS
- 애플에서 개발, 아이폰에 적용된 애플 제품군 전용 운영체제
'५✍ > 리눅스 마스터 2급' 카테고리의 다른 글
리눅스 오답노트 (0) | 2023.09.08 |
---|---|
기출 문제 많이 나오는 것 (0) | 2023.09.07 |