포스트

[Linux] 2023년 3회

[1과목] 리눅스 운영 및 관리


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

img

① 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를 디렉터리에 부여한다.

  1. Sticky-Bit를 파일에 부여한다.
  • Sticky-Bit는 주로 디렉토리에서 사용되며, 해당 디렉토리 내의 파일을 삭제할 때 특정 권한을 갖는 사용자만 삭제할 수 있도록 한다. 파일에 Sticky-Bit를 부여하는 것은 흔치 않다.
  1. Set-UID를 실행 파일에 부여한다.
  • Set-UID는 실행 파일에 주로 사용되며, 해당 파일을 실행하는 동안 프로세스는 해당 파일의 소유자의 권한을 얻는다. 이것은 특히 특정한 작업을 수행하기 위해 일시적으로 루트(superuser) 권한이 필요한 경우에 사용된다.
  1. Set-GID를 실행 파일에 부여한다.
  • Set-GID도 실행 파일에 주로 사용되며, 실행 파일을 실행하는 동안 프로세스는 해당 파일의 그룹의 권한을 얻는다. 이것은 그룹이 특정 작업을 수행하는 데 필요한 권한이 있는 경우에 유용하게 사용된다.
  1. Set-GID를 디렉터리에 부여한다.
  • Set-GID는 디렉토리에도 사용될 수 있다. 디렉토리에 Set-GID를 부여하면 해당 디렉토리에 새로운 파일이 생성될 때 그 파일의 그룹이 부여된 디렉토리의 그룹으로 설정된다.

Q. 다음 중 파일이나 디렉터리의 소유자를 확인하는 명령어로 알맞은 것은?

❶ ls

② chmod 

③ chown

④ umask

  • ls: 현재 디렉토리에 있는 파일 및 디렉터리의 목록을 보여주는 명령어이다. -l 옵션을 사용하면 자세한 목록이 표시되며, 이 목록에는 각 파일 또는 디렉터리의 소유자와 그룹이 표시된다.
  • chmod: 파일의 퍼미션을 변경하는 데 사용된다. 소유자를 확인하는 목적으로는 사용되지 않는다.
  • chown: 파일이나 디렉터리의 소유자와 그룹을 변경하는 데 사용된다. 직접적으로 소유자를 확인하는 용도로 사용할 수 있다.
  • umask: 새로운 파일이나 디렉터리를 생성할 때 기본적으로 설정되는 퍼미션을 제어하는 데 사용된다. 소유자를 확인하는 용도로는 사용되지 않는다.

Q. 다음 중 생성된 a.txt의 허가권 값으로 알맞은 것은?

img

❶ -rw-rw-r–

② -rwxrwxr-x 

③ drw-rw-r–

④ drwxrwxr-x

  • 일반 파일 -표기, 디렉터리 d
  • txt 기본 권한 664

Q. 다음 설명에 해당하는 명령어로 알맞은 것은?

img

① quota

❷ edquota 

③ setquota

④ xfs_quota

  • quota : 사용자의 디스크 사용량 및 할당량을 보고하는 명령어
  • edquota : 사용자 또는 그룹의 디스크 쿼터를 편집하는 명령어
  • setquota : 쿼터 설정을 관리하는 명령어
  • xfs_quota : XFS 파일 시스템에서 사용되는 명령어

Q. 다음 중 현재 마운트된 디스크의 남아있는 용량을 확인할 때 사용하는 명령어로 알맞은 것은?

❶ df

② du 

③ fdisk

④ mount

  • df 명령어는 파일 시스템의 디스크 여유 공간 및 사용 현황을 보여주는 명령어
  • du 명령어는 디렉터리 및 파일의 디스크 사용량을 보여주는 명령어
  • fdisk 명령어는 디스크 파티션을 생성, 수정 및 삭제하는 데 사용
  • mount 명령어는 파일 시스템을 마운트하는 데 사용, 특정 디렉터리에 다른 디스크 또는 파일 시스템을 연결하여 사용 가능하게 만듦

