نصب برنامه لینوکس روی Pi بدون نمایشگر مثل یک دستور به نظر می‌رسد، اما انتخابی را پنهان می‌کند میان دو مسیر استقرار با مرزهای پشتیبانی متفاوت. یکی برنامه رسمی ارائه‌دهنده است که الزامات توزیع و معماری خودش را دارد. دیگری یک فایل پیکربندی دستی است که کلاینت استانداردی از آن استفاده می‌کند که سیستم‌عامل از قبل بسته‌بندی کرده است. هر دو به یک سرویس می‌رسند و از نظر نگهداری قابل جایگزینی نیستند.

پرسش معماری اول می‌آید، چون یک برد 64 بیتی ممکن است فضای کاربری 32 بیتی را اجرا کند و برنامه فقط یکی از آن دو را عرضه می‌کند.

دو مرز پشتیبانی، نه دو نصب‌کننده

صفحه نصب کنونی ارائه‌دهنده را برای برنامه‌ای که می‌خواهید استفاده کنید بخوانید و آن را با برد تطبیق دهید: انتشار توزیع، معماری بسته و هر الزام میزکار یا نشست. اینکه یک Pi از اجرای 64 بیتی پشتیبانی می‌کند نمی‌گوید اکنون کدام فضای کاربری نصب شده است، و مدیر بسته همان مقدار را بررسی می‌کند. dpkg --print-architecture و uname -m هر یک با یک خط به آن پاسخ می‌دهند. اگر انتشار یا معماری خارج از مجموعه مستند باشد، برنامه حتی وقتی نصب می‌شود در آنجا پشتیبانی نمی‌شود.

پشتیبانی بر پایه روش بسته‌بندی هم متفاوت است. محدودیتی که برای یک قالب بسته مستند شده به‌طور خودکار برای ساخت از مخزن اعمال نمی‌شود، و توزیعی که از Debian مشتق شده به‌طور خودکار محیطی پشتیبانی‌شده نیست. بسته‌های انجمن و دستورهای نصب قدیمی مدل نگهداری خودشان را می‌آورند که می‌توانید آگاهانه بپذیرید اما نباید تصادفی اتخاذش کنید.

چیزی که برنامه می‌دهد و نمایه نمی‌دهد

برنامه رسمی بیش از یک اتصال است: معمولاً کلید قطع اضطراری ارائه‌دهنده، مدیریت DNS و کلیدهای امکانات را دارد، و ارائه‌دهنده این رفتارها را به‌صورت یک مجموعه پشتیبانی می‌کند. نمایه دستی که به یک کلاینت استاندارد سپرده می‌شود هیچ‌کدام از این‌ها را به ارث نمی‌برد. کلاینت دستی چرخه عمر اتصال و سیاست محلی خرابی را در اختیار دارد، که وقتی خودتان تنظیمش کنید خوب است و وقتی فرض کنید همراه آمده‌اند غافلگیرکننده. هر دو گزینه به همان سرورها می‌رسند؛ تنها یکی منطق پیرامونی را در بر دارد.

اگر امکانی اهمیت دارد، مثلاً مسدود کردن ترافیک بیرون تونل، باید در پیکربندی شما وجود داشته باشد نه در برنامه ارائه‌دهنده.

WireGuard دستی: گام‌هایی که اهمیت دارند

ارائه‌دهنده تولید پیکربندی WireGuard برای کلاینت سازگار با استاندارد را مستند می‌کند و این مسیر را برای راه‌اندازی دستی توصیه می‌کند، و OpenVPN را برای دستگاه‌های قدیمی‌تر نگه می‌دارد. نمایه را در پیشخان حساب بسازید، به Pi بیاورید و جایی بگذارید که فقط مالک بتواند بخواندش. هرگز فایل را در رشته پشتیبانی نچسبانید، چون نام فایل دوستانه کلید خصوصی درونش را قابل انتشار نمی‌کند. سپس تونل را با یک درخواست بیازمایید پیش از آنکه چیز دیگری به آن وصل کنید.

بازنشستگی سرورها جزئیاتی عملیاتی است که مردم فراموش می‌کنند. یک نقطه پایانی که دستی انتخاب شده ممکن است پس گرفته شود، و ارائه‌دهنده یادآور می‌شود که ممکن است پیکربندی جایگزین لازم باشد. ثبت کنید نمایه از کدام نقطه پایانی استفاده می‌کند تا خرابی بعدی قابل عیب‌یابی باشد.

تصمیم بگیرید آیا Pi دروازه هم هست

تونلی که برنامه‌های خود Pi استفاده می‌کنند به‌طور خودکار دروازه‌ای برای دستگاه‌های پشت آن نمی‌شود. ارسال، مسیریابی برگشتی، مالکیت مفسر و هر سیاستی که مانع فرار ترافیک به بیرون تونل شود، طراحی جداگانه‌ای با شیوه‌های خرابی خودشان هستند. اگر دستگاه‌های دیگری در محدوده‌اند، آن‌ها را به‌عنوان مورد خودشان ارزیابی کنید نه اینکه فرض کنید اتصال Pi پوشششان می‌دهد. همین جداسازی است که یک استقرار کوچک را قابل نگهداری می‌کند.

سپس چرخه عمر را بپذیرید: درخواست تازه از Pi، تحلیل نام از طریق مفسر درنظرگرفته‌شده، و رفتار راه‌اندازی یا اتصال مجددی که برنامه‌ریزی کرده‌اید. هر یک را بررسی کنید نه اینکه فرض کنید برنامه یا نمایه آن را فراهم می‌کند.

افسانه‌ای که ارزش کنار گذاشتن دارد این است که نصب‌کننده لینوکس و فایل WireGuard یک تصمیم را نشان می‌دهند. آن‌ها دو مدل کارکرد با دو مالک متفاوت‌اند.

مقالات مرتبط