AUR에서 패키지를 어떻게 설치합니까?


61

Arch Linux에는 사용자 제작 패키지 모음 인 AUR (Arch User Repository)이 있습니다. 그래도 Arch Linux ARM에 이러한 패키지를 어떻게 설치합니까?


2
"aur"저장소를 통해 이미 제공되는 많은 aur 패키지가있는 것 같습니다. 우연히 찾았습니다. pacman -S 패키지가 실제로 작동 할 수 있습니다. 예를 들어 cower 및 gmrender-resurrect-git와 함께 작동합니다.
enigmaticPhysicist

답변:


53

Arch Linux ARM 의 Building Packages 페이지 에 따르면 필요합니다.

  1. 빌드 필수 사항을 설치하십시오. Arch Linux ARM에서 패키지를 컴파일하는 데 필요합니다.

    $ sudo pacman -S kernel26-headers file base-devel abs
    
  2. 을 구하십시오 PKGBUILD. 원하는 tarball을 다운로드해야합니다. AUR 에서 프로그램 용 타르볼을 찾을 수 있습니다 .

  3. 패키지를 만드십시오. 다음으로 makepkgpacman이 설치할 수있는 패키지를 생성하기 위해 실행해야합니다 .

    $ makepkg -Acs
    

    -A옵션은 대상 아치 아키텍처를 무시합니다. 이 -c옵션 makepkg은 작업이 완료된 후 디렉토리를 정리 -s하고 필요한 종속성을 설치합니다.

    시스템에 영구적 인 손상을 줄 수 있으므로 루트 권한으로 실행 하지 않는 것이 좋습니다 makepkg. 실제로 루트로 실행해야하는 경우 --asroot옵션을 사용하십시오 .

  4. 패키지를 설치하십시오. makepkgfiletype을 사용하여 디렉토리에 파일을 작성해야합니다 .pkg.tar.xz. -Upacman과 함께 옵션을 사용하여이 패키지를 설치해야합니다 .

    $ sudo pacman -U x.pkg.tar.xz
    

    x.pkg.tar.xz실제 패키지 이름으로 바꾸십시오 .


초보 사용자에게는 패키지를 수동으로 빌드하지 않는 것이 좋습니다. 사실, 모든 사람들은 야우 르트를 사용해야합니다. 전체 프로세스를 간단하게 만듭니다.
Jivings 2016 년

armv6h 아치를 컴파일하려면 여전히 해당 패키지가 필요하며 PKGBUILD를 편집해야합니다.
Anglepoise

5
@Jivings 실제로 yaourt 및 다른 AUR 도우미가 공식 저장소에없는 이유는 자동화 된 도구를 사용하기 전에 외래 패키지를 수동으로 설치하는 방법을 배워야하기 때문입니다.
PyRulez

2
저장소에 'abs'패키지가 없습니다
dmnc

는 IS kernel26-headers여전히 실제? Google에서 관련 정보를 찾지 못했습니다. 그리고 그룹이 base-devel포함되어 있습니다 file.
user3123159

34

가장 쉬운 해결책은 Yaourt (Yet AnOther User Repository Tool)를 사용하는 것 입니다.

다음과 같이 설치할 수 있습니다.

pacman -S yaourt

그런 다음 AUR과 동기화하십시오.

yaourt -Syy

그런 다음 AUR 패키지를 검색 할 수 있습니다.

yaourt package-name

설치를위한 대화식 프롬프트가 제공됩니다.

또는 패키지 이름을 정확히 알고있는 경우 :

yaourt -S package-name

대부분의 pacman 명령은 yaourt와 동일합니다.


차이점은 무엇이며 pacman그리고 yaourt?
Alex Chamberlain

Yaourt은 공식 저장소뿐만 아니라 AUR도 확인합니다. AUR 패키지에는 더 많은 사용자 정의 가능성이 있습니다.
Jivings 2016 년

더 이상 작동하지 않습니다. 공식 솔루션은 무엇입니까?
tekknolagi

