Arch Linux는 간결함과 롤링 릴리스 방식으로 사랑받는 대표적인 리눅스 배포판입니다. 다른 배포판에서 기본으로 깔려 있는 수많은 앱을 과감히 덜어내고, 사용자가 원하고 필요한 앱만 골라 설치할 수 있도록 설계되었습니다. 대신 그만큼 Arch Linux를 제대로 활용하려면 패키지 관리자인 Pacman에 익숙해져야 합니다.
Pacman은 복잡한 절차 없이도 패키지를 손쉽게 관리할 수 있는 강력한 도구입니다. 공식 저장소의 패키지는 물론, 사용자가 직접 빌드한 패키지까지 Pacman 하나로 모두 관리할 수 있습니다. 이 가이드를 따라가며 Arch Linux의 Pacman을 완전히 정복해 보세요.
시스템 업데이트
시스템과 설치된 모든 소프트웨어를 최신 상태로 유지하려면 아래 명령어를 사용합니다:
pacman -Syu
패키지 데이터베이스를 강제로 전체 새로고침한 뒤 시스템을 업데이트하려면 다음과 같이 입력합니다:
pacman -Syuu
패키지 검색
설치하고 싶은 프로그램이 있는데 정확한 패키지 이름이 기억나지 않는다면, 터미널에서 바로 키워드 검색을 할 수 있습니다.
pacman -Ss {keyword}
예를 들어 gimp를 설치하고 싶다면, 검색을 통해 사용 가능한 패키지 이름을 미리 확인할 수 있습니다.
pacman -Ss gimp
이미 설치된 패키지를 검색하려면 다음 명령어를 사용하세요:
pacman -Qs package_name
패키지/소프트웨어 설치
아래 명령어 하나로 단일 패키지 또는 여러 패키지를 동시에 설치할 수 있습니다:
pacman -S package1 package2
다만, 새 패키지를 설치하기 전에 먼저 시스템을 업데이트하는 것이 좋습니다. 업데이트와 설치를 한 번에 처리하려면 다음 명령어를 사용하세요:
pacman -Syu package1 package2
서드파티 소스에서 패키지 설치
패키지를 항상 원격 저장소에서만 가져오는 것은 아닙니다. 로컬 디렉터리에 저장된 패키지 파일을 설치하려면 다음 명령어를 사용합니다:
pacman -U /path/to/packagefile_packagename.pkg.tar.xz
비공식 저장소의 패키지라면 URL을 통해 직접 설치할 수도 있습니다:
pacman -U https://packagesite.com/repo/packagename.pkg.tar.xz
설치된 패키지 목록 확인
시스템에 설치된 모든 패키지를 한눈에 보고 싶다면 다음 명령어를 사용하세요:
pacman -Ql
패키지만 내려받기
설치는 나중으로 미루고 패키지 파일만 미리 받아야 할 때가 있습니다. 이럴 때는 아래 명령어를 사용합니다:
pacman -Sw package_name
패키지/소프트웨어 제거
패키지 제거는 설치만큼 중요한 작업입니다. 해당 패키지만 제거하고 의존성 패키지는 남겨두려면 다음 명령어를 사용합니다:
pacman -R package
패키지와 함께, 다른 패키지에서 사용하지 않는 불필요한 의존성까지 모두 제거하려면 다음 명령어를 실행하세요:
pacman -Rsu package
고아(orphan) 파일을 확인하려면:
pacman -Qdt
아래 명령어와 조합하면 사용하지 않는 고아 패키지와 설정 파일까지 한 번에 깔끔하게 제거할 수 있습니다:
pacman -Rsnu $(pacman -Qtdq)
기본 시스템 외 전부 삭제하기
사실상 처음부터 다시 시작하는 방법입니다. 시스템을 ‘출고 상태’처럼 초기화해야 하는 경우, 다음 두 단계만 거치면 손쉽게 해결됩니다.
먼저, 설치된 모든 패키지를 ‘의존성(dependency)’으로 표시합니다:
pacman -D --asdeps $(pacman -Qqe)
다음으로, 필수 패키지(base 시스템)의 설치 사유를 ‘명시적 설치(as explicit)’로 변경합니다. 이렇게 해야 필수 패키지가 고아 패키지로 취급되어 삭제되는 일을 막을 수 있습니다:
pacman -D --asexplicit base linux linux-firmware
마지막으로, 모든 ‘고아’ 파일을 제거합니다:
pacman -Rns $(pacman -Qtdq)
패키지 캐시 정리
Pacman은 오래되었거나 이미 제거된 패키지 버전을 자동으로 지우지 않습니다. 덕분에 캐시 폴더에서 손쉽게 다운그레이드하거나 재설치할 수 있다는 장점이 있지만, 방치하면 캐시 용량이 계속 불어날 수 있습니다. Pacman 캐시 정리에 대한 별도 가이드도 준비되어 있으니 참고하시고, 여기서는 핵심 명령어만 짚고 넘어가겠습니다:
아래 명령어는 설치 여부와 관계없이 캐시된 모든 패키지 버전을 최근 3개 버전만 남기고 삭제합니다:
paccache -r
현재 설치되어 있지 않은 패키지의 캐시만 정리하려면:
pacman -Sc
캐시를 완전히 비우고 싶다면 아래 명령어를 실행하세요. 캐시 폴더가 완전히 빈 상태가 됩니다:
pacman -Scc
마무리
여기서 소개한 내용이 Pacman의 전부는 아닙니다. Pacman의 활용 범위는 무궁무진하며, 다루지 않은 다른 명령어들에도 익숙해지려면 어느 정도 시간을 들일 필요가 있습니다. 다행히 Arch Linux의 공식 문서는 매우 훌륭하게 정리되어 있어 훌륭한 참고 자료가 됩니다. 그래도 이 글의 명령어만 제대로 익혀두면, Arch Linux를 충분히 능숙하게 다룰 수 있게 될 것입니다.