도움이 되는 Tip/리눅스&워드프레스

아치리눅스 설치 과정 25 - AUR 개념, 구글크롬 수동 설치 방법(연습)

흔남. 2023. 5. 16. 16:08

이전 글(아치리눅스 설치 과정 24 - GNOME 키보드 한글입력 설정(ibus-hangul))에 이어...

 

AUR에서 다운로드 받은 자료를 직접 설치/삭제하는 방법을 익히고 싶다면 이 문서를 보세요.

어려우면 이 글을 건너뛰어도 됩니다. AUR Helper로 쉽게 처리하는 방법이 있기 때문입니다.

AUR Helper에 대해서는 다음 글에서 다루도록 하겠습니다. 다음 글 링크는 본문 맨 아래에 있습니다.

 

AUR 개념 정리

▼ 안드로이드에 Play 스토어가 있듯이, 리눅스 GUI에는 소프트웨어 센터가 있습니다. 커맨드라인 명령어 없이도 아치리눅스 배포판 제작사에서 관리하는 응용프로그램을 쓸 수 있도록 해주기 때문에 편리합니다.

 

하지만 응용프로그램 숫자가 방대하지는 않습니다.

그래서 서드파티 저장소를 통해 배포되는 프로그램들에 손을 뻗는 것이 자연스러운 흐름입니다.

 

AUR은 Arch User Repository의 약자입니다. 아치리눅스의 서드파티 저장소예요.

우분투의 PPA, 페도라의 RPM Fusion 쯤으로 생각하면 됩니다.

커뮤니티를 형성한 사용자들이 자발적으로 올리는 소스라, 아치리눅스 제작자가 작동을 보증하지 않는 점도 우분투 PPA와 비슷합니다. (그럼에도 불구하고 멀쩡하게 돌아가지만, 개발 중단되는 경우도 많으니 지뢰밭은 알아서 피하셔요.)

 

AUR 패키지는 우분투 PPA와 달리 소스로 배포되기 때문에, 소스를 패키지로 빌드한 다음 설치해야 되는 귀찮음이 있습니다. 자세한 설명은 아치위키 문서를 참고하시기 바랍니다.

https://wiki.archlinux.org/title/Arch_User_Repository

 

저는 우분투 리눅스 쓰면서 소스 컴파일 설치할 때 make => make install 하면 알아서 깔리던데, 위 링크 문서에서 AUR 소스는 make 명령어가 아니라 makepkg 명령어를 쓴다고 적혀 있더군요. make와 makepkg의 차이가 궁금해서 찾아봤더니... 빌드 명령어는 make, configure, cmake, qmake, npm, pybuild, ninja, pybuild 등등 종류가 많기 때문에, 알아서 구분 처리해주는 makepkg 명령어가 나온 것이라고 하네요.

https://unix.stackexchange.com/questions/605928/what-is-the-difference-between-make-and-makepkg

사용자 편의를 위해 아치리눅스에서 배려해준 명령어이지만 처음 접했더니 낯설어서 힘들었습니다.

 

아무튼, 아치 리눅스에서 AUR 소스를 이용한 서드파티 패키지 설치/삭제는 아래와 같은 과정으로 진행됩니다. 구글크롬을 예로 들어 볼게요.

 

1. 사전 준비

sudo pacman -S --needed base-devel git

딱 한번만 넣으면 됩니다. 저의 아치리눅스 설치 가이드를 따라오셨다면 base-devel 그룹과 git 패키지는 설치되어 있을 것이므로 입력할 필요가 없습니다. --needed 옵션은 기존에 설치되어 있는 의존성 패키지는 재설치하지 않고 건너뛰는 것이에요.

 

2. AUR 소스 주소 확보 (예: 구글 크롬)

https://aur.archlinux.org 에 가서, 우측 상단 "Package Search" 란에 원하는 키워드를 넣어 봅니다.

 

 ▼ 결과가 방대하면 검색 옵션을 좁혀가면서 원하는 패키지를 찾습니다. 투표(Votes)/인기(Popularity)를 고려해도 좋습니다. 구글 크롬의 패키지 이름은 google-chrome인 것 같습니다. 클릭해 봅니다.

 

▼ Git Clone URL에 적힌 주소를 복사합니다. 클릭해도 복사됩니다. AUR 소스 주소 확보 완료.

 

