개요

Pacman은 Arch Linux의 공식 패키지 관리자입니다. 이 가이드는 사용 빈도가 높은 옵션부터 기능별로 정리한 완전한 참조 문서입니다.


1. 패키지 설치 및 업그레이드

pacman -S (패키지 설치)

가장 자주 사용되는 명령어로, 패키지를 설치합니다.

# 단일 패키지 설치
pacman -S firefox

# 여러 패키지 동시 설치
pacman -S vim git htop

# 그룹 설치
pacman -S base-devel

pacman -Syu (시스템 전체 업그레이드)

시스템의 모든 패키지를 최신 버전으로 업그레이드합니다.

# 저장소 데이터베이스 동기화 후 시스템 업그레이드
pacman -Syu

# 강제 새로고침 후 업그레이드
pacman -Syyu

pacman -Sy (저장소 데이터베이스 동기화)

패키지 데이터베이스를 최신 상태로 동기화합니다.

# 데이터베이스 동기화
pacman -Sy

# 강제 새로고침
pacman -Syy

pacman -Su (업그레이드만 실행)

데이터베이스 동기화 없이 설치된 패키지만 업그레이드합니다.

pacman -Su

pacman -Sw (패키지 다운로드만)

설치하지 않고 패키지 파일만 다운로드합니다.

# 패키지 다운로드만
pacman -Sw firefox

# 업그레이드 패키지들 다운로드만
pacman -Syw

2. 패키지 제거

pacman -R (패키지 제거)

지정된 패키지를 제거합니다.

# 단일 패키지 제거
pacman -R firefox

# 여러 패키지 제거
pacman -R vim git htop

pacman -Rs (의존성과 함께 제거)

패키지와 더 이상 필요하지 않은 의존성을 함께 제거합니다.

# 패키지와 불필요한 의존성 제거
pacman -Rs firefox

# 여러 패키지와 의존성 제거
pacman -Rs package1 package2

pacman -Rns (설정 파일까지 완전 제거)

패키지, 의존성, 설정 파일을 모두 제거합니다.

# 완전 제거 (권장)
pacman -Rns firefox

pacman -Rdd (의존성 확인 무시하고 제거)

의존성 확인을 건너뛰고 강제로 제거합니다. (주의해서 사용)

# 강제 제거 (위험)
pacman -Rdd problematic-package

3. 패키지 검색 및 정보 조회

pacman -Ss (패키지 검색)

저장소에서 패키지를 검색합니다.

# 패키지명으로 검색
pacman -Ss firefox

# 설명 포함 검색
pacman -Ss "web browser"

# 정규식 사용
pacman -Ss "^fire"

pacman -Qs (설치된 패키지 검색)

로컬에 설치된 패키지를 검색합니다.

# 설치된 패키지 검색
pacman -Qs firefox

# 모든 설치된 패키지 나열
pacman -Qs

pacman -Si (패키지 상세 정보)

저장소 패키지의 상세 정보를 표시합니다.

# 패키지 정보 조회
pacman -Si firefox

# 여러 패키지 정보 조회
pacman -Si vim git

pacman -Qi (설치된 패키지 정보)

설치된 패키지의 상세 정보를 표시합니다.

# 설치된 패키지 정보
pacman -Qi firefox

# 설치 이유와 함께 정보 표시
pacman -Qii firefox

pacman -Ql (패키지 파일 목록)

패키지가 설치한 파일 목록을 표시합니다.

# 패키지 파일 목록
pacman -Ql firefox

# grep과 조합하여 특정 파일 찾기
pacman -Ql firefox | grep bin

pacman -Qo (파일 소유자 찾기)

특정 파일이 어느 패키지에 속하는지 찾습니다.

# 파일 소유 패키지 찾기
pacman -Qo /usr/bin/vim

# 현재 디렉토리의 파일 소유자 찾기
pacman -Qo $(pwd)

4. 의존성 및 관계 조회

pacman -Qdt (고아 패키지 찾기)

더 이상 필요하지 않은 의존성 패키지들을 찾습니다.

# 고아 패키지 목록
pacman -Qdt

# 고아 패키지 제거
pacman -Rns $(pacman -Qtdq)

pacman -Qe (명시적으로 설치된 패키지)

사용자가 직접 설치한 패키지 목록을 표시합니다.

# 명시적 설치 패키지
pacman -Qe

# 외부 패키지만 (AUR 등)
pacman -Qm

pacman -Qd (의존성으로 설치된 패키지)

다른 패키지의 의존성으로 설치된 패키지들을 표시합니다.

# 의존성 패키지 목록
pacman -Qd

pacman -Qu (업그레이드 가능한 패키지)

업그레이드가 가능한 패키지 목록을 표시합니다.

# 업그레이드 가능한 패키지
pacman -Qu

5. 캐시 및 시스템 관리

pacman -Sc (캐시 정리)

다운로드된 패키지 파일 중 설치되지 않은 것들을 삭제합니다.

# 불필요한 캐시 파일 삭제
pacman -Sc

# 모든 캐시 파일 삭제
pacman -Scc

pacman -D (패키지 속성 변경)

설치된 패키지의 속성을 변경합니다.

# 패키지를 명시적 설치로 변경
pacman -D --asexplicit firefox

# 패키지를 의존성으로 변경
pacman -D --asdeps firefox

pacman -U (로컬 패키지 설치)

로컬 패키지 파일을 설치합니다.

# 로컬 .pkg.tar.xz 파일 설치
pacman -U /path/to/package.pkg.tar.xz

# URL에서 직접 설치
pacman -U https://example.com/package.pkg.tar.xz

6. 고급 옵션

--noconfirm (확인 없이 실행)

모든 확인 질문에 자동으로 "예"로 답합니다.

# 확인 없이 설치
pacman -S --noconfirm firefox

# 확인 없이 제거
pacman -R --noconfirm firefox

--needed (이미 최신이면 재설치 안함)

이미 최신 버전이 설치되어 있으면 건너뜁니다.

# 필요한 경우만 설치
pacman -S --needed firefox vim git

--ignore (특정 패키지 무시)

업그레이드나 설치 시 특정 패키지를 무시합니다.

# 특정 패키지 무시하고 업그레이드
pacman -Syu --ignore firefox

# 여러 패키지 무시
pacman -Syu --ignore firefox,chromium

--downloadonly (다운로드만)

패키지를 다운로드만 하고 설치하지 않습니다.

# 다운로드만 실행
pacman -S --downloadonly firefox

7. Pacman-contrib 유틸리티

paccache (캐시 관리)

패키지 캐시를 효율적으로 관리합니다.

# 각 패키지의 최신 3개 버전만 유지
paccache -r

# 각 패키지의 최신 1개 버전만 유지
paccache -rk1

# 설치되지 않은 패키지의 캐시 모두 삭제
paccache -ruk0

# 드라이런 (실제 삭제하지 않고 미리보기)
paccache -dr

pacdiff (설정 파일 차이점 확인)

pacnew/pacsave 파일과 현재 설정의 차이점을 확인합니다.

# 설정 파일 차이점 확인
pacdiff

# 자동으로 병합 도구 실행
pacdiff -s

paclog-pkglist (설치 기록 조회)

패키지 설치/제거 기록을 조회합니다.

# 특정 날짜의 패키지 변경사항
paclog-pkglist 2024-01-01

# 두 날짜 사이의 변경사항
paclog-pkglist 2024-01-01 2024-01-31

rankmirrors (미러 속도 테스트)

미러 서버의 속도를 테스트하고 순위를 매깁니다.

# 미러리스트 속도 테스트
rankmirrors -n 6 /etc/pacman.d/mirrorlist

# 상위 10개 미러만 테스트
rankmirrors -n 10 /etc/pacman.d/mirrorlist

paclist (저장소별 패키지 목록)

특정 저장소의 패키지 목록을 표시합니다.

# core 저장소 패키지 목록
paclist core

# extra 저장소 패키지 목록
paclist extra

checkupdates (업데이트 확인)

시스템을 변경하지 않고 업데이트 가능한 패키지를 확인합니다.

# 업데이트 가능한 패키지 확인
checkupdates

# AUR 패키지도 함께 확인 (auracle 필요)
checkupdates && auracle outdated

8. 유용한 조합 명령어

시스템 정리

# 고아 패키지 제거
pacman -Rns $(pacman -Qtdq)

# 캐시 정리 (최신 3개 버전 유지)
paccache -r

# 설정 파일 차이점 확인
pacdiff

패키지 정보 완전 조회

# 패키지 정보 + 파일 목록 + 의존성
pacman -Qi package_name
pacman -Ql package_name
pacman -Qii package_name

시스템 상태 점검

# 업데이트 가능한 패키지
checkupdates

# 고아 패키지
pacman -Qdt

# 명시적으로 설치된 패키지
pacman -Qe

9. 주의사항 및 팁

🚨 중요한 주의사항

  • pacman -Sy package_name 사용 금지 (부분 업그레이드 방지)
  • 항상 pacman -Syu로 전체 시스템 업그레이드 후 새 패키지 설치
  • -Rdd 옵션은 시스템을 손상시킬 수 있으므로 주의

💡 유용한 팁

  • /var/log/pacman.log에서 패키지 설치/제거 이력 확인 가능
  • alias를 설정하여 자주 사용하는 명령어 단축
  • 정기적으로 paccache -r로 캐시 정리
  • pacdiff로 설정 파일 충돌 해결

🔧 설정 파일 위치

  • 주 설정: /etc/pacman.conf
  • 미러리스트: /etc/pacman.d/mirrorlist
  • 캐시 디렉토리: /var/cache/pacman/pkg/
  • 로그 파일: /var/log/pacman.log

이 가이드는 Arch Linux pacman의 핵심 기능들을 다룹니다. 더 자세한 정보는 man pacman 명령어로 확인할 수 있습니다.

+ Recent posts