/ / Kho lưu trữ người dùng Arch (AUR) là gì? Mọi thư bạn cân biêt

Kho lưu trữ người dùng Arch (AUR) là gì? Mọi thư bạn cân biêt

Người dùng Arch có thể tha hồ lựa chọn khi tải phần mềm. Bạn có thể tải các gói của mình từ kho lưu trữ Arch chính thức, Snap Store và Flathub hoặc loại bỏ hoàn toàn nhu cầu cài đặt phần mềm bằng cách tải xuống AppImages.

Sau đó, có một tùy chọn khác — tải xuống phần mềm từ Kho lưu trữ người dùng Arch (AUR). Nhưng không phải người dùng Arch nào cũng quen thuộc với nó, đặc biệt là những người mới. Vậy, AUR là gì và làm cách nào để bạn có thể tải xuống các gói từ kho lưu trữ đặc biệt này? Hãy cùng tìm hiểu.

AUR là gì?

Kho lưu trữ người dùng Arch là một kho lưu trữ gói hướng tới cộng đồng được phát triển bởi người dùng Arch dành cho người dùng Arch. Nếu bạn không tìm thấy một gói trong kho lưu trữ chính thức, thì rất có thể nó nằm trong AUR.

Tuy nhiên, AUR không chứa các gói dựng sẵn. Thay vào đó, nó lưu trữ các bản dựng gói (PKGBUILD), là các tập lệnh mà bạn có thể chạy với makepkg để xây dựng một gói. Sau đó, kho lưu trữ được tạo sẽ chứa tất cả các tệp nhị phân và hướng dẫn cần thiết để cài đặt gói trên hệ thống của bạn.

Nếu bạn đã từng tự hỏi làm thế nào để một gói vào được kho lưu trữ Arch chính thức, thì câu trả lời là AUR. Hầu hết các gói bắt đầu hành trình của họ trong AUR, nơi người dùng có thể bỏ phiếu cho họ để bày tỏ sự quan tâm của họ.


trang web chính thức của aur

Và hiển nhiên, một gói có số phiếu bầu cụ thể và bao bì tốt sẽ được kiểm tra và đưa vào kho lưu trữ “cộng đồng” chính thức của Arch (đừng nhầm với AUR). Số lượng phiếu bầu tối thiểu cho gói đủ điều kiện để đưa vào là 10, nhiều hơn bất cứ thứ gì đóng băng trên bánh.

Nhưng đó không phải là điều kiện tiên quyết duy nhất, Người dùng đáng tin cậy (nói thêm về điều đó trong phần tiếp theo) nên tình nguyện duy trì gói khi nó được chuyển đến kho lưu trữ chính thức. Nếu một gói có hàng trăm phiếu bầu và không có TU nào sẵn sàng duy trì, thì gói đó sẽ không được chuyển đến kho lưu trữ cộng đồng.

Ngoài ra, không giống như AUR, kho lưu trữ cộng đồng chứa các gói nhị phân mà người dùng có thể cài đặt bằng pacman chứ không phải PKGBUILD.

Bạn có nên tải xuống các gói từ AUR không?

Nếu ai đó có thể tải lên và gửi PKGBUILD của họ cho AUR, điều đó có làm tổn hại đến khía cạnh bảo mật không? Câu trả lời là có, nhưng một phần. AUR có những người bảo trì gói được gọi là “Người dùng đáng tin cậy” đã là một phần của dự án trong một thời gian dài.

Các TU thường xuyên kiểm tra những gì được tải lên kho lưu trữ và để ý mọi thứ có vẻ rắc rối. Mặc dù các quy định và kiểm tra giúp loại bỏ các video tải lên độc hại, nhưng vẫn có lúc mọi thứ trôi qua.

Do đó, một người dùng Arch có ý thức bảo mật nâng cao luôn kiểm tra các bản dựng gói trước khi chạy makepkg để xây dựng kho lưu trữ (và bạn cũng nên làm điều đó).

Cách tải xuống các gói AUR

Vì Kho lưu trữ người dùng Arch và kho lưu trữ chính thức không giống nhau nên các tiện ích để tải xuống các gói từ cả hai kho là khác nhau. Đối với kho lưu trữ chính thức, bạn có thể sử dụng pacman. Nhưng đối với AUR, bạn có hai sự lựa chọn.

Bạn có thể sao chép và xây dựng gói theo cách thủ công hoặc bạn có thể tự động hóa quy trình bằng Trình trợ giúp AUR.

Tải xuống thủ công một gói từ AUR

Để tải xuống một gói từ AUR, bạn sẽ phải cài đặt một số tiện ích cần thiết trên hệ thống của mình. Gõ lệnh sau vào terminal để cài đặt các gói:

sudo pacman -S base-devel git

Bắt đầu bằng cách truy cập aur.archlinux.org và tìm kiếm gói bạn muốn tải xuống. Đi tới trang web gói và sao chép URL sao chép Git.


lấy url nhân bản từ aur

Sau đó, khởi chạy thiết bị đầu cuối và nhập lệnh sau:

git clone cloneurl

Điều hướng đến thư mục đã tải xuống bằng lệnh cd và chạy makepkg như sau:

cd pkgname/
makepkg -si

Ví dụ: hãy tải xuống trình duyệt Brave từ AUR:

git clone https://aur.archlinux.org/brave.git
cd brave/
makepkg -si

Bạn không cần phải chạy pacman để cài đặt kho lưu trữ gói đã tạo. Lệnh makepkg sẽ tự động gọi pacman, sau đó sẽ cài đặt gói cùng với các phụ thuộc cần thiết.

Tải xuống các gói bằng Trình trợ giúp AUR

Trình trợ giúp AUR chỉ đơn giản là tự động hóa quá trình tải xuống PKGBUILD từ AUR, tạo tệp lưu trữ và cài đặt gói bằng pacman.

Một trong những Trình trợ giúp AUR như vậy là yay, rất dễ tải xuống và sử dụng. Chạy lần lượt các lệnh sau để cài đặt yay trên hệ thống của bạn:

git clone https://aur.archlinux.org/yay-git.git 
cd yay-git
makepkg -si

Cú pháp cơ bản của yay rất giống với cú pháp của pacman:

yay -S packagename

Để tải xuống Brave từ AUR bằng cách sử dụng yay:

yay -S brave

Đó là cách dễ dàng để cài đặt các gói AUR bằng yay.

Làm thế nào để gửi các gói đến AUR

Một trong những mối quan tâm chính của các nhà phát triển là gửi các gói cho AUR. Điều đầu tiên bạn có thể làm là đọc hướng dẫn gửi gói trên trang web chính thức. Lưu ý rằng hướng dẫn này đã giả định rằng bạn biết cách tạo một gói cho AUR.

Để bắt đầu, bạn cần lưu trữ gói của mình trên một nền tảng như GitHub hoặc GitLab. Sau đó, sao chép kho lưu trữ vào hệ thống của bạn và điều hướng đến thư mục đó bằng dòng lệnh.

Bước tiếp theo là tạo PKGBUILD mà bạn sẽ thêm vào AUR. Để làm điều đó, hãy sao chép nguyên mẫu xây dựng gói mặc định có sẵn tại / usr / share / pacman:

cp /usr/share/pacman/PKGBUILD.proto PKGBUILD

Mở tệp xây dựng gói bằng bất kỳ trình soạn thảo văn bản nào bạn chọn. Sau đó, bên trong PKGBUILD, chỉ định các thông tin cần thiết như tên gói, URL kho lưu trữ (GitHub hoặc GitLab), các phụ thuộc cần thiết, v.v.


demo PKGBUILD cho các gói AUR

Dưới đây là bảng đầy đủ chi tiết ngắn gọn về các biến quan trọng:

Biến đổi Cách sử dụng
pkgname Tên của gói
pkgver Phiên bản hiện tại của gói
pkgdesc Mô tả ngắn gọn về gói
vòm Kiến trúc yêu cầu của hệ thống đích
url URL của kho lưu trữ Git để truy cập gói
giấy phép Giấy phép phần mềm bạn muốn sử dụng
phụ thuộc Sự phụ thuộc theo yêu cầu của gói
xung đột Các gói xung đột với gói của bạn
cung cấp Gói mà kho lưu trữ AUR của bạn cung cấp
nguồn Nguồn của các tệp cần thiết để xây dựng gói

Lưu ý rằng bạn cũng cần điền thông tin chi tiết về người bảo trì được chỉ định ở đầu tệp. Ngoài ra, hãy chỉnh sửa các phương thức xây dựng, kiểm tra, đóng gói và chuẩn bị ở cuối tệp để phù hợp với nhu cầu của bạn.

Khi bạn hoàn tất, hãy xây dựng gói bằng PKGBUILD mà bạn vừa tạo.

makepkg -si

Nếu mọi việc suôn sẻ, hãy tạo tệp SRCINFO bằng cách nhập:

makepkg --printsrcinfo > .SRCINFO

Di chuyển PKGBUILD và .SRCINFO vào một thư mục riêng biệt.

Để gửi bản dựng gói của bạn, hãy tạo và sao chép một kho lưu trữ AUR trống bằng cú pháp lệnh sau:

git clone ssh://aur@aur.archlinux.org/packagename.git

…ở đâu tên gói hàng là tên gói hàng của bạn.

Sao chép bản dựng gói và tệp SRCINFO vào thư mục kho lưu trữ mới được tạo bằng lệnh cp. Cuối cùng, tất cả những gì bạn cần làm là cam kết, thêm và đẩy các thay đổi vào kho lưu trữ AUR từ xa bằng Git.

Liên quan: Hướng dẫn nâng cao Git

Kho lưu trữ người dùng Arch có an toàn không?

AUR là một trong những phương pháp phân phối gói nổi bật nhất trên Arch Linux và cộng đồng đang cố gắng đưa nó lên một tầm cao mới. Cảm ơn tất cả những người dùng tham gia bảo trì AUR, kho lưu trữ hướng tới cộng đồng này hiện lưu trữ hàng nghìn phần mềm do người dùng phát triển được đóng gói với các tính năng thú vị.

Tóm lại, việc tải xuống phần mềm từ Arch User Repository sẽ không có hại gì thực sự, nhưng chỉ khi bạn kiểm tra các bản dựng gói và các tệp CÀI ĐẶT trước khi cài đặt. Không làm như vậy có thể không có bất kỳ biến chứng nghiêm trọng nào, vì Người dùng đáng tin cậy đã làm rất tốt việc điều khiển các gói có hại ra khỏi toàn bộ cơ sở dữ liệu. Nhưng luôn luôn tốt hơn để được an toàn hơn là xin lỗi.

Nếu bạn là người mới sử dụng Arch Linux, trước tiên hãy cân nhắc tìm hiểu cách tải xuống và cài đặt các gói từ kho lưu trữ chính thức, sau đó, khi bạn cảm thấy thoải mái với quy trình này, hãy tiếp tục với AUR.


thêm hoặc xóa các gói trên Arch linux
Cách cài đặt và gỡ bỏ các gói trong Arch Linux

Sử dụng Arch Linux? Cài đặt và gỡ bỏ các gói khác với Ubuntu và Mint. Đây là những gì bạn cần biết.

Đọc tiếp


Giới thiệu về tác giả

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *