리눅스에서 소프트웨어를 설치한다는 것은 결국 누군가가 미리 컴파일해 묶어 놓은 파일 꾸러미(패키지)를 시스템의 올바른 자리에 풀어 놓고, 그 사실을 데이터베이스에 기록하는 일이다. 이 "기록"이 핵심이다. 패키지 관리자가 단순한 압축 해제 도구와 다른 이유는, 무엇이 어디에 설치됐고 어떤 버전인지, 무엇이 무엇에 의존하는지를 추적하기 때문이다. 그래서 같은 파일을 tar로 풀면 "설치"가 아니지만, rpm -i로 풀면 "설치"가 된다.
리눅스 배포판은 크게 두 계열로 갈린다. Red Hat 계열(RHEL·CentOS·Rocky·Fedora)은 .rpm 패키지와 RPM/YUM/DNF 도구를 쓰고, Debian 계열(Debian·Ubuntu·Mint)은 .deb 패키지와 dpkg/APT 도구를 쓴다. 리눅스마스터 1급 실기에서는 두 계열의 명령을 나란히 비교하는 문제가 끊임없이 나온다. rpm -ivh와 dpkg -i, yum install과 apt install을 짝지어 외우는 것이 오늘의 목표다.
핵심 통찰 하나: 각 계열에는 저수준 도구(rpm, dpkg)와 고수준 도구(yum/dnf, apt)가 있다. 저수준은 단일 패키지 파일을 직접 다루지만 의존성을 자동 해결하지 못하고, 고수준은 저장소(repository)에서 의존성까지 끌어와 자동으로 처리한다. 이 2단 구조를 이해하면 어떤 변형 문제도 풀린다.