Q. 다음 결과에 대항하는 명령어로 알맞은 것은?

img

❶ lsblk

② blkid 

③ fdisk

④ df

  • lsblk : 리눅스 스토리지 디바이스 정보를 출력하는 명령어
  • blkid : 리눅스 블록 디바이스의 UUID를 출력하는 명령어
  • fdisk : 디스크 파티션을 생성, 삭제, 수정할 때 사용하는 명령어
  • df : 파일 시스템의 마운트 된 디스크 사용량과 여유공간을 보여주는 명령어

Q. 다음 설명에 해당하는 파일명으로 알맞은 것은?

img

❶ /etc/fstab ② /etc/mtab 

③ /etc/mounts

④ /etc/partitions

  • /etc/fstab: 파일 시스템 테이블파일, 부팅 시 시스템이 어떤 파일 시스템들을 어떤 디렉터리에 마운트 해야하는지 정의
  • /etc/mtab: 시스템에 마운트 된 파일 시스템이나 디바이스의 정보를 알 수 있도록 한 파일
  • /etc/mounts: /etc/mtab 파일에 현재 마운트 되어 있는 파일 시스템의 목록을 기록하는 명령어 mount/unmount
  • /etc/partitions: 잘못된 디렉터리

Q. 다음 (괄호) 안에 들어갈 명령어로 알맞은 것은? 

img

① quota

❷ mount 

③ umount

④ fdisk

  • 리눅스에서 특정 디렉터리(/home)를 읽기-쓰기 가능 모드로 다시 마운트(remount) 하기 위한 명령어를 찾는 것
  • -o remount,rw /home : 이미 마운트된 파일 시스템을 다시 마운트하면서 읽기-쓰기 모드로 변경
    • umount : 파일 시스템을 언마운트 하는데 사용. 마운트 연결을 해제하는 명령어
  • quota : 사용자 또는 그룹의 디스크 사용량 및 할당량 정보를 표시하는 명령어
    • 파일 시스템에서 사용자나 그룹의 디스크 사용량을 확인하고 제한하는데 사용. 마운트와 연관 없음
  • mount : 파일 시스템 및 USB 플래시 드라이브와 같은 이동식 장치를 디렉터리의 특정 마운트 지점에 연결하는 명령어
    • 파일 시스템을 특정 디렉터리에 마운트하거나 이미 마운트된 파일 시스템의 속성을 변경하는 데 사용
  • fdisk : 디스크 파티션을 생성, 삭제, 수정할 때 사용하는 명령어
    • 디시크 파티션 테이블을 조작하는 데 사용

Q. 다음은 /dev/sdb1을 XFS 파일 시스템으로 포맷하는 과정이다. (괄호)안에 들어갈 명령어로 알맞은 것은?

img

① 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. 다음 설명에 해당하는 셸로 알맞은 것은?

img

① bourne shell

② csh 

③ dash

❹ bash

  • 개발 순서가 bourne shell - csh - bash 순서인데, GNU 프로젝트까지 왔으면 bash라고 외우면 된다.
  • dash는 해당 보기에서 마지막 순서임.

Q. 다음 (괄호) 안에 들어갈 파일명으로 알맞은 것은?

img

① /etc/passwd

❷ /etc/shells 

③ /etc/bashrc

④ /etc/profile

  • /etc/passwd 파일은 사용자 계정 정보를 포함
  • /etc/shells 파일은 시스템에서 사용 가능한 셸의 목록을 제공하는 파일
  • /etc/bashrc 파일은 Bash 셸의 전역 설정 파일로, 시스템 전체의 Bash 셸 설정을 구성
  • /etc/profile 파일은 사용자가 로그인할 때 실행되는 전역 프로파일 스크립트

Q. 다음 명령의 결과에 대한 설명으로 가장 알맞은 것은?

