[공부] 프로그래밍/Linux

LPIC level 1 101 공부 - 6장 정리 (소프트웨어 관리)

woodisco 2023. 9. 9. 10:21

 

6-1 기존의 라이브러리의 버전를 업하거나 새로운 디렉토리를 만들어 그 아래에 새로운 라이브러리를 인스톨한 경우에 실행 해야하는 command : ldconfig

-> ldconfig : 필요한 링크 작성 및 라이브러리의 캐쉬를 시행

 

6-2 새로운 라이브러리 mytool.so를 인스톨해 ldconfig를 실행 했지만, 애플리케이션 은 라이브러리를 찾지 못했다-> 원인 : /etx/ld.so.conf에 라이브러리 패스를 추가 안했기 때문에

-> ldconfig는 실행되면 /etc/ld.so.conf에 기재된 장소를 참조해서 심볼릭링크 파일의 작성 또는 /etc/ld.so.cache에 캐쉬의 쓰기를 진행

 

6-3 유저가 작성한 라이브러리를 ダイナミックリンカ가 참조할 수 있도록 하기 위해 라이브러리가 배치된 디렉토리를 지정 또는 추가하는 환경변수의 이름

: LD_LIBRARY_PATH

-> export : 환경변수 설정

 

6-4 command 또는 공유 라이브러리가 필요로 하는 모든 공유 라이브러리를 표시

: idd

-> idd : 공유 라이브러리에의 의뢰 관계를 표시

 

6-5 RPM 베이스의 Linux 시스템에 새로운 프로그램을 인스톨했을 경우 적절한 방법

: rpm command를 사용하여 rpm 패키지에서 바이너리 형식의 프로그램을 인스톨

-> RPM 형식 : Red Hat Linux, Fedora Linux, CentOS 등의 Red Hat계의 디스트리뷰션에서 채용되어 지고 있는 패키지 관리 시스템

-> Debian 형식 : Debian GNU/Linux, Ubuntu Linux 등의 Debian계의 디스트리뷰션에서 채용되어 지고 있는 패키지 관리 시스템

 
Red Hat계
Debian계
패키지 형식
rpm 형식
deb형식
패키지 관리 command
rpm command
dpkg command
레포지토리를 이용한
패키지 관리 command
yum (dnf) command
apt-cache command
apt-get command

 

6-6 패키지 파일의 설명

: 패키지 파일에는 아키텍쳐를 나타내는 문자열이 포함됨

패키지 파일에는 바이너리 이외에 라이브러리와 설정 파일, 메뉴얼등이 포함됨

 

6-7 패키지 파일을 다운로드한 후, 인스톨하기전에 패키지 파일을 지정하고 그 패키지가 의존라는 패키지를 나타내는 command

: rpm -qpR 패키지파일명

-> -q : rpm 패키지에 관한 정보를 조사해 표시

rpm 옵션
-q
--query
지정한 패키지가 인스톨 되어 있으면 패키지 표시
-a
--all
인스톨 끝낸 rpm 패키지 정보 일람을 표시
-i
--info
지정한 패키지의 상세정보를 표시
-f
--file
지정한 파일을 포함하는 rpm 패키지를 표시
-c
--configfiles
지정한 패키지 내의 설정 파일만 표시
-d
--docfiles
지정한 패키지 내의 도큐먼트만 표시
-l
--list
지정한 패키지에 포함되는 모든 파일 표시
-K
--checksig
패키지의 완전성을 확인하기 위래서 지정되어진 패키지 파일에 포함된 모든 ダイジェスト값과 서명을 체크
-R
--requires
지정한 패키지가 의존하고 있는 rpm 패키지명 표시
-p
--package
인스톨된 rpm 패키지가 아닌, 지정된 rpm 패키지 파일의 정보 표시
없음
--changelog
패키지의 갱신 정보 표시

 

6-8 rpm command에서 인스톨 끝난 패키지를 지정하고 그 패키지에 포함되는 파일명을 리스트 표시 : --query --list

 

6-9 설정 파일만 표시하는 rpm 옵션 : -qc

 

6-10 yum command에서 패키지 그룹의 일람 표시 : yum grouplist

-> yum group info 패키지그룹명 : 특정한 그룹에 포함되어 지는 패키지 일람 표시

yum groupinstall 패키지그룹명 : 그룹명을 지정하여 패키지의 인스톨을 실행

 

6-11 /etc/mkefs.conf 파일을 소유하는 패키지를 표시하는 옵션 : -qf

 

6-12 패키지 파일을 지정해, 그 패키지가 인스톨 되지 않은 경우는 신규로 인스톨해, 구 버전이 존재하는 경우는 갱신하고 싶음 : rpm -U xx-2.0.0.rpm

 

