Rpm: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
No edit summary
Line 74: Line 74:
* http://www.rpm.org/max-rpm/ch-rpm-verify.html - Using RPM to Verify Installed Packages
* http://www.rpm.org/max-rpm/ch-rpm-verify.html - Using RPM to Verify Installed Packages


[[category:system]]
[[category:command/utility]]

Revision as of 09:41, 8 August 2016

Overview

RPM 패키지 매니저(RPM Package Manager←Red Hat Package Manager) 사용법 소개

rpmbuild

RPM 패키지를 생성하는 명령어이다.

Change working directory

rpmbuild 사용시, 기본적으로 자신의 홈디렉토리에 rpmbuild 디렉토리가 생기고, 그 안에서 RPM 패키징 작업이 시작되는데, 다음의 명령어를 사용하면 작업 root 디렉토리를 옮길 수 있다.

$ rpmbuild --define "_topdir `pwd`" -bb SPECS/sample.spec

rpm

RPM 패키지를 Install/Uprade/Remove/Search/Verify 할 때 사용하는 명령어

Install/Upgrade

RPM 패키지 업그레이드 명령어. 보통은 -vh 옵션을 붙여서 사용한다.

$ rpm -Uvh <package name>
$ rpm -ivh <package name>

특정 패키지를 재설치 해야할 경우(해킹을 당해서 패키지 내용이 변경된 경우..), 대부분은 삭제 -> 설치를 하면 해결이 된다.하지만 의존성이 심한 패키지같은 경우, 재설치를 위해 삭제를 할 경우, 원치않은 다른 패키지까지 주루룩 삭제되는 경우가 있다. 이런 경우, 다음과 같이 --force 옵션을 함께 사용해주면 된다.

$ rpm -Uvh --force <package name>

의존성 검사를 무시하고 설치하고자 할때는 --nodeps 를 붙여서 사용해주면 된다.

$ sudo rpm -Uvh --nodeps voicemail-1-21.fc12.x86_64.rpm 
Preparing...                ########################################### [100%]
	package voicemail-1-21.fc12.x86_64 is already installed

Remove

RPM 패키지 삭제 명령어

$ rpm -e <package name>

Verify

RPM 패키지 검증 명령어

rpm -V or (--verify, or -y)
  • Package Selection Options
pkg1 … pkgN    Verify named package(s)
-p <file>      Verify against package file <file>
-f <file>      Verify package owning <file>
-a             Verify all installed packages
-g <group>     Verify packages belonging to group <group>
  • Verify-specific Options
--noscripts    Do not execute verification script
--nodeps       Do not verify dependencies
--nofiles      Do not verify file attributes
  • General Options
-v                 Display additional information
-vv                Display debugging information
--root <path>      Set alternate root to <path>
--rcfile <rcfile>  Set alternate rpmrc file to <rcfile>
--dbpath <path>    Use <path> to find the RPM database

See more