img

① 사용자가 로그인 시에 부여받은 셸 정보가 출력된다. 

② 사용자가 현재 사용하고 있는 셸 정보가 출력된다. 

③ 사용자가 변경할 수 있는 셸 정보가 출력된다. 

④ 화면에 어떠한 결과도 출력되지 않는다.

  • echo $SHELL은 현재 로그인한 사용자가 사용하고 있는 셸을 확인할 수 있다.
  • 현재 실행중인 셸을 변경
    • /bin/bash로 shell 실행 후 echo $SHELL 실행시키면 bash로 바뀐다.

Q. 다음은 ihd 사용자가 다른 셸로 변경하는 과정이다. (괄호) 안에 들어갈 내용으로 알맞은 것은?

img

① -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. 다음 (괄호) 안에 들어갈 파일명으로 알맞은 것은?

img

① 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. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?

img

❶ $LANG

② $TERM 

③ $PS1

④ $TMOUT

  • 사용자의 현재 환경에서 설정된 언어 변수인 “LANG”을 출력하는 명령어로 시스템에서 설정된 언어 환경에 따라 해당 언어 코드가 출력
  • 예를 들어, 영어(미국) 환경에서 실행하면 “en_US.UTF-8”과 같은 출력이 나올 수 있음
  • 각 언어 설정에 따라 다른 출력이 표시 됨

Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?

img

① 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인 프로세스 종료

Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?

img

① 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. 다음 명령의 결과에 대한 설명으로 알맞은 것은?

img

① 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번인 프로세스를 종료시키는 과정이 (괄호) 안에 들어갈 명령어로 알맞은 것은? 

img

❶ kill

② pkill 

③ killall

④ pgrep

  • 여러 프로세스를 종료시키는 경우 kill [PID1] [PID2] [PID3]처럼 중간에 구분자로 띄어쓰기를 사용
  • killall은 PID가 아니라 프로세스 이름

Q. 다음 그림에 해당하는 명령어로 알맞은 것은?

img

① ps

❷ top 

③ jobs

④ pstree

  • PS
    • 현재 실행 중인 프로세스의 상태를 보여주는 명령어
    • CPU 사용도가 낮은 순서로 출력함
  • TOP
    • 리눅스 시스템의 운영 상태를 실시간으로 모니터링하거나 프로세스 상태를 확인할 수 있음
    • %CPU : 해당 프로세스의 CPU사용률, %MEM: 해당 프로세스의 메모리 사용률 ⇒ ps -l에는 표시되지 않음
  • JOBS
    • 작업이 중지된 상태, 백그라운드로 진행 중인 상태, 변경되었지만 보고되지 않은 상태 등을 표시
  • PSTREE
    • 실행 중인 프로세스들을 트리구조로 나타냄

Q. 다음 설명에 해당하는 명령어로 알맞은 것은?

img

① 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. 다음 설명에 해당하는 편집기로 알맞은 것은?

img

① 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. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?

img

① -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 구성 순서로 알맞은 것은?

img

① 가 → 나 → 다

② 다 → 나 → 가 

❸ 다 → 가 → 나

④ 가 → 다 → 나

  • 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 윈도 모드로 부팅이 될 때 (괄호) 안에 들어갈 내용으로 알맞은 것은?

img

① ㉠ 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. 다음 설명에 해당하는 라이브러리 명칭으로 알맞은 것은?

img

❶ XCB

② QT 

③ GTK+

④ FLTK

  • Xlib - XCB
  • KDE - QT
  • GTK+ - GNOME

Q. 다음 설명에 해당하는 명칭으로 알맞은 것은?

img

① QT

② KDE 

❸ GNOME

④ Xfce


Q. 다음 상황과 관련된 설명으로 알맞은 것은?

img

① A 시스템은 X 서버가 되고, 환경변수인 DISPLAY를 변경한다. 

② A 시스템은 X 클라이언트가 되고, xhost 명령을 사용해서 제어한다. 

