본문 바로가기

IT 엔지니어/자격증

리눅스마스터 2급 2023년 12월 09일 기출문제

 

 

 

PV (Physical Volume): 물리적 디스크를 LVM에 사용할 준비
VG (Volume Group): 여러 PV를 묶어 저장 공간 풀 생성
LV (Logical Volume): VG에서 원하는 크기로 논리 볼륨 생성.
PE (Physical Extent): VG 내부의 작은 블록 단위.
LVM은 디스크 공간을 효율적으로 관리하고 유연한 확장성을 제공

 

 

 

데비안 계열 리눅스

환경 설정 파일 포함 vsftpd 패키지 제거 명령

apt-get purge vsftpd

erase = remove

 

rpm 명령으로 의존성 패키지 제거

rpm -e [file] --nodeps

 

확장 패키지 관련 저장소 설치 명령

yum install epel-release

 

리눅스 온라인 패키지 관리 도구

dnf 페도라 온라인

zypper 수세 온라인

apt-get 데비안 온라인

rpm - Red Hat Offline

 

/(문자열) => 커서 위치부터 순방향(아래)로 문자열 검색
?(문자열) => 커서 위치부터 순방향(위)로 문자열 검색
n => 원래 찾던 방향으로 다음 문자열을 찾는다 (다음 위치로 이동)
N => 역방향으로 다음 문자열을 찾는다 (이전 위치로 이동)

 

X 윈도 환경에서만 사용 가능한 편집기 = Kwrite

 

 

작업번호가 2번인 백그라운드 프로세스를 종료

kill %2

kill 2 : PID가 2인 프로세스 종료

 

 

#nice bash

nice bash 명령어를 실행시, 현재 실행 bash 셸의 프로세스에 대한

nice 값을 기본적 10 증가
Nice 값이 증가하면 프로세스의 우선순위가 낮아지므로,

해당 프로세스는 낮은 우선순위로 실행

 

 

 

○ SIGINT: 2, <CTRL+C>, 종료
○ SIGKILL: 9 강제종료
○ SIGTERM: 15

kill 시스템 호출시, 가능하면 정상종료 시키는 시그널,

kill 명령 기본 시그널,
○ SIGTSTP: 20, <Ctrl+Z>, 프로세스를 대기(suspend)로 전환

 

 

fork :

새로운 프로세스를 위해 메모리를 할당받아

복사본 형태의 프로세스를 실행
exec : 원래 프로세스를 새로운 프로세스로 대체하는 형태
foreground : 앱이 실행되어 사용자에게 보여지고 있는 상태
background : background 상태에 있지만 동작 code가 있는 상태

 

 

 

 


<문제 해설>
ps: `ps`(Process Status) 명령어는 현재 실행중인 프로세스의 정보를 보여주는 유틸리티
기본적으로 실행되는 모든 프로스세를 나열하거나 특정 사용자나 특정 프로세스에 대한 정보를 볼 수 있음

chsh: `chsh`(Change Shell) 명령어는 사용자의 로그인 셸을 변경하는데 사용
jobs: `jobs` 명령어는 현재 쉴에서 백그라운드에서 실행 중인 작업 목록을 보여줌
shells: `shells` 파일은 시스템에서 사용 가능한 셸의 목록을 보유하는 파일
일반적으로 `/etc/shells`경로에 위치하며, 이 파일은 사용 가능한 셸의 절대 경로를 한 줄에 하나씩 포함함

 

 

 /etc/passwd
시스템에 등록된 각 사용자의 계정 정보를 저장

사용자 ID, 그룹 ID, 홈 디렉토리, 로그인 셸 등의 정보를 포함.

사용자의 로그인 셸 정보는 각 사용자의 레코드 마지막 부분에 위치.

/etc/shells:

시스템에서 사용 가능한 셸의 목록을 포함.

사용자가 chsh 명령어를 사용하여 변경할 수 있는 유효한 셸을 나열.

/etc/bashrc:

시스템 전체의 기본 설정을 위한 bash 셸 스크립트 파일.

모든 사용자의 bash 셸 세션에 대한 글로벌 구성을 제공.

/etc/profile:

