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

کدام مرحله از چرخه عمر واقعاً شکست خورد

بسته‌های Debian هنگام نصب preinst و postinst و هنگام حذف یا پاک‌سازی کامل prerm و postrm را اجرا می‌کنند و وضعیت خروج هر اسکریپت اقدام بعدی را تعیین می‌کند. خطا از prerm یعنی حذف پیش از پاک شدن فایل‌های بسته متوقف شده است؛ خطا از postrm یعنی حذف قبلاً انجام شده و پاک‌سازی شکست خورده است. این‌ها موقعیت‌های متفاوتی با بازیابی متفاوت هستند. سیاست توزیع همچنین انتظار دارد اسکریپت‌ها اجرای تکراری را تحمل کنند، زیرا مرحله ناموفق باید تکرار شود نه اینکه از آن پرهیز شود.

نخستین خطا را عیناً همراه با نام بسته، نسخه و انتشار توزیع ثبت کنید. خطاهای بعدی معمولاً پیامد هستند.

پیش از تغییر، وضعیت بسته را بخوانید

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

dpkg -l vpn-package
dpkg --audit
apt-get -s remove vpn-package

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

پیش از تعمیر، مسیر مدیریت را محافظت کنید

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

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

نتیجه‌های بسته، شبکه و اعتبارنامه را جدا کنید

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

سپس دوباره وصل شوید و یک مقصد مجاز را آزمایش کنید. وضعیت پاک بسته با تونلی که هنوز در حال اجراست نتیجه‌ای متفاوت از شبکه پاک است و تنها دومی به شما می‌گوید که حذف واقعاً اثر کرده است.

مقالات مرتبط