2
pacman -S yaourt작동하지 않으며 archlinuxfr그들이 호스트하지 않는 것처럼 추가 할 수 없습니다armv6h
tekknolagi

1
@tekknolagi yaourt는 Arch Arm의 주 저장소에있었습니다. 아마도 그것들은 그것을 제거했을 것입니다 ...하지만 여전히 소스에서 빌드 할 수 있습니다 .Arch Wiki 의 AUR 기사 에 설명되어 있습니다. 여기에 패키지 파일이 있습니다 . 도움이 되길 바랍니다.
Jivings

10

위의 모든 답변은 구식입니다. 내 대답은별로 좋지 않지만 구식이되는 문제를 피할 수 있기를 바랍니다.

공식 위키는 하나 / 설치 팩맨 (이 날짜를 기준으로 포장 및 요구르트)의 일부가 아닌 패키지를 구축에 대해 어떻게되는지 자세히 설명합니다.

packer와 yaourt는 모두 AUR에서 오래된 것으로 표시됩니다. (향후 변경 될 수 있음).


좋은 대답입니다! makepkg -si도 사용하는 것이 좋습니다 (PKGBUILD 파일을 확인한 후)
smoothware

7

필자의 의견으로는 yaourt의 빠른 대안 인 패커 를 사용 합니다.

이 두 줄을 다음에 추가하십시오 /etc/pacman.conf.

[archlinuxfr]
Server = http://repo.archlinux.fr/$arch

그런 다음 pacman을 통해 패커를 설치 / 업데이트 할 수 있습니다.

# pacman -Sy packer

패커를 사용하는 것과 거의 같은 방식으로 패커를 사용하십시오.

$ packer -S some_aur_package

또한 AUR의 패키지를 포함하여 모든 패키지를 업그레이드하지 않으려는 경우 :

$ packer -Syu

Packer는 먼저 pacman -Syu공식 리포지토리에서 패키지를 업그레이드하기 위해 실행 된 다음 모든 AUR 패키지를 업그레이드합니다.


4

중대한! https://wiki.archlinux.org/index.php/AUR_helpersyaourt 위키에 따르면 안전하지 않으며 더 이상 사용되지 않습니다.