시스템 전체의 로그인 셸 세션을 위한 초기화 스크립트 파일.

모든 사용자의 로그인 셸 세션 시작 시 실행.

 

b shell csh dash bash

 

 

/etc/fstab 은 파일 시스템 테이블 제공 파일
/etc/mtab 파일은 현재 마운트된 파일 시스템에 관한 정보
mount 명령어 - 파일 시스템이 실제 마운트 여부 관계없이 장치 목록 제공
/proc/partitions 파일은 현재 시스템에 있는 파티션 정보를 제공

 

 

/etc/fstab 파일의 첫 번째 필드에 설정할 수 있는 값

장치명=/dev=UUID, 라벨명, 네트워크 주소, 파일명

마운트 포인트 = /etc/fstab" 파일의 두 번째 필드에 설정

 

 

du 명령은 디렉터리의 디스크 사용량을 확인


df 명령은 디스크 공간에 대한 정보를 보여주는 명령어

 


quota 명령은 디스크 사용량 제한 및 현재 사용량을 확인하는 명령어

 

 

 

 


project 그룹에 속한 사용자들이 /project 디렉터리에서 파일 생성은 자유로우나 삭제는 본인의 생성한 파일만 가능하도록 설정하려고 한다. 또한 파일 생성 시 자동으로 그룹 소유권이 project로 부여되도록 설정하려고 한다. /project 디렉터리의 정보가 다음과 같을 때 관련 명령으로 알맞은 것은

그룹에 속한 사용자들이 디렉터리에서 파일 생성은 자유로우나

삭제는 본인이 생성한 파일만 가능 => Sticky Bit (1)
파일 생성시 자동으로 그룹 소유권이 Project로 부여 되도록 설정 => Set GID(2)
Sticky Bit 와 Set GID를 동시에 설정 해야 하므로 1+2 =3

SUID (Set User ID): 4
SGID (Set Group ID): 2
Sticky Bit: 1

 

 

R : 복잡한 데이터 분석과 시각화를 위한 강력한 도구를 제공
Hadoop: 대규모 데이터 세트를 분산 처리하기 위한 프레임워크. 데이터 저장과 처리에 유용
NoSQL: 관계형 데이터베이스의 대안/ 빅데이터와 실시간 웹 애플리케이션을 위한 다양한 데이터베이스 기술
Cassandra: 고가용성과 확장성을 제공하는 분산 NoSQL 데이터베이스 시스템

 

 

 

CPU 반가상화를 지원하는 가상화 기술 = XEN

반가상화 - Xen
전가상화 - KVM

 

 

 

/etc/hosts 파일은 도메인 이름/호스트 이름과 IP 주소를 매핑하는 파일입니다.

이 파일에 특정 도메인을 단축 이름으로 설정할 수 있습니다.

예를 들어, kait를 입력했을 때 kait.ihd.or.kr로 자동으로 연결되도록 할 수 있습니다.

/etc/resolv.conf 파일은 DNS 서버를 설정하는 파일로,

도메인 이름을 IP 주소로 변환하는 DNS 서버의 정보를 제공합니다.

이 파일에서는 도메인을 단축하는 설정은 할 수 없습니다.

 

 

 

1. ifconfig : 네트워크 인터페이스의 설정 및 관리에 사용되는 명령어입니다.
용도: 네트워크 인터페이스의 상태 확인, IP 주소 설정, 네트워크 인터페이스 활성화/비활성화 등.

2. ss : 소켓 통계를 보여주는 명령어로, 네트워크 연결, 소켓 통계, 프로토콜 사용 현황 등을 확인할 수 있습니다.
용도: 네트워크 연결 상태 확인, 포트 사용 현황 체크, 소켓 상태 모니터링 등.

3. netstat : 네트워크 상태와 관련된 다양한 통계를 보여주는 명령어입니다.
용도: 네트워크 연결, 라우팅 테이블, 인터페이스 통계, 멀티캐스트 멤버십 등을 확인.

4. mii-tool : 네트워크 인터페이스의 미디어 상태를 확인하고 설정하는 도구입니다.
용도: 네트워크 인터페이스의 링크 상태, 속도 및 듀플렉스 모드 확인 및 설정.