③ B 시스템은 X 클라이언트가 되고, 환경변수인 DISPLAY를 변경한다. 

❹ B 시스템은 X 서버가 되고, xhost 명령을 사용해서 제어한다.

  • A 시스템은 클라이언트가 되고 DISPLAY 환경변수 사용
  • B 시스템은 서버가 되고 xhost 명령 사용

Q. 다음 결과에 해당하는 명령으로 알맞은 것은?

img

① echo $DISPLAY

② xhost list $DISPLAY 

❸ xauth list $DISPLAY

④ export DISPLAY

  • xhost는 뒤에 ip주소가 와야한다.
  • DISPLAY 환경변수면 열에 아홉은 xauth이다.

Q. 다음 그림에 해당하는 프로그램으로 알맞은 것은?

img

① 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. 다음 그림에 해당하는 프로그램으로 알맞은 것은?

img

① LibreOffice Draw

② LibreOfiice Writer 

③ LibreOffice Calc

❹ LibreOffice Impress

  • LibreOffice Draw  - 그림판
  • LibreOfiice Writer - 워드
  • LibreOffice Calc - 스프레드시트
  • LibreOffice Impress - 파워포인트

Q. 다음 설명에 해당하는 LAN 구성 방식으로 알맞은 것은?

img

① 망(Mesh)형

② 링(Ring)형 

❸ 버스(Bus)형

④ 스타(Star)형

  • 마치 버스 노선도와 같이 한 줄에 여러 PC들이 묶여있는 형상이여서 버스(Bus)형으로 지어졌으며, 이어지는 회선이 하나인 관계로 한번에 한 컴퓨터만 전송이 가능하고 PC 수에 따라 네트워크 성능에 영향이 많이 감

Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?

img

① 32bit

❷ 48bit 

③ 64bit

④ 128bit

  • 이더넷은 같은 공간, 같은 지역의 네트워크(LAN)에 속해있는 컴퓨터로만 데이터 전송이 가능한 규약이다.
  • 이더넷이 네트워크 모델의 OSI 계층에서 물리 계층과 데이터 링크 계층에서 사용된 기술이었다면, 인터넷은 네트워크 계층의 기술로 사용된다.

  • IPv4 32bit.
  • IPv6 128bit.
  • MAC 48bit.

Q. 다음 중 패킷 교환 방식에 대한 설명으로 틀린 것은?

① 패킷별로 우선순위를 부여할 수 있다. 

❷ 회선 교환 방식과 비교해서 지연이 적게 발생한다. 

③ 각각의 패킷마다 오버헤드 비트가 존재한다. 

④ 고정 대역을 할당하지 않는 관계로 이론상으로는 무제한 수용이 가능하다.

  • 패킷 교환 방식은 회선 교환 방식과 비교해서 지연이 더 발생한다.

Q. 다음 설명에 해당하는 기술로 알맞은 것은? 

img

❶ FDDI

② X.25 

③ Frame Relay

④ Cell Relay

  • 광섬유 케이블을 이용 - FDDI(Fiber’섬유’ Distributed Digital Interface)

Q. 다음 중 프로토콜 제정기관과 관련 업무의 조합으로 알맞은 것은?

img

① ㉠ - Ⓒ

② ㉡ - Ⓐ 

③ ㉠ - Ⓑ

❹ ㉢ - Ⓑ

  • ISO → OSI
  • EIA → LAN 케이블 관련 표준((C)AI(BL)E )
  • IEEE → LAN 관련 표준

Q. 다음 설명에 해당하는 OSI 계층으로 알맞은 것은?

img

❶ 표현 계층

② 세션 계층 

③ 전송 계층

