AUR و yay در Arch Linux
آشنایی کامل با Arch User Repository (AUR)، نحوهٔ نصب بستهها از AUR و استفاده از ابزارهای کمکی مانند yay و paru.
Arch User Repository (AUR) بزرگترین نقطهٔ قوت Arch Linux است؛ مخزنی انباشته از اسکریپتهای نصب (PKGBUILD) که توسط کاربران جمعآوری شدهاند. در این آموزش با AUR، ابزارهای کمکی آن مانند yay و paru، و بهترین روشهای استفاده از آنها آشنا میشویم.
AUR چیست؟
AUR مخفف Arch User Repository است و یک مخزن_community-driven از PKGBUILDها است. برخلاف مخازن رسمی (core, extra, multilib) که بستههای باینری ازپیشکامپایلشده ارائه میدهند، AUR فایلهای متنی PKGBUILD ارائه میدهد که شما خودتان بسته را از سورس میسازید.
تفاوت AUR با مخازن رسمی
- مخازن رسمی: بستههای باینری، تأییدشده توسط توسعهدهندگان Arch
- AUR: اسکریپتهای نصب، تأییدشده توسط Trusted Users اما کاربر-ساخته
بستههای AUR توسط توسعهدهندگان رسمی Arch تأیید نمیشوند، اما Trusted Users آنها را بررسی میکنند.
چرا از AUR استفاده میکنیم؟
اگر نرمافزاری در مخازن رسمی نیست، احتمالاً در AUR وجود دارد. مثالهای رایج:
- نرمافزارهای تجاری مانند Google Chrome، Spotify، Discord
- نرمافزارهای با مجوز مخصوص مانند JetBrains، Microsoft Teams
- نسخههای قدیمی یا بتا نرمافزارها
- ابزارهای تخصصی و کمتر شناختهشده
ساختار PKGBUILD
هر بستهٔ AUR دارای یک فایل PKGBUILD است. این فایل متنی شامل:
- نام و نسخهٔ بسته
- آدرس دانلود سورس
- وابستگیها
- دستورالعمل کامپایل و نصب
# نمونهٔ یک PKGBUILD ساده
pkgname=hello-world
pkgver=1.0
pkgrel=1
pkgdesc="A simple hello world program"
arch=('x86_64')
url="https://example.com/hello"
license=('MIT')
source=("https://example.com/hello-$pkgver.tar.gz")
sha256sums=('...')
build() {
cd "$srcdir/$pkgname-$pkgver"
./configure --prefix=/usr
make
}
package() {
cd "$srcdir/$pkgname-$pkgver"
make DESTDIR="$pkgdir/" install
}نصب دستی از AUR
بدون استفاده از ابزار کمکی، میتوانید یک بسته را بهصورت دستی از AUR نصب کنید:
# ۱. کلون کردن از AUR
git clone https://aur.archlinux.org/hello-world.git
cd hello-world
# ۲. بررسی PKGBUILD (مهم!)
less PKGBUILD
# ۳. ساخت بسته
makepkg -siبررسی PKGBUILD ضروری است
AUR مخزنی کاربر-ساخته است و ممکن است شامل بستههای مخرب باشد. همیشه قبل از اجرای makepkg، فایل PKGBUILD را بخوانید تا مطمئن شوید چه چیزی نصب میشود. ابزارهای کمکی مانند yay این بررسی را ساده میکنند اما مسئولیت نهایی با شماست.
ابزارهای کمکی AUR
ابزارهای کمکی (AUR Helpers) نصب از AUR را خودکار میکنند. دو مورد از محبوبترینها:
yay
yay (Yet Another Yaourt) محبوبترین ابزار کمکی AUR است. تقریباً تمام قابلیتهای pacman را پشتیبانی میکند و بهطور خودکار نصب از AUR را انجام میدهد.
paru
paru جایگزین مدرنتر yay است که بهزبان Rust نوشته شده و امکانات بیشتری مانند پیشنمایش PKGBUILD ارائه میدهد.
نصب yay
برای نصب yay، ابتدا باید بستههای پایهٔ توسعه را نصب داشته باشید:
# نصب پیشنیازها
sudo pacman -S --needed base-devel git
# کلون کردن yay از AUR
git clone https://aur.archlinux.org/yay.git
cd yay
# ساخت و نصب
makepkg -siپس از نصب، میتوانید با yay --version آن را بررسی کنید.
نصب paru
sudo pacman -S --needed base-devel rust git
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -siاستفاده از yay
نصب بسته
# نصب از مخازن رسمی یا AUR (یکتسهچین)
yay -S google-chrome
# نصب فقط از AUR
yay -Sa google-chrome
# نصب فقط از مخازن رسمی
yay -Ss firefoxبهروزرسانی سیستم
# بهروزرسانی کامل (مخازن + AUR)
yay
# یا
yay -Syu
# بهروزرسانی فقط AUR
yay -Sua
# بهروزرسانی فقط مخازن رسمی
yay -Syu --repoجستجو
# جستجوی تعاملی در مخازن و AUR
yay search-term
# یا
yay -Ss search-term
# جستجو فقط در AUR
yay -Ssa search-termحذف بسته
# حذف بههمراه وابستگیها و فایلهای پیکربندی
yay -Rns google-chromeاطلاعات بسته
# اطلاعات بسته
yay -Si package-name
# نمایش PKGBUILD قبل از نصب (پیشنهادی)
yay -Si package-name
yay -P package-nameپیشنمایش PKGBUILD
یکی از مهمترین ویژگیهای yay، امکان مشاهدهٔ PKGBUILD قبل از نصب است:
# نمایش PKGBUILD قبل از نصب
yay -S package-name --edit
# یا
yay -Si package-nameتنظیم پیشنمایش پیشفرض
میتوانید yay را طوری پیکربندی کنید که همیشه قبل از نصب PKGBUILD را نمایش دهد:
yay --save --editmenuپیکربندی yay
فایل پیکربندی در ~/.config/yay/config.json قرار دارد:
# مشاهدهٔ تنظیمات فعلی
yay -P -g
# تنظیم گزینهها
yay --save \
--devel \
--combinedupgrade \
--editmenu \
--cleanafter \
--batchinstallتوضیح گزینهها:
--devel— بهروزرسانی بستههای توسعه از VCS--combinedupgrade— ترکیب بهروزرسانی مخزن و AUR--editmenu— ویرایش PKGBUILD قبل از نصب--cleanafter— پاکسازی فایلهای موقت پس از نصب--batchinstall— نصب بستهبهبسته بهجای یکییکی
مدیریت بستههای نصبشده از AUR
# فهرست بستههای نصبشده از AUR
yay -Qm
# بستههای یتیم (نصبشده از AUR اما دیگر در AUR نیستند)
yay -Qdt
# حذف بستههای یتیم
yay -Ycنگهداری AUR
بهروزرسانی منظم
# هر هفته
yay -Syu
yay -Sua
yay -Ycپاکسازی کش
# پاکسازی کش بستههای AUR در ~/.cache/yay
yay -Sc
# پاکسازی کامل
rm -rf ~/.cache/yay/*تفاوتهای مهم با pacman
| ویژگی | pacman | yay/paru |
|---|---|---|
| نصب از مخازن رسمی | بله | بله |
| نصب از AUR | خیر | بله |
| نیاز به sudo | برای نصب | فقط برای نصب نهایی |
| مدیریت وابستگی AUR | - | خودکار |
| پیشنمایش PKGBUILD | - | بله |
هرگز با sudo از AUR نصب نکنید
دستور sudo yay -S package اشتباه است! همیشه yay را بهعنوان کاربر عادی اجرا کنید. yay خودش هنگام نیاز از شما رمز sudo میخواهد. اجرای makepkg با root خطرناک است و میتواند سیستم را خراب کند.
امنیت AUR
رتبهبندی بستهها
AUR بستهها را بر اساس فعالیت جامعه رتبهبندی میکند:
- Popular — بستههای با بیشترین رأی، معمولاً مطمئنترند
- Orphaned — بستههای بدون نگهدار، احتیاط کنید
- Out of Date — بستههای قدیمی، ممکن است کار نکنند
بررسی قبل از نصب
قبل از نصب از AUR:
۱. تعداد رأیها و محبوبیت را بررسی کنید ۲. تاریخ آخرین بهروزرسانی را ببینید ۳. نظرات کاربران را بخوانید ۴. PKGBUILD را مرور کنید ۵. در صورت شک، از جایگزین رسمی استفاده کنید
بستههای برای توسعهدهندگان
اگر توسعهدهنده هستید، این ابزارها مفیدند:
# نصب ابزار توسعه
yay -S --needed \
visual-studio-code-bin \
git \
github-cli \
docker \
docker-compose \
nodejs npm \
python python-pip \
rust \
goخلاصه
در این آموزش:
- با AUR و ساختار PKGBUILD آشنا شدید
- نصب دستی از AUR با
makepkgرا یاد گرفتید yayوparuرا نصب و پیکربندی کردید- با نصب، بهروزرسانی و نگهداری بستههای AUR آشنا شدید
- نکات امنیتی AUR را مرور کردید
AUR یکی از بزرگترین نقاط قوت Arch است اما مسئولیتپذیری بالایی میطلبد. همیشه قبل از نصب، PKGBUILD و نظرات کاربران را بررسی کنید.
در آموزش بعدی، با systemd — سیستم init و مدیریت سرویس در Arch — آشنا میشوید.
پرسشهای رایج
آیا نصب از AUR امن است؟
اگر احتیاط کنید، بله. همیشه PKGBUILD را بررسی کنید، بستههای پرطرفدار را انتخاب کنید، و از ابزارهای کمکی معتبری چون yay یا paru استفاده کنید.
کدام بهتر است: yay یا paru؟
هر دو عالی هستند. paru کمی مدرنتر است و امکانات بیشتری دارد (مثل prebuilt binary support). yay محبوبتر و قدیمیتر است. انتخاب بر اساس سلیقه است.
آیا میتوانم بدون yay از AUR نصب کنم؟
بله، با git clone و makepkg -si (همانطور که در ابتدای آموزش دیدید). ابزارهای کمکی فقط کار را راحتتر میکنند.
این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.