ETC/자격증

[리눅스마스터]제1602회 리눅스마스터 1급 2차 시험 단답식 풀이 2

AnKiWoong 2022. 3. 27. 17:22
반응형

4. 다음은 rpm 패키지 관련하여 질의 및 작업하는 과정이다. ( 괄호 ) 안에 알맞은 내용을 적으시오.

가. 아직 설치되지 않은 패키지 파일에 대한 정보 출력
# rpm ( ① ) ./httpd-2.4.6-40.el7.x86_64.rpm

나. 패키지가 설치된 이후 RPM DB에 저장된 내용과 원본의 내용을 비교 검증 정보 출력
# rpm ( ② ) vsftpd

다. RPM 데이터베이스에 문제 발생 시, RPM 데이터베이스를 최신의 정보로 갱신
# rpm ( ③ )

<조 건>
- 관련 옵션을 적는다.
- 옵션은 대소문자를 구분하고, 띄어쓰기, 기호 등을 정확히 기술한다.

 

rpm : Radhat 패키지 관리 프로그램

 

[root@server1 proc]# rpm --help
Usage: rpm [OPTION...]

Query/Verify package selection options:
  -a, --all                        query/verify all packages
  -f, --file                       query/verify package(s) owning file
  -g, --group                      query/verify package(s) in group
  -p, --package                    query/verify a package file
  --pkgid                          query/verify package(s) with package identifier
  --hdrid                          query/verify package(s) with header identifier
  --triggeredby                    query the package(s) triggered by the package
  --whatrequires                   query/verify the package(s) which require a dependency
  --whatprovides                   query/verify the package(s) which provide a dependency
  --nomanifest                     do not process non-package files as manifests

Query options (with -q or --query):
  -c, --configfiles                list all configuration files
  -d, --docfiles                   list all documentation files
  -L, --licensefiles               list all license files
  --dump                           dump basic file information
  -l, --list                       list files in package
  --queryformat=QUERYFORMAT        use the following query format
  -s, --state                      display the states of the listed files

Verify options (with -V or --verify):
  --nofiledigest                   don't verify digest of files
  --nofiles                        don't verify files in package
  --nodeps                         don't verify package dependencies
  --noscript                       don't execute verify script(s)

Install/Upgrade/Erase options:
  --allfiles                       install all files, even configurations which might otherwise be skipped
  --allmatches                     remove all packages which match <package> (normally an error is generated if
                                   <package> specified multiple packages)
  --badreloc                       relocate files in non-relocatable package
  -e, --erase=<package>+           erase (uninstall) package
  --excludedocs                    do not install documentation
  --excludepath=<path>             skip files with leading component <path>
  --force                          short hand for --replacepkgs --replacefiles
  -F, --freshen=<packagefile>+     upgrade package(s) if already installed
  -h, --hash                       print hash marks as package installs (good with -v)
  --ignorearch                     don't verify package architecture
  --ignoreos                       don't verify package operating system
  --ignoresize                     don't check disk space before installing
  -i, --install                    install package(s)
  --justdb                         update the database, but do not modify the filesystem
  --nodeps                         do not verify package dependencies
  --nofiledigest                   don't verify digest of files
  --nocontexts                     don't install file security contexts
  --noorder                        do not reorder package installation to satisfy dependencies
  --noscripts                      do not execute package scriptlet(s)
  --notriggers                     do not execute any scriptlet(s) triggered by this package
  --nocollections                  do not perform any collection actions
  --oldpackage                     upgrade to an old version of the package (--force on upgrades does this
                                   automatically)
  --percent                        print percentages as package installs
  --prefix=<dir>                   relocate the package to <dir>, if relocatable
  --relocate=<old>=<new>           relocate files from path <old> to <new>
  --replacefiles                   ignore file conflicts between packages
  --replacepkgs                    reinstall if the package is already present
  --test                           don't install, but tell if it would work or not
  -U, --upgrade=<packagefile>+     upgrade package(s)
  --reinstall=<packagefile>+       reinstall package(s)

Common options for all rpm modes and executables:
  -D, --define='MACRO EXPR'        define MACRO with value EXPR
  --undefine=MACRO                 undefine MACRO
  -E, --eval='EXPR'                print macro expansion of EXPR
  --macros=<FILE:...>              read <FILE:...> instead of default file(s)
  --noplugins                      don't enable any plugins
  --nodigest                       don't verify package digest(s)
  --nosignature                    don't verify package signature(s)
  --rcfile=<FILE:...>              read <FILE:...> instead of default file(s)
  -r, --root=ROOT                  use ROOT as top level directory (default: "/")
  --dbpath=DIRECTORY               use database in DIRECTORY
  --querytags                      display known query tags
  --showrc                         display final rpmrc and macro configuration
  --quiet                          provide less detailed output
  -v, --verbose                    provide more detailed output
  --version                        print the version of rpm being used

Options implemented via popt alias/exec:
  --scripts                        list install/erase scriptlets from package(s)
  --setperms                       set permissions of files in a package
  --setugids                       set user/group ownership of files in a package
  --setcaps                        set capabilities of files in a package
  --restore                        restore file/directory permissions
  --conflicts                      list capabilities this package conflicts with
  --obsoletes                      list other packages removed by installing this package
  --provides                       list capabilities that this package provides
  --requires                       list capabilities required by package(s)
  --info                           list descriptive information from package(s)
  --changelog                      list change logs for this package
  --xml                            list metadata in xml
  --triggers                       list trigger scriptlets from package(s)
  --last                           list package(s) by install time, most recent first
  --dupes                          list duplicated packages
  --filesbypkg                     list all files from each package
  --fileclass                      list file names with classes
  --filecolor                      list file names with colors
  --fscontext                      list file names with security context from file system
  --fileprovide                    list file names with provides
  --filerequire                    list file names with requires
  --filecaps                       list file names with POSIX1.e capabilities

