dpkg는 데비안 계열 시스템의 저수준 패키지 도구이고, rpm은 RPM 계열 시스템에서 비슷한 역할을 합니다. 이 도구들은 네이티브 아카이브를 풀고, 패키지 수명 주기 작업을 실행하며, 설치된 패키지 데이터베이스를 갱신합니다. APT와 DNF 같은 저장소 인식 도구는 이러한 저수준 메커니즘을 기반으로 동작합니다.
패키지 · 레슨 5
rpm과 dpkg
`dpkg`와 `rpm`이 각각의 네이티브 패키지 데이터베이스 및 로컬 아카이브를 검사하고 변경하는 방법을 알아봅니다.
설치 전에 아카이브 검사하기
패키지 아카이브는 실행 파일 하나와 같지 않습니다. 여러 페이로드 파일, 메타데이터, 설정 처리 및 권한 있는 수명 주기 스크립트를 포함할 수 있습니다. 설치하기 전에 출처, 서명 또는 인증된 다운로드 경로, 메타데이터 및 내용을 검사하십시오.
Debian: $ dpkg-deb --info ./some-package.deb
Debian: $ dpkg-deb --contents ./some-package.deb
RPM: $ rpm -qip ./some-package.rpm
RPM: $ rpm -qlp ./some-package.rpm
위 RPM 조회 형식에서 p는 설치된 데이터베이스가 아니라 “패키지 파일을 조회”한다는 뜻입니다. 조회 출력은 패키지 검토에 도움이 되지만 스크립트나 프로그램이 안전하다는 사실을 증명하지는 못합니다.
데비안 .deb 패키지와 설치 데이터베이스를 관리하는 저수준 도구는 무엇입니까?
로컬 아카이브 설치하기
다음과 같이 저수준 도구로 직접 설치할 수 있습니다.
Debian: $ sudo dpkg -i ./some-package.deb
RPM: $ sudo rpm -U ./some-package.rpm
dpkg -i는 요청한 아카이브를 풀고 설정할 수 있지만 누락된 저장소 의존성을 가져오지는 않습니다. 원시 rpm 명령도 일반적인 저장소 해결기 작업 흐름을 제공하지 않습니다. 설정된 소스에서 의존성을 해결할 수 있으므로 로컬 아카이브에는 대체로 다음 고수준 명령이 더 적합합니다.
Debian: $ sudo apt install ./some-package.deb
RPM: $ sudo dnf install ./some-package.rpm
확정하기 전에 트랜잭션을 검토하십시오. APT에서는 앞의 ./가 로컬 데비안 아카이브 경로를 저장소 패키지 이름과 구분합니다.
사용 가능한 저장소 의존성을 해결하면서 로컬 .deb 파일을 설치할 수 있는 명령은 무엇입니까?
설치된 패키지 제거하기
제거할 때는 이전에 사용한 아카이브 파일 이름이 아니라 설치된 패키지 이름을 지정합니다.
Debian: $ sudo dpkg --remove package-name
RPM: $ sudo rpm --erase package-name
데비안의 --remove는 보통 conffile로 분류된 설정 파일을 유지합니다. --purge는 패키지 스크립트와 관리되지 않는 데이터의 영향을 받지만 이러한 설정 파일도 제거하도록 요청합니다. 어느 명령도 사용자가 만든 데이터의 삭제를 보장하지 않습니다. 관련 패키지를 평가하고 전체 트랜잭션을 보여 줄 수 있으므로 일반적으로 고수준 apt remove 또는 dnf remove가 더 좋습니다.
dpkg --remove는 설치된 패키지를 제거할 때 어떤 피연산자를 요구합니까?
설치 상태 조회하기
다음 명령으로 설치되었거나 알려진 패키지 레코드를 나열합니다.
Debian: $ dpkg-query -l
RPM: $ rpm -qa
대상을 좁혀 검사할 때는 특정 패키지 이름을 사용하고, 스크립트의 안정성이 중요하다면 기계 판독 형식을 사용하십시오. 패키지 데이터베이스는 관리되는 상태를 설명하지만 로컬 관리자나 애플리케이션이 나중에 파일을 변경할 수도 있습니다. 설치 파일을 기록된 메타데이터와 비교해야 한다면 검증 기능을 사용하십시오.
RPM 데이터베이스에 설치된 것으로 기록된 모든 패키지를 조회하는 명령은 무엇입니까?
RPM으로 패키지 관리하기에서 격리된 시스템을 사용해 아카이브 조회와 무결성 검사를 연습해 보십시오.
레슨 완료
rpm과 dpkg 완료
이제 저수준 패키지 작업과 저장소 트랜잭션을 구분할 수 있습니다.
설치하기 전에 로컬 아카이브의 메타데이터와 내용을 검사합니다.
.deb저수준 작업에는dpkg를,.rpm작업에는rpm을 사용합니다.의존성을 해결해야 할 때는 APT 또는 DNF를 우선 사용합니다.
설치된 패키지 이름으로 제거하고 관리 상태는 별도로 검증합니다.