④ 네트워크 계층

  • 암호화, 번역은 표현(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. 다음 설명에 해당하는 인터넷 서비스로 알맞은 것은? 

img

① SSH

❷ Telnet 

③ Gopher

④ FTP

  • 평문사용으로 보안에 취약, 원격 접속이 된다. = Telnet
  • 보안강화가 되며 원격 접속이 된다. = SSH

Q. 다음 (괄호) 안에 들어갈 내용으로 알맞은 것은?

img

① ㉠ HTML ㉡ URL 

② ㉠ HTML ㉡ 하이퍼텍스트 

③ ㉠ 하이퍼텍스트 ㉡ HTML 

❹ ㉠ 하이퍼텍스트 ㉡ URL


Q. 다음 중 CentOS 7 시스템을 텔넷 서버로 사용하기 위해 설치해야 하는 패키지명으로 알맞은 것은?

① telnet

② telnet_server 

❸ telnet-server

④ server-telnet

  • 보통 설치 시 명령 [root@localhost]# yum install telnet-server

Q. 다음은 원격지 SSH 서버에 계정을 변경해서 접속하는 과정이다. (괄호) 안에 들어갈 옵션으로 알맞은 것은?

img

❶ -l

② -n 

③ -p

④ -x

  • n : ssh가 끝날 때까지 터미널을 차지하지 않고 ssh를 백그라운드에서 실행
  • p : 포트 변경
  • x : X11 포워딩을 비활성화

Q. 다음 중 FTP 서버에 있는 파일을 로컬 시스템으로 가져올 때 사용하는 명령어로 알맞은 것은?

❶ get

② put 

③ send

④ hash

  • get: 파일을 로컬 시스템으로 다운로드 할 때
  • put: 파일을 FTP 서버로 업로드 할 때

Q. 다음 조건일 때 설정되는 게이트웨이 주소 값으로 가장 알맞은 것은?

img

❶ 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. 다음 정보를 확인할 수 있는 파일로 알맞은 것은?

img

① /etc/hosts

② /etc/named.conf 

❸ /etc/resolv.conf

④ /etc/sysconfig/network

  • 도메인이 나오면 /etc/hosts
  • 도메인 없이 네임스페이스 IP이면 /etc/resolv.conf

Q. 다음 설명에 해당하는 파일명으로 알맞은 것은?

img

❶ /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. 다음 그림에 해당하는 기술로 가장 알맞은 것은?

img

① 임베디드 시스템

② 베어울프 클러스터 

❸ 고가용성 클러스터

④ 부하분산 클러스터

  • 노드나 서비스에 ‘이상’이 생겨도 서비스 유지가 가능
  • 쓸 수 있는 가능성이 높음. 고가용(高可用) High Availability

Q. 다음 설명에 해당하는 가상화 기술로 알맞은 것은?

img

① Xen

❷ KVM 

③ Docker

④ VirtualBox

  • 전가상화 방식 : KVM
  • 반가상화 방식 : Xen

Q. 다음 설명에 해당하는 프로그램으로 알맞은 것은?

img

① Docker

② OpenStack 

❸ Kubernetes

④ Ansible

  • Kubernetes : 컨테이너화된 애플리케이션의 ‘자동’ 배포, 확장 및 ‘관리’를 위한 오픈 소스 플랫폼, 초기 구글 개발 → cncf 기증
  • Docker : 경량화된 가상화기술 / 컨테이너화된 애플리케이션의 개발, 배포 및 실행(관련 키워드: XEN, KVM)

Q. 다음 설명에 프로그램으로 가장 알맞은 것은?

img

❶ Hadoop

② NoSQL 

③ R

④ Cassandra

  • R = 통계 및 데이터 분석을 위한 프로그래밍 언어
    • 빅데이터 인프라 구축 관련 프로그램
  • Hadoop은 대규모 데이터 분산처리를 지원하는 소프트웨어 프레임워크
    • 대용량 데이터를 여러 머신에 분산하여 저장하고 처리할 수 있는 효과적인 분산 파일 시스템
  • Cassandra = 분산형 NoSQL 데이터베이스
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.