يزيل توزيعك الحزمة، وتفقد قائمتك مدخلها، ومع ذلك يظهر النفق بعد إعادة التشغيل التالية. يترك عميل VPN تجاري أجزاءً لم يتتبعها مدير الحزم قط، لذا فالإزالة النظيفة ليست الشيء نفسه كالجهاز النظيف. أربعة من تلك الأجزاء تفسر تقريبًا كل اتصال شبحي: وحدة، وملف تعريف اتصال، ومساعد ذو امتيازات، ومستودع خاص بالبائع. اقرأ الأربعة قبل حذف أي شيء، ثم أزل كلًا منها عبر المكوّن الذي يملكه.

ما لم يسجله مزيل التثبيت قط

يزيل مدير الحزم الملفات التي سجلها ولا شيء غيرها. ليس لديه سجل لملف تعريف اتصال أنشأه العميل وقت التشغيل، ولا لوحدة فُعّلت بعد التثبيت، ولا لمساعد سجّل نفسه أثناء عمله بصلاحيات مرتفعة. كل واحد منها ينتمي إلى نظام فرعي مختلف، وكل واحد منها قد يعيش بعد الحزمة بإعادة تشغيل أو أكثر. تلك الفجوة تفسر كيف يمكن أن يكون النفق سليمًا بينما البرنامج الذي أنتجه قد ذهب.

للمخلف دائمًا مالك، سواء كان systemd أو NetworkManager أو إعداد المستودع أو مدخل تشغيل تلقائي لكل مستخدم. تحديد المالك أولًا هو ما يمنع التنظيف من أن يصبح جهازًا نصف مُهيأ. حذف الملفات مباشرة ينجح عادة حتى يعيد المالك إنشاءها، ولهذا تبدأ الأوامر أدناه بالاستعلامات.

أربعة ملاك، القراءة أولًا

ابدأ بالاستعلامات لا بالحذف، ودوّن الأسماء الدقيقة التي تعود. غالبًا ما يشحن البائعون حزمة إصدار إلى جانب حزمة وصفية، لذا قد يظهر منتج واحد تحت اسمين. الاسم الذي يظهر في القائمتين هو منتج واحد بمالكين، وكلاهما يحتاج إلى الإزالة. تغطي الدفعة الأولى الحزم والوحدات، وهناك تصبح معظم المخلفات مرئية.

dpkg -l | grep -i acmevpn
systemctl list-unit-files | grep -i acmevpn
systemctl list-units --type=service --state=running | grep -i acmevpn

تغطي الدفعة الثانية المكوّنين اللذين ينجوان من الحذف في أغلب الأحيان، وهما ملف تعريف الاتصال ومستودع البائع. اقرأ عمود UUID لا الاسم، لأن الأسماء المكررة شائعة وأمر الحذف يتوقع المعرّف. سطر المستودع يستحق القراءة حتى حين لا تزيله اليوم، لأن مضيف بائع ميت قد يعطل تثبيتًا غير ذي صلة بعد أشهر. لا تغيّر أي من القائمتين شيئًا، وذلك هو سبب تشغيلهما أولًا.

nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list

العملية التي ما زالت حية بعد الحذف هي إما وحدة نشطة أو ابن برنامج آخر. اقرأ جدول العمليات وسلسلة آبائه قبل لوم خدمة لم تعد موجودة. تحتاج مدخلات التشغيل التلقائي لكل مستخدم إلى الجولة نفسها، وهي لا تظهر إلا في صدفة تسجيل دخول جديدة لا في جلسة الجذر.

ثلاثة أفعال لا يُستعاض بأحدها عن الآخر

الإيقاف ينهي التشغيل الحالي، والتعطيل يزيل روابط وقت الإقلاع، والتقنيع يوجه الوحدة إلى /dev/null. الثالث وحده يمنع أيضًا التنشيط عبر مقبس أو مؤقت أو تبعية، مما يجعله الأقوى بين الثلاثة. الترتيب مهم ما دمت تقرر ما ستفعله بالجهاز. التقنيع هو الحالة الصحيحة أثناء ذلك القرار، لأنه يفشل بصوت عالٍ بدل أن يبدأ بهدوء عند الإقلاع التالي.

ارفع التقنيع قبل إعادة التثبيت، وإلا فستبدو الحزمة الجديدة معطلة لسبب لم يكتبه أحد. التحذير نفسه ينطبق على اختلافات التغليف: أحد البنائين يشحن وحدة يمكن إيقافها، بينما الآخر لا يترك أي خدمة على الإطلاق. تحقق من التغليف الذي لديك قبل اختيار الفعل، لأن مسار التنظيف يختلف بينهما.

الرموز البديلة هي الطريقة لحذف الملف الخاطئ

احذف ملف التعريف بالمعرّف UUID الذي دوّنته، ولا تحذفه أبدًا برمز بديل. يحتفظ دليل keyfile أيضًا بكل ملفات تعريف Wi-Fi وEthernet على الجهاز، لذا فالمطابقة الواسعة تزيل أشياء ما زلت تحتاجها. قد يعيد أي مسؤول عن السياسة إنشاء ملف keyfile حُذف يدويًا، مما يجعل الحذف يبدو بلا جدوى.

nmcli connection delete uuid <uuid>

صدّر البوابة والهوية أولًا إذا كان ذلك الملف هو النسخة الوحيدة التي ما زلت تملكها، لأن الحذف المحلي لا يلغي شيئًا على الخادم. يتبع المستودع القاعدة نفسها: أزل ملف البائع الوحيد وحلقة مفاتيحه، ثم حدّث قوائم الحزم وأعد محاولة التثبيت الذي أردته فعلًا. ترك مدخل طرف ثالث قديم في مكانه قد يثبت اعتمادية قديمة أو يفشل في الرد تمامًا. كلا الحذفين صغير، ويمكن التراجع عن أي منهما من النسخة التي تحتفظ بها.

ما يزال يعمل بعد إعادة التشغيل

أعد التشغيل قبل أن تعلن النصر، ثم ابحث عن الآثار لا عن التطبيق. واجهة النفق، والمسار المنقسم القديم، وDNS لكل وصلة تركه العميل القديم، كلها تحتاج أمرها الخاص. الثلاثة جميعًا قد تعيش بعد حذف أزال كل الحزم بنجاح.

ip link
ip route
resolvectl status

افتح صدفة تسجيل دخول جديدة أيضًا، لأن مدخل التشغيل التلقائي لا يعمل إلا هناك. ثم اقرأ /etc/NetworkManager/dispatcher.d/ بحثًا عن سكربت يرفع الاتصال كلما غيّرت واجهة حالتها، وهو ما يفسر عودة نفق بلا خدمة خلفه. إن كان شيء ما ما زال يتصل بالخارج، فتتبع العملية إلى أبويها بدل حذف الملفات حتى تتوقف الأعراض. يبقى تنظيف الجهاز وإلغاء الحساب مهمتين منفصلتين، وواحدة فقط منهما تنتهي عندما تبدو إعادة التشغيل هادئة.

مقالات ذات صلة