리눅스 마스터 2급 자격증을 준비하면서 공부한 주요 내용을 정리하고자 합니다. 베이스가 없다보니 바로 기출문제부터 풀기보다는 개념을 먼저 정리하고 넘어갔습니다. 특히 목차를 먼저 파악한 뒤 세부 내용을 살펴보니 공부하는데 훨씬 도움이 되었습니다. 자격증을 준비하시는 분들께 도움이 되었으면 합니다.
| 과목 | 분류 | 내용 |
| 리눅스 운영 및 관리 | 파일 시스템 관련 명령어 | 권한 및 그룹 설정, 파일 시스템의 관리 |
| 쉘(Shell) | 개념 및 종류, 환경 설정 | |
| 프로세스 관리 | 개념 및 유형, 프로세스 Utility | |
| 에디터 | 에디터의 종류, 에디터 활용 | |
| 소프트웨어 설치 및 삭제 | 개념 및 사용법, 소프트웨어 설치 및 삭제 | |
| 장치 설정 | 주변장치 연결 및 설정, 주변장치 활용 | |
| 리눅스 활용 | X 윈도우 | 개념 및 사용법, X 윈도우 활용 |
| 인터넷 활용 | 네트워크의 개념, 인터넷 서비스의 종류, 인터넷 서비스의 설정 | |
| 응용분야 | 기술 동향, 활용 기술 |
1과목. 리눅스 운영 및 관리
1-1. 파일시스템 관련 명령어
- umask: 파일 기본 권한 666, 디렉토리 기본권한 777
- 특수권한
| 명령어 | 설명 | 예시 | 비고 |
| chmod | 파일/디렉토리 허가권 변경 | chmod g -R /dirchmod o=r file → other에 r(읽기) 권한만 부여 | -R (recursive) |
| SetUID | 소유자의 권한으로 실행하는 권한 | chomd u+s 파일명 또는 chmod 4755 파일명 | 둘 다 보안에 취약 |
| SetGID | 그룹 권한으로 실행하는 권한 | chmod g+s 파일명 또는 chmod 2755 파일명 | 둘 다 보안에 취약 |
| Sticky bit | 공유 디렉토리로 사용하는 권한 | chmod o+t 파일명 또는 chmod 1777 파일명 |
- 디스크 쿼터: 사용자나 그룹이 생성할 수 있는 파일의 용량 및 개수 제한
- edquota: 편집기를 이용하여 디스크 사용량 할당
- setquota: 명령행에서 직접 디스크 사용량 할당
- fdisk: 파티션의 생성, 삭제, 타입 결정
- du: 디스크 사용량 확인
- df: 마운트 된 하드디스크의 남은 용량 확인
- /etc/fstab: 사용하고 있는 fs정보를 정적으로 저장
1-2. 쉘
- 로그인 쉘
- /etc/shells: 모든 사용 가능한 쉘 출력
- echo$SHELL: 현재 사용중인 쉘 출력
1-3. 프로세스 관리
- signal
| 시그널 번호 | 시그널 | 설명 |
| 1 | SIGHUP | 터미널과 연결이 끊어졌을 때 |
| 2 | SIGINT | Ctrl + c 입력시 : 종료 |
| 3 | SIGQUIT | Ctrl + l 입력시 : 코어덤프 |
| 6 | SIGABRT | abort(비정상 종료 함수)에 의해 발생 |
| 9 | SIGKILL | 프로세스 강제 종료 시 |
| 13 | SIGPIPE | 종료된 소켓에 쓰기 시도 |
| 14 | SIGALRM | 알람 타이머 만료 시 발생 |
| 15 | SIGTERM | kill 시스템 호출 시 발생 |
| 17 | SIGCHLD | 자식 프로세스 종료 시 발생 |
| 18 | SIGCONT | 중지된 프로세스 실행 시 발생 |
| 19 | SIGSTOP | SIGCONT 시그널 받을 때까지 종료 |
| 20 | SIGSTP | Ctrl + z 입력 시 : 프로세스 대기 |
- ps: 현재 실행중인 프로세스 상태
- pstree: 실행 중인 프로세스들을 트리 구조로 나타냄
- jobs: 작업이 중지된 상태, 백그라운드로 진행상태 표시
- kill
- kill -l : 시그널의 종류 출력
- kill -9 : 프로세스 강제 종료
- killall: 여러 개의 프로세스를 한 번에 종료
- nice
- 프로세스의 우선순위 변경
- -20부터 +19까지 설정 가능
- 숫자가 작을수록 우선순위 높음
- 백그라운드에서 실행중인 프로세스도 우선순위 변경 가능
- renice: 이미 실행 중인 프로세스 우선순위 변경
- nice vs renice
- nice: 프로그램 이름 사용하며, 우선순위 증가시키거나 감소시킴
- renice: PID 사용하며, 우선순위를 특정 우선순위로 변경
nice -10 bash # bash의 우선순위를 10 증가
nice --10 bash # bash의 우선순위를 10 감소
- nohup: 프로세스가 중단되지 않고 background에서 작업 수행
- top: 시스템의 운영 상태를 실시간으로 모니터링
- crontab: 스케줄러 기능
# 순서: 분(0-59), 시간(0-23), 일(1-31), 월(1-12), 요일(0-7)
# 요일: 일(0) 월(1) 화(2) 수(3) 목(4) 금(5) 토(6) 일(7)
* * * * * /home/test.sh # 매분 실행
40 8 * * 2 /home/test.sh # 매주 화요일 8시 40분 실행
0 9 * * 2 /home/test.sh # 매월 화요일 9시 실행
0,20,40 * * * * /home/test.sh # 매일 매시간 0분, 20분, 40분 실행
20-45 2 * * * /home/test.sh # 매일 2시 20분부터 45분까지 매분 실행
*/15 * * * * /home/test.sh # 매 15분마다 실행
*/10 2,3,4 5-6 * * /home/test.sh # 5일에서 6일까지 2시, 3시, 4시에 매 10분마다 실행
- set
- set nu: 행 앞에 줄번호 표시
1-4. 에디터
- 순서: vi > pico > nano > gedit
- vi: 1976년 빌 조이에 의해 개발된 에디터
- pico: 유닉스 기반의 텍스트 에디터, pine 이메일 클라이언트 프로그램 통합 배포
- emacs: 리처드스톨만이 매크로 기능 있는 텍스트 교정 및 편집기로 개발
- vim: 브람 무레나르가 vi 편집기와 호환되면서 독자적 개발
1-5. 소프트웨어 설치 및 삭제
- 압축 효율성
- J(.xz) > j(.bz2) > z(.gz) > Z(compress)
- 압축 관련
- z : gzip으로 압축/해제 (.tar.gz, .tgz)
- Z : compress 방식 사용 (.tar.Z)
- j : bzip2로 압축/해제 (.tar.bz2)
- J : xz로 압축/해제 (.tar.xz)
- 공통 옵션
- x : 압축 해제 (extract)
- c : 새 아카이브 생성 (create)
- t : 아카이브 내용 확인 (list)
- v : verbose (진행 과정 출력)
- f : file (대상 파일 지정 → f 뒤에 파일 이름 옴)
- -c: collect 디렉토리 묶음
- -C: Change 디렉토리 변경
tar jxvf file.bz2 # 압축 해제 / extratct
tar jtvf file.bz2 # 내용 보기(리스트) / list
tar cvf source.tar # *.c 압축 / create
tar rvf # append 아카이브의 마지막에 파일 추가
1-6. 장치 설정
- 프린터
- LPRng: 버클리 프린팅 시스템으로 BSD 계정 유닉스에서 사용. 데몬 프로토콜을 사용하여 스폴링과 네트워크 프린트 서버 지원.
- CUPS: 애플사에서 개발한 프린팅 시스템으로 HTTP 기반의 IPP 사용. SMB 프로토콜 지원
- 프린터 관련 명령어
- lpr: line printer 프린터 출력
- lpq: line printer queue 프린터 큐에 대기중인 작업 조회
- lprm: line printer remove 프린터 큐에서 대기중인 작업 삭제
- RAID
- RAID 0: 연속된 데이터를 여러 디스크에 RR(라운드로빈) 로 저장하는 방식
- RAID 1: 데이터를 두 개 이상의 디스크에 미러링(복제)하여 저장하는 방식
- RAID 5: 디스크 하나 장애 발생 시 데이터 복구 가능
- RAID 6: 두 개의 디스크가 동시에 고장 나더라도 데이터 복구 가능
- 네트워크
| 구분 | 정의 | 특징 | 예시(/24 기준) |
| 네트워크 주소 | 서브넷을 대표하는 주소 | 호스트 부분 = 0 | 192.168.10.0 |
| 서브넷 마스크 | 네트워크/호스트 구분 | 1 = 네트워크, 0 = 호스트 | 255.255.255.0 |
| 브로드캐스트 주소 | 모든 호스트 대상 주소 | 호스트 부분 = 1 | 192.168.10.255 |
| 게이트웨이 | 외부 네트워크 출구 | 라우터의 IP | 192.168.10.1 |
- 서브넷 마스크
| CIDR | 서브넷 마스크 | 블록 크기 | 네트워크 수 | 호스트 비트 수 | 호스트 수 |
| /24 | 255.255.255.0 | 256 | 1개 | 8 | 254 |
| /25 | 255.255.255.128 | 128 | 2개 (0–127, 128–255) | 7 | 126 |
| /26 | 255.255.255.192 | 64 | 4개 (0–63, 64–127, 128–191, 192–255) | 6 | 62 |
| /27 | 255.255.255.224 | 32 | 8개 (0–31, 32–63, …, 224–255) | 5 | 30 |
| /28 | 255.255.255.240 | 16 | 16개 (0–15, 16–31, …, 240–255) | 4 | 14 |
| /29 | 255.255.255.248 | 8 | 32개 (0–7, 8–15, …, 248–255) | 3 | 6 |
| /30 | 255.255.255.252 | 4 | 64개 (0–3, 4–7, …, 252–255) | 2 | 2 (P2P 연결 전용) |
2과목. 리눅스 활용
2-1. X 윈도우
- X 윈도우 응용 프로그램
| 오피스 | LibreOffice | - Writer 문서 작성기 - Impress 프레젠테이션 - Clac 엑셀 - Draw 드로잉 |
| gedit | 텍스트 편집 | |
| kwrite | KDE기반 텍스트 편집 | |
| nautilus | GNOME 기반 파일 관리 프로그램 | |
| 그래픽 | GIMP | 이미지 편집 프로그램 |
| ImageMagick | 이미지 생성 및 편집 | |
| eog | GNom의 이미지 뷰어 | |
| kolourpaint | Ubuntu의 이미지 편집 | |
| gThumb | GNOME의 이미지 뷰어 | |
| gwenview | KDE의 이미지 뷰어 | |
| 멀티미디어 | Totem | GNOME 기반 사운드 및 비디오 |
| RHYTHMBOX | 통합형 음악 관리 프로그램 | |
| CHEESE | GNOME 기반 동영상 프로그램 | |
| 기타 | Dolphin | KDE용 파일 관리자 |
| kSnapshot | 스크린샷 프로그램 |
2-2. 인터넷 활용
- OSI 7계층
| No | 계층 | 설명 | 데이터 단위 | 프로토콜 | 세부 설명 | 장비 |
| 7 | Application | 응용 | 게이트웨이, 프록시 서버 | |||
| 6 | Presentation | 표현 | data | 데이터의 암호화와 해독, 압축/해제, 코드/문자 번역 – 일관된 이해 | ||
| 5 | Session | 세션 | socket | HTTP, SSL | 전송 순서 및 동기점 위치 제공 | |
| 4 | Transporation | 전송 | segment | TCP/UDP(DNS) | 게이트웨이 | |
| 3 | Network | 네트워크 | packet | IP, ARP, ICMP, BGP | 라우터 | |
| 2 | Data Link | 데이터 링크 | frame | 브릿지, 스위치 | ||
| 1 | Physical | 물리 | bit | 리피터, 허브 |
- 인터넷 서비스
- FTP: 20, 21번 포트 사용
- DNS: 도메인 네임 서비스
- TELNET: telnet[도메인명][포트 번호]
- SSH: ssh[옵션][IP 주소 또는 도메인명] 또는 ssh[계정자명@서버IP]
2-3. 응용분야
- 클러스터
- 고계산용 클러스터: HPC, 베어울프 클러스터, 고성능 계산이나 과학 계산용
- 부하분산 클러스터: LVS, 대규모 서비스 제공, 균등하게 데이터 분산
- 고가용성 클러스터: HA, 지속적인 서비스 제공을 목적, 로드밸런서, 통신 이상 유무 점검, 백업
'Etc' 카테고리의 다른 글
| Github 커밋했는데 잔디가 안심어지는 현상 (0) | 2025.03.31 |
|---|---|
| M1 Mac brew install 오류 (0) | 2024.02.22 |
| 티스토리 블로그 서식 수정 (0) | 2022.11.09 |