리눅스/Arch or Manjaro

아치 계열 리눅스 패키지 관리자 Pacman 명령어와 옵션

씨실과 날실 2021. 9. 2. 09:00

Pacman이란?

Pacman은 데비안(Debian) 계열의 APT, 레드햇(Redhat) 계열의 DNF, 수세(SUSE) 계열의 ZYPPER 등과 같은 위치의 패키지입니다.

Pacman은 아치, 만자로 등 주로 아치(Arch) 계열의  리눅스 시스템에서 사용되는 패키지 관리 유틸리티입니다.

패키지 설치 및 제거 스크립트, 패키지 그룹 및 메타 패키지 지원, 종속성 패키지 관리, 언격 저장소와의 동기화를 통한 시스템 내 패키지 업그레이드 등 패키지 관리 기능을 수행합니다.

버전 3.0.0부터 pacman은 "Arch Linux Package Management" 라이브러리인 libalpm(3)의 프론트엔드 패키지가 되었습니다. 이 라이브러리를 사용하면 대체 프론트엔드 패키지(예를 들어 GUI 프론트엔드)를 작성할 수 있습니다.

 


이하의 내용은 아래 링크 문서의 수행 플래그와 옵션 항목을 번역하고 첨삭한 것입니다.

아래 내용들 중 빈번히 사용되는 수행 플래그와 옵션 조합 명령들은 아래 TL;DR 항목을 참고하시기 바랍니다. 

 

OPERATIONS

-D, --database

패키지 데이터베이스를 기반으로 설치된 패키지의 특정 속성을 수정하거나 내부 일관성 정보를 확인할 수 있습니다.

아래 DATABSE 관련 옵션을 참고하시기 바랍니다.


-Q, --query

패키지 데이터베이스를 기반으로 질의(쿼리)하여 정보를 구합니다.

해당 작업을 통해 설치된 패키지와 해당 파일은 물론 개별 패키지에 대한 메타 정보(종속성, 충돌, 설치 날짜, 빌드 날짜, 크기)를 확인할 수 있습니다.

이 수행 플래그는 로컬 패키지 데이터베이스나 개별 패키지 파일에 대해서도 사용할 수 있습니다.

전자의 경우 명령줄에 인수로 따로 패키지 이름을 지정하지 않으면 설치된 모든 패키지를 대상으로 수행됩니다.

또한 패키지 목록에 다양한 필터를 적용할 수 있습니다.

아래 QUERY 옵션을 참고하시기 바랍니다.


-R, --remove

시스템에서 패키지를 제거합니다.

지정된 개별 패키지 뿐만 아니라 패키지 그룹을 제거할 수도 있습니다. 이 경우 해당 그룹의 모든 패키지가 제거됩니다.

지정된 패키지에 속한 파일이 삭제되고 데이터베이스가 업데이트됩니다.

--nosave 옵션을 사용하지 않는 한 대부분의 구성 파일은 .pacsave 확장자로 저장됩니다.

아래 REMOVE 옵션을 참고하시기 바랍니다. 


-S, --sync

시스템 내 패키지들을 원격 저장소(Remote Repository)의 패키지들과 동기화합니다.

Pacman의 패키지 동기화 수행 플래그 -S 또는 --sync는 다른 패키지 관리자(APT, DNF,ZYPPER 등)의 패키지 관리 명령 install, upgrade 등과 동일한 의미입니다.

 

이때 패키지는 패키지를 실행하는 데 필요한 모든 종속성을 포함하여 원격 리포지토리에서 직접 설치됩니다. 예를 들어, # pacman -S qt는 qt와 qt가 의존하는 모든 종속 패키지를 다운로드하고 설치합니다.

 

동일한 이름의 패키지가 확인되는 경우 구별 기준에 따라 사용자가 지정할 수 있습니다.

 

첫 번째로 동명의 패키지가 둘 이상의 저장소에 있는 경우 설치할 패키지를 명확히 하기 위해 아래와 같이 저장소를 명시적으로 지정할 수 있습니다.

$ sudo pacman -S testing/qt

 

두 번째로 버전 요구 사항을 지정할 수도 있습니다.

$ sudo pacman -S "bash>=3.2"

이때 위 예시처럼  따옴표가 필요합니다. 그렇지 않으면 쉘이 ">"를 파일로의 리디렉션으로 해석합니다.

동기화 수행 시 개별 지정 패키지 외에 패키지 그룹도 지정할 수 있습니다.

study:~ $ sudo pacman -S gnome
[sudo] study 암호: 
:: 64 개의 구성원이 gnome 모음에 있습니다:
:: extra 저장소
   1) baobab  2) cheese  3) eog  4) epiphany  5) evince  6) file-roller  7) gdm
   8) gedit  9) gnome-backgrounds  10) gnome-books  11) gnome-calculator
   12) gnome-calendar  13) gnome-characters  14) gnome-clocks
   15) gnome-color-manager  16) gnome-contacts  17) gnome-control-center
   18) gnome-disk-utility  19) gnome-documents  20) gnome-font-viewer
   21) gnome-keyring  22) gnome-logs  23) gnome-maps  24) gnome-menus
   25) gnome-music  26) gnome-photos  27) gnome-remote-desktop
   28) gnome-screenshot  29) gnome-session  30) gnome-settings-daemon
   31) gnome-shell  32) gnome-shell-extensions  33) gnome-software
   34) gnome-system-monitor  35) gnome-terminal  36) gnome-themes-extra
   37) gnome-user-docs  38) gnome-user-share  39) gnome-video-effects
   40) gnome-weather  41) grilo-plugins  42) gvfs  43) gvfs-afc  44) gvfs-goa
   45) gvfs-google  46) gvfs-gphoto2  47) gvfs-mtp  48) gvfs-nfs  49) gvfs-smb
   50) mutter  51) nautilus  52) orca  53) rygel  54) sushi  55) totem
   56) tracker  57) tracker-miners  58) tracker3  59) tracker3-miners  60) vino
   61) xdg-user-dirs-gtk  62) yelp
:: community 저장소
   63) gnome-boxes  64) simple-scan

선택을 입력하십시오. (기본값=all):

예를 들어 패키지 그룹 gnome을 설치한다고 했을 때  위 예시처럼 설치할 수 있는 패키지들이 나열됩니다.

 

# 패키지 선택 방법 1
1 3 5 7 9 11

# 패키지 선택 방법 2
1,3,5,7,9,11

# 패키지 선택 방법 3
1-10

# 패키지 선택 방법 4
1-5 ^3

이때 패키지 선택은 공백이나  쉼표로 구분된 패키지 번호 목록을 사용하여 지정됩니다.

연속 패키지는 하이픈(-)으로 구분된 첫 번째 및 마지막 패키지 번호를 지정하여 선택할 수 있습니다.

패키지를 제외하려면 숫자 또는 숫자 범위에 캐럿(^)을 접두어로 붙이면 됩니다.

다른 패키지를 제공하는 패키지도 처리됩니다. 예를 들어, pacman -S foo는 먼저 foo 패키지를 찾습니다. foo가 발견되지 않으면 foo와 동일한 기능을 제공하는 패키지가 검색됩니다. 패키지가 발견되면 설치됩니다.

foo를 제공하는 여러 패키지가 발견되면 선택 프롬프트가 제공됩니다.

 

[study@study-virtualbox ~]$ sudo pacman -Su
[sudo] study 암호: 
:: 전체 시스템 업그레이드 시작 중...
 할 일이 없습니다
[study@study-virtualbox ~]$

pacman -Su를 사용하여 오래된 모든 패키지를 업그레이드할 수도 있습니다. 

아래 SYNC 옵션을 참고하시기 바랍니다.


-T, --deptest

종속성을 테스트합니다.

이 플래그는 예를 들어 makepkg와 같은 스크립트에서 설치된 패키지를 확인하는 데 유용합니다.

이 작업은 지정된 각 종속성을 확인하고 현재 시스템에서 충족되지 않는 종속성 목록을 반환합니다.

