apt purge VPN لرې کړ، خو خدمت لا هم د بوټ پر مهال پیلېږي
apt purge د بنډل فایلونه ړنګوي، نه هغه unit چې د پلورونکي سکریپټ نصب کړی دی. unit او د هغې wants لینک ړنګ کړئ، بیا د بوټ یو مالک وټاکئ.
apt purge وایي چې بنډل لاړ، خو بیا هم په هر پیل کې تونل بیا پورته راځي. journal زیاتېږي، لارې بیرته راځي، او ماشین داسې چلند کوي لکه څه چې نه وي لرې شوي. د پلورونکي نصب کوونکی کولی شي هغه فایلونه ولیکي چې د بنډل مدیر هېڅکله ثبت کړي نه دي، نو د بنډل لرې کول او د محصول لرې کول دوه بېل کارونه دي. لاندې runbook دوه ثبتونه بېلوي او لرې کول په قصد پای ته رسوي.
دوه نصب کوونکي، دوه بېل ثبتونه
Debian بنډلونه د فایلونو لیست ساتي، او purge هغه څه ړنګوي چې لیست یې نوموي او د بنډل تنظیمات. د shell نصب کوونکی یا .run بنډل داسې لیست نه ساتي؛ چېرې چې وغواړي لیکي، معمولاً په /opt، /usr/local او /etc/systemd/system کې. هغه لارې په هیچا بنډل د فایلونو لیست کې نه ښکاري، نو dpkg نه پرې پوهېږي او نه یې راپور ورکوي. په پای کې په یوه فایل سیستم کې د نصب دوه مالکان وي، او یوازې یو یې حساب ساتي.
د ړنګولو دمخه dpkg له هغې ځانګړې لارې وپوښتئ. هغه لار چې ردوي ستاسو د لرې کولو ده، او هماغه ځواب وایي چې وروستی تازه به یې بیرته راوړي که نه.
dpkg -S /etc/systemd/system/acmevpn.service
systemctl list-unit-files | grep -i acmevpn
unit او د هغې wants لینک بېل فایلونه دي
فعالول د نصب کولو څخه بېل عمل دی. unit خپل هدف اړیکې په [Install] برخه کې اعلانوي، او systemctl enable هغه اعلانونه په هر هدف د .wants/ په ډایرکټري کې سمبولیک لینکونه ګرځوي. اوس دوه لارې شته: د unit فایل، او هغه لینک چې هغه د بوټ هدف ته ښکته کوي. یوازې فایل ړنګ کړئ، لینک هیڅ ته نه اشاره کوي، چې د بوټ پر مهال شکایت رامنځته کوي؛ یوازې لینک ړنګ کړئ، unit د نوم له مخې د پیل وړ پاتې کېږي. دواړه باید لاړ شي.
هغوی په ترتیب سره لرې کړئ او بیا یې ولولئ، ترڅو systemd زاړه تعریفونه په حافظه کې ساتل بند کړي.
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
د ځای اټکل کولو پر ځای FragmentPath ولولئ، ځکه پلورونکی کېدای شي په /usr/lib/systemd/system یا /lib/systemd/system کې لیکلی وي نه په /etc کې. د هغې کاپي ړنګول چې تمه یې لرله اصلي فعاله پاتې کېږي، او سمون تر بلې لوستنې پورې بریالی ښکاري. لوستنه پای ته رسېدو وروسته بیا unit فایلونه لیست کړئ او تایید کړئ چې نوم نور نه ښکاري.
هغه باینري ومومئ چې دا ترتیب ژوندی ساتي
فعال unit د بنډل ډیټابیس هر څه چې فکر کوي، ډیمون پیلوي. هغه پروسه کولی شي تونل بیرته راوړي، لارې بیا ورزیاتې کړي یا د kill-switch قاعده بحال کړي، او چلند تر هغه پورې فوق طبیعي ښکاري چې ترتیب وګورئ. د ExecStart لار تعقیب کړئ او وګورئ چې باینري لا هم هلته ده، ځکه په /opt لاندې پاتې شوی اجرایوي فایل د دې ترتیب ټول اړتیا ده. unit ړنګول پلان شوی پیل بندوي؛ پروګرام نه ړنګوي.
د حالت ډایرکټریو سره هم هماغه پاملرنه وکړئ. د حساب ټوکن، جوړ شوي پروفایل او کیش شوي سرور لیستونه په /var/lib لاندې یا په کور ډایرکټري کې ژوند کوي، او هغه اسناد دي، نه د غورځولو کیش. خدمت بندېدو وروسته یې په قصد لرې کړئ او ولیکئ چې څه واخیستل.
sudo ls -l /opt/acmevpn /usr/local/bin/acmevpn
sudo find /var/lib -maxdepth 2 -iname "*acme*"
systemctl is-enabled acmevpn.service
د بوټ یو مالک وټاکئ او ازموئ یې
درې کاندیدان کولی شي د بوټ دعوه وکړي، او درې واړه نصب کول د دوه ګوني خوندیتوب پر ځای سیالي جوړوي. د ډیسکټاپ اتومات پیل فایل یوازې د چا تر ننوتلو وروسته چلېږي، systemd unit ژرتر چلېږي خو هغه کلاینټ غواړي چې پرته له سکرین کار کوي، او cron @reboot ننوتنه د هغې مهالویش له مخې چلېږي چې د شبکې کلاینټ لپاره غلط کېدای شي. د پلورونکي CLI ممکن اضافي سرور دلیل وغواړي، ځکه د بوټ پر مهال د دوام لپاره پخوانی سیشن نشته. هغه کاندید وټاکئ چې د کلاینټ د تصدیق کولو له طریقې سره سمون لري، او نور پرېږدئ.
د ماشین په بیا پیلولو او درې خپلواکو حقایقو په کتلو یې ازموئ: د unit حالت، د پروسو لیست، او له یو څه سره نوې اړیکه چې تاییدولی شئ. هغه کلاینټ چې کییرنګ یا متقابل ننوت غواړي د سم unit فایل سره هم د بوټ پر مهال ناکامېږي، او journal دا وایي که یې ولولئ نه یوازې د خدمت حالت.
یا کلاینټ ته هغه سند ورکړئ چې پرته له پوښتنې کار کوي، یا یې د ننوتلو پر مهال پیل کړئ. دواړه منطقي دي، او دواړه یوځای کول هغه لاره ده چې یو تونل دوه مالکان پیدا کوي چې پر سر یې جنګېږي.
ولیکئ چې بل purge باید څه تمه ولري
له هر لاسي لرې کولو وروسته دوه حقایق ولیکئ: کوم نصب کوونکي دا ترتیب جوړ کړ، او اوس کوم مالک یې پیلوي. هغه یادښت بل purge له حیرانتیا څخه د چک لیست یو ټکي ته اړوي، او له هغه کس څخه چې کار یې کړی اوږد ژوند کوي.
هغه د خدمت تنظیماتو ترڅنګ وساتئ نه په شخصي ډایرکټري کې، او نېټه پرې ولیکئ، ځکه د پلورونکي تازه کول ستاسو ړنګ شوی unit بحالولی شي. هر څو میاشتې وروسته systemctl list-unit-files له هغه یادښت سره پرتله کول بحالي هغه وخت نیسي چې سمون لا ارزانه دی.