@Jivings의 답변은`12 년에 가장 좋았지 만,보다 안전하고 기능이 풍부한 아치 패키지 관리자 중 하나를 설치하는 것이 좋습니다.

나는 aurman그것을 사용 하고 파고있다. 모든 기능을 갖추고 있으며 안전하며 진료소는 거의 팩맨과 동일하게 작동합니다. 설치하기 위해서:

cd ~/Downloads
git clone https://aur.archlinux.org/aurman.git
cd aurman
makepkg -Acs
# Change xxx below to downloaded version
sudo pacman -U aurman-xxx.pkg.tar.xz

그런 다음 팩맨 가이드를 거의 정확하게 따르지만 aurman팩맨 대신 사용할 수 있습니다. 다음 가이드는 https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-management 에서 가져와 시작했습니다.


시작하기

Arch Linux는 다른 최신 Linux 배포판과 유사한 패키지 관리 기능을 제공합니다. 이것은 일반적인 패키지 관리 작업에 대한 안내서입니다.

계속 진행하기 전에 패키지 데이터베이스가 다음과 같은 최신 상태인지 확인하십시오.

sudo pacman -Sy

수색

직관적 인 것보다 간결함을 위해 Arch Linux의 대부분의 패키지 관리 작업은 다음 형식으로 나타납니다.

pacman -<a-z><a-z>.

예를 들어, pacman 저장소 검색을위한 일반적인 명령은

pacman -Ss <package> 

...

또는 색상 강조 표시가없는 단점으로 pacman -Q를 사용할 수 있습니다.

pacman -Qs linux

pacman -Ss로 색상을 강조 표시하려면 /etc/pacman.conf에서 색상을 주석 해제하십시오. pacsearch와는 다른 점이 강조되어 있으므로 두 가지를 모두 시도하고 어떤 것을 더 좋아하는지 확인할 수 있습니다.

sudo vi /etc/pacman.conf

...
# Misc options
#UseSyslog
Color
#TotalDownload
CheckSpace
#VerbosePkgLists
...

정보 얻기

pacman -Qi displays basic information about an installed package.

pacman -Qi linux

Name           : linux
Version        : 3.8.4-1
Description    : The linux kernel and modules
Architecture   : x86_64
URL            : http://www.kernel.org/
Licenses       : GPL2
Groups         : base
Provides       : kernel26=3.8.4
Depends On     : coreutils  linux-firmware  kmod  mkinitcpio>=0.7
Optional Deps  : crda: to set the correct wireless channels of your country
Required By    : None
Optional For   : None
Conflicts With : kernel26
Replaces       : kernel26
Installed Size : 64728.00 KiB
Packager       : Tobias Powalowski <tpowa@archlinux.org>
Build Date     : Wed Mar 20 21:16:17 2013
Install Date   : Fri Mar 29 01:02:14 2013
Install Reason : Explicitly installed
Install Script : Yes
Validated By   : Unknown

pacman -Qi에 인수가 전달되지 않으면 시스템의 모든 패키지가 반환됩니다. 이 출력을 검색하여 설치된 패키지에 대한 특수 정보를 얻을 수 있습니다.

예를 들어, 각 패키지와 크기를 얻으려면 다음을 수행하십시오.

pacman -Qi | grep -e "Name" -e "Installed Size"

Name           : a52dec
Installed Size : 244.00 KiB
Name           : aalib
Installed Size : 768.00 KiB

...

pacman -Qi는 설치된 패키지에 대한 정보를 제공하지만 pacman -Si는 데이터베이스에 대해 가장 최근에 검색된 패키지 정보를 쿼리합니다.

pacman -Si linux

pacman -Ql은 패키지와 관련된 모든 파일을 나열합니다.

pacman -Ql vi

vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi

...

각 줄의 패키지 이름으로 인해 스크립트에서 출력을 사용하기가 더 어려워 질 수 있습니다. pacman -Qlq (예 : "pacman query list, quiet")는 패키지 이름을 인쇄하지 않습니다.

pacman -Qlq vi

/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi

...

pacman -Qlq | grep bin을 사용하여 해당 패키지에서 bin 폴더에있는 모든 파일 (따라서 실행 파일 일 수 있음)을 찾습니다. 패키지와 관련된 명령이 패키지 이름과 다른 경우에 유용합니다.

pacman -Qql pacman | grep bin

설치

표준 패키지를 설치하거나 업그레이드하는 일반적인 방법은 pacman -S입니다.

sudo pacman -S <package>

패키지는 종종 이름이 비슷한 패턴을 가지고 있습니다. 대괄호는 바로 가기로 사용할 수 있습니다.

sudo pacman -S lua-{sec,socket,zlib}

때로는 설치하지 않고 보관 목적으로 패키지를 다운로드하기를 원할 수도 있습니다. pacman -Sw는 패키지를 캐시 폴더로 다운로드합니다.

sudo pacman -Sw <package>

패키지가 다운로드되었거나 URL을 알고있는 경우 직접 설치할 수 있습니다.

sudo pacman -U <package_path>

업그레이드

pacman은 패키지를 원격 저장소와 "동기화"한다는 아이디어를 중심으로하기 때문에 pacman -S패키지가 이미 설치되어 있으면 업그레이드합니다.

팩맨은 오래된 패키지를 나열 할 수 있습니다.

pacman -Qu

불행히도 저장소에 패키지 버전이 표시되지 않으므로 각 패키지의 만료 날짜를 알 수 없습니다. 이것이 중요한 경우, 타사 패키지 관리자를 살펴 보거나 pacman -Qi 및 pacman -Si에서 얻은 패키지 버전을 함께 묶는 스크립트를 작성하십시오.

정규식을 사용하여 pacman -Qi 또는 pacman -Si에서 버전을 가져올 수 있습니다.

pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'

3.8.4-1

그런 다음 버전을 나란히 표시하는 스크립트를 작성하십시오.

for i in $(pacman -Qqu)
do
  printf "$i: "
  printf "$(pacman -Qi "$i" | grep 'Version' | sed 's/^Version\s*:\s//') "
  echo   "$(pacman -Si "$i" | grep 'Version' | sed 's/^Version\s*:\s//')"
done

Pacman은 모든 패키지를 한 번에 업그레이드 할 수있는 방법을 제공하지만 Arch는 롤링 릴리즈 배포판이므로 권장하지 않습니다. 문제가 발생하면 원인이 무엇인지 판별하는 데 시간이 걸릴 수 있습니다.

sudo pacman -Syu

다운 그레이드

아치 리눅스는 공식적으로 더 이상 사용되지 않는 패키지를 유지 관리하지 않습니다. 대신, 패키지 캐시와 Arch Rollback Machine과 같은 장소에 의존해야합니다. 은닉처

pacman으로 다운로드 한 모든 패키지는 / var / cache / pacman / pkg에 저장됩니다.

ls /var/cache/pacman/pkg | grep linux

linux-3.11.6-1-x86_64.pkg.tar.xz
linux-3.9.7-1-x86_64.pkg.tar.xz

...

캐시의 패키지로 되돌리려면 바로 설치하십시오.

pacman -U <path_to_cached_file>

아치 롤백 기계

Arch Rollback Machine은 공식 Arch Linux 미러의 스냅 샷 모음입니다. 이 글을 쓰는 시점에서 4 개월이 지나갔습니다. ARM은 현재 http://seblu.net/a/arm 에서 호스팅 되지만 향후 변경 될 수 있습니다.

pacman -U를 사용하여 ARM 패키지를 원격으로 설치할 수 있습니다.

pacman -U http://seblu.net/a/arm/2013/08/31/extra/os/x86_64/apache-2.2.25-1-x86_64.pkg.tar.xz

이전 패키지의 ARM을 찾아 보는 것이 편리하지 않습니다. 다행스럽게도이를 쉽게하는 도구가 있습니다.

downgrade
downgrader

캐시와 ARM에서 이전 버전을 검색합니다. 그들의 사용법은 당신이 기대하는 것입니다.

downgrade <package>
downgrader <package>

두 툴 모두 AUR에 있으므로 툴을 설치하는 가장 쉬운 방법은 yaourt와 같은 도우미를 사용하는 것입니다.

참고 : ARM은 비공식 프로젝트이며 과거에 폐쇄되었으므로 ARM이 다운되거나 위치가 다시 변경 될 경우 캐시를 지우지 않는 것이 좋습니다. 자체 ARM을 롤링하려면 github에 NodeJS 프로젝트가있는 것으로 보입니다. 제거

패키지에 의존하지 않는 패키지를 제거하십시오. 종속성을 설치된 상태로 두십시오.

sudo pacman -R <package>

패키지에 의존하지 않는 패키지를 제거하십시오. 다른 것에 필요하지 않은 종속성을 제거하십시오.

sudo pacman -Rs <package>

패키지를 강제로 제거합니다. 이것은 시스템에서 패키지를 지우고 재설치만으로 충분하지 않은 경우 다시 설치하기위한 명령입니다.

sudo pacman -Rdd <package>

패키지 를 완전히 제거 하려면 :aurman -Rsn <package>
mjd2

0

가장 먼저해야 할 일은 AUR에서 패키지를 다운로드하는 것입니다. 그 실행을 수행하려면 : git clone http://aur.archlinux.org/package.git당신이 다운로드하는 것 같습니다 비록 .git파일을 출력 디렉터리 될 것입니다.

cd packagePKGBUILD파일 을 찾을 수 있습니다. 다음 단계에서 사용됩니다.

마지막으로,이 명령을 실행하여 방금 다운로드 한 패키지를 컴파일하고 설치하십시오. makepkg -Sri. 각 문자의 의미에 대한 포괄적 인 설명을 원하는 경우 해당 문자 makepkg -h가 모두 설명되어있는 곳에서 실행할 수 있습니다 .


2
Ashish.
Phil B.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.