$ sudo pacman -T qt "bash>=3.2"

사용 명령 예시는 위와 같습니다.

이 플래그 사용 시 다른 옵션은 사용할 수 없습니다.


-U, --upgrade

시스템에 패키지를 업그레이드하거나 새로 추가하고 동기화 저장소서 필요한 종속성 또한 설치합니다.

이때 URL 또는 파일 경로를 지정할 수 있습니다.

이 작업은 기존 패키지를 제거하고 새 패키지를 설치하는 일련의 과정이 절차적으로 이루어집니다.

아래의 UPGRADE 옵션을 참고하시기 바랍니다.

또한 pacman이 구성 파일을 처리하는 방법에 대한 설명은 구성 파일 처리를 참고하시기 바랍니다.


-F, --files

파일 데이터베이스를 기반으로 질의하여 그 결과를 확인합니다.

이 작업을 통해 특정 파일을 소유한 패키지를 찾거나 특정 패키지가 소유한 파일을 표시할 수 있습니다.

동기화 데이터베이스의 일부인 패키지만 검색됩니다.

아래  FILE 옵션을 참고하시기 바랍니다.


-V, --version

Pacman의 버전을 표시하고 빠져나갑니다.


-h, --help

주어진 작업에 대한 구문을 표시합니다.

만약 수행 플래그가 제공되지 않은 경우 일반 구문이 표시됩니다. 


OPTIONS

-b, --dbpath <path> 

기본 데이터베이스의 위치는 /var/lib/pacman입니다. 그런데 이 DB를 사용하지 않고  패키지 관리 수행 작업의 토대가 될 다른 데이터베이스의 위치를 지정합니다. 이때 지정 방식은 절대경로입니다.

일반적인 사용자라면 이 옵션은 사용할 일이 거의 없을 뿐더러 쓰는 것을 권장하지도 않습니다.


-r, --root <path>

유닉스 계열 시스템의 루트 디렉터리는 기본적으로  (/)입니다. 그런데 대체 설치 루트를 지정할 필요가 있을 때 이 옵션을 사용합니다.

이것을 /usr 대신 /usr/local에 소프트웨어를 설치하는 방법으로 사용해서는 안 됩니다.

 

-v, --verbose

Root, Conf File, DB Path, Cache Dirs, 기타 등등의 자세한 경로를 출력합니다.


--arch <arch>

대체 아키텍처를 지정합니다.


--cachedir <dir>

기본 패키지 캐시 디렉터리는 /var/cache/pacman/pkg입니다. 이 주소를 대체할 새로운 패키지 캐시 위치를 지정합니다.

이때 절대 경로로 지정되어야 합니다.

여러 캐시 디렉토리를 지정할 수 있으며 pacman에 전달된 순서대로 시도됩니다.


--color <when>

컬러(색상)를 활성화할 시기를 지정합니다.

 

always, never, auto

설정 가능한 옵션은 위와 같이 세 종류입니다. 

always는 색상 표시 기능을 늘 활성화합니다.

never는 색상 표시 기능을 강제로 늘 비활성화합니다.

auto는 tty에서 출력될 때만 자동적으로 색상 표시 기능을 활성화합니다.

 

--config <file>

적용할 다른 걸정 파일을 지정합니다.


--debug

디버그 메시지를 표시합니다.

시스템 고급 사용자로서 문제를 해결할 때 이 옵션을 사용하면 유용합니다.

또는 시스템 사용 중에 문제가 발생하여 해결책을 자문할 때나 버그를 보고할 때 이 옵션을 사용하여 출력되는 정보를 첨부하면 문제 해결에 도움이 됩니다.


--gpgdir <dir>

패키지 서명을 확인하기 위해 GnuPG에서 사용하는 파일 디렉토리를 지정합니다. 기본값은 /etc/pacman.d/gnupg입니다. 설정 시 절대 경로로 지정되어야 합니다.

이 디렉터리에는 pubring.gpg 와 trustdb.gpg라는 두 개의 파일이 있어야 합니다.