옵션없이 실행하면 랜카드의 속도, duplex 모드, 연경 상태를 보여줘서 네트워크를
점검할 때 사용하는 명령어로 알맞다.
-v 옵션을 추가하면 보다 상새한 MII 상태를 볼 수 있다

 

시스템에 설정된 게이트웨이 주소값을 확인하는 명령어

ip / route/ netstat

 

 

ssh [username]@[hostname or IP address]

ssh -l root IP address

 

telnet -l [username] [IP 주소]

-u : UDP 모드로 telnet을 실행
-n : 호스트 이름을 숫자로 변환하지 않고, 주소로 처리
-p : 원격 호스트의 포트를 지정
-l : 로그인 할 때 사용 할 사용자 이름을 지정

 

 

NFS (Network File System) :

네트워크를 통해 파일 공유 시스템

리눅스나 유닉스 시스템끼리 파일 공유할 때 주로 사용함.
SAMBA :

윈도우 파일 공유 프로토콜인 SMB/CIFS를 구현

윈도우와 리눅스/유닉스 시스템 간에 파일이나 프린터 공유
Gopher :

인터넷 초기 정보 검색 프로토콜

계층적 검색 시스템 
FTP (File Transfer Protocol) :

파일을 컴퓨터간 전송 프로토콜

웹 브라우저나 전용 클라이언트를 통해 파일 업로드, 다운로드 할 때 사용됨.

 

 

 

Lynx, Links는 텍스트 기반의 웹 브라우저

 

 

 

 

totem - GNOME 데스크톱 환경의 기본 동영상 플레이어
ImageMagicK - 오픈 소스 이미 처리 및 변환 도구
Eog(Eye of GNOME) - GNOME 데스크톱 환경의 기본 이미지 뷰어
Gimp - GNU 이미지 처리 프로젝트 약자. 오픈 소스 이미지 편집 프로그램

 

 

 

X 서버에서 IP 주소가 192.168.12.22번인 X 클라이언트 허가 명령.

xhost 192.168.12.22 / xhost +- IP address

xhost + : 명시적 차단 클라이언트 이외 모두 허용.
xhost - : 명시적 허용 클라이언트 이외 모두 차단.

 

 

KDE의 기본 윈도우 매니저  = Kwm, FWM, vwin
Qt 라이브러리를 기반 / FreeBSD, Solaris, OS X 등도 지원
GNOME 2.x의 기본 윈도우 매니저  =
Metacity, enlightenment

GNOME 3.x 의 기본 윈도우 매니저= mutter

 

깔끔한 인터페이스와 사용의 편리  = Window Maker

 

탭 윈도우 매니저, X 윈도우 시스템에 포함된 기본 윈도우 매니저, 최초의 ICCM 윈도우 매니저
= TWM

 


FVWM = TWM에서 파생되어 개발. 안정적이고 지속적으로 사용 되어 옴


AfterStep = FVWM을 기반으로 개발, 넥스트 스탭의 GUI와 유사한 사용자 인터페이스 제공

 

XFce는 경령화된 데스크탑 환경으로 자체 윈도 매니저인 xfwm 사용

 

 

윈도 매니저 : x-윈도우 상에서 윈도의 배치와 표현을 담당하는 시스템 프로그램
디스플레이 매니저 : x-윈도우 구성 요소 중 사용자 로그인 및 세션 관리 수행 프로그램

 

 

 

systemctl set-default multi-user = 멀티 유저

systemctl set-default graphical = 시스템 부팅 시 X 윈도 실행

systemctl get-default .target= 현재 설정된 기본 대상 조회

 

1. ALSA(Advanced Linux Sound Architecture)
- 사운드 카드를 자동으로 구성하게 하고 다수의 사운드 장치 관리를 목적으로 사용
2. CUPS : 애플이 개발한 오픈 소스 프린팅 시스템
3. SANE(Scanner Access Now Easy) : 스캐너 관련 API
4. OSS(Open Sound System) - 표준 유닉스 시스템 

 

압축률 순서
xz>bz2>gz>compress
.xz = Jxvf
.bz2 = jxvf
.gz = zxvf
compress = Zxvf

 

