[Linux] 2023년 3회
[1과목] 리눅스 운영 및 관리
Q. project 그룹에 속한 사용자들이 /project 디렉터리에서 파일 생성은 자유로우나 삭제는 본인이 생성한 파일만 가능하도록 설정하려고 한다. /project 디렉터리의 정보가 다음과 같을 때 관련 명령으로 알맞은 것은?
④
① chmod g+s /project
② chmod g+t /project
③ chmod o+s /project
❹ chmod o+t /project
- 이 문제에서 요구하는 조건을 만족하려면 디렉토리에 “스티키 비트(Sticky Bit)”를 설정해야 한다. 스티키 비트를 설정하면, 디렉터리 내의 파일이나 서브디렉터리를 생성한 사용자만 이를 삭제할 수 있게 된다.
- chmod o+t /project
/project
디렉터리에 sticky bit을 설정하고, 해당 디렉터리 내에서 다른 사용자가 본인이 생성한 파일만을 삭제할 수 있도록 설정한다.- Sticky bit은 해당 디렉터리에 다른 사용자들이 소유한 파일을 삭제하지 못하도록 하는데 사용된다.
chmod +t /project- 이 두가지 명령어로 스티키비트만 부여 가능하다. 위 명령어로 스티키비트를 부여하는 것은 추가적인 권한을 부여하는 것이 아님
- 추가적인 권한 부여와 스티키 비트를 적용하려면 chmod 1770 /project 사용
Q. 다음 중 특수 권한을 부여해서 사용하는 경우의 예로 가장 거리가 먼 것은?
①
❶ Sticky-Bit를 파일에 부여한다.
② Set-UID를 실행 파일에 부여한다.
③ Set-GID를 실행 파일에 부여한다.
④ Set-GID를 디렉터리에 부여한다.
- Sticky-Bit를 파일에 부여한다.
- Sticky-Bit는 주로 디렉토리에서 사용되며, 해당 디렉토리 내의 파일을 삭제할 때 특정 권한을 갖는 사용자만 삭제할 수 있도록 한다. 파일에 Sticky-Bit를 부여하는 것은 흔치 않다.
- Set-UID를 실행 파일에 부여한다.
- Set-UID는 실행 파일에 주로 사용되며, 해당 파일을 실행하는 동안 프로세스는 해당 파일의 소유자의 권한을 얻는다. 이것은 특히 특정한 작업을 수행하기 위해 일시적으로 루트(superuser) 권한이 필요한 경우에 사용된다.
- Set-GID를 실행 파일에 부여한다.
- Set-GID도 실행 파일에 주로 사용되며, 실행 파일을 실행하는 동안 프로세스는 해당 파일의 그룹의 권한을 얻는다. 이것은 그룹이 특정 작업을 수행하는 데 필요한 권한이 있는 경우에 유용하게 사용된다.
- Set-GID를 디렉터리에 부여한다.
- Set-GID는 디렉토리에도 사용될 수 있다. 디렉토리에 Set-GID를 부여하면 해당 디렉토리에 새로운 파일이 생성될 때 그 파일의 그룹이 부여된 디렉토리의 그룹으로 설정된다.
Q. 다음 중 파일이나 디렉터리의 소유자를 확인하는 명령어로 알맞은 것은?
①
❶ ls
② chmod
③ chown
④ umask
- ls: 현재 디렉토리에 있는 파일 및 디렉터리의 목록을 보여주는 명령어이다. -l 옵션을 사용하면 자세한 목록이 표시되며, 이 목록에는 각 파일 또는 디렉터리의 소유자와 그룹이 표시된다.
- chmod: 파일의 퍼미션을 변경하는 데 사용된다. 소유자를 확인하는 목적으로는 사용되지 않는다.
- chown: 파일이나 디렉터리의 소유자와 그룹을 변경하는 데 사용된다. 직접적으로 소유자를 확인하는 용도로 사용할 수 있다.
- umask: 새로운 파일이나 디렉터리를 생성할 때 기본적으로 설정되는 퍼미션을 제어하는 데 사용된다. 소유자를 확인하는 용도로는 사용되지 않는다.
Q. 다음 중 생성된 a.txt의 허가권 값으로 알맞은 것은?
①
❶ -rw-rw-r–
② -rwxrwxr-x
③ drw-rw-r–
④ drwxrwxr-x
- 일반 파일 -표기, 디렉터리 d
- txt 기본 권한 664
Q. 다음 설명에 해당하는 명령어로 알맞은 것은?
②
① quota
❷ edquota
③ setquota
④ xfs_quota
- quota : 사용자의 디스크 사용량 및 할당량을 보고하는 명령어
- edquota : 사용자 또는 그룹의 디스크 쿼터를 편집하는 명령어
- setquota : 쿼터 설정을 관리하는 명령어
- xfs_quota : XFS 파일 시스템에서 사용되는 명령어
Q. 다음 중 현재 마운트된 디스크의 남아있는 용량을 확인할 때 사용하는 명령어로 알맞은 것은?
①
❶ df
② du
③ fdisk
④ mount
- df 명령어는 파일 시스템의 디스크 여유 공간 및 사용 현황을 보여주는 명령어
- du 명령어는 디렉터리 및 파일의 디스크 사용량을 보여주는 명령어
- fdisk 명령어는 디스크 파티션을 생성, 수정 및 삭제하는 데 사용
- mount 명령어는 파일 시스템을 마운트하는 데 사용, 특정 디렉터리에 다른 디스크 또는 파일 시스템을 연결하여 사용 가능하게 만듦
Q. 다음 결과에 대항하는 명령어로 알맞은 것은?
①
❶ lsblk
② blkid
③ fdisk
④ df
- lsblk : 리눅스 스토리지 디바이스 정보를 출력하는 명령어
- blkid : 리눅스 블록 디바이스의 UUID를 출력하는 명령어
- fdisk : 디스크 파티션을 생성, 삭제, 수정할 때 사용하는 명령어
- df : 파일 시스템의 마운트 된 디스크 사용량과 여유공간을 보여주는 명령어
Q. 다음 설명에 해당하는 파일명으로 알맞은 것은?
①
❶ /etc/fstab ② /etc/mtab
③ /etc/mounts
④ /etc/partitions
- /etc/fstab: 파일 시스템 테이블파일, 부팅 시 시스템이 어떤 파일 시스템들을 어떤 디렉터리에 마운트 해야하는지 정의
- /etc/mtab: 시스템에 마운트 된 파일 시스템이나 디바이스의 정보를 알 수 있도록 한 파일
- /etc/mounts: /etc/mtab 파일에 현재 마운트 되어 있는 파일 시스템의 목록을 기록하는 명령어 mount/unmount
- /etc/partitions: 잘못된 디렉터리
Q. 다음 (괄호) 안에 들어갈 명령어로 알맞은 것은?
②
① quota
❷ mount
③ umount
④ fdisk
- 리눅스에서 특정 디렉터리(/home)를 읽기-쓰기 가능 모드로 다시 마운트(remount) 하기 위한 명령어를 찾는 것
-o remount,rw /home
: 이미 마운트된 파일 시스템을 다시 마운트하면서 읽기-쓰기 모드로 변경- umount : 파일 시스템을 언마운트 하는데 사용. 마운트 연결을 해제하는 명령어
- quota : 사용자 또는 그룹의 디스크 사용량 및 할당량 정보를 표시하는 명령어
- 파일 시스템에서 사용자나 그룹의 디스크 사용량을 확인하고 제한하는데 사용. 마운트와 연관 없음
- mount : 파일 시스템 및 USB 플래시 드라이브와 같은 이동식 장치를 디렉터리의 특정 마운트 지점에 연결하는 명령어
- 파일 시스템을 특정 디렉터리에 마운트하거나 이미 마운트된 파일 시스템의 속성을 변경하는 데 사용
- fdisk : 디스크 파티션을 생성, 삭제, 수정할 때 사용하는 명령어
- 디시크 파티션 테이블을 조작하는 데 사용
Q. 다음은 /dev/sdb1을 XFS 파일 시스템으로 포맷하는 과정이다. (괄호)안에 들어갈 명령어로 알맞은 것은?
②
① xfs.mkfs
❷ mkfs.xfs
③ mke2fs -j xfs
④ mke2fs -t xfs
- xfs.mkfs 명령어는 실제로 존재하지 않는 것으로 보인다. 일반적인 관례는 mkfs라는 프로토콜을 사용하여 파일 시스템을 생성하는 것이다. 따라서 정확한 명령어는 mkfs.xfs이다.
- mke2fs -j xfs
- mke2fs 명령어는 Ext2, Ext3, Ext4 파일 시스템을 생성하는 데 사용된다. -j 옵션은 Ext3 파일 시스템으로 생성하도록 지시하는 것이고, -t xfs는 파일 시스템 타입을 XFS로 지정하려는 시도로 보인다. 그러나 올바른 문법은 아니며, XFS를 생성하려면 mkfs.xfs를 사용해야 한다.
- mke2fs -t xfs
- 이 명령어는 mke2fs로 XFS 파일 시스템을 생성하려는 시도이다. 그러나 mke2fs는 주로 Ext 계열의 파일 시스템을 생성하는 데 사용되며, XFS를 생성하기 위해서는 mkfs.xfs를 사용해야 한다.
Q. 다음 설명에 해당하는 셸로 알맞은 것은?
④
① bourne shell
② csh
③ dash
❹ bash
- 개발 순서가 bourne shell - csh - bash 순서인데, GNU 프로젝트까지 왔으면 bash라고 외우면 된다.
- dash는 해당 보기에서 마지막 순서임.
Q. 다음 (괄호) 안에 들어갈 파일명으로 알맞은 것은?
②
① /etc/passwd
❷ /etc/shells
③ /etc/bashrc
④ /etc/profile
- /etc/passwd 파일은 사용자 계정 정보를 포함
- /etc/shells 파일은 시스템에서 사용 가능한 셸의 목록을 제공하는 파일
- /etc/bashrc 파일은 Bash 셸의 전역 설정 파일로, 시스템 전체의 Bash 셸 설정을 구성
- /etc/profile 파일은 사용자가 로그인할 때 실행되는 전역 프로파일 스크립트
Q. 다음 명령의 결과에 대한 설명으로 가장 알맞은 것은?
②
① 사용자가 로그인 시에 부여받은 셸 정보가 출력된다.
② 사용자가 현재 사용하고 있는 셸 정보가 출력된다.
③ 사용자가 변경할 수 있는 셸 정보가 출력된다.
④ 화면에 어떠한 결과도 출력되지 않는다.
- echo $SHELL은 현재 로그인한 사용자가 사용하고 있는 셸을 확인할 수 있다.
- 현재 실행중인 셸을 변경
- /bin/bash로 shell 실행 후 echo $SHELL 실행시키면 bash로 바뀐다.
Q. 다음은 ihd 사용자가 다른 셸로 변경하는 과정이다. (괄호) 안에 들어갈 내용으로 알맞은 것은?
③
① -l
② -u
❸ -s
④ -c
- l: 사용가능한 셸 목록 출력
- u: 사용법 출력
- s: 이 옵션은 ‘shell’의 약자로, 사용자의 로그인 셸을 변경하는 데 사용된다.
- c: 이 옵션은 chsh 명령어에서 사용되지 않는다.
Q. 다음 중 최근에 실행한 명령 중에 ‘al’이라는 문자열을 포함한 명령을 찾아서 실행하는 명령으로 알맞은 것은?
①
❶ !?al
② !!al
③ !*al
④ !-al
- !?al은 최근에 실행된 명령 중에 ‘al’이라는 문자열을 포함하는 명령을 실행
- !!al은 직전에 실행한 명령을 다시 실행한다. 여기에서 ‘al’은 직전 명령의 일부
- !*al은 현재 명령 라인의 모든 단어를 포함하는 명령을 실행한다. 여기에서 ‘al’은 단어 중 하나
- !-al은 현재 명령보다 n번째 전에 실행한 명령을 실행한다. 여기에서 ‘al’은 명령 중의 일부로 간주
Q. 다음 (괄호) 안에 들어갈 파일명으로 알맞은 것은?
④
① bash_profile
② bash_history
③ .bash_profile
❹ .bash_history
- 일반적으로 홈 디렉토리에 있는 쉘 히스토리 파일은 숨겨진 파일이므로 파일 이름 앞에 .이 붙어 있다. 따라서 홈 디렉토리 안에 있는 쉘 히스토리 파일의 이름은 .bash_history, .zsh_history, .fish_history 등과 같이 숨겨진 파일 이름을 가진다.
Q. ls 명령으로 에일리어스(alias)가 설정된 상태에서 원래의 ls 명령어를 실행하려고 한다. 다음 중 관련 설명으로 알맞은 것은?
③
① ls 명령어 앞에 ! 기호를 덧붙여서 실행한다.
② ls 명령어 앞에 $ 기호를 덧붙여서 실행한다.
❸ ls 명령어 앞에 \ 기호를 덧붙여서 실행한다.
④ ls 명령어 앞에 / 기호를 덧붙여서 실행한다.
- ls 명령어에 설정된 alias를 우회하고 원래의 ls 명령어를 실행하려면 명령어 앞에 백슬래시()를 사용하면 된다.
Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?
①
❶ $LANG
② $TERM
③ $PS1
④ $TMOUT
- 사용자의 현재 환경에서 설정된 언어 변수인 “LANG”을 출력하는 명령어로 시스템에서 설정된 언어 환경에 따라 해당 언어 코드가 출력
- 예를 들어, 영어(미국) 환경에서 실행하면 “en_US.UTF-8”과 같은 출력이 나올 수 있음
- 각 언어 설정에 따라 다른 출력이 표시 됨
Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?
②
① exec
❷ fork
③ init
④ systemd
- exec : 원래의 프로세스를 멈추고 새로운 프로세스를 대체하는 명령어
- fork : 현재 프로세스에 대해 자식 프로세스를 생성하는 명령어
- init : 초기화 프로세스를 제어하는 명령어
Q. 다음 중 명령어를 백그라운드 프로세스로 실행하기 위한 방법으로 알맞은 것은?
③
① 실행 명령어 앞부분에 bg를 덧붙여서 실행한다.
② 실행 명령어 앞부분에 jobs를 덧붙여서 실행한다.
❸ 실행 명령어 뒷부분에 &기호를 덧붙여서 실행한다.
④ 실행 명령어 뒷부분에 bg를 덧붙여서 실행한다.
- 명령어를 실행할 때 백그라운드 작업으로 실행하고자 할 때는 명령어 뒤에 &를 붙여주면 된다.
- 명령어bg는 현재 실행 중인 프로세스를 백그라운드 작업으로 전환하는 명령어다.
- 형식: bg %작업번호 또는 bg 작업번호
- kill %2 : 현재 쉘 세션에서 2번째 백그라운드 작업을 종료 (작업번호가 2번인 백그라운드 프로세스를 종료시키는 명령)
- kill : 종료를 의미
- %2 : 작업 2번을 의미
- kill 2 : PID가 2인 프로세스 종료
- kill %2 : 현재 쉘 세션에서 2번째 백그라운드 작업을 종료 (작업번호가 2번인 백그라운드 프로세스를 종료시키는 명령)
- 형식: bg %작업번호 또는 bg 작업번호
Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?
④
① init
② inetd
③ xinetd
❹ standalone
- 데몬은 inetd와 standalone. 그 중 standalone이 메모리에 상주
- standalone: 대기하고 있다가 요청이 발생하면 즉각 처리 (빈번한 요청이 발생하는 서비스에 적합)
- inetd: 평상시에 잠자고 있다가 요청이 올 때만 구동 (메모리 관리가 효율적)
Q. 다음 중 kill 명령어를 실행할 때 전달되는 기본 시그널 명칭과 번호의 조합으로 알맞은 것은?
④
① SIGKILL, 9
② SIGKILL, 15
③ SIGTERM, 9
❹ SIGTERM, 15
- SIGKILL의 번호 9
- 발생조건 : 프로세스 강제 종료 시 발생
- 기본동작 : 종료
- SIGTERM의 번호 15
- 발생조건 : kill 시스템 호출 시 발생
- 기본동작 : 종료
- SIGTERM - 15 : Termination (ANSI)
- kill 시스템 호출 시, 가능하면 정상 종료시키는 시그널, kill 명령 기본 시그널
- SIGKILL - 9 : Kill(can’t be caught or ignored) (POSIX)
- 강제 종료
- SIGTSTP - 20 : Terminal Stop Signal (POSIX)
- Ctrl+Z, 프로세스를 대기(suspend)로 전환
- SIGINT - 2 : Terminal Interrupt (ANSI)
- CTRL+C, 종료
- POSIX는 Portable Operating System InterFace for Unix의 약자로 IEEE에서 지정한 운영체제간 호환성을 유지하기 위한 표준이다. POSIX를 준수하는 운영체제는 POSIX를 준수하는 다른 운영체제와 호환되어야 한다.
Q. 다음 중 포어그라운드 프로세스를 백그라운드 프로세스로 전환하기 위해 사용하는 키 조합으로 알맞은 것은?
③
① [Ctrl] + [c]
② [Ctrl] + [a]
❸ [Ctrl] + [z]
④ [Ctrl] + [d]
- Ctrl + z
- 포어그라운드 → 백그라운드로 전환 시 먼저 실행 중인 작업을 일시중지 시켜야 한다.
- 따라서 Ctrl + z(SIGTSTP, 20 : ctrl + z 입력 시 발생하는 시그널로 프로세스 대기로 전환시킨다.)를 사용하여 중지시킨 후 bg 명령을 수행한다.
- Ctrl + c
- 명령어 fg는 현재 백그라운드에서 실행 중인 명령어를 포그라운드로 전환한다.
- 포어그라운드 작업을 종료하려면 Ctrl + c를 입력.
- SIGINT, 2 : Ctrl + c 입력시 발생하는 시그널로, 종료시킨다.
Q. 다음 명령의 결과에 대한 설명으로 알맞은 것은?
④
① bash 프로세스의 우선순위를 높인다.
② bash 프로세스의 우선순위를 낮춘다.
③ bash 프로세스의 PRI 값을 -10으로 변경한다.
❹ 사용법 오류로 인해 실행되지 않는다.
- renice [옵션] [n] [PID]: PID를 사용함
nice -[n] [process명]: process명을 사용함
- nice bash 명령어를 실행시, 현재 사용자가 실행하는 bash 쉘의 프로세스에 대한 nice 값을 기본적으로 10 증가됨.
- nice 값이 증가하면 프로세스의 우선순위가 낮아지므로, 해당 프로세스는 낮은 우선순위로 실행.
- NI (nice) 값:
- 프로세스의 스케줄링 우선순위를 설정하는 값으로, 범위는 -20에서 19까지이다.
nice
값이 낮을수록(CPU 자원 많이 사용, 불친절) 프로세스의 우선순위가 높아지며, 기본 값은 0이다.예시: 2997번 프로세스의nice
값을 -20으로 변경하려면,# renice -n -20 -p 2997
명령어를 사용한다.
R (priority) 값:모든 프로세스는 1에서 139까지의 우선순위(priority) 값을 가진다.1이 가장 우선순위가 높고, 139가 가장 낮다.리얼타임 프로세스들이 지정할 수 있는 priority 범위는 (1~99)까지이다.리얼 타임 프로세스들은 언제나 일반 프로세스들보다 우선순위가 높아야 한다.~~nice
값 -20은 priority 값 100과,nice
값 19는 priority 값 139와 대응한다.~~
Q. cron을 이용해서 해당 스크립트를 매월 1일 오전 4시 2분에 주기적으로 실행하려고 한다. (괄호) 안에 들어갈 내용으로 알맞은 것은?
④
① 4 2 * * 1
② 2 4 * * 1
③ 4 2 1 * *
❹ 2 4 1 * *
- [분] [시] [일] [월] [요일] 순으로 작성 2분 4시 매월 1일이기 때문에 2 4 1 * * 이 된다.
Q. 다음은 프로세스 아이디가 513, 514, 515번인 프로세스를 종료시키는 과정이 (괄호) 안에 들어갈 명령어로 알맞은 것은?
①
❶ kill
② pkill
③ killall
④ pgrep
- 여러 프로세스를 종료시키는 경우 kill [PID1] [PID2] [PID3]처럼 중간에 구분자로 띄어쓰기를 사용
- killall은 PID가 아니라 프로세스 이름
Q. 다음 그림에 해당하는 명령어로 알맞은 것은?
②
① ps
❷ top
③ jobs
④ pstree
- PS
- 현재 실행 중인 프로세스의 상태를 보여주는 명령어
- CPU 사용도가 낮은 순서로 출력함
- TOP
- 리눅스 시스템의 운영 상태를 실시간으로 모니터링하거나 프로세스 상태를 확인할 수 있음
- %CPU : 해당 프로세스의 CPU사용률, %MEM: 해당 프로세스의 메모리 사용률 ⇒ ps -l에는 표시되지 않음
- JOBS
- 작업이 중지된 상태, 백그라운드로 진행 중인 상태, 변경되었지만 보고되지 않은 상태 등을 표시
- PSTREE
- 실행 중인 프로세스들을 트리구조로 나타냄
Q. 다음 설명에 해당하는 명령어로 알맞은 것은?
④
① bg
② jobs
③ pgrep
❹ nohup
- nohup은 no hang up의 약자. 백그라운드 동작과 달리 로그아웃으로 세션이 종료되더라도 프로그램이 종료되지 않음.
Q. 다음 중 vi 편집기를 개발한 인물로 알맞은 것은?
①
❶ 빌 조이
② 리처드 스톨만
③ 브람 브레나르
④ 제임스 고슬링
- 빌 조이 → vi
- 리처드 스톨만 → emacs
- 브람 브레나르 → vim
Q. 다음 중 기본 사용법이 동일한 편집기의 조합으로 알맞은 것은?
③
① vi, emacs
② pico, emacs
❸ pico, nano
④ vi, pico
- pico (10 e-12) → nano (10 e-9)
- 피코 기반으로 나노가 나왔다. 숫자가 큰 쪽이 나중
Q. 다음 설명에 해당하는 편집기로 알맞은 것은?
②
① nano
❷ gedit
③ vim
④ emacs
- nano, emacs, vim : CUI (Command User Interface) 환경 텍스트 에디터 (편집기)
- gedit : GUI 기반 환경 텍스트 에디터, X 윈도에 맞춰서 개발, X 윈도 환경에서만 사용할 수 있는 편집기로 윈도우 운영체제의 메모장처럼 손쉽게 사용 가능.
- gedit의 g가 그래픽이다 하고 외우면 편하다.
Q. 다음 중 vi 편집기의 명령 모드에서 바로 직전에 삭제한 줄을 다시 복원하기 위해 실행하는 명령으로 알맞은 것은?
③
① c
② r
❸ u
④ dd
- u = undo
- c : 변경 명령을 시작하는데 사용
- cw의 경우 단어를 변경 시 사용
- r : 하나의 문자를 다른 문자로 교체
- ra의 경우 현재 커서 위치의 문자를 a로 교체
- dd : 현재 줄을 삭제
Q. 다음 중 vi 편집기에서 한 줄이 linux인 경우에만 전부 Linux로 치환하는 명령으로 알맞은 것은?
①
❶ :% s/^linix$/Linux/g
② :% s/linux/^Linux$/g
③ :% s/<linux>/Linux/g
④ :% s/linux/<Linux>/g
- vi 편집기에서 문자열 일괄 치환 명령 형식은
:% s/[변경 대상]/[변경 결과]/g
- 변경 대상에 옵션이 붙는 경우
- ^: 문장의 시작 단어
- $: 문장의 끝 단어
- 변경 대상에 옵션이 붙는 경우
- 일단 변경 결과 쪽에 옵션 붙여 놓은 보기들은 제거하고 시작하면 된다.
Q. 다음 중 vi 편집기에서 행 번호가 표시되도록 하는 ex 모드 환경설정으로 알맞은 것은?
④
① set no
② set ai
③ set sm
❹ set nu
- set nonu : set nu 기능 off
- set ai : 자동 들여쓰기
- set sm : 괄호 입력 시 자동으로 대응되는 괄호 표시
- set nu : 행 번호 표시
Q. 다음 중 데비안 계열 리눅스에서 사용되는 패키지 관리 도구 모음으로 가장 알맞은 것은?
③
① YaST, zypper
② YaST, dpkg
❸ dpkg, apt-get
④ dnf, zypper
- 배포판별 패키지 관리
- 기본 패키지 관리, 온라인 패키지 관리
- 레드햇 rpm, yum
- 데비안 dpkg, apt-get
- 수세 YaST, Zypper
- 기본 패키지 관리, 온라인 패키지 관리
Q. 다음 중 리눅스에서 사용되는 온라인 패키지 관리 도구로 거리가 먼 것은?
②
① dnf
❷ dpkg
③ zypper
④ apt-get
- dpkg는 기본 패키지 관리 도구이다.
- dnf : 레드헷 계열인 yum을 대체하는 온라인 패키지.
- zypper : 수세 계열 온라인 패키지.
- apt-get : 데비안 계열 온라인 패키지.
Q. 다음 중 Makefile 파일이 생성되는 소스 설치 단계로 알맞은 것은?
①
❶ configure
② make
③ cmake
④ make install
- 소스 파일을 이용한 설치 단계: configure → make → make install
- configure : Makefile 생성을 위한 스크립트
- make : 소스를 컴파일
- make install : 설치를 하는 과정
Q. 다음 중 소스 설치 방법으로 cmake를 선택한 프로젝트로 틀린 것은?
②
① MySQL
❷ PHP
③ KDE
④ LMMS
- 소스 설치 방법 cmake 선택 프로젝트 - MySQL, KDE, LMMS
- PHP는 전통적으로 ./configure 스크립트와 make를 사용하는 빌드 시스템을 사용
Q. 다음 중 현재 디렉터리에 있는 C 언어 파일만을 source.tar로 묶는 명령으로 알맞은 것은?
④
① tar rvf *.c source.tar
② tar rvf source.tar *.c
③ tar cvf *.c source.tar
❹ tar cvf source.tar *.c
- 옵션 c는 create의 약어. 압축파일을 새로 만들 때 사용.
- r은 기존 압축파일에 파일을 추가할 때 사용.
- 압축파일 이름 먼저, 그 후에 압축할 파일들 기재.
Q. 다음 중 yum 명령을 이용해서 nmap 패키지를 설치하는 명렁으로 알맞은 것은?
②
① yum nmap install
❷ yum install nmap
③ yum -y nmap
④ yum -i nmap
- yum 패키지 관리자의 설치 명령어는 install.
- -i 같은 약어 버전은 rpm이다.
Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?
④
① -qi
② -ql
③ -qa
❹ -qf
-qi
: information 패키지 정보 출력-ql
: list 패키지 파일들 출력-qa
: all 시스템의 모든 패키지 출력-qf
: file 특정 파일을 설치한 패키지명 출력
Q. 다음은 tar에서 xz 명령어와 관련 있는 압축 옵션으로 알맞은 것은?
④
① -x
② -z
③ -Z
❹ -J
- Z: compress 압축 적용 옵션
- z: gzip 압축 적용 옵션
- j: bzip2 압축 적용 옵션
- J: xz 압축 적용 옵션
- 압축률: compress < gzip < bz2 < xz
- 압축 파일 용량이 가장 큰 compress 방식이 마지막 알파벳의 대문자 Z
- 그 다음으로 압축이 덜 되는 gz가 소문자 z
- 압축률이 제일 좋은 xz가 J
Q. 다음 중 BSD 계열 유닉스에서 사용하는 프린터 관련 명령으로 틀린 것은?
①
❶ lp
② lpr
③ lpq
④ lprm
- lp는 System V 계열에서 사용하는 프린트 출력 명령
Q. 다음 중 사운드카드 사용과 관련된 프로그램으로 알맞은 것은?
①
❶ ALSA
② CUPS
③ SANE
④ LPRng
- ALSA : 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널 요소.
- ALSA: Advanced Linux Sound Architecture 스피커.
- CUPS : 애플이 개발한 오픈소스 프린팅 시스템.
- CUPS: Common UNIX Printing System 프린터.
- SANE : 평판 스캐너, 비디오 캠 등 이미지 관련 하드웨어를 사용할 수 있도록 해주는 API, GPL 라이선스.
- SANE: Scanner Access Now Easy 스캐너.
- 스캐너 프로그램은 S로 시작한다고 외운다. GUI포함인 Xsane이 나오는 경우도 있다.
- LPRng : BSD 계열 유닉스에서 사용하는 프린팅 시스템.
- LPRng: Line Printer next generation 프린터.
Q. 다음 중 프린트 작업을 요청하는 명령어로 알맞은 것은?
②
① cancel
❷ lpr
③ lpq
④ lpstat
- cancel : 프린터 작업을 취소하는 명령어
- lpr : 프린터 작업을 요청하는 명령어
- lpq : 프린터 큐에 있는 작업 목록을 출력하는 명령어
lpstat : 프린터 큐의 상태를 출력하는 명령어
- 프린터 큐의 작업 정보를 확인하는 명령어
- 프린트 큐 확인: lpq, lpstat
Q. 다음 중 LVM 구성 순서로 알맞은 것은?
③
① 가 → 나 → 다
② 다 → 나 → 가
❸ 다 → 가 → 나
④ 가 → 다 → 나
- LVM(Logical Volume Manager)
- PV - VG - LV
- PVG는 이어지게 외우고, LVM이랑 가장 비슷한 LV는 마지막 순서
Q. 다음 중 LVM에 대한 설명으로 틀린 것은?
③
① 물리적 디스크 2개를 이용해서 하나의 파티션으로 구성할 수 있다.
② 파티션의 크기를 확장해도 데이터의 손실이 발생하지 않는다.
❸ 파티션의 크기를 축소해서 데이터의 손실이 발생하지 않는다.
④ 물리적 디스크 1개를 이용해서 두 개의 파티션을 구성할 수 있다.
- LVM Logical Volume Management는 디스크나 대용량 스토리지 장치를 유연하고 확장이 가능하게 다룰 수 있는 기술이며 이를 커널에 구현한 기능이다. 쉽게 파티션 관리하며 용량 확장한다라고 생각하면 된다.
Q. 다음 중 RAID로 구성된 하드 디스크 중에서 하나의 디스크에 오류가 발생해도 데이터의 손실이 없는 조합으로 알맞은 것은?
③
① RAID-0, RAID-1
② RAID-0, RAID-5
❸ RAID-1, RAID-5
④ RAID-0, RAID-6
- RAID0이 없는 보기를 고르면 된다.
- RAID0 - 스트라이핑 방식. 디스크를 그대로 이어 붙여 큰 용량 하나로 씀. 백업용이 없으니 고장나면 그대로 날아감.
- RAID1 - 미러링 방식. 반반 나눠서 절반은 완전히 복제로 사용. 말 그대로 반은 백업.
- RAID5 - 패리티 1개.
- RAID6 - 패리티 2개.
- 패리티: 장애가 발생한 뒤에 데이터를 복원하기 위해서 사용되는 부호.
[2과목] 리눅스 활용
Q. 다음은 부팅 모드를 확인하는 과정이다. X 윈도 모드로 부팅이 될 때 (괄호) 안에 들어갈 내용으로 알맞은 것은?
④
① ㉠ set-default ㉡ multi-user.target
② ㉠ set-default ㉡ graphical.target
③ ㉠ get-default ㉡ multi-user.target
❹ ㉠ get-default ㉡ graphical.target
- X 윈도 모드 = grapgical.target
- 텍스트 모드 = multi-user.target
Q. 다음 중 X Window 시스템에 할당된 TCP 포트 번호로 알맞은 것은?
①
❶ 6000
② 8000
③ 8080
④ 8088
- X Window 시스템에 할당된 TCP 포트 번호는 6000+를 사용한다.
- 1번 보기 외에는 전부 8000번대로 답은 1번.
Q. 다음 설명에 해당하는 라이브러리 명칭으로 알맞은 것은?
①
❶ XCB
② QT
③ GTK+
④ FLTK
- Xlib - XCB
- KDE - QT
- GTK+ - GNOME
Q. 다음 설명에 해당하는 명칭으로 알맞은 것은?
③
① QT
② KDE
❸ GNOME
④ Xfce
Q. 다음 상황과 관련된 설명으로 알맞은 것은?
④
① A 시스템은 X 서버가 되고, 환경변수인 DISPLAY를 변경한다.
② A 시스템은 X 클라이언트가 되고, xhost 명령을 사용해서 제어한다.
③ B 시스템은 X 클라이언트가 되고, 환경변수인 DISPLAY를 변경한다.
❹ B 시스템은 X 서버가 되고, xhost 명령을 사용해서 제어한다.
- A 시스템은 클라이언트가 되고 DISPLAY 환경변수 사용
- B 시스템은 서버가 되고 xhost 명령 사용
Q. 다음 결과에 해당하는 명령으로 알맞은 것은?
③
① echo $DISPLAY
② xhost list $DISPLAY
❸ xauth list $DISPLAY
④ export DISPLAY
- xhost는 뒤에 ip주소가 와야한다.
- DISPLAY 환경변수면 열에 아홉은 xauth이다.
Q. 다음 그림에 해당하는 프로그램으로 알맞은 것은?
③
① totem
② ImageMagicK
❸ Eog
④ Gimp
- Eog는 이미지뷰어.
- ImageMagicK와 Gimp는 이미지 편집기.
- totem - GNOME 데스크톱 환경의 기본 동영상 플레이어.
- 그놈(영어: GNU Network Object Model Environment, GNOME, /ɡəˈnoʊm, ˈnoʊm/)은 데스크톱 프로그램 집합의 일종이기도 하며 이를 개발하는 프로젝트의 이름이기도 하다.
- Eog(Eye of GNOME) - GNOME 데스크톱 환경의 기본 이미지 뷰어.
- Gimp - GNU 이미지 처리 프로젝트 약자. 오픈 소스 이미지 편집 프로그램.
- ImageMagicK - 오픈 소스 이미지 처리 및 변환 도구.
Q. 다음 그림에 해당하는 프로그램으로 알맞은 것은?
④
① LibreOffice Draw
② LibreOfiice Writer
③ LibreOffice Calc
❹ LibreOffice Impress
- LibreOffice Draw - 그림판
- LibreOfiice Writer - 워드
- LibreOffice Calc - 스프레드시트
- LibreOffice Impress - 파워포인트
Q. 다음 설명에 해당하는 LAN 구성 방식으로 알맞은 것은?
③
① 망(Mesh)형
② 링(Ring)형
❸ 버스(Bus)형
④ 스타(Star)형
- 마치 버스 노선도와 같이 한 줄에 여러 PC들이 묶여있는 형상이여서 버스(Bus)형으로 지어졌으며, 이어지는 회선이 하나인 관계로 한번에 한 컴퓨터만 전송이 가능하고 PC 수에 따라 네트워크 성능에 영향이 많이 감
Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?
②
① 32bit
❷ 48bit
③ 64bit
④ 128bit
- 이더넷은 같은 공간, 같은 지역의 네트워크(LAN)에 속해있는 컴퓨터로만 데이터 전송이 가능한 규약이다.
이더넷이 네트워크 모델의 OSI 계층에서 물리 계층과 데이터 링크 계층에서 사용된 기술이었다면, 인터넷은 네트워크 계층의 기술로 사용된다.
- IPv4 32bit.
- IPv6 128bit.
- MAC 48bit.
Q. 다음 중 패킷 교환 방식에 대한 설명으로 틀린 것은?
②
① 패킷별로 우선순위를 부여할 수 있다.
❷ 회선 교환 방식과 비교해서 지연이 적게 발생한다.
③ 각각의 패킷마다 오버헤드 비트가 존재한다.
④ 고정 대역을 할당하지 않는 관계로 이론상으로는 무제한 수용이 가능하다.
- 패킷 교환 방식은 회선 교환 방식과 비교해서 지연이 더 발생한다.
Q. 다음 설명에 해당하는 기술로 알맞은 것은?
①
❶ FDDI
② X.25
③ Frame Relay
④ Cell Relay
- 광섬유 케이블을 이용 - FDDI(Fiber’섬유’ Distributed Digital Interface)
Q. 다음 중 프로토콜 제정기관과 관련 업무의 조합으로 알맞은 것은?
④
① ㉠ - Ⓒ
② ㉡ - Ⓐ
③ ㉠ - Ⓑ
❹ ㉢ - Ⓑ
- ISO → OSI
- EIA → LAN 케이블 관련 표준((C)AI(BL)E )
- IEEE → LAN 관련 표준
Q. 다음 설명에 해당하는 OSI 계층으로 알맞은 것은?
①
❶ 표현 계층
② 세션 계층
③ 전송 계층
④ 네트워크 계층
- 암호화, 번역은 표현(presentation)계층
Q. 다음 중 IPv4의 B 클래스 네트워크 주소 대역으로 알맞은 것은?
④
① 127.0.0.0 ~ 192.255.255.255
② 127.0.0.0 ~ 191.255.255.255
③ 128.0.0.0 ~ 192.255.255.255
❹ 128.0.0.0 ~ 191.255.255.255
- B 클래스 네트워크 주소의 범위는 128.0.0.0에서191.255.255.255까지.
- 이 범위 내의 IP 주소는 대부분 개인 및 기업 네트워크에서 사용된다.
- 첫 번째 옥텟: 128 ~ 191
- 두 번째 옥텟: 0 ~ 255
- 세 번째 옥텟: 0 ~ 255
- 네 번째 옥텟: 0 ~ 255
- 따라서 B 클래스 주소 대역은 다음과 같다. 128.0.0.0 ~ 191.255.255.255
Q. 다음 중 X 윈도가 설치되지 않은 환경의 콘솔 창에서 아용할 수 있는 웹 브라우저로 알맞은 것은?
①
❶ lynx
② chrome
③ opera
④ safari
- 텍스트 기반인지 그래픽 기반인지 구분하는 문제
- 현대의 윈도우, 맥, GUI포함 리눅스 등에서 사용하는 브라우저들
- 23년 4회차 기출에서는 lynx가 아니라 links로 보기가 출제되었다.
- Firefox, Opera, Safari 등의 웹 브라우저는 대부분 그래픽 사용자 인터페이스(GUI)를 사용
- Lynx, Links는 텍스트 기반의 웹 브라우저
Q. 다음 설명에 해당하는 인터넷 서비스로 알맞은 것은?
②
① SSH
❷ Telnet
③ Gopher
④ FTP
- 평문사용으로 보안에 취약, 원격 접속이 된다. = Telnet
- 보안강화가 되며 원격 접속이 된다. = SSH
Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?
④
① ㉠ HTML ㉡ URL
② ㉠ HTML ㉡ 하이퍼텍스트
③ ㉠ 하이퍼텍스트 ㉡ HTML
❹ ㉠ 하이퍼텍스트 ㉡ URL
Q. 다음 중 CentOS 7 시스템을 텔넷 서버로 사용하기 위해 설치해야 하는 패키지명으로 알맞은 것은?
③
① telnet
② telnet_server
❸ telnet-server
④ server-telnet
- 보통 설치 시 명령 [root@localhost]# yum install telnet-server
Q. 다음은 원격지 SSH 서버에 계정을 변경해서 접속하는 과정이다. (괄호) 안에 들어갈 옵션으로 알맞은 것은?
①
❶ -l
② -n
③ -p
④ -x
- n : ssh가 끝날 때까지 터미널을 차지하지 않고 ssh를 백그라운드에서 실행
- p : 포트 변경
- x : X11 포워딩을 비활성화
Q. 다음 중 FTP 서버에 있는 파일을 로컬 시스템으로 가져올 때 사용하는 명령어로 알맞은 것은?
①
❶ get
② put
③ send
④ hash
- get: 파일을 로컬 시스템으로 다운로드 할 때
- put: 파일을 FTP 서버로 업로드 할 때
Q. 다음 조건일 때 설정되는 게이트웨이 주소 값으로 가장 알맞은 것은?
①
❶ 192.168.5.126
② 192.168.5.127
③ 192.168.5.128
④ 192.168.5.129
- ip 대역 0 - 256
- 서브넷 192는 11000000 이므로 2의 6승 즉 64개씩 4개의 대역폭으로 구분된다.
- 0 ~ 63
- 64 ~ 127
- 128 ~ 191
- 192 ~ 255
- IP주소가 192.168.5.66은 2번 대역폭에 해당하므로(ip 주소는 66이므로 2번 대역 사용 중, 게이트웨이는 126)
2번 대역폭의 첫 번째 주소인 192.168.5.64는 네트워크 주소, 2번 대역폭의 마지막 주소인 192.168.5.127은 브로드캐스트 주소이므로 유효한 호스트 주소 범위는 192.168.5.65 ~ 192.168.5.126이며 게이트웨이 주소는 일반적으로 첫 번째 주소인 192.168.5.65로 설정하지만, 문제의 보기는 마지막 주소인 192.168.5.126으로 되어있다.
- 0-63 64-127 128-191 192-255
- 게이트웨이 주소는 192~126(자기 자신 제외) -> 1번 정답 네트워크 주소는 192~128 - 3번 브로드캐스트 주소는 192~127 - 2번
Q. 다음 중 게이트웨이 주소 정보를 출력하는 명령으로 알맞은 것은?
③
① ip gw show
② ip gateway show
❸ ip route show
④ ip add show
- ip route show : 라우팅 테이블을 보여주며, 여기에는 게이트웨이 정보도 포함
- 예를 들어, 기본 게이트웨이는 “default via [게이트웨이 주소]”로 표시
Q. 다음 중 시스템에 장착된 이더넷 카드의 MAC 주소를 확인하는 명령으로 알맞은 것은?
①
❶ ip
② route
③ mii-tool
④ ethtol
- ethtool도 mac 확인가능. 그러나 이 문제에서는 교묘하게 오타냄. 정답은 ip
Q. 다음 정보를 확인할 수 있는 파일로 알맞은 것은?
③
① /etc/hosts
② /etc/named.conf
❸ /etc/resolv.conf
④ /etc/sysconfig/network
- 도메인이 나오면 /etc/hosts
- 도메인 없이 네임스페이스 IP이면 /etc/resolv.conf
Q. 다음 설명에 해당하는 파일명으로 알맞은 것은?
①
❶ /etc/hosts
② /etc/resolv.conf
③ /etc/sysconfig/network
④ /etc/sysconfig/network-scripts
- /etc/sysconfig/network : 시스템 전체에 대한 global한 기본 게이트웨이 주소, 호스트 이름, 네트워크 연결 허용여부 등을 설정
Q. 다음 중 SYN Flooding 공격과 같은 네트워크 상태 정보를 확인하는 명령으로 알맞은 것은?
②
① ip
❷ ss
③ arp
④ ethtool
- SYN Flooding 공격은 네트워크 공격의 일종. 공격자가 다수의 SYN 요청 패킷을 서버에 보내서 서버의 자원을 소진시켜 정상적 서비스가 불가능하게 하는 것.
- ss 명령은 더 최신의 도구로서, netstat의 대안으로 사용 가능
- ss(socket statistics): 리눅스 시스템의 소켓 상태를 조회할 수 있는 유틸리티
- 소켓 통계를 보여주는 도구, 현재 시스템에서 사용 중인 네트워크 소켓의 상태를 확인 할 수 있음, SYN Flooding 공격 탐지 가능
- ip : 네트워크 인터페이스, 라우팅 테이블, 네트워크 디바이스 등을 관리하고 정보를 확인
- arp : Address Resolution Protocol 테이블을 조회하거나 수정, 주로 IP 와 MAC 주소간의 매핑 정보를 확인하거나 설정
- ethtool : 네트워크 인터페이스 카드의 하드웨어 설정을 조회하거나 변경하는데 사용
Q. 다음 중 IPv4 네트워크 주소 체계에서 ‘/16’이 의미하는 서브넷 마스크값으로 알맞은 것은?
②
① 255.0.0.0
❷ 255.255.0.0
③ 255.255.255.0
④ 255.255.255.128
- /8 : 11111111.00000000.00000000.00000000 = 255.0.0.0
- /16 : 11111111.11111111.00000000.0000000 = 255.255.0.0
- 서브마스크넷이란 네트워크와 호스트를 구분하는 것. IPv4 주소는 32로 구성되며, 서브넷 마스크도 32 비트. 연속된 1 비트는 네트워크 부분, 연속된 0 비트는 호스트 부분
- /16 → CIDR(Classless Inter-Domain Routing) 표기법, 서브넷 마스크에서 처음 16비트가 1임을 나타냄
- 11111111.11111111.00000000.00000000 이진수를 10진수로 나타내면 1111111 = 255 1111111 = 255 0000000 = 0 0000000 = 0
- 따라서 /16 의 서브마스크는 255.255.0.0
Q. 다음 그림에 해당하는 기술로 가장 알맞은 것은?
③
① 임베디드 시스템
② 베어울프 클러스터
❸ 고가용성 클러스터
④ 부하분산 클러스터
- 노드나 서비스에 ‘이상’이 생겨도 서비스 유지가 가능
- 쓸 수 있는 가능성이 높음. 고가용(高可用) High Availability
Q. 다음 설명에 해당하는 가상화 기술로 알맞은 것은?
②
① Xen
❷ KVM
③ Docker
④ VirtualBox
- 전가상화 방식 : KVM
- 반가상화 방식 : Xen
Q. 다음 설명에 해당하는 프로그램으로 알맞은 것은?
③
① Docker
② OpenStack
❸ Kubernetes
④ Ansible
- Kubernetes : 컨테이너화된 애플리케이션의 ‘자동’ 배포, 확장 및 ‘관리’를 위한 오픈 소스 플랫폼, 초기 구글 개발 → cncf 기증
- Docker : 경량화된 가상화기술 / 컨테이너화된 애플리케이션의 개발, 배포 및 실행(관련 키워드: XEN, KVM)
Q. 다음 설명에 프로그램으로 가장 알맞은 것은?
①
❶ Hadoop
② NoSQL
③ R
④ Cassandra
- R = 통계 및 데이터 분석을 위한 프로그래밍 언어
- 빅데이터 인프라 구축 관련 프로그램
- Hadoop은 대규모 데이터 분산처리를 지원하는 소프트웨어 프레임워크
- 대용량 데이터를 여러 머신에 분산하여 저장하고 처리할 수 있는 효과적인 분산 파일 시스템
- Cassandra = 분산형 NoSQL 데이터베이스