pubring.gpg는 모든 패키저의 공개 키를 보유합니다.

trustdb.gpg에는 키가 인증되어 신뢰할 수 있는 키들의 데이터베이스가 있습니다.

 

--hookdir <dir>

훅(hook) 파일이 포함된 대체 디렉터리를 지정합니다. 기본값은 /etc/pacman.d/hooks)입니다.

설정 시 절대 경로로 지정되어야 합니다.

다중 훅(hook) 디렉터리는 이전에 설정된 훅 디렉터리보다 우선시하도록 설정할 수 있습니다.


--logfile <file>

대체 로그 파일을 지정합니다. 설정 시 절대 경로로 지정되어야 합니다. 


--noconfirm

모든 경우의  “Are you sure?”  메시지를 우회합니다(건너뜁니다).

스크립트에서 Pacman을 실행하는 경우가 아니라면 이 옵션을 사용하는 것은 권장하지 않습니다.


--confirm

앞선 --noconfirm의 효과를 취소합니다. 


--disable-download-timeout

다운로드 시 낮은 속도 제한 및 시간 초과에 대한 기본값을 비활성화합니다.

프록시 또는 보안 게이트웨이로 파일을 다운로드하는 데 문제가 있는 경우 이 옵션을 사용하시면 됩니다. 


--sysroot <dir>

대체 시스템 루트를 지정합니다.

Pacman은 실행하기 전에 시스템 루트로 chroot 및 chdir을 실행합니다.

이렇게 하면 마운트된 게스트 시스템이 제대로 작동할 수 있습니다.

주어진 다른 모든 경로는 시스템 루트에 대한 상대경로 해석됩니다.

이 옵션을 실행하기 위해서는 루트 권한이 필요합니다.


TRANSACTION OPTIONS (APPLY TO -S, -R AND -U)

-d, --nodeps

종속성 버전 확인을 건너뜁니다. 그러나 패키지 이름은 여전히 확인합니다.

일반적으로 pacman은 항상 패키지의 종속성 필드를 확인하여 모든 종속성이 설치되어 있고 시스템에 패키지 충돌이 없는지 확인합니다.

모든 종속성 검사를 건너뛰려면 이 옵션을 두 번 지정합니다. 


--assume-installed <package=version>

버전이 "version"인 가상 패키지 "package"를 트랜잭션에 추가하여 종속성을 충족합니다. 이렇게 하면 모든 종속성 검사에 영향을 주지 않고 특정 종속성 검사를 사용하지 않도록 설정할 수 있습니다.

모든 종속성 검사를 사용하지 않으려면 --nodeps 옵션을 사용하시면 됩니다.


--dbonly

모든 파일은 그대로 두고 데이터베이스 항목만 추가/제거합니다. 


--noprogressbar

파일을 다운로드할 때 진행률 표시줄을 표시하지 않습니다. 

이것은 pacman을 호출하고 출력을 캡처하는 스크립트에 유용할 수 있습니다. 


--noscriptlet

설치 스크립틀릿이 있는 경우 해당 스크립틀릿을 실행하지 않습니다.

전문가가 아니라면 이 옵션은 사용하지 마시기 바랍니다.


-p, --print

동기화, 어븍레이드, 제거 등 실제 작업을 수행하지 않고 대상을 출력하기만 합니다.

--print-format을 사용하여 대상이 표시되는 방법을 지정할 수 있습니다. 기본 형식 문자열은 "%l"이며, 이 문자열은 -S 플래그를 사용하는 URL, -U 플래그를 사용하는 파일 이름 및 -R 플래그을 사용하는 pkname-pkgver를 표시합니다.


--print-format <format>

--print 옵션 작업의 출력을 제어하는 printf 친화적인 형식을 지정합니다. 즉 이 옵션은 -p, --print 옵션의 부가 도구 옵션입니다.

가능한 format은 다음과 같습니다.

문구

패키지 이름(pkgname)의 경우 "%n"

패키지 버전(pkgver)의 경우 "%v"

