리눅스 실무의 이해
운영체제의 목적
- 효율적 사용
- 사용자 인터페이스 제공(사용자 편리성)
- 비간섭
운영체제의 동향
- 편리한 인터페이스
- 하드웨어 제어
- 모바일 OS보편화
- 강력한 네트워크, 가상화 기술 지원
운영체제의 특징
- 인터페이스 프레임 워크를 모두 포괄하여 정의 가능
- 처리방식은 일괄 처리 시스템 -> 다중 프로그래밍 시스템 -> 실시간 시스템 -> 시분할 처리 시스템 -> 분산 처리 시스템 -> 다중 처리 시스템
- 웹 운영체제도 사용
- 가상화 기술을 기본적으로 내장
- POSIX를 준수
셰어웨어(Shareware)
- 평가판 프로그램
모바일 기기에서 사용되는 리눅스 운영체제
- Android : 안드로이드 모바일 운영체제
- LiMo : 리눅스 기반 모바일 운영체제
- Bada : 삼성이 개발
- Tizen : 리눅스기반 모바일 운영체제, HTML5기반
- MeeGo : 노키아, 인텔, 리눅스가 공동 개발
**QNX : 서버 운영체제
수세리눅스
- Jurix 배포판
- YaST
우분투
- 데비안 기초로 유니티사용
레드햇
- 유료비즈니스 시작열
- CentOS
- Scientific Linux
- Oracle Linux
- Fedora
데비안
- 패키지 설치/삭제 dpkg실행, apt사용
- 우분투
- Knoppix
- Corel
Vecort Linux
- 슬랙웨어 계열
GNU 프로젝트
- GCC
- BASH
- EMACS
임베디드 리눅스
- 별도의 로열티나 라이선스 비용 존재
- 소스가 공개되어 있어 변경 및 재배포 용이
- 사용자모드와 커널모드 메모리 접근 간단
- 커널 안정
저널링
- 디스크를 쓰기전 별도의 로그에 데이터를 남겨 놓는 기술
- 적용된 파일 시스템은 ex3, JFS, ReiserFS
- 전원공급 문제나 시스템 오류와 같은 상황에 복구 가능
- fsck로 복구하는 것 보다 속도가 빠르고, 복구의 안정성도 뛰어나다
텍스트 기반의 콘솔에서 로그아웃
- exit
- logout
- [Ctrl]+[d]
**[Ctrl]+[c]는 진행중인 작업 취소
[Ctrl]+[c] 입력시
- 번호는 2, 시그널은 SIGINT
[Ctrl]+[\] 입력시
- 번호는 3, 시그널은 SIGQUIT
[Ctrl]+[z] 입력시
- 포어그라운드 프로세스를 백그라운드 프로세스로 전환
- 시그널은 SIGTSTP
SIGKILL : 9
서버종료 명령어
- init6
리눅스 종료 명령어
- shutdown -h now
- power off
-halt
프로세스
- 실행 중인 프로그램
- PCB를 지님
- 프로그램 카운터를 지님
- 순차적 수행
- 하나의 프로세스가 다른 프로세스를 실행(fork : 복사본 형태의 프로세스 exec : 기존 프로세스를 새롭게 대체)
- inet : 클라이언트의 서비스 요청이 있을때 메모리에 상주
- &
/etc/sysconfig/network
- 부팅시 네트워크 사용 유무 지정
/etc/sysconfig/network-script/ifcfg-eth0
- 이더넷 카드를 하나만 장착시 IP주소 기록
/bin : 기본적인 명령어가 저장
/etc : 시스템의 설정파일
/dev : 디바이스 파일
/lib : 라이브러리 파일
/var : 생성되었다가 삭제되는 데이터를 일시적으로 저장
/boot : 부팅 이미지파일
/tmp : 임시저장 디렉터리
/proc : 일종의 가상 파일시스템으로 동작 중인 프로세스의 정보
ext4
- 다중 블록 할당자를 사용
- 매직넘버 0xEF53
- 여러개의 디스크를 하나로 묶어서 사용
- 디스크의 크기를 줄이거나 늘릴 수 있다.
프로토콜
- /etc/protocols 에서 번호를 확인
- /etc/services 에서 프로토콜 관련 포트번호를 확인
- FTP : 21
- SSH : 22
- TELNET : 23
소켓
- 네트워크에 연결되어 있는 컴퓨터에서 상호간 통신을 위한 접점
arp
- 특정 호스트의 MAC주소를 조회
OSI 7계층에 해당하는 프로토콜
- ARP : 패킷을 목적지까지 효율적으로 전달, 네트워크상에서 IP주소를 물리적 하드웨어 주소로 대응시키기 위해 사용하는 프로토콜
- 라우터가 있다.
- FTP(20,21/TCP)
- SSH(22/TCP)
- Telnet(23/TCP)
- POP3(110/TCP)
- IMAP(143/TCP)
OSI 세션계층
- 5번째 계층
- 통신 장치들 간의 설정을 유지하며 동기화
- SSL : 프로토콜
OSI 표현계층
- 데이터의 암호화와 해독을 수행
- 압축과 해제를 수행
Well-Known Port
- 0번부터 1023번까지
- /etc/service에서 확인 가능
호스트 IP
- 255.255.255.0에서 첫 IP인 0은 사용하지 않는다. 1개는 게이트웨이로 사용된다.
traceroute : 네트워크 장애 발생으로 통신 여부를 확인하기 위해 특정 호스트까지 라우팅 되는 과정을 출력해주는 명령어
DNS 서버를 설정하는 파일
- /etc/resolv.conf
ip
- ip주소 확인, 등록, 삭제
- 네트워크 인터페이스 활성 및 비활성
- 라우팅 테이블 확인
- 게이트웨이 주소값 설정 및 삭제
IP 주소를 확인하는 명령어
- ip show
- ip list
- ip show addr
게이트웨이의 주소값을 확인하는 명령어
- ip
- route
- netstat
- LISTEN : 서버로 들어오는 패킷을 위해 소켓을 열고 기다리는 상태
- CLOSE-WAIT : 원격 호스트 종료, 소켓종료 기달
- ESTABLISHED : 서버와 클라이언트가 서로 연결된 상태
- TIME-WAIT : 대기하는 상태
- SYN-RECEIVED 서버 시스템이 접속요구를 받아 응답을 했지만 확인 메시지를 받지 않은 상태
- anp : PID 및 프로그램명을 출력
X윈도
- 디스플레이 장치에 의존적이지 않다.
- 윈도 매니저는 윈도의 배치와 표현을 담당하는 소프트웨어
- X윈도는 서버와 클라이언트가 독립적으로 동작하는 네트워크 지향 시스템
- 부팅시 /etc/inittab으로 설정해서 실행
- run level 5에서 실행
- startx로 실행
- 윈도 매니저 : Metacity, SindowMaker, Enlightenment
- .Xauthority : x윈도 실행시 키 정보를 저장
디스플레이 매니저
- X윈도의 구성요소 중에 사용자 로그인 및 세션관리 역할
startx : X윈도 실행
데스크톱 환경
- GUI환경을 이용하기 위해, 제공되는 인터페이스
- 아이콘, 창, 도구모음 등이 포함
KDE
- 데스크탑 환경의 일종
- 리눅스 뿐만 아니라, FreeBSD, Solaris, OS X지원
- Metacity라는 윈도매니저 사용
XFce
- 데스크탑 환경
GNOME
- 데스크탑 환경
- GPL, LGPL
- GNU프로젝트로 만들어짐
- GTK+라이브러리 기반
- nautilus, metacity, mutter, KDE과 관련
- GNOME2버전엔 metacity, 3버전엔 mutter
- GNOME, KDE, XFce와 관련
윈도매니저
- 윈도의 배치와 표현, 창 닫기, 최소화 및 최대화 등의 유틸리티 제공
- metacity, mutter, window Maker, Enlightnment
X 클라이언트 관련 명령어/환경변수
- xhost
- xauth
- DISPLAY 환경 변수(X 클라이언트를 명령지로 보낸다.)
x 프로토콜
- x서버와 x클라이언트의 상호 작용은 메시지 교환을 통해서 이루어지는데, 메시지 형태와 사용법
XFS
- SGI에서 개발한 파일시스템, 최대 16EB 디스크볼륨과 8EB의 파일 지원
- RHEL 7의 기본파일 시스템으로 제공
XCB
- Xlib을 대체하기 위해 등장, 향상된 쓰레드기능, 확장성 뛰어남
Xlib
- Xt
- Motif
- GTK+
TRRM 환경변수
- 현재 터미널 프로그램의 정보를 보여줌
DSIPLAY 환경변수
- 원격지로 전송하기 위해 변경
이미지 뷰어 프로그램
- GIMP
- ImageMagick
- eog
PDF볼때 프로그램
- evince
${#변수} 는 원소 갯수를 의미한다.
root패스워드 초기화방법
- GRUB부트화면에서 "a"누르고 1 입력
디스플레이매니저
- 런 레벨 5로부팅 시 로그인 창을 통해 사용자 인증을 수행.
evince프로그램이 지원하는 문서 포맷
- PS
- XPS
**PSD는 포토샵
C shell
- 빌 조이가 개발
zombie process
- 부모 프로세스가 종료된 후에도 남아있는 자식 프로세스이다
- 종료를 위해서는 kill -9 옵션을 붙인다.
chkconifg
- 간단한 유틸리티로 특정 run level에서 실행할 프로그램을 등록/설정/변경 가능, 서비스의 on/off 리스트 출력
- chkconfig telent on
LAN
- 라우터 : 가장 거리가 멀다
Breidge
- OSI 모델의 데이터 링크 계층의 여러개의 네트워크 세그먼트를 연결
Repeater
- LAN 선로의 물리적 길이가 한계에 부딪쳤을때 이를 물리적으로나 논리적으로 확장시켜주는 장치
Ethernet
- 각 기기들이 48비트 길이의 고유한 MAC 주소를 기반
- 상호간의 데이터를 주고 받는다.
- T568B : 흰주, 주, 흰녹, 파, 흰파, 녹, 흰갈, 갈
Cell Relay
- ATM으로 알려저있다
- 53Byte의 고정길이 패킷을 이용하여 순서대로 자료 전송
DQDB
- MAN을 위한 국제 표준안으로 IEEE 802.6에 정의
회선 교환 방식
- 송수신 호스트 간에 데이터 전송을 위한 연결 경로를 설정 후 전송
- 고정된 대역폭을 할당 받아 전송
- 안정적인 데이터 전송률을 지원
패킷 교환 방식
- 전송 대역폭이 동적
- 이론상 호스트의 무제한 수용 가능
- 모든 데이터가 같은 경로로 전송되지 않을 수 있다.
웹 서버 데몬(httpad)를 실행하기 위한 명령어
- /etc/rc.d/init.d/httpd start
- service httpd start
- /etc/init.d/httpd start
LVM의 구성요소
- 분할된 파티션의 용량을 손쉽게 증설이 가능하도록 구성
- 여러개의 디스크를 하나로 묶어서 사용하는 기술
- VG : LVM에서 구성되는 단위를 PE라고 부르는데 이러한 PE가 모인것
- PE : PV에서 나누어 사용하는 일종의 블록 같은 영역(보통 1단위당 4MB)
- PV : /dev/sdb1, /dev/sdc1등이 해당
- LV : VG에서 사용자가 필요한 만큼 할당하여 만들어지는 공간
ifconfig
- IP주소
- 넷마스크값
- MAC 주소
route
- 게이트웨이 주소
- route add default gw 192.168.3.254 : 게이트웨이 주소 설정
IPv4
- 주소 표시 공간이 32비트
IPv6
- 주소 표시 공간이 128비트
- 네트워크에 접속하는 순간 자동적으로 주소 할당
- 헤더구조 단순
- 플로 레이블을 도입해서 고품질 서비스 지원
- 무결성 보장
부팅파일
/etc/inittab
- 부팅과 관련된 실행레벨 정의
/etc/rc.d/rc.local서 - 3순서
- 실행 레벨 2,3,5에서 가장 마지막에 실행
- 부팅시 데몬 실행 설정
/etc/init/rc.conf 서- 2순서
- 부팅시 각 레벨별로 진행되는 내용이 설정
/etc/init/rcS.conf - 1순서
- 시스템 초기화와 관련된 내용이 설정
출력 참고
1 - 표준출력
2 - 오류출력
> - 출력 리다이렉트
< - 입력 리다이렉트
/dev/null - 쓰레기통
2>/dev/null
= 표준에러출력을 쓰레기통에 출력해라
"$0" : 실행된 셸 스크립트 명
로그인에 성공한 후 접속자에게 메시지 전달
/etc/motd
!?al?
- 최근 실행한 명령중에 al이라는 문자열을 포함시키는 명령 실행
HISTSIZE
- 히스토리에 저장되는 명령의 개수를 제한
PS1
- bash에서 프롬프트 변경
PATH 설정값 수정
- export PATH=$PATH:/home/posein
case로 시작해서 esac로 끝난다.
ISO
- OSI 참조 모델제정
IEEE
- LAN 및 MAN 관련 표준 제정
EIA
- RS-232C, UTP 케이블 표준 규격
ITU-T
- 전기통신의 개선, 효율적 사용 위해 정부간 국제기구
ICANN
- IP주소 할당 및 도메인 관리
TCP/IP
- IPv4
- ARP
- ICMP
org
- 비영리 목적의 기관이나 단체에 부여되는 최상위 도메인
'OS > LINUX' 카테고리의 다른 글
[리눅스마스터1급 대비]네트워크 및 서비스의 활용(3과목) (0) | 2019.03.14 |
---|---|
[리눅스마스터1급 대비]리눅스 시스템 관리(2과목) (0) | 2019.03.13 |
[LINUX]RAID에 대하여 (0) | 2019.03.12 |