configure: 소스 코드를 컴파일하기 전에 시스템 환경을 검사 -> Makefile 생성
make: Makefile에 기록된 지시에 따라 소스 코드를 컴파일하고 실행 파일을 생성
make install: 컴파일된 프로그램을 시스템의 적절한 위치에 설치

 

 

빌 조이 - vi
리처드 스톨만 - emacs
브람 브레나르 - vim
귀도 반 로섬 - IDLE(python 개발 환경)

 

 

[Ctrl]+[a]: 현재 행의 시작 부분으로 커서를 이동
[Ctrl]+[e]: 현재 행의 끝 부분으로 커서를 이동
[Ctrl]+[o]: 파일을 저장하고 나가기 위해 사용 (저장: Write Out)
[Ctrl]+[i]: 탭을 삽입합니다. (탭: Insert Tab)

 

 

- R (Running): 프로세스가 현재 실행 중인 상태
- S (Sleeping): 프로세스가 현재 실행 대기 중인 상태. 실행 대기 중이지만 사용자 입력이나 이벤트를 기다리고 있다. 대부분의 프로세스가 이 상태에 있다.
- T (Stopped): 프로세스가 현재 중지된 상태. 보통은 SIGSTOP 시그널을 받아 중지된 상태이며, 실행을 일시 중지한 후에 다시 시작할 수 있다
- Z (Zombie): 프로세스가 종료되었지만 부모 프로세스가 아직 종료 상태를 확인하지 않은 상태. 일반적으로 시스템 리소스를 소비하지 않으며, 부모 프로세스가 해당 종료 상태를 처리할 때까지 존재.

 

 

1. /etc/bashrc : 모든 사용자에 적용되는 alias와 함수 설정
2. /etc/profile : 모든 사용자에 적용되는 환경변수와 시작관련 프로그램 설정 지정파일
3. ~/.bashrc :개인 사용자가 정의한 alias와 함수들이 있는 파일
4. ~/.bash_profile : 개인 사용자가 정의한  alias와 함수 설정파일

 

 

!!: 명령은 가장 최근에 실행한 명령을 재실행
!0: 이전에 실행한 명령 중 첫 번째 명령을 재실행합니다. 0은 첫 번째 명령을 나타냅니다.
!1: 이전에 실행한 명령 중 두 번째 명령을 재실행합니다. 1은 두 번째 명령을 나타냅니다.
history -1: 최근에 실행한 명령의 히스토리를 출력합니다. -1은 가장 최근에 실행한 명령을 나타냅니다.

 

 

 

 

 

lsblk 명령은 블록 장치에 대한 정보를 트리 형식으로 보여줌


blkid 명령은 블록 장치에 있는 파일 시스템의 UUID와 파일 시스템 유형을 확인
fdisk 명령은 디스크 파티션을 관리하기 위한 도구
UUID 명령은 UUID를 생성하는 데 사용, UUID는 고유한 식별자

 

 

 

-l = list shells : 셸의 목록을 출력하여 사용자가 사용할 수 있는 셀의 종류를 확인
-u = help : 명령어의 사용법과 가능한 옵션에 대한 간단한 설명 제공
-s : 사용자의 기본 셸을 변경
-c = comment : 변경된 셸에 대한 추가적인 설명을 제공
-v = 버전 확인

 

 

 

옵션이나 인자 없이 set 명령어 사용하면 선언된 변수 및 함수 출력.
set -o : 쉘의 옵션 활성화(설정).
set +o : 쉡의 옵션 비활성화(설정 해제).

printenv 명령어는 현재 쉘 환경의 환경 변수들을 출력
unset 명령어는 지정된 환경 변수나 함수를 제거하는 데 사용
env 명령어는 현재 쉘 세션의 환경 변수를 출력하거나, 변경된 환경에서 명령을 실행하는 데 사용

env: 글로벌 환경 변수 조회
set: 로컬 쉘 환경 변수 조회

* "환경 변수" = 전역 변수
env: 환경 변수 조회, 등록
printenv: 환경 변수 조회

* "쉘 변수" = 지역 변수
set: 쉘 변수 조회 등록
unset: 쉘 변수 해제

 

 