위치(location)의 경우 "%l"

저장소(repository)의 경우 "%r"

크기(size)의 경우 "%s"


UPGRADE OPTIONS (APPLY TO -S AND -U)

-w, --downloadonly

저장소 서버에서 패키지를 다운로드받아두기만 하고 설치 또는 업그레이드 작업은 진행하지 않습니다.


--asdeps

일반적으로 패키지를 명시적으로 지정하여 설치하면 종속성 패키지로 자동 설치된 것이 아니라 사용자가 의지를 가지고 직접 설치한 것이기 때문에 해당 패키지가 다른 패키지의 종속성 패키지로써 다른 패키지가 제거될 때 종속성 패키지라는 이유로 같이 제거되지 않습니다. 따라서 해당 패키지를 제거하려면 사용자가 명시적으로 지정하여 제거 명령을 실행해주어야 합니다.

그런에 이 옵션을 사용하면 지정한 패키지를 비명시적으로 설치합니다. 즉 해당 패키지의 설치 유형을 종속성 패키지 설치로 위장합니다. 이 옵션을 사용하여 패키지를 설치하면 비록 사용자가 명시적으로 설치했지만 다른 패키지의 의존성이 걸린 패키지인 경우 다른 패키지 제거시 자동으로 같이 제거됩니다.

이 기능은 어떤 패키지를 빌드하기 전에 관련된 종속성 패키지를 설치해야 하는 makepkg 및 기타 build-from-source 도구에 유용합니다.

 

--asexplicit

이 옵션은 --asdeps 옵션의 역기능을 제공합니다. 즉 설치 유형을 명시적 지정 설치로 지정합니다.

이는 종속성 패키지들을 사용자가 명시적으로 지정하여 설치한 것으로 표시하여 --recursive 제거 작업으로 제거되지 않도록 합니다.


--ignore <package>

pacman이 지정한 패키지는 설치 또는 업그레이드가 되지 않도록 지정합니다.

여러 패키지를 쉼표로 구분하여 지정할 수 있습니다. 


--ignoregroup <group>

pacman이 지정한 패키지 그룹 내의 패키지들은 설치 또는 업그레이드가 되지 않도록 지정합니다.

여러 패키지 그룹을 쉼표로 구분하여 지정할 수 있습니다. 


--needed

설치 또는 업그레이드하고자 지정한 패키지가 이미 최신 버전으로 설치되어 있는 경우 재설치되지 않도록 합니다.

즉 불필요한 재설치 작업을 막습니다.


--overwrite <glob>

파일 충돌 검사를 무시하고 충돌하는 파일을 덮어씁니다. 

설치하려는 패키지에 이미 설치되어 있고 glob과 일치하는 파일이 포함된 경우 이 옵션을 사용하면 해당 파일을 모두 덮어씁니다. 

그러나 --overwrite 옵션을 사용한다고 해서 디렉터리를 파일로 덮어쓰거나 충돌하는 파일 및 디렉터리가 있는 패키지를 설치할 수는 없습니다.

쉼표로 구분하여 여러 패턴을 지정할 수 있습니다.

패턴을 여러 번 지정할 수 있습니다.

패턴에 느낌표를 붙여서 패턴과 일치하는 파일을 덮어쓰지 않도록 패턴을 무효화할 수 있습니다.

후속 일치는 이전 일치보다 우선합니다.


QUERY OPTIONS (APPLY TO -Q)

-c, --changelog

변경 로그 정보가 존재하면 표시합니다.


-d, --deps

종속성으로 설치된 패키지만으로 출력을 제한하거나 필터링합니다.

이 옵션은 -t 옵션과 결합하여 종속성으로 설치되었지만 설치된 패키지에 더 이상 필요하지 않게 된 고립(고아) 패키지를 나열할 수 있습니다. 


-e, --explicit

명시적으로 설치된 패키지만으로 출력을 제한하거나 필터링합니다.

이 옵션은 -t 옵션과 결합하여 다른 패키지에 필요하지 않은 명시적으로 설치된 패키지를 나열할 수 있습니다. 