인스톨 ・ 업그레이드에 관한 옵션
-i
--install
패키지를 인스톨하기
-U
--upgrade
패키지를 업그레이드 하기
인스톨이 끝난 패키지가 존재 X의 경우 신규로 인스톨
-F
--freshen
패키지를 업데이트
인스톨이 끝난 패키지가 존재 X의 경우 아무것도 진행 X
-v
--verbose
상세한 정보를 표시
-h
--hash
진행상황을 # 기호로 표시
없음
--force
지정된 패키지가 이미 인스톨 되어있어도 덮어쓰기 인스톨
없음
--oldpackage
옛날 패키지로 교체하는것 허가
없음
--test
패키지를 인스톨 하지 않고 충돌 등 체크해 결과 표시

 

6-13 최신 버전업 한 패키지를 복수 다운로드 함 -> 안에는 현재 시스템에 인스톨 되어 있지 않은 패키지도 포함되어 있고 인스톨 되어 있는 패키지만 업데이트

: rpm -Fvh *.rpm

 

6-14 rpm 패키지를 삭제 : rpm -e 패키지명

 

언인스톨에 관한 옵션
-e
--erase
패키지 삭제
없음
--nodeps
의존관계를 무시하고 패키지를 삭제
없음
--allmatches
패키지명에 일치하는 모든 버전의 패키지를 삭제

 

6-15 다운로드 한 rpm 파일을 인스톨하기 전에 작업용 디렉토리에 전개해서 안의 파일을 확인하고 싶을 경우 : rpm2cpio

-> rpm2cpio : rpm 파일을 cpio 아카이브 형식에 변환하여 표준출력에 출력

 

6-16 yum command에서 인스톨이 끝난 패키지의 일람 표시 : list installed

-> yum : rpm 패키지를 관리하는 유틸리티

list
이용 가능한 전 rpm 패키지 정보 표시
list installed
인스톨 끝난 rpm 패키지 표시
info
지정한 rpm 패키지의 상세정보를 표시
search
지정한 키워드에서 rpm 패캐지를 검색해 결과를 표시
deplist
지정한 rpm 패키지의 의존 정보를 표시
list updates
인스톨 끝난 rpm 패키지에서 갱신 가능한 것을 표시
check-update
인스톨 끝난 rpm 패키지에서 갱신 가능한 것을 표시

 

6-17 시스템 최신성을 체크하기 위해 업데이트가 가능한 모든 패키지를 표시

: yum list updates

check-update

 

6-18 yum에서 패키지를 삭제 할 때

: 특정 패키지를 삭제하기 위해서는 remove

특정 패키지를 삭제하기 위해서는 erase

 

6-19 yum 실행시에 참조되는 리포지토리를 URL에서 지정하는 파일 -> 그 파일을 보존 하고 있는 디렉토리명을 절대 패스 : /etc/yum.repos.d

 

/etc/yum.conf
기본 설정 파일
/etc/yum.repos.d 디렉토리 이하에 보존된 파일
리포지토리의 설정 파일

-> /etc/yum.repos.d 디렉토리 이하에 복수 배치가 가능하며, 각 설정 파일 내에는 $releasever과 $basearch라는 변수 사용 가능

 

6-20 rpm 패키지의 인스톨은 하지 않고 rpm 파일의 다운로드만 하는 경우

: yumdownloader

 

6-21 zypper에서 패키지를 삭제 : zypper remove 패키지명

-> zypper : Libzypp 라이브러리를 이용한 command 라인에 따른 패키지 관리 툴

zypper [글로벌 옵션] command [command 옵션] [파라미터]
update
패키지 변경
search 패키지명
패키지 검색
install 패키지명
패키지 인스톨
remove 패키지명
패키지 삭제
info 패키지명
패키지 정보 조사
repos
리포지토리의 일람 표시

 

6-22 패키지 파일인 debian_pkg에 포함된 파일을 표시하기 위한 command

: dpkg -L debian_pkg

dpkg --listfiles debian_pkg

 

-l
--list
인스톨 끝난 deb 패키지의 정보를 표시
-s
--status
지정한 패키지의 정보를 표시
-L
--listfiles
지정한 패키지에 포함된 모든 파일 표시
-S
--search
인스톨이 끝난 패키지에서 지정된 파일을 검색
-I
--info
지정한 패키지의 상세정보 표시
-C
--audit
인스톨이 완료 되지 않은 패키지를 검색
-c
--contents
인스톨된 패키지가 아닌, 지정된 deb 패키지파일에 포함되는 파일의 일람을 표시

 

6-23 Debian 시스템에서는 패키지의 인스톨시에 많은 파일이 작성 된다. 거기서 인스톨 끝난 패키지에서 /etc/sample.conf 파일이 포함되는 패키지를 표시

