Arch Linux có AUR (Kho lưu trữ người dùng Arch), một tập hợp các gói do người dùng tạo. Làm cách nào để cài đặt các gói này trên Arch Linux ARM?
Arch Linux có AUR (Kho lưu trữ người dùng Arch), một tập hợp các gói do người dùng tạo. Làm cách nào để cài đặt các gói này trên Arch Linux ARM?
Câu trả lời:
Theo trang Building Building từ Arch Linux ARM, bạn cần phải.
Cài đặt bản dựng cần thiết. Chúng cần thiết để biên dịch các gói trên Arch Linux ARM.
$ sudo pacman -S kernel26-headers file base-devel abs
Có được PKGBUILD
. Bạn cần tải tarball mà bạn muốn. Bạn có thể tìm thấy tarball cho các chương trình tại AUR .
Làm các gói. Tiếp theo, bạn cần chạy makepkg
để tạo gói mà pacman có thể cài đặt.
$ makepkg -Acs
Các -A
tùy chọn bỏ qua các mục tiêu kiến trúc Arch. Các -c
tùy chọn dọn dẹp các thư mục sau khi makepkg
được thực hiện, và -s
cài đặt các phụ thuộc cần thiết.
Chúng tôi khuyên bạn KHÔNG nên chạy
makepkg
bằng root vì nó có thể gây ra thiệt hại vĩnh viễn cho hệ thống của bạn. Nếu bạn thực sự cần chạy nó dưới quyền root, hãy sử dụng--asroot
tùy chọn.
Cài đặt gói. makepkg
nên tạo một tập tin trong thư mục với filetype .pkg.tar.xz
. Bạn nên cài đặt gói này bằng cách sử dụng
-U
tùy chọn với pacman.
$ sudo pacman -U x.pkg.tar.xz
Hãy chắc chắn rằng bạn thay thế
x.pkg.tar.xz
bằng tên gói thực tế.
kernel26-headers
vẫn thực tế? Không tìm thấy bất cứ điều gì về nó với google. Và nhóm base-devel
chứa file
.
Giải pháp đơn giản nhất là sử dụng Yaourt (Công cụ lưu trữ người dùng Yet AnOther) .
Bạn có thể cài đặt với:
pacman -S yaourt
Và sau đó đồng bộ hóa với AUR:
yaourt -Syy
Sau đó, bạn có thể tìm kiếm các gói AUR:
yaourt package-name
Mà sẽ cung cấp nhắc nhở tương tác để cài đặt.
Hoặc nếu bạn biết chính xác tên gói:
yaourt -S package-name
Hầu hết các lệnh pacman đều giống nhau cho yaourt.
pacman
và là yaourt
gì?
pacman -S yaourt
không hoạt động và tôi không thể thêm archlinuxfr
vì dường như họ không lưu trữarmv6h
yaourt
từng nằm trong kho lưu trữ chính của Arch Arm. Có lẽ họ đã gỡ bỏ nó .... Nhưng bạn vẫn có thể xây dựng nó từ nguồn, được giải thích trong bài viết AUR trên Arch Wiki. Và có một tập tin gói cho nó ở đây . Tôi hy vọng điều đó sẽ giúp!
Tất cả các câu trả lời trên đã lỗi thời. Câu trả lời của tôi không tốt lắm, nhưng hy vọng sẽ tránh được vấn đề trở nên lỗi thời.
Các wiki chính thức trình bày tỉ mỉ, làm sao ta đi về cài đặt / xây dựng một gói đó không phải là một phần của pacman (đóng gói và yaourt vào ngày này).
Cả packer và yaourt đều được gắn cờ là lỗi thời trong AUR. (Nó có thể thay đổi tương lai).
Tôi sử dụng packer cho mục đích này mà theo tôi là một sự thay thế nhanh hơn cho yaourt.
Chỉ cần thêm hai dòng này vào /etc/pacman.conf
:
[archlinuxfr]
Server = http://repo.archlinux.fr/$arch
Sau đó, bạn có thể cài đặt / cập nhật trình đóng gói qua pacman:
# pacman -Sy packer
Và sử dụng packer theo cách tương tự như cách bạn sử dụng pacman:
$ packer -S some_aur_package
Ngoài ra, nếu bạn không nâng cấp tất cả các gói, kể cả các gói từ AUR:
$ packer -Syu
Packer trước tiên sẽ chạy pacman -Syu
để nâng cấp các gói từ kho chính thức, sau đó nó sẽ nâng cấp tất cả các gói AUR.
QUAN TRỌNG! yaourt
không an toàn và không được chấp nhận theo wiki: https://wiki.archlinux.org/index.php/AUR_helpers
Mặc dù câu trả lời @Jivings trở lại tốt nhất trong `12, tôi khuyên bạn nên cài đặt một trong những trình quản lý gói vòm phong phú và an toàn hơn (và tôi khuyên ai đó nên cập nhật câu trả lời @Jivings vì nó có khả năng hiển thị cao nhất).
Tôi đang sử dụng aurman
và đào nó. Có tất cả các tính năng, an toàn và cli hoạt động gần như chính xác như pacman. Để cài đặt:
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
Sau đó, bạn có thể làm theo hướng dẫn pacman gần như chính xác nhưng sử dụng aurman
thay vì pacman. Hướng dẫn sau đây được lấy từ https://www.digitalocean.com/community/tutorials/how-to-use-arch-linux-package-man quản lý và giúp tôi bắt đầu:
Arch Linux cung cấp các phương tiện quản lý gói tương tự như các phân phối được tìm thấy trong các bản phân phối Linux hiện đại khác. Đây là một hướng dẫn cho các hoạt động quản lý gói phổ biến.
Trước khi tiếp tục, hãy đảm bảo cơ sở dữ liệu gói của bạn được cập nhật với:
sudo pacman -Sy
Yêu thích sự ngắn gọn về trực giác, hầu hết các hoạt động quản lý gói trong Arch Linux xuất hiện ở định dạng:
pacman -<a-z><a-z>.
Ví dụ, lệnh bình thường để tìm kiếm kho lưu trữ pacman là
pacman -Ss <package>
...
Ngoài ra, bạn có thể sử dụng pacman -Q với nhược điểm là không tô màu.
pacman -Qs linux
Nếu bạn muốn tô sáng màu bằng pacman -Ss, bạn có thể bỏ ghi chú Màu từ /etc/pacman.conf. Tuy nhiên, nó làm nổi bật những thứ khác với pacsearch, vì vậy bạn có thể muốn thử cả hai và xem cái nào bạn thích hơn.
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
Nếu pacman -Qi được thông qua không có đối số, nó sẽ trả về tất cả các gói trong hệ thống. Bạn có thể tìm kiếm đầu ra này để có được thông tin chuyên biệt về các gói đã cài đặt.
Ví dụ: nếu bạn muốn nhận từng gói và kích thước của nó:
pacman -Qi | grep -e "Name" -e "Installed Size"
Name : a52dec
Installed Size : 244.00 KiB
Name : aalib
Installed Size : 768.00 KiB
...
Trong khi pacman -Qi cung cấp thông tin về các gói đã cài đặt, pacman -Si truy vấn cơ sở dữ liệu để biết thông tin được truy xuất gần đây nhất về một gói.
pacman -Si linux
pacman -Ql liệt kê tất cả các tệp được liên kết với một gói.
pacman -Ql vi
vi /usr/
vi /usr/bin/
vi /usr/bin/edit
vi /usr/bin/ex
vi /usr/bin/vedit
vi /usr/bin/vi
...
Tên gói trên mỗi dòng có thể làm cho đầu ra khó sử dụng hơn trong tập lệnh. pacman -Qlq (tức là "danh sách truy vấn pacman, yên lặng") sẽ không in tên gói.
pacman -Qlq vi
/usr/
/usr/bin/
/usr/bin/edit
/usr/bin/ex
/usr/bin/vedit
/usr/bin/vi
...
Bạn có thể sử dụng pacman -Qlq | grep bin để tìm tất cả các tệp trong gói đó trong thư mục bin (và do đó có khả năng là các tệp thực thi). Điều này rất hữu ích khi lệnh được liên kết với một gói khác với tên gói.
pacman -Qql pacman | grep bin
Cách điển hình để cài đặt hoặc nâng cấp gói tiêu chuẩn là pacman -S.
sudo pacman -S <package>
Các gói thường có một mô hình tương tự trong tên của họ. Chân đế có thể được sử dụng như một phím tắt.
sudo pacman -S lua-{sec,socket,zlib}
Đôi khi bạn có thể chỉ muốn tải xuống một gói cho mục đích lưu trữ mà không cần cài đặt nó. pacman -Sw sẽ tải xuống một gói vào thư mục bộ đệm.
sudo pacman -Sw <package>
Nếu một gói đã được tải xuống, hoặc nếu bạn biết url, bạn có thể cài đặt trực tiếp.
sudo pacman -U <package_path>
Vì pacman xoay quanh ý tưởng "đồng bộ hóa" một gói với kho lưu trữ từ xa, pacman -S
sẽ nâng cấp một gói nếu nó đã được cài đặt.
Pacman có thể liệt kê các gói đã hết hạn.
pacman -Qu
Thật không may, nó không hiển thị phiên bản của gói trong kho lưu trữ, vì vậy bạn sẽ không thể biết được mỗi gói đã hết hạn sử dụng như thế nào. Nếu điều này quan trọng với bạn, bạn có thể muốn xem xét các nhà quản lý gói bên thứ 3 hoặc viết một tập lệnh liên kết với nhau phiên bản gói thu được từ pacman -Qi và pacman -Si.
Bạn có thể lấy phiên bản từ pacman -Qi hoặc pacman -Si bằng cách sử dụng biểu thức chính quy.
pacman -Qi linux | grep "Version" | sed 's/^Version\s*:\s//'
3.8.4-1
Và sau đó viết một kịch bản hiển thị các phiên bản cạnh nhau.
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 cung cấp một cách để nâng cấp tất cả các gói của bạn cùng một lúc, nhưng điều đó không được khuyến khích vì Arch là một bản phân phối phát hành. Nếu có vấn đề phát sinh, có thể mất thời gian để xác định nguyên nhân là gì.
sudo pacman -Syu
Arch Linux không chính thức duy trì các gói không dùng nữa. Thay vào đó, bạn sẽ cần phải dựa vào bộ đệm của gói và các vị trí như Arch Rollback Machine. Bộ nhớ cache
Mỗi gói được tải xuống với pacman được lưu trữ trong / 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
...
Nếu bạn muốn hoàn nguyên gói trong bộ đệm của mình, chỉ cần cài đặt trực tiếp.
pacman -U <path_to_cached_file>
Arch Rollback Machine là một bộ ảnh chụp nhanh của máy nhân bản Arch Linux chính thức. Theo văn bản này, nó trở lại bốn tháng. ARM hiện được lưu trữ tại http://seblu.net/a/arm , mặc dù điều này có thể thay đổi trong tương lai.
Các gói ARM có thể được cài đặt từ xa bằng pacman -U.
pacman -U http://seblu.net/a/arm/2013/08/31/extra/os/x86_64/apache-2.2.25-1-x86_64.pkg.tar.xz
Thật không thuận tiện khi duyệt ARM cho các gói cũ hơn. May mắn thay, có những công cụ giúp việc này dễ dàng hơn:
downgrade
downgrader
Họ tìm kiếm các phiên bản cũ hơn trong bộ đệm và ARM. Cách sử dụng của họ là những gì bạn mong đợi.
downgrade <package>
downgrader <package>
Cả hai công cụ đều nằm trong AUR, vì vậy cách dễ nhất để cài đặt chúng sẽ là với một người trợ giúp như yaourt.
Lưu ý: ARM là một dự án không chính thức và đã bị đóng trong quá khứ, vì vậy có thể là một ý tưởng tốt để tránh xóa bộ nhớ cache của bạn trong trường hợp ARM bị hỏng hoặc thay đổi vị trí một lần nữa. Nếu bạn muốn cuộn ARM của riêng mình, dường như có một dự án NodeJS trên github. Gỡ bỏ
Hủy bỏ một gói, miễn là không có gì là tùy thuộc vào nó. Để lại các phụ thuộc của nó được cài đặt.
sudo pacman -R <package>
Hủy bỏ một gói, miễn là không có gì là tùy thuộc vào nó. Loại bỏ các phụ thuộc của nó mà không cần bất cứ điều gì khác.
sudo pacman -Rs <package>
Buộc loại bỏ một gói. Đây là lệnh bạn sẽ đạt được để chỉ xóa gói khỏi hệ thống của bạn và cài đặt lại khi cài đặt lại một mình là không đủ.
sudo pacman -Rdd <package>
aurman -Rsn <package>
Điều đầu tiên bạn cần làm là tải xuống gói từ AUR. Để thực hiện việc đó: git clone http://aur.archlinux.org/package.git
Mặc dù có vẻ như bạn đang tải xuống một .git
tệp, đầu ra sẽ là một thư mục.
cd package
để tìm một PKGBUILD
tập tin Điều này sẽ được sử dụng trong bước tiếp theo.
Cuối cùng, chạy lệnh này để biên dịch và cài đặt gói bạn vừa tải xuống. makepkg -Sri
. Nếu bạn muốn giải thích toàn diện về ý nghĩa của từng chữ cái đó, bạn có thể chạy makepkg -h
ở nơi tất cả chúng sẽ được giải thích.