과목 (49~80)
바로가기 >> 리눅스마스터 기출문제 목록
데스크톱 환경
데스크톱 환경이란 GUI 환경을 이용하기 위해 서용자에게 제공되는 인터페이스 스타일을 말한다.보통 윈도 매니저를 포함하여 파일관라지, 아이콘, 창, 도구 모음, 폴더, 배경화면, 데스트톱 위젯을 제공한다.
디스플레이 매니저
리눅스에서 사용하는 디스플레이 매니저는 X 윈도 초기 버전인 X11R3 부터 사용하던 XDM(X Display Manager), GNOME 에서 사용하는 GDM(GNOME Display Manager), KDM를 들 수 있다.
KDE
1996년 튀빙겐 대학교 학생이었던 마티아스 에트리히가 Qt 라이브러리를 기반으로 만들기 시작했고 그이후 많은 프로그래머들이 합류하면서 1998년에 첫번째 버전이 출시되었다.
GDM(GNOME Display Manager)
X 윈도의 실행
X 윈도를 실행하는 방법에는 부팅 시에 X 윈도를 실행하는 방법(Runlevel 5)와 텍스트 모드(Runlevel 3)에서 실행하는 방법으로 나눌 수 있다. 런 레벨 5로 설정된 상태라면 부팅 시에 X 윈도가 시작되고, 디스플레이 매니저(Display Manager)라는 프로그램이 실행되면서 로그인 창이 나타나게 된다. 디스플레이 매니저는 사용자 이름과 암호를 요청하고 유효한 값이 입력되면 세션을 시작해 주는 역할을 해준다.런 레벨 3으로 설정된 상태이면 텍스트 모드로 부팅이 된다. 이 경우에는 사용자 계정으로 먼저 로그인 한 뒤에 startx 라는 명령을 이용해서 X 윈도를 실행시켜야 한다.
데스크톱 환경(Desktop Environment, DE)
데스크톱 환경이란 GUI 환경을 이용하기 위해 서용자에게 제공되는 인터페이스 스타일을 말한다. 보통 윈도 매니저(Window Manager)를 포함하여 파일관라지, 아이콘, 창, 도구 모음, 폴더, 배경화면, 데스트톱 위젯을 제공하고, Drag & Drop 과 프로세스 간의 통보와 같은 기능도 지원한다. 리눅스에서 사용하는 대표적인 데스크톱 환경에는 GNOME, KDE, Xfce, LXDE 등이 있다.
윈도 매니저
X 윈도 환경에서 윈도(window)의 배치와 표현을 담당하는 시스템 소프트웨어를 말한다. 대부분의 윈도 매니저 프로그램은 데스크톱 환경 구성에 도움을 주기 위해 설계되었다. 기본적인 기능으로는 창 열기, 창 닫기, 최소화 및 최대화, 이동, 크기 조정 등을 가능하게 하고, 윈도의 외양과 테두리를 변화시킬 수 있다. 또한 도크(Dock), 태스크 바(Task bar), 프로그램 런쳐(Program launcher), 데스크톱 아이콘(Desktop icon), 바탕화면(Wallpaper) 등과 같이 다양한 유틸리티를 제공한다.
모질라 선더버드(Mozilla Thunderbird)
모질라 선더버드는 모질라 재단이 개발한 자유 소프트웨어 크로스 플랫폼 전자우편 및 뉴스 클라이언트 소프트웨어이다. 웹브라우저를 개발하는 모질라 파이어폭스를 따라서 선더버드 프로젝트 전략이 수립되었다. 파이어폭스의 목적인 웹브라우저를 다시 정의하는 것과 마찬가지로, 선더버드는 메일 및 뉴스 클라이언트 인터페이스의 진보를 목적으로 하고 있다.
KDE 에 포함된 주요 프로그램
konqueror : 웹 브라우저 및 파일 관리 프로그램
dolphin : 파일관리 프로그램
kwrite : 텍스트 편집기 프로그램
Gwenview : 이미지 뷰어 프로그램
Okular : 문서 뷰어 프로그램
KGet : 다운로드 관리자 프로그램
KMail : 메일 클라이언트 프로그램
KUser : 사용자 관리 프로그램
Krib : 데스크톱 공유 프로그램
GNOME 에 포함된 주요 프로그램
nautilus : 파일 관리 프로그램
Cheese : 웹 캠을 이용한 사진 및 비디오 추출 프로그램
GIMP : 이미지 편집, 변환, 생성 프로그램
Rhythmbox : 인터넷 라디오 및 음악 연주 프로그램
gThumb : 이미지 뷰어 및 편집 프로그램
gnome-terminal : 터미널 프로그램
gedit : 문서 편집 프로그램
evince : 문서 뷰어 프로그램(pdf, PS, EPS 등)
totem : 사운드 및 비디오 플레이어
gnome-system-monitor : 프로세스 및 자원 모니터링 프로그램
sount-juicer : CD 플레이어 프로그램
evolution : 메일, 달력, 주소록 관련 프로그램
X 윈도 응용 프로그램
GIMP : 사진이나 그림을 편집하는 자유 소프트웨어
Totem : GNOME 데스크톱 기반으 Movie Player 이다.
KMid : 미디 및 노래방 파일 플레이어
ImageMagick : 비트맵 이미지를 보여주고 생성 및 편집이 가능하도록 지원해주는 프로그램 패키지
eog : GNOME 데스크톱에서 제공하는 이미지 뷰어 프로그램
kdegraphics : KDE 에서 제공하는 그래픽 관련 프로그램 패키지
Rhythmbox : 통합형 음악 관리 프로그램
evince : 멀티 페이지 문서 뷰어 프로그램
LibreOffice : 무료로 배포되는 오피스 프로그램 패키지
53번 문제해설 참조
53번 문제해설 참조
53번 문제해설 참조
물리 계층 비트(스트림)
데이터 링크 계층 – 전달정보(프레임)
네트워크 계층 – 패킷 혹은 UDP의 데이터그램
전송 계층 – TCP 세그먼트
세션/표현/응용계층 – 메시지
전송 계층은 응용 계층으로부터 받은 데이터를 세그먼트(Segment) 형태로 만들어 네트워크를 통해 수신자에게 전달하는 역할을 한다.
응용 계층 : 네트워크에 접근할 수 있도록 해준다.
표현 계층 : 변환/압축/암호화
세션 계층 : 대화제어/동기화
전송 계층 : 메시지를 한 프로세스에서 다른 프로세스로 전달
네트워크 계층 : 패킷을 발신지에서 최종 목적지로 전달
데이터 링크 계층 : 프레임을 한 노드에서 다음 노드로 전달
물리 계층: 개별 비트들을 한 노드에서 다음 노드로 전달
스타(Star)형
중앙에 위치한 중앙 컴퓨터가 각 컴퓨터와 통신하는 방식으로 중앙의 제어기(허브 또는 교환기)를 중심으로 모든 기기는 Point-to-Point 방식으로 연결한다. 중앙 집중식 형태로 고속의 대규모 네트워크에 이용하고 일부 장애가 발생해도 전체 네트워크에 영향을 주지 않는다. 또한 단말기 추가나 오류진단이 용이하다.
버스(Bus)형
하나의 통신회선(Bus)에 여러 컴퓨터를 전송하는 연결해서 방법으로 모든 장치들은 동등한 조건으로 경쟁한다. 연결된 컴퓨터 수에 따라 네트워크 성능이 좌우된다. 또한 신호 반사에 의한 상호 간섭을 막기 위해 종단에는 종간기(Terminator)가 존재한다. 구조가 간단하여 단말기의 추가 및 제거가 용이하고 설치비용이 저렴하다.
링(Ring)형
원형의 통신회선에 컴퓨터와 단말기를 연결하는 형태로 연결된 앞의 컴퓨터로부터 수신한 내용을 다음 컴퓨터에 재전송하는 방법으로 동작하며, 토큰 패싱이라는 방법을 통해 데이터를 전송한다. 네트워크 전송상의 충돌이 없고, 노드의 숫자가 늘더라도 전체적인 성능의 저하가 적다.
망(Mesh)형
스타형과 링형의 혼합된 형태로 각 네트워크 장비가 여러개의 인터페이스를 갖추고 상호간에 그물 형태로 연결하는 방식이다. 설치비용이 많이 드는 관계로 LAN 을 구성할 때보다 라우터를 이용하여 LAN과 LAN을 연결하거나 백본망(Backbone Network)을 구성한 때 주로 사용된다. 장애 발생시에도 다른 시스템에 영향이 적고, 우회할 수 있는 방법이 존재하여 신뢰성이 높다.
X.25
ITU-T 의 표준화한 통신 규약으로 패킷망에서 DCE(회선 종단 장치)와 DTE(데이터 단말 장치)사이에 이루어지는 상호 작용을 규정한 프로토콜이다. 네트워크 계층의 대표적인 프로토콜로 가변 길이 프레임 전송을 지원하는 프레임 릴레이(Frame Relay)의 근간을 이룬다.
프레임 릴레이(Frame Relay)
프레임 릴레이는 LAN 또는 WAN 상에서 다말 지점간의 효율적인 데이터 전송을 위해 고안된 방법으로 패킷 대신에 프레임이라고 불리는 가변 길이 단위에 데이터를 넣고 재전송과 같은 오류정정 기능은 단말 지점에 맡기는 방식이다.
셸 릴레이(Cell Relay): ATM(Asynchronous Transfer Mode)
셸 릴레이 방식은 ATM 이라고 더 많이 알려져 있는데, 셸(Cell) 이라고 부르는 고정 길이(53Byte) 패킷을 이용하여 순서대로 자료를 전송하는 방식이다. 이 방식은 가상 채널(Virtual Channel) 기반의 연결형 서비스로 프레임 릴레이처럼 양 끝의 단말간의 오류 제어와 흐름 제어를 한다. 이로 인해 망의 오버헤드가 적어서 망의 고속화가 가능하다. 실시간 서비스 및 비실시간 서비스를 제공할 수 있고, 음성 및 압축 비디오 신호의 처리도 가능하다.
IP
IP 프로토콜은 데이터 세그먼트를 패킷으로 만들어 전송하는 역할을 수행한다. 패킷을 분할/병합하고, 라우터간의 패킷을 전송할 때 최선을 다하지만 100% 도착하는 것을 보장하지는 않는다. 비신뢰성과 비연결형이 특징이다.
ICMP
메시지에 대한 오류 보고와 이에 대한 피드백을 원래 호스트에 보고하는 역할을 수행한다. ICMP 제어 메시지는 IP 패킷의 형태로 전달되고, ping 명령이 사용하는 프로토콜이다.
ARP
IP 프로토콜은 하드웨어 주소와 논리적인 할당에 의한 IP 주소를 갖는다. 개별 호스트는 비록 독자의 IP 주소를 할당받지만 실제의 데이터 전달은 하드웨어 주소를 알아야 한다. 따라서 이 두가지의 주소를 적절히 매칭시킬 필요가 있는데, ARP 프로토콜은 동적으로 특정 프로토콜에 의해서 필요할 때마다 목적지 호스트의 하드웨어 주소를 찾는 역할을 한다.
포트 번호와 주요 프로토콜
20 : FTP-data 포트로 FTP 전송 시에 사용
21 : FTP 제어에 사용
22 : SSH 에 사용
23 : TELNET 에 사용
25 : SMTP 에 사용
53 : DNS 에서 사용
80 : WWW 프로토콜인 HTTP 에서 사용
110 : POP3 에서 사용
143 : IMAP 에서 사용
161 : SNMP 에서 사용
443 : HTTPS 에서 사용
UTP 케이블의 배열
8가닥중 실질적으로 쓰이는 선은 4개로 1, 2, 3, 6번인 ‘흰주, 주, 흰녹, 녹’ 이다.
T568B 1번과 3번 2번과 6번의 위치를 바꾸면 T568A 가 된다.
배열순서
T568B 흰주 – 주 – 흰녹 – 파 – 흰파 – 녹 – 흰갈 – 갈
T568A 흰녹 – 녹 – 흰주 – 파 – 흰파 – 주 – 흰갈 – 갈
허브(HUB)와 PC 연결과 같이 일반적인 연결에는 UTP 케이블 양쪽의 끝 모두 T568B 타입으로 배열하면 된다. 허브를 사용하지 않고 PC 대 PC 를 직접 연결하거나 허브와 허브 UPLINK 로 연결할 때에는 UTP 케이블 한쪽은 T568B 로 배열하고 다른 한쪽은 T568A 로 배열해야 한다.
NFS
TCP/IP 네트워크상에서 다른 컴퓨터의 파일 시스템을 마운트하고 공유하여 상대방의 파일 시스템 일부를 마치 자기 자신의 디렉터리인 것처럼 사용할 수 있게 해준다.
NIS
하나의 서버에 등록된 사용자 계정, 암호, 그룹정보 등을 공유하여 다른 시스템에 제공하는 서비스를 말한다.
TELNET : 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜
portmap : RPC 연결 관리 데몬 (NFS,NIS)
ssh
ssh는 원격 시스템에 로그인하여 명령을 실행하는 프로그램으로 기본적인 사용법은 telnet과 유사하다. telnet 은 데이터 전송 시에 일반 텍스트 형태로 패킷을 전달하여 유출당할 위험이 있지만, ssh 는 패킷 전송시 암호화시키므로 안전하게 전송할 수 있다.
Gecko
Mozilla 프로젝트에서 개발한 레이아웃 엔진으로 FireFox, SeaMonkey 등과 같은 브라우저를 포함한 다양한 어플리케이션에서 사용된다.
SSH(Secure Shell)
원격 시스템에 로그인하여 명령을 실하하는 프로그램. 기본적인 사용법은 telnet 과 유사.
telnet 은 클라이언트와 서버간의 데이터 전송시에 일반 텍스트 형태로 패킷을 전달하여 내용을 유출당할 수 있지만 ssh는 패킷 전송시 암호화를 하여 안전하게 전송할 수 있다.
ssh-keygen(인증키를 이용한 SSH 서버접속)
SSH 서버를 접속할 때 패스워드를 입력하여 접속하지만 인증키를 이용하여 접속할 수 있다.
SSH 클라이언트에서 ssh-keygen 명령을 이용해서 비밀키와 공개키를 생성하고, SSH 서버에 공개키를 복사하면 된다.
사용예
$ ssh-keygen
RSA 를 이용해서 인증키를 생성한다. id_rsa 와 id_rsa.pub 두개의 파일이 생성되며, 패스워드를 별도로 설정하면 서버에 접속할 때 패스워드 없이 로그인이 가능하다. 생성된 파일 중에 공개키 파일에 해당하는 id_rsa.pub 파일을 원격지 서버의 홈 디렉터리 안에 .ssh/authorized_keys 로 복사해두면 된다.
telnet 명령어 주요 옵션
-d : 디버깅을 작동시킨다.
-a : 자동 로그인을 시도한다.
-l user : 자동 로그인을 위해 사용자 이름(user)을 원격 시스템으로 보낸다. 자동으로 -a 를 포함한다.
/26 은 1의 개수가 26개 ⇒ 11111111,11111111,11111111,11000000
서브넷마스크 255.255.255.192
서브네트워크 수 4
호스트 수 64
네트워크 주소는 마지막 옥텟의 처음 두 자릿수
00000000(0)
01000000(64)
10000000(128)
11000000(192)
4개의 서브네트워크
192.168.168.0
192.168.168.64
192.168.168.128
192.168.168.192
네트워크 또는 서브넷의 첫번째 주소와 마지막 주소는 개별 호스트에 할당불가
4개의 서브네트워크의 첫번째 주소와 마지막 주소
192.168.168.0 첫번째 주소 0 마지막 주소 63
192.168.168.64 첫번째 주소 64 마지막 주소 127
192.168.168.128 첫번째 주소 128 마지막 주소 191
192.168.168.192 첫번째 주소 192 마지막 주소 255
192.168.168.1-62
192.168.168.65-126
192.168.168.129-190
192.168.168.193-254
게이트 웨이
게이트웨이는 현재 사용자가 위치한 네트워크에서 다른 네트워크로 이동하기 위해 반드시 거쳐야 하는 거점을 의미한다. 자동차 고속도로로 진입하기 위해 통과하는 톨게이트와 유사한 개념이다.
192.168.168.150 은 192.168.168.129-190 에 속함
답 : 192.168.168.129
netstat
네트워크 연결 상태를 출력하는 명령이다.
네트워크 연결 상태 이외에도 라우팅 테이블 정보, 네트워크 인터페이스 상태, 매스커레이드 연결 상태, 멀티캐스트 멤버 등의 정보를 출력한다.
네트워크 관련 파일
/etc/sysconfig/network : 네트워크 사용 유무 지정, 호스트명 설정, 게이트웨이 주소 설정, 게이트웨이 장치파일 설정, NIS 도메인 이름 등이 기록되는 파일이다.
/etc/sysconfig/network-scripts 디렉터리 : 네트워크 인터페이스 환경 설정과 관련된 파일들이 저장 되는 디렉토리.
/etc/resolv.conf : 시스템에서 사용하는 DNS 서버를 설정하는 파일
/etc/hosts : DNS 서버를 사용하기 이전에 많이 이용된 파일로 IP 주소와 호스트명을 매핑시켜 데이터베이스처럼 사용하는 파일. 자주 이용하는 IP 주소에 별칭을 설정하여 접속을 쉽게 할 수 있다.
arp
ARP(Address Resolution Protocol) 캐시를 관리하는 명령이다. ARP 캐시는 현재 접속되어 있는 32비트 IP 주소를 하드웨어 주소(MAC address)로 바꾸어서 기억하는 곳이다. 이 ARP 캐시를 보면 현재 들어와 았는 호스트에 대한 정보를 알아낼 수 있다. 이 ARP 캐시를 보면 현재 들어와 있는 호스트에 대한 정보를 알아낼 수 있다. 15분 정도 쓰이지 않은 MAC 주소는 ARP 캐시에서 제거된다.
명령 입력과 동시에 즉시 반영되나, 재부팅하면 초기화된다.
mii-tool
네트워크 인터페이스의 연결상태를 확인하고, 강제적으로 랜카드의 속도와 duplex 모드(100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD)를 변경하는데 사용하는 툴이다.
ss 명령어
네트워크 상태 확인 등에 사용하는 netstat 명령어를 대체로 ss 명령어를 사용할 수 있는 명령어
고계산용 클러스터(HPC)
HPC 클러스터는 고성능의 계산 능력을 제공하기 위한 목적으로 제작되는데 주로 과학계산용으로 활용되고, 흔히 부르는 슈퍼컴퓨터가 HPC 클러스터로 구성하여 제작된다. 다른 말로 베어울프 클러스터라고도 한다. 최근에 CPU, Motherboard, Disk 등 하드웨어의 성능 개선, 저렴한 가격과 개발 도구인 GNU C Compiler, 관련 프로그램 툴, PVM 및 MPI 같은 메시지 패싱 라이브러리들이 등장하면서 더욱 더 높은 성능을 내고 있다.
부하분산 클러스터
대규모의 서비스를제공하기 위한 목적으로 사용되는 클러스터 기법으로 이용자가 많은 웹 서비스 등에 활용가치가 높다. 보통 여러 대의 리얼 서버에 부하를 분산해 주는 로드 밸런서를 두고 운영한는 방법이다.
고가용성 클러스터
지속적인 서비스 제공을 목적으로 하는 클러스터로 위에 열거된 부하분산 클러스터와 연동하여 많이 사용된다. 부하분산 클러스터에서 로드 밸런서의 오류가 발생하여 동작을 하지 않는다면 리얼 서버가 정상적인 동작을 하더라도 서비스를 제공하지 못하게 된다. 이러한 문제점을 해결하기 위해 하나으 Primary Node 가 부하분산의 처리를 수행하고 다른 하나의 Backup Node 가 Primary Node 의 상태를 체크하고 있다가 이상이 발생하면 서비스를 받도록 구성하는 바법이다.
버추얼박스(VirtualBox)
버추얼박스는 인텔의 하드웨어 가상화인 VT-x 와 AMD 의 AMD-V 를 기반으로 전가상화를 지원한다. 버추얼박스는 게스트 운영체제의 하드디스크를 VDI(Virtual Disk Image : 가상 디스크 이미지) 파일로 불리는 특별한 컨테이너 포멧으로 에뮬레이트된다.
도커(Docker)
도커는 하이퍼바이저를 사용하거나 게스트 운영체제도 설치하지 않고, 서버 운영에 필요한 프로그램과 라이브러리만 이미지로 만들어 프로세스처럼 동작시키는 경량화된 가상화 방식이다.