: dpkg -S /etc/sample.conf

 

6-24 부분적으로 인스톨된 패키지를 검색 하고 싶을 경우 : dpkg -C

 

6-25 시스템에 인스톨 되고 있는 deb 패키지를 일람 표시 : dpkg, dselect

-> dpkg -l

dselect : 패키지관리용 유저 인터페이스를 기동하여 메인 메뉴에서 이용 가능한 패키지의 버전 리스트의 갱신

, 인스톨 끝난 이용 가능한 패키지의 상황표시등을 시행

 

6-26 deb 패키지인 pkgname을 설정 파일은 남겨 언인스톨

: dpkg -r pkgname 또는 dpkg --remove pkgname

 

-r
--remove
패키지를 삭제하지만, 설정 파일은 남겨둠
-P
--purge
설정 파일도 포함하여 패키지 삭제

 

인스톨, 업그레이드에 관한 옵션
-i
--install
패키지를 인스톨하기
-E
--skip-same-version
이미 같은 버전의 패키지가 인스톨 되어 있는 경우
아무것도 하지 않음
-G
--refuse-downgrade
이미 새로운 버전의 패키지가 인스톨 되어 있는 경우
아무것도 하지 않음

 

6-27 Debian계의 패키지 관리 시스템에서 인스톨된 패키지에 대하여 인스톨시와 같도록 설정 : dpkg-reconfigure

-> dpkg-reconfigure : 설정 한 인스톨이 끝난 패키지에 대하여 설정 내용을 변경 하는 것이 가능

 

6-28 apt-get command를 사용해서 debian_pkg 패키지를 인스톨 하기 위한 command : apt-get install debian_pkg

-> APT : Debian GNU/Linux에 있어서 deb 패키지를 보다 효율적으로 관리하기 위한 툴

패키지의 의뢰 관계를 자동적으로 해결

apt-cache : deb 패키지 정보의 검색, 표시에 사용
pkgnames
모든 deb 패키지의 일람 표시
search
지정한 키워드를 포함하는 패키지를 표시.
복수의 키워드와 정규 표현식을 사용한 키워드의 지정이 가능
show
지정한 패키지의 상세 정보와 의뢰 정보를 표시
depends
지정한 패키지의 의뢰 관계와 그 의뢰 관계를 충족하는
이외의 패키지의 일람을 표시

 

apt-get : deb 패키지 인스톨, 업그레이드, 언인스톨에 사용
install
의뢰 관계를 체크해서 패키지를 인스톨
upgrade
업그레이드 가능한 deb 패키지를 전부 갱신.
현재 인스톨 중에 패키지의 삭제는 X
update
패키지 데이터베이스를 갱신
dist-upgrade
낡은 패키지의 삭제도 포함해서 현재 인스톨 되고 있는 전 패키지를 갱신
remove
deb 패키지를 언인스톨

 

6-29 dpkg command에서 패키지를 인스톨하도록 하지만, 의뢰 관계의 문제로 실패 -> 다시 의뢰 관계가 없는 패키지도 포함하여 자동적으로 인스톨

: apt-get install 패키지명

 

6-30 Debian계 시스템에서 현재 인스톨 되고 있는 패키지의 삭제는 하지 않고 가능한 시스템을 최신의 상태에 업그레이드 : apt-get upgrade

 

6-31 Debian계의 패키지 관리 시스템에서 패키지가 놓여져 있는 네트워크 상의 장소를 기술 하는 파일 : /etc/apt/sources.list

 

6-32 가상머신(VM)과 컨테나(LXC)의 다른점을 설명 :

1.완전 가상화에 따라 VM은 가상 하드웨어에 특정 하드웨어 아키텍쳐용이면, 어느 OS를 사용해도 가동 한다.

2. LXC를 사용한 가상화에서는 프로세스의 분리와 리소스의 관리를 제어 할 수 있다.

3. KVM은 エミュレート에 따라 물리적인 하드웨어 또는 가상화 된 하드웨어상에서 가상환경을 구축하기 위해서 호스트의 OS와 게스트 OS는 동일의 OS에서 없어도 된다.

4. 컨테나는 호스트 OS의 커널을 공유하지만, 독자의 스토리지 영역, 독자의 네트워크 어드레스를 가진다.

 

6-33 가상머신(VM)의 설명 :

1. 기존의 VM을 근거로 クローン을 작성

2. VM에 OS를 인스톨 할 때, 호스트 OS가 사용하는 ISO 파일과 같은 것을 사용하는 것이 가능

-> クローン에서 작성한 VM에서는 변경해야 할 항목 : 호스트명, IP어드레스, 머신ID, ssh호스트키