quota - 시스템의 사용자 또는 그룹에 대한 디스크 사용량 제한(quota)을 설정하고 관리
edquota(edit) - 사용자 또는 그룹의 디스크 사용량 제한을 편집
requota(report) - 파일 시스템의 사용자 또는 그룹에 대한 디스크 사용량 보고서를 생성하고 보고

xfs_quota - XFS 파일 시스템에서 디스크 사용량 제한을 설정하고 관리

 

 

 

고계산용 클러스터 = HPC 클러스터 = High Performance Computing Cluster
베어울플 클러스터 = 표준 컴퓨팅 자원(일반 PC등)을 사용하여 구축 가능한 고성능 컴퓨팅 클러스터
[해설작성자 : 빠대비]

고계산용 클러스터 (High-Performance Computing Cluster, HPC):
주로 과학적 계산이나 데이터 처리 등, 높은 연산 성능이 필요한 작업을 수행하는 클러스터.

베어울프 클러스터 (Beowulf Cluster):
저렴한 PC를 연결해 고성능 컴퓨팅 환경을 만드는 기술로, 주로 과학적 계산에 사용.

고가용성 클러스터 (High Availability Cluster):
시스템의 가용성을 높이기 위해 장애 발생 시 다른 서버가 서비스를 이어받아 계속 운영되는 클러스터입니다. 로드 밸런싱을 통해 여러 서버로 트래픽을 분산시켜 서비스의 가용성을 보장.

HPC 클러스터 (High-Performance Computing Cluster):
주로 과학적 계산이나 데이터 처리 등, 높은 연산 성능이 필요한 작업을 수행하는 클러스터. (고계산용 클러스터와 동일 개념)

 

 

SYN Flooding 공격은 네트워크 보안에서 흔히 볼 수 있는 분산 서비스 거부(DDoS) 공격의 한 형태.
따라서 netstat -an 명령어를 이용하여, 어느 포트로 어떤 IP가 접근을 시도하는 지 확인 필요함.
이후 arp 명령어로 MAC을 확인하고 차단

 

 

ICANN (Internet Corporation for Assigned Names and Numbers): 인터넷의 도메인 이름과 IP 주소 할당을 관리함. 전 세계적으로 인터넷 주소의 안정적인 운영을 책임짐.
IEEE (Institute of Electrical and Electronics Engineers): 전기공학과 전자공학 분야의 전문가 단체임. 다양한 기술 표준을 개발하고 발표함.
TIA (Telecommunications Industry Association): 통신 분야의 기업들이 모여 있는 협회임. 통신 관련 장비와 서비스에 대한 표준을 개발함.
ISO (International Organization for Standardization): 국제적으로 인정받는 표준을 개발하는 비정부 기구임. 다양한 산업 분야에서 사용할 수 있는 표준을 만듦.

 

 

 

/etc/services
인터넷상에서 사용하는 다양한 서비스에 대한 포트, 프로토콜 정보를 정의해놓은 파일

/etc/protocols
인터넷상에서 사용하는 프로토콜과 프로토콜 식별 번호를 정의해놓은 파일

 

.

 

 

1. .Xsession: 사용자가 로그인할 때 실행되는 스크립트로, 사용자가 세션을 시작할 때 실행되는 명령을 포함할 수 있습니다.
2. .Xsetup: 일반적으로 XDM(X Display Manager)과 관련된 설정 파일로, XDM을 사용하는 로그인 화면 설정에 사용됩니다.
3. .Xinitrc: 사용자가 startx 명령을 통해 X 윈도우 시스템을 시작할 때 실행되는 스크립트로, 사용자 정의 초기화 명령을 포함할 수 있습니다.
4. .Xauthority: X 서버에 대한 인증 정보를 저장하는 파일로, X 클라이언트가 X 서버에 접근할 수 있도록 하는 인증 키를 저장합니다.

 

 

VISUAL = 사용자의 기본 텍스트 에디터를 나타내는 환경 변수
TERM = 터미널 유형을 나타내는 환경 변수
XTERM =  X 윈도우 시스템에서 사용되는 터미널 에뮬레이터의 종류를 나타내는 환경 변수