</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

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#

ویژگیpacmanyay/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 (همان‌طور که در ابتدای آموزش دیدید). ابزارهای کمکی فقط کار را راحت‌تر می‌کنند.

اشتراک‌گذاری:

این صفحه در تاریخ ۹ تیر ۱۴۰۵ به‌روزرسانی شده است.