LPIC level 1 101 공부 - 6장 정리 (소프트웨어 관리)
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호스트키