apt purge VPN-i sildi, amma xidmət hələ də yükləmə zamanı işə düşür
apt purge paket fayllarını silir, satıcı skriptinin quraşdırdığı vahidi deyil. Vahidi və onun wants linkini silin, sonra yükləmə üçün tək sahib seçin.
apt purge paketin getdiyini deyir, amma hər açılışda tunel yenə qalxır. Jurnal böyüməyə davam edir, marşrutlar qayıdır və maşın sanki heç nə silinməmiş kimi davranır. Satıcı quraşdırıcısı paket menecerinin heç vaxt qeyd etmədiyi faylları yaza bilər, ona görə paketi silməklə məhsulu silmək iki fərqli işdir. Aşağıdakı təlimat iki qeydi ayırır və silinməni qəsdən başa çatdırır.
İki quraşdırıcı, iki fərqli qeyd
Debian paketləri fayl siyahısı saxlayır və purge yalnız həmin siyahıda adı çəkilənləri üstəgəl paket konfiqurasiyasını silir. Shell quraşdırıcısı və ya .run dəsti belə siyahı saxlamır; o, istədiyi yerə yazır, adətən /opt, /usr/local və /etc/systemd/system qovluqlarına. Bu yolların heç biri heç bir paket fayl siyahısında görünmür, ona görə dpkg onlar haqqında nə bilir, nə də onları hesabatda göstərir. Nəticədə bir fayl sistemində iki quraşdırma sahibi olur və yalnız biri uçot aparır.
Silməzdən əvvəl dpkg-dən konkret yol barədə soruşun. Onun imtina etdiyi yol sizin silməli olduğunuz yoldur və eyni cavab sonrakı yeniləmənin onu geri qaytarıb-qaytarmayacağını da bildirir.
dpkg -S /etc/systemd/system/acmevpn.service
systemctl list-unit-files | grep -i acmevpn
Vahid və onun wants linki ayrı fayllardır
Aktivləşdirmə quraşdırmadan ayrı bir hərəkətdir. Vahid hədəf əlaqələrini öz [Install] bölməsində bəyan edir və systemctl enable bu bəyanları hər hədəfin .wants/ qovluğunda simvolik linklərə çevirir. İndi iki yol var: vahid faylı və onu yükləmə hədəfinə çəkən link. Yalnız faylı silsəniz, link heç bir şeyə işarə etmir və yükləmə zamanı şikayət yaranır; yalnız linki silsəniz, vahid adla işə salına bilən qalır. Hər ikisi getməlidir.
Onları sıra ilə silin və sonra yenidən yükləyin ki, systemd köhnə tərifləri yaddaşda saxlamasın.
systemctl disable --now acmevpn.service
systemctl show -p FragmentPath -p ExecStart acmevpn.service
sudo rm /etc/systemd/system/acmevpn.service
sudo rm /etc/systemd/system/multi-user.target.wants/acmevpn.service
systemctl daemon-reload
Yeri təxmin etmək əvəzinə FragmentPath oxuyun, çünki satıcı /etc yerinə /usr/lib/systemd/system və ya /lib/systemd/system qovluğuna yazmış ola bilər. Gözlədiyiniz nüsxəni silmək işlək olanı işlək saxlayır və düzəliş növbəti yenidən yükləməyə qədər uğurlu görünür. Yenidən yükləmə bitdikdən sonra vahid fayllarını yenidən siyahıya alın və adın artıq görünmədiyini təsdiqləyin.
Quruluşu canlı saxlayan binar faylı tapın
Aktivləşdirilmiş vahid paket bazasının nə düşünməsindən asılı olmayaraq demonu işə salmağa davam edir. Bu proses tuneli geri qaldıra, marşrutları yenidən əlavə edə və ya kill-switch qaydasını bərpa edə bilər və siz quruluşu yoxlayana qədər davranış fövqəltəbii görünür. ExecStart yolunu izləyin və binar faylın hələ də orada olub-olmadığını yoxlayın, çünki /opt altında qalmış icra olunan fayl quruluşun ehtiyac duyduğu hər şeydir. Vahidi silmək planlaşdırılmış başlanğıcı dayandırır; proqramı silmir.
Vəziyyət qovluqlarına da eyni diqqətlə yanaşın. Hesab tokenləri, yaradılmış profillər və keşlənmiş server siyahıları /var/lib altında və ya ev qovluğunda yaşayır və bunlar birdəfəlik keş deyil, etimad məlumatlarıdır. Xidmət dayandıqdan sonra onları qəsdən silin və nə götürdüyünüzü qeyd edin.
sudo ls -l /opt/acmevpn /usr/local/bin/acmevpn
sudo find /var/lib -maxdepth 2 -iname "*acme*"
systemctl is-enabled acmevpn.service
Bir yükləmə sahibi seçin və onu sınaqdan keçirin
Üç namizəd yükləməyə iddia edə bilər və hər üçünü quraşdırmaq əlavə ehtiyat əvəzinə yarış yaradır. Masaüstü avtostart faylı yalnız kimsə daxil olduqdan sonra işləyir, systemd vahidi daha erkən işləyir, lakin başsız işləyən klient tələb edir, cron @reboot qeydi isə şəbəkə klienti üçün yanlış ola biləcək cədvəldə tetiklənir. Provayder CLI əlavə olaraq server arqumenti tələb edə bilər, çünki yükləmə zamanı davam etdiriləcək əvvəlki sessiya yoxdur. Klientin necə autentifikasiya etdiyinə uyğun namizədi seçin və digərlərindən imtina edin.
Maşını yenidən yükləyərək və üç müstəqil fakta baxaraq sınayın: vahid vəziyyəti, proses siyahısı və yoxlaya biləcəyiniz bir şeyə yeni bağlantı. Açar anbarı və ya interaktiv giriş tələb edən klient düzgün vahid faylı ilə belə yükləmə zamanı uğursuz olur və jurnal bunu deyir, əgər yalnız xidmət statusunu deyil, jurnalı da oxusanız.
Ya klientə soruşmadan işləyən etimad məlumatı verin, ya da onu giriş zamanı işə salın. Hər ikisi müdafiə oluna bilər və onları birləşdirmək bir tunelin onun üstündə dava edən iki sahib qazanması deməkdir.
Növbəti purge-un nə gözləməli olduğunu yazın
İstənilən əl ilə silinmədən sonra iki faktı qeyd edin: quruluşu hansı quraşdırıcı yaratdı və indi onu hansı sahib işə salır. Bu qeyd növbəti purge-u sürprizdən yoxlama siyahısı bəndinə çevirir və işi görən şəxsdən daha uzun yaşayır.
Onu şəxsi qovluqda deyil, xidmət konfiqurasiyasının yanında saxlayın və tarix qoyun, çünki satıcı yeniləməsi sildiyiniz vahidi bərpa edə bilər. systemctl list-unit-files siyahısını bir neçə aydan bir həmin qeydlə müqayisə etmək bərpanı hələ düzəltmək ucuz ikən tutur.