3. 소스 다운로드 및 디렉토리 진입

cd /usr/local/src

sudo mkdir aur

cd aur

AUR 소스를 받고 싶은 경로로 들어갑니다. 저는 /usr/local/src 경로에 aur 디렉토리를 만들고 들어갔습니다.

▲ 해당 디렉토리 소유자는 현재 로그인한 계정/그룹과 일치시키면 좋은데,
여건이 안되면 AUR 소스 다운로드 후에 확인/처리하면 됩니다.

 

sudo git clone https://aur.archlinux.org/google-chrome.git

cd google-chrome

현재 디렉토리 소유자가 로그인한 계정/그룹과 일치한다면 sudo 빼세요. git clone 명령어로 요소들을 받습니다. 깃 저장소 이름이 다운로드 디렉터리로 지정됩니다. cd 명령어로 들어갑니다.

 

▼ sudo chown -R aaa:aaa /usr/local/src/aur/google-chrome

위에서 명령어 입력하면서 sudo 붙였나요? 그렇다면 git 소스 디렉토리 및 하위경로 파일들을 로그인한 사용자:그룹의 소유로 바꿉니다. 스크린샷 기준으로 소유자:그룹은 aaa:aaa 입니다.

 

4-1. 설치 (makepkg -si)

▼ makepkg -s

makepkg 명령어를 입력하여 빌드합니다. -s 옵션은 필요한 의존성 패키지를 설치하는 옵션입니다.

 

▼ sudo pacman -U google-chrome-113.0.5672.92-1-x86_64.pkg.tar.zst

google-chrome-버전명-x86_64.pkg.tar.zst 파일이 만들어 졌습니다. pacman 명령어를 통해 pkg.tar.zst 파일을 설치합니다. pacman 명령어는 항상 루트 권한으로 실행해야 되니까 sudo를 앞에 붙입니다.

 

makepkg -si

 

사실, 위에서 적었던 것처럼 makipkg -s 명령어, sudo pacman -U 명령어 두개를 각각 입력해도 되지만 makepkg -si 하나로 입력해도 됩니다. (makepkg 옵션 설명 | -s : pacman으로 빠진 의존 요소를 설치합니다. / -i : 성공적으로 빌드한 후 해당 패키지를 설치합니다.)

 

▲ 구글 크롬이 성공적으로 설치되었습니다.

 

4-2. 패키지 업그레이드

cd /usr/local/src/aur/google-chrome

AUR로 다운로드 받았던 경로로 이동합니다.

 

git pull

원격 저장소에 변경사항이 있는지 확인하고(fetch), 변경된 데이터를 로컬에 가져와서 합칩니다(merge). pull은 fetch와 merge를 한번에 처리해 주는 명령어입니다.

 

4-1. 설치 과정을 반복합니다(makepkg -si). 빌드하고 결과물을 설치하는 것입니다. 업그레이드라고 적어 놓고 덮어씌우는 식으로 설명해서 찝찝한데, 아치위키에서 이렇게 안내하고 있습니다.

 

5. AUR 패키지 삭제 (언인스톨 uninstall)

sudo pacman -Qm

동기화 DB에서 찾지 못한 설치 꾸러미(패키지)를 조회합니다.

 

sudo pacman -Rsn google-chrome

언인스톨 하면서, 설정 사항과 의존성 패키지들까지 한꺼번에 제거합니다.

 

sudo rm -rf /usr/local/src/aur/google-chrome

 AUR 소스가 있던 디렉토리를 삭제합니다. 불필요하기 때문입니다.

 

sudo pacman -Scc

캐시 삭제 한 번 돌려주면 좋습니다.

 

※ 참고 문서

- https://weftnwarp.kr/site-it/?p=7549 

- https://www.reddit.com/r/linux4noobs/comments/80psrd/arch_how_to_remove_a_package_that_was_installed/

- https://bbs.archlinux.org/viewtopic.php?id=61983

 

솔직히, AUR에서 받는 패키지가 한두개 정도라면 수동으로 관리하는 것도 나쁘지 않겠으나... AUR 패키지 갯수가 늘어날수록 수동 관리가 귀찮아지겠지요? 그래서 AUR Helper를 설치할 것입니다. 다음 글에서.

 

다음글 : 아치리눅스 설치 과정 26 - AUR Helper 선택, pamac 구글크롬 설치

반응형