Help options:
  -?, --help                       Show this help message
  --usage                          Display brief usage message

 

<주요 옵션>

질의 옵션 (-q 또는 --query 옵션과 함께 사용):
-c, --configfiles 모든 설정 파일을 나열합니다
-d, --docfiles 모든 문서 파일을 나열합니다
--dump 기본 파일 정보를 보여줍니다
-l, --list 패키지 안의 파일을 나열합니다
-s, --state 나열된 파일의 상태(state)를 보여줍니다
-a, --all 모든 패키지에 대해 질의/검증합니다
-f, --file 파일이 들어있는 패키지에 대해 질의/검증 합니다
-g, --group 그룹 안의 패키지를 질의/검증합니다
-p, --package query/verify a package file

검증 옵션 (-V 또는 --verify 옵션과 함께 사용):
--nodeps 패키지의 의존성을 검사하지 않습니다.
-a, --all 모든 패키지에 대해 질의/검증합니다.
-f, --file 파일이 들어있는 패키지에 대해 질의/검증 합니다.
-g, --group 그룹 안의 패키지를 질의/검증 합니다
-p, --package query/verify a package file

데이터베이스 옵션:
--initdb 데이터베이스를 초기화 합니다.
--rebuilddb 설치된 패키지 헤더에서 상반된 목록(inverted lists)의 데이터베이스를 재구축 합니다

① -qip

② -V

③ --rebuilddb

 

5. 다음( 괄호 ) 안에 알맞은 내용을 적으시오.

커널 컴파일을 진행하기 전에 설치된 모듈 사이의 의존성을 검사하는 명령어는 ( ① )이다. 
이 명령어는 모듈이 생성된 디렉터리 안에 모듈간의 의존성 목록 파일을 생성하는데, 이 파일명은 ( ② )이다.
( ③ ) 은 생성된 오브젝트 파일을 제거하고 다시 configure할 때 쓰이는 명령이다. 
커널 컴파일할 때도 설정된 작업을 초기화하기 위해 ( ③ )을 명령을 사용할 수 있으나, 
오브젝트 파일만을 지울 뿐 환경 설정한 내용이 저장되는 .config 등은 지우지 못하므로 
.config 파일까지 삭제하기 위해서는 ( ④ )를 사용한다.

<조 건>
- 절대 경로로 표기하지 말고, 명령어 및 파일명만 적으시오.
- 명령어는 대소문자를 구분하며, 띄어쓰기, 기호 등을 정확히 기술한다.
- 명령어와 옵션 또는 옵션과 관련된 인자값은 하나의 괄호로 처리한다.

 

<커널 모듈 관련 명령어>

- lsmod : 시스템에 설치된 모듈 리스트 확인
- modprobe : 모듈 관리
- modinfo : 모듈의 정보를 조회
- insmod : 모듈을 설치
- rmmod : 모듈을 삭제
- depmod : 모듈 간의 의존성이 기록된 파일의 정보를 갱신

 

<모듈 과정>

1. make mrproper : 이전의 컴파일시 설정되었던 설정을 제거
2. make menuconfig : 텍스트 환경 / make xconfig : x윈도우 환경
3. make dep : 설정한 영역의 의존성 검사
4. make clean : 이전 컴파일시 생성된 파일을 삭제
5. make bzImage : 설정한 기준으로 새로운 커널을 생성
6. mkinitrd :  Initrd 이미지 생성(5, 6의 과정은 make install을 수행하면 자동으로 수행)
7. make modules : 모듈들을 생성
8. make modules_install : 만들어진 모듈들을 설치

 

① depmod

② modules.dep

③ make clean

④ make mrproper

 

6. 다음은 joon.txt라는 문서를 lp라는 프린터로 2매 출력한 후에 프린터 큐의 작업 목록을 확인하는 과정이다. 

아래의 조건을 참조하여 ( 괄호 ) 안에 알맞은 내용을 적으시오.

# ( ① ) ( ② ) ( ③ ) joon.txt
# ( ④ )

<조 건>
- ① : 관련 명령어를 적는다.
- ② : 옵션 및 관련된 인자값(argument)을 하나의 괄호에적는다. (예: -g terran)
- ③ : 옵션 및 관련된 인자값(argument)을 하나의 괄호에적는다. (예: -g terran)
- ④ : 프린터 큐의 작업 목록을 확인하는 명령을 적는다.

 

System V 계열 프린트 명령어
- lp : 프린터 디바이스 path를 사용하여 직접 인쇄할 수 있습니다. 
(-d : 다른 프린터 지정, -n : 인쇄 매수 지정)
- lpstat :  프린터 큐의 상태를 확인할 때 사용합니다.
- cancel : 프린트 작업을 취소합니다. 

BSD 계열 프린트 명령어
- lpr : 인쇄 작업을 수행합니다.
(-P : 인쇄를 수행 할 프린터 지정. (프린터 명), -# : 인쇄 매수 지정 )
- lpq : 프린터 큐의 상태를 확인할 때 사용합니다.
- lprm : 프린터 큐의 작업을 삭제할 때 사용합니다.
- lpc : 프린터가 인쇄 가능 상태 인지 확인할 때 사용 합니다. 

 

<System V 답안>

① lpr

② -# 2

③ -P lp

④ lpq

 

<BSD 답안>

① lp

② -n 2

③ -d lp

④ lpstat

반응형