Bedrud مستندات

نصب با یک دستور برای همه پلتفرم‌ها. بدون نیاز به sudo — در دایرکتوری خانه شما نصب می‌شود.

برای تنظیم سرور پس از نصب، به شروع سریع ببینید. برای مدیران بسته، Docker و سایر روش‌ها، به نصب سرور مراجعه کنید.


چه کاری انجام می‌دهد

۱. سیستم‌عامل، معماری پردازنده و گونه‌های پلتفرم (Rosetta 2) را تشخیص می‌دهد ۲. باینری صحیح را از انتشارات GitHub دانلود می‌کند ۳. در ~/bin نصب می‌کند (قابل تنظیم از طریق --install-dir) ۴. دایرکتوری نصب را از طریق تنظیمات shell به PATH اضافه می‌کند ۵. bedrud completions را برای تکمیل خودکار زبانه shell اجرا می‌کند ۶. مراحل بعدی را چاپ می‌کند


پیش‌نیازها

پلتفرموابستگی‌ها
macOS / Linuxcurl + tar
WindowsPowerShell 5.1+ (در Windows 10/11 از پیش نصب شده است)

نصب سریع

curl -fsSL https://get.bedrud.org | bash

shell را دوباره بارگذاری کنید، سپس تأیید کنید:

source ~/.bashrc  # یا ~/.zshrc
bedrud --version
irm https://get.bedrud.org/install.ps1 | iex
bedrud --version

پرچم‌ها و گزینه‌ها

نصب‌کننده Bash

Usage: curl -fsSL https://get.bedrud.org | bash -s -- [options]
پرچمپیش‌فرضتوضیحات
--install-dir <dir>~/binمحل قرارگیری باینری
--version <ver>latestثابت نگه داشتن در یک نسخه (مثلاً v1.2.0)
--skip-shellخاموشتغییر فایل‌های RC shell یا PATH انجام نشود
-h, --helpنمایش نحوه استفاده و خروج

مثال‌ها:

# پیش‌فرض
curl -fsSL https://get.bedrud.org | bash
 
# ثابت نگه داشتن نسخه
curl -fsSL https://get.bedrud.org | bash -s -- --version v1.2.0
 
# نصب سیستم‌واید
curl -fsSL https://get.bedrud.org | sudo bash -s -- --install-dir /usr/local/bin
 
# CI / اتوماسیون — رد کردن تنظیمات shell
curl -fsSL https://get.bedrud.org | bash -s -- --skip-shell

نصب‌کننده PowerShell

Usage: irm https://get.bedrud.org/install.ps1 | iex

برای ارسال پارامترها، ابتدا در فایل ذخیره کنید:

irm https://get.bedrud.org/install.ps1 -OutFile install.ps1
.\install.ps1 -Version v1.2.0 -InstallDir C:\Tools
پارامترپیش‌فرضتوضیحات
-InstallDir <path>$HOME\binمحل قرارگیری bedrud.exe
-Version <ver>latestنصب یک نسخه انتشار خاص
-SkipPath$falseاضافه نکردن دایرکتوری نصب به PATH کاربر

متغیرهای محیطی

متغیرپیش‌فرضپلتفرم‌هاتوضیحات
BEDRUD_INSTALL~/binفقط Bashجایگزینی دایرکتوری نصب (مشابه --install-dir)
BEDRUD_REPObedrud-ir/bedrudهر دوجایگزینی مخزن GitHub (برای forks یا mirrorها)
BEDRUD_INSTALL=/opt/bedrud curl -fsSL https://get.bedrud.org | bash
BEDRUD_REPO=myorg/bedrud-fork curl -fsSL https://get.bedrud.org | bash
$env:BEDRUD_REPO = "myorg/bedrud-fork"
irm https://get.bedrud.org/install.ps1 | iex

پشتیبانی از پلتفرم

هدفسیستم‌عاملمعمارییادداشت
darwin_amd64macOSIntel (x86_64)استاندارد
darwin_arm64macOSApple Silicon (M1/M2/M3/M4)Rosetta 2 به صورت خودکار تشخیص داده می‌شود
linux_amd64Linuxx86_64استاندارد
linux_arm64LinuxARM64استاندارد
freebsd_amd64FreeBSDx86_64استاندارد
windows_amd64Windowsx86_64استاندارد
windows_arm64WindowsARM64استاندارد
منطق تشخیص سیستم‌عامل و معماری
uname -s → "Darwin"  → darwin
           "Linux"   → linux
           "FreeBSD" → freebsd
           "MINGW*"  → هدایت به اسکریپت PowerShell
           "MSYS*"   → هدایت به اسکریپت PowerShell

uname -m → "x86_64" | "amd64"  → amd64
           "aarch64" | "arm64"  → arm64

تشخیص موارد خاص

Rosetta 2 (macOS Intel روی Apple Silicon)

تشخیص: sysctl -n sysctl.proc_translated مقدار ۱ برمی‌گرداند. اثر: darwin_amd64 را به darwin_arm64 برای عملکرد بومی ARM تغییر می‌دهد.


جریان نصب

۱. بررسی Windows — MINGW/MSYS/CYGWIN تشخیص داده شد؟ دستور PowerShell را چاپ کنید، خارج شوید ۲. بررسی وابستگی — نیاز به curl + tar ۳. تجزیه آرگومان — حداکثر ۳ پرچم ۴. تشخیص پلتفرم — سیستم‌عامل + معماری از طریق uname ۵. تشخیص گونه — Rosetta 2 ۶. دانلود — دانلود bedrud_{TARGET}.tar.xz ۷. استخراج و نصب — دایرکتوری موقت، استخراج، mv → $INSTALL_DIR/bedrud، chmod +x ۸. تأیید — اجرای bedrud --version ۹. بررسی PATH — قبلاً در PATH است؟ رد شود. --skip-shell؟ دستور دستی چاپ شود. در غیر این صورت → تغییر فایل RC ۱۰. تکمیل‌ها — اجرای bedrud completions ۱۱. تمام — چاپ موفقیت + دستورالعمل‌های بارگذاری مجدد

فرمت URL دانلود: github.com/{repo}/releases/{ver}/bedrud_{TARGET}.tar.xz


تنظیمات PATH و Shell

وقتی --skip-shell تنظیم نشده باشد، نصب‌کننده دایرکتوری نصب را به PATH شما اضافه می‌کند.

Shellفایل RC
fish~/.config/fish/config.fish
zsh$ZDOTDIR/.zshrc (پیش‌فرض ~/.zshrc)
bash (macOS)~/.bash_profile، سپس ~/.bashrc
bash (Linux)~/.bashrc، سپس ~/.bash_profile

آنچه اضافه می‌شود:

# bedrud
export PATH="$HOME/bin:$PATH"  # bedrud

علامت # bedrud از ورودی‌های تکراری جلوگیری می‌کند — ایمن برای اجرای مجدد.

Windows: از [Environment]::SetEnvironmentVariable("PATH", ..., "User") در سطح رجیستری استفاده می‌کند. فایل RC لازم نیست.

بارگذاری مجدد shell پس از نصب:

source ~/.bashrc    # bash
source ~/.zshrc     # zsh
source ~/.config/fish/config.fish  # fish

نصب آفلاین / Air-Gapped

دانلود و انتقال

curl -fsSL -o bedrud.tar.xz \
  https://github.com/bedrud-ir/bedrud/releases/latest/download/bedrud_linux_amd64.tar.xz
scp bedrud.tar.xz airgapped-server:/tmp/
# روی هدف:
tar -xf /tmp/bedrud.tar.xz -C /tmp/bedrud-extracted
mv /tmp/bedrud-extracted/bedrud ~/bin/
chmod +x ~/bin/bedrud

Mirror خودمیزبانی شده

BEDRUD_REPO=mycompany/bedrud-mirror curl -fsSL https://get.bedrud.org | bash

باینری مستقیم

از انتشارات دانلود کنید، استخراج کنید، به یک دایرکتوری در PATH خود منتقل کنید.


حذف نصب

rm ~/bin/bedrud
# حذف خط PATH از فایل RC (جستجو برای "# bedrud"):
#   ~/.bashrc, ~/.bash_profile, ~/.zshrc, ~/.config/fish/config.fish

برای نصب‌های سرور systemd:

sudo bedrud uninstall

Windows:

Remove-Item "$env:USERPROFILE\bin\bedrud.exe"
# حذف از PATH از طریق System Properties → Environment Variables

عیب‌یابی

command not found: bedrud

source ~/.bashrc    # بارگذاری مجدد shell
echo $PATH | tr ':' '\n' | grep "$HOME/bin"  # بررسی PATH

اگر وجود ندارد:

echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Failed to download bedrud

۱. اتصال اینترنت را بررسی کنید ۲. تأیید کنید که هدف در انتشارات وجود دارد ۳. یک نسخه خاص را امتحان کنید: --version v1.0.0 ۴. ممکن است پلتفرم شما باینری از پیش ساخته شده نداشته باشد

macOS: اجرای x64 تحت Rosetta (کند)

اجبار به ARM بومی:

arch -arm64 curl -fsSL https://get.bedrud.org | arch -arm64 bash

Windows: “running scripts is disabled”

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
irm https://get.bedrud.org/install.ps1 | iex