-g, --groups

지정한 패키지 그룹에 포함된 모든 패키지들을 표시합니다.

만약 따로 패키지 그룹명을 지정하지 않으면 그룹화된 모든 패키지들을 나열합니다.


-i, --info

주어진 패키지에 대한 정보를 표시합니다.

-p 옵션은 로컬 데이터베이스 대신 패키지 파일을 쿼리하는 경우 사용할 수 있습니다.

두 개의 --info 또는 -i 플래그를 사용하면 백업 파일 목록과 수정 상태도 표시됩니다. 


-k, --check

주어진 패키지가 소유한 모든 파일이 시스템에 있는지 확인하비니다.

패키지가 지정되지 않았거나 필터 플래그가 제공되지 않은 경우 설치된 모든 패키지를 확인하비니다.

이 옵션을 두 번 지정하면 필요한 mtree 파일이 포함된 패키지에 대해 더 자세한 파일 검사(권한, 파일 크기 및 수정 시간 포함)를 수행합니다. 


-l, --list

주어진 패키지가 소유한 모든 파일을 나열합니다.

명령줄에서 여러 패키지를 지정할 수 있습니다. 


-m, --foreign

동기화 데이터베이스에서 찾을 수 없는 패키지만으로 출력을 제한하거나 필터링합니다.

일반적으로 수동으로 다운로드하고 --upgrade를 사용하여 설치한 패키지들이 표시됩니다.


-n, --native

--forign의 역 필터 옵션으로, 동기화 데이터베이스에 있는 패키지만으로 출력을 제한하거나 필터링합니다.


-o, --owns <file>

지정된 파일을 소유한 패키지를 검색합니다. 이때 하나 이상의 파일을 지정할 수 있습니다.

경로는 상대경로 또는 절대경로로 표시됩니다.


-p, --file

입력한 명령줄에 제공된 패키지가 데이터베이스 안에 있는 항목이 아닌 파일임을 나타냅니다.

파일이 압축 해제되고 쿼리됩니다.

이 옵션은 --info 또는 --list와 함께 사용하면 유용합니다. 


-q, --quiet

특정 쿼리 작업에 대해 더 적은 정보를 표시합니다.

이것은 pacman의 출력이 스크립트에서 처리될 때 유용합니다.

-q, --quiet 옵션 사용 시 출력 유형

검색(search)은 버전, 그룹 및 설명 정보가 아닌 패키지 이름만 표시합니다.

소유(owns)는 "file is owned by pkg(파일은 pkg가 소유합니다" 메시지 대신 패키지 이름만 표시합니다.

그룹(group)은 패키지 이름만 표시하고 그룹 이름은 생략합니다.

목록(list)은 파일만 표시하고 패키지 이름은 생략합니다.

검사(check)는 패키지 이름과 누락된 파일 쌍만 표시합니다.

베어 쿼리(bare query)는 이름과 버전을 표시하지 않고 패키지 이름만 표시합니다.

 


-s, --search <regexp>

로컬 시스템에 설치된 패키지들 중 정규식(regexp)과 일치하는 이름이나 설명을 가진 패키지를 검색합니다.

여러 검색어를 포함하는 경우 해당 검색어 모두와 일치하는 설명이 있는 패키지만 반환됩니다. 

 

-t, --unrequired

현재 설치된 패키지에서 현재 불필요한 패키지만 표시하도록하도록 출력을 제한하거나 필터링합니다.

다른 패키지에서 직접적으로는 아니지만 선택적으로 필요한 패키지를 포함하려면 이 옵션을 두 번 지정하십시오. 

 

-u, --upgrades

로컬 시스템에 설치된 패키지들 중 오래된 패키지들만으로 출력을 제한하거나 필터링합니다.

패키지 버전만 오래된 패키지를 찾는 데 사용됩니다.

교체는 여기에서 확인되지 않습니다.

이 옵션은 -Sy를 사용하여 동기화 데이터베이스(저장소) 정보를 새로 고칠 때 가장 빈번히 사용됩니다.

 

