티스토리 뷰

IoT 과정

SOFTWARE MAINTENANCE

gaelim 2017. 7. 18. 15:47
반응형

Managing Software

# Unix Packaging : SysV packages
# Linux Packageing : Slackware Tarballs, Debian dpkg, Red Hat RPMs


RPM 기능들

# Dependency tracking , 디펜던시 추적
# Tracking of installed files , 설치 파일 추적
# Verification of installed
# Non-interactive installation

RPM은 웹에서도 찾을수 있다.

# www.rpmfind.net 에서 패키지 검색후 커맨드 창에서

wget ftp://195.220.108.108/linux/centos/7.3.1611/os/x86_64/Packages/sendmail-8.14.7-4.el7.x86_64.rpm


[root@station16 ~]# ls
anaconda-ks.cfg  Music            q                                 Videos
Desktop          original-ks.cfg  sendmail-8.14.7-4.el7.x86_64.rpm
Documents        Pictures         Templates
... 생략

패키지를 확인할 때 참고 정보

i386 : 32bit
x86_64 : 64bit
ppa64 : IBM powerpc
IA64 : intel itanium (hp)
spac : sun
noarch : cpu independence


패키지 업데이트 -U (install /update), -v : verbose -h : hash(# 해쉬가 좌르륵 나옴, 진행사항 확인)

# rpm -Uvh

패키지 인스톨 -i (install)

# rpm -ivh


인스톨은 이전 버전의 동일 파일을 제거하지 않고 내버려둔다. 만약 또다른 os 설치시 i 옵션을 이용하면 부팅시 이전 os 또한 부팅 선택사항으로 남겨둘 수 있음. 그러나 U 업데이트 옵션은 이전 버전을 지움.


RPM의 패키지 디펜던시 문제, 설치안됨. --nodeps 옵션으로 피할 수 있으나 권장되지 않음

[root@station16 ~]# rpm -Uvh  sendmail-8.14.7-4.el7.x86_64.rpm
warning: sendmail-8.14.7-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
    procmail is needed by sendmail-8.14.7-4.el7.x86_64


디펜던시 문제를 해결하기위해 PROCMAIL 설치

[root@station16 ~]# wget ftp://195.220.108.108/linux/centos/7.3.1611/os/x86_64/Packages/procmail-3.22-35.el7.x86_64.rpm

... 생략

[root@station16 ~]# rpm -Uvh procmail-3.22-35.el7.x86_64.rpm
warning: procmail-3.22-35.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY

... 생략

# 디펜던시 문제가 해결되었으므로 센드메일 설치..

[root@station16 ~]# rpm -Uvh  sendmail-8.14.7-4.el7.x86_64.rpm
warning: sendmail-8.14.7-4.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY


RPM관련  정보 확인

# rpm -qa | grep "package name" (존재하는지 확인)
# rpm -ql "package name" (l : location)
# rpm -qf "절대 경로 파일" 어떤 패키지에 의해 설치된 파일인지 확인함

ls 다시 설치하기 위해서는 어떤 패키지를 설치해야하는지 확인해보았다.

# rpm -qf /usr/bin/ls
coreutils-8.22 ....

# rpm -e "package name" 
-e (erase) 이다.

# rpm -V "package name"

-V(verify) 옵션은 /var/lib/rpm :설치된 rpm목록(DB)에서 참조하기 때문에 없는 패키지도 나올수 있다. 1번 째 필드에서 나오는 S, 5 , T 등의 정보는 rpm 매뉴얼 페이지, 명령어 man rpm을 통해 확인할 수 있다.


YUM

# 참고 yum 은 설치y, 다운로드 d를 누르기 전까지 repository가 준 rpm 목록을 참고할 뿐 동적으로 직접 확인하지 못한다.

# yum repolist
# yum search "package name"
# yum install "package name"
# yum history
# yum history info #  <--- history에서 나오는번호 하면 상세정보나옴
# yum history undo # <---- history에서 나오는 번호의 작업을 취소함, 설치 전 상태로 만들기 위해 삭제함.

# yum clean all <-- repository 서버가 준 목록을 지운다.

반응형

'IoT 과정' 카테고리의 다른 글

LVM & RAID  (0) 2017.07.19
LOCAL STORAGE ADMINISTRATION // 로컬 디스크 관리  (0) 2017.07.19
GRUB 관련  (0) 2017.07.18
SYSTEMD OVERVIEW  (0) 2017.07.18
커널 옵션 적응하기, 드라이버 편집하기 등 task  (0) 2017.07.17