نصب با یک دستور برای همه پلتفرمها. بدون نیاز به sudo — در دایرکتوری خانه شما نصب میشود.
برای تنظیم سرور پس از نصب، به شروع سریع ببینید. برای مدیران بسته، Docker و سایر روشها، به نصب سرور مراجعه کنید.
چه کاری انجام میدهد
۱. سیستمعامل، معماری پردازنده و گونههای پلتفرم (Rosetta 2) را تشخیص میدهد
۲. باینری صحیح را از انتشارات GitHub دانلود میکند
۳. در ~/bin نصب میکند (قابل تنظیم از طریق --install-dir)
۴. دایرکتوری نصب را از طریق تنظیمات shell به PATH اضافه میکند
۵. bedrud completions را برای تکمیل خودکار زبانه shell اجرا میکند
۶. مراحل بعدی را چاپ میکند
پیشنیازها
| پلتفرم | وابستگیها |
|---|---|
| macOS / Linux | curl + tar |
| Windows | PowerShell 5.1+ (در Windows 10/11 از پیش نصب شده است) |
نصب سریع
curl -fsSL https://get.bedrud.org | bashshell را دوباره بارگذاری کنید، سپس تأیید کنید:
source ~/.bashrc # یا ~/.zshrc
bedrud --versionirm 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_REPO | bedrud-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_amd64 | macOS | Intel (x86_64) | استاندارد |
darwin_arm64 | macOS | Apple Silicon (M1/M2/M3/M4) | Rosetta 2 به صورت خودکار تشخیص داده میشود |
linux_amd64 | Linux | x86_64 | استاندارد |
linux_arm64 | Linux | ARM64 | استاندارد |
freebsd_amd64 | FreeBSD | x86_64 | استاندارد |
windows_amd64 | Windows | x86_64 | استاندارد |
windows_arm64 | Windows | ARM64 | استاندارد |
منطق تشخیص سیستمعامل و معماری
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/bedrudMirror خودمیزبانی شده
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 uninstallWindows:
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 ~/.bashrcFailed to download bedrud
۱. اتصال اینترنت را بررسی کنید
۲. تأیید کنید که هدف در انتشارات وجود دارد
۳. یک نسخه خاص را امتحان کنید: --version v1.0.0
۴. ممکن است پلتفرم شما باینری از پیش ساخته شده نداشته باشد
macOS: اجرای x64 تحت Rosetta (کند)
اجبار به ARM بومی:
arch -arm64 curl -fsSL https://get.bedrud.org | arch -arm64 bashWindows: “running scripts is disabled”
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
irm https://get.bedrud.org/install.ps1 | iex