REMOVE OPTIONS (APPLY TO -R)

-c, --cascade

지정한 패키지와 해당 패키지에 종속된 '모든' 종속 패키지들을 제거합니다.

이 옵션은 패키지 제거 작업을 재귀적으로 수행케 하며, 다른 패키지에 잠재적으로 또는 실제로 필요할지도 모르는 패키지들까지 제거합니다. 따라서 이 옵션은 굉장히 주의해서 사용해야 하며 이라반 사용자라면 이 옵션을 아예 사용하지 않는 것을 권장합니다.


-n, --nosave

pacman이 이번 제거 작업에서 파일 백업 지정을 무시하도록 설정합니다. 

일반적으로 시스템에서 파일이 제거할 때 파일명 뒤에 .pacsave 확장자가 붙어야 하는지 데이터베이스를 검사합니다.

.pacsave 확장자

보다 자세한 내용은 위 링크 및 해당 문서 전체를 참고하시는 것을 권장합니다. 

 

-s, --recursive

첫 번째 조건으로 다른 패키지가 필요하지 않고,

두 번째 조건으로 사용자가 명시적으로 설치하지 않은 경우에

위 두 조건을 모두 만족하는 패키지를 종속성을 포함하여 지정된 각 대상을 제거합니다.

이 작업은 반복적이며 역 --synk 작업과 유사하며 고립(고아) 패키지 없는 깨끗한 시스템을 유지하는 데 도움이 됩니다. 두 번째 조건을 생략하려면 이 옵션을 두 번 입력하면 됩니다.

 

-u, --unneeded

다른 패키지에서 필요하지 않은 대상을 제거합니다.

이것은 종속성이 깨지는 것을 피하기 위해 -c 옵션을 사용하지 않고 그룹을 제거할 때 주로 사용합니다. 

 

SYNC OPTIONS (APPLY TO -S)

-c, --clean

더 이상 사용되지 않는 동기화 데이터베이스와 캐시 디렉터리에 있는 설치되지 않은 패키지를 제거하여 디스크 용량을 확보합니다.

 pacman이 패키지를 다운로드할 때 캐시 디렉터리에 저장합니다.

또한 데이터베이스는 다운로드한 모든 동기화 DB에 대한 정보를 저장하며 구성 파일 pacman.conf(5)에서 제거하더라도 삭제되지 않습니다.

-c나 --clean 옵션을 한 번만 사용하면 더 이상 설치되지 않은 패키지만 제거하며,

-c나 --clean 옵션을 두 번 사용하면 캐시에서 모든 파일을 제거할 수 있습니다.

두 경우 모두 패키지 또는 사용하지 않는 다운로드된 데이터베이스를 제거하는 예(yes) 또는 아니오(no) 옵션이 있습니다.

네트워크 공유 캐시를 사용하는 경우 pacman.conf(5)의 CleanMethod 옵션을 참고하시기 바랍니다.


-g, --groups

지정된 각 패키지 그룹의 모든 구성원을 표시합니다.

그룹 이름을 제공하지 않으면 모든 그룹이 나열됩니다.

모든 그룹과 구성원을 보려면 플래그를 두 번 입력하십시오.


-i, --info

지정된 동기화 데이터베이스 패키지에 대한 정보를 표시합니다. --info 또는 -i 플래그를 두 번 입력하면 해당 패키지를 제공하는 모든 저장소에 존재하는 해당 패키지도 표시됩니다. 

 

-l, --list

지정된 저장소의 모든 패키지를 나열합니다.

명령줄에서 여러 저장소를 지정할 수 있습니다. 


-q, --quiet

특정 동기화 작업에 대해 더 적은 정보를 표시합니다.

pacman의 출력이 스크립트에서 처리될 때 유용합니다.

문구

-q, --quiet 옵션 사용 시 출력 유형

검색(search)은 버전, 그룹 및 설명 정보가 아닌 패키지 이름만 표시합니다.

목록(list)은 패키지 이름만 표시하고 데이터베이스 및 버전은 생략합니다.

그룹(group)은 패키지 이름만 표시하고 그룹 이름은 생략합니다.

 

-s, --search <regexp>

동기화 데이터베이스 내 정규식(regexp)과 일치하는 이름 또는 설명을 가진 패키지들을 검색합니다.

여러 검색어를 포함하면 해당 용어와 모두 일치하는 설명이 있는 패키지만 표시됩니다. 


-u, --sysupgrade

설치된 각 패키지를 검사하고 동기화 저장소에 최신 패키지가 있는 경우 오래된(최신 버전이 아닌) 모든 패키지들을 업그레이드합니다.

업그레이드할 모든 패키지에 대한 보고서가 표시되며업그레이드를 진행할 때는 사용자의 확인을 거칩니다.

종속성은 이 수준에서 자동으로 해결되며 필요한 경우 설치/업그레이드됩니다.

패키지 다운그레이드를 활성화하려면 이 옵션을 두 번 사용하시면 됩니다. 이 경우 pacman은 버전이 로컬 버전과 일치하지 않는 동기화 패키지를 선택합니다. 이것은 사용자가 테스트 저장소에서 안정적인 저장소로 전환할 때 유용하게 사용할 수 있습니다.

 

$ sudo pacman -Su pkg

위 명령을 실행하면 시스템 업그레이드를 수행하고 이어서 특정 패키지를 설치/업그레이드하도록 지정할 수도 있습니다.


-y, --refresh

pacman.conf(5)에 정의된 서버에서 마스터 패키지 데이터베이스의 새 사본을 다운로드합니다. 

일반적으로 --sysupgrade 또는 -u를 사용할 때마다 사용해야 합니다. 

두 개의 --refresh 또는 -y 플래그를 사용하면 모든 패키지 데이터베이스가 최신으로 표시되는 경우에도 새로 고쳐집니다.



DATABASE OPTIONS (APPLY TO -D)

--asdeps <package> 

패키지를 비명시적으로 설치된 것으로 표시합니다. 즉, 설치 유형을 종속성으로 설치하도록 설정합니다. 


--asexplicit <package>

패키지를 명시적으로 설치된 것으로 표시합니다. 즉, 설치 유형을 사용자에 의한 명시적 설치로 설정합니다.

 

--asdeps, --asexplicit 옵션은 UPGRADE 의 동일 옵션과 기능이 같습니다.

보다 자세한 내용은 UPGRADE 옵션 항목을 참고하시기 바랍니다.

 

-k, --check

로컬 패키지 데이터베이스가 내부적으로 일관성이 있는지 확인합니다.
필요한 모든 파일이 있는지, 설치된 패키지에 필요한 종속성이 있는지, 충돌하지는 않는지, 여러 패키지가 동일한 파일을 소유하지는 않는지 검사합니다.
이 옵션을 두 번 지정하면 동기화 데이터베이스에서 검사를 수행하여 지정된 모든 종속성을 사용할 수 있는지 확인합니다. 

 

-q, --quiet

데이터베이스 작업이 성공적으로 완료되면 메시지를 표시하지 않습니다.


FILE OPTIONS (APPLY TO -F)

-y, --refresh

서버에서 새로운 패키지 데이터베이스를 다운로드합니다.

데이터베이스가 최신 상태인 경우에도 강제로 새로 고치려면 두 번 사용하십시오.


-l, --list

질의(쿼리)된 패키지가 소유한 파일을 나열합니다.


-x, --regex

각 쿼리를 정규식으로 해석합니다.


-q, --quiet

특정 파일 작업에 대한 정보를 적게 표시합니다. 

pacman의 출력이 스크립트에서 처리될 때 유용하지만 대신 --machinereadable을 사용할 수도 있습니다. 


--machinereadable

기계가 읽을 수 있는 출력 형식으로 각 일치 항목을 출력합니다.

--machinereadable 출력 형식

repository pkgname pkgver path

repository pkgname pkgver path

repository pkgname pkgver path

...

출력 형식은 위와 같습니다.