Шинэ VPN товчлол алдагдсан тохиргоог яагаад сэргээхгүй вэ
Ачаалагч програмыг хэрхэн эхлүүлэхийг шийддэг бөгөөд тохиргоог хаана хадгалахыг биш. Дүрсийг буруутгахаас өмнө гүйцэтгэх файл, хэрэглэгч, тохиргооны контекстийг харьцуулна уу.
Цэсэнд байхгүй бичлэгүүд болон алга болдог тохиргоо ижил рефлексээр засагддаг ч эдгээр нь хамааралгүй асуудлууд юм. Нэг нь ажлын талбарын интеграц, нөгөө нь програмын төлөв бөгөөд шинэ дүрс нь өөрөө аль нэгийг ч өөрчлөхгүй. Тэдгээрийг салгахад нэг туршилт хангалттай бөгөөд хүмүүсийн энэ сэдэвт авчрах төөрөгдлийн ихэнхийг тайлбарладаг. Ачаалагч програмыг эхлүүлдэг; юу санахыг програм өөрөө шийддэг.
Зөвхөн нэг мэт харагддаг хоёр ажил
Ажлын талбарын интеграц гэдэг нь орчин гүйцэтгэх файлыг олж, нэр, дүрс харуулж, зөв аргументуудыг дамжуулж чадна гэсэн үг. Програмын төлөв гэдэг нь програм профайлыг тогтвортой газарт бичиж, дараагийн эхлэлтэд дахин уншдаг гэсэн үг. Аль нь ч нөгөөгөө шаарддаггүй тул ажиллаж буй товчлол бүхнийг мартсан клиентийг эхлүүлж болно.
Програмын өөрийн удирдлагын элементүүдээр нэг хор хөнөөлгүй дэлгэцийн тохиргоог өөрчлөөд дараа нь ижил аргаар хааж дахин нээнэ үү. Тохиргоо буцаж ирвэл хадгалалт ажиллаж байгаа бөгөөд үлдсэн гомдол нь өгөгдөл хадгалах биш цонх олох тухай юм. Хэрэв алга болвол товчлол нь анхаарлыг сарниулах зүйл бөгөөд жинхэнэ асуулт нь тэр процесс өөрийн файлуудыг хаана хадгалдаг вэ гэдэг. Нэг удаад нэг тохиргоог шалгаарай, учир нь нууц үгийг дахин асуудаг клиент тохиргоо алдахын оронд нууц хамгаалж байж болно.
Дахин суулгахаас өмнө эхлэлийн орцуудыг харьцуул
Ажлын талбарын бичлэгээс эхэлж, энэ нь үнэндээ юу хийдгийг уншина уу, учир нь цэснээс эхлүүлэх нь терминалаас эхлүүлэхтэй автоматаар ижил процессын орчин биш юм. Чухал түлхүүрүүд нь Exec, Path ба шууд бус байдлаар сессээр олгогддог орчин юм. Exec доторх боох скрипт хувьсагч тогтоож, директор сольж эсвэл цэс хэзээ ч харуулдаггүй онцгой эрхтэй туслахыг дуудаж болно. Дахин суулгах нь програмын өмнөөс байсан файлуудыг орлуулдаг бөгөөд энэ нь өөрчлөгдсөн хувьсагч байх нь ховор.
grep -h '^Exec=' ~/.local/share/applications/*.desktop
desktop-file-validate ~/.local/share/applications/client.desktop
~/.local/share/applications доорх файлыг /usr/share/applications дахь файлаас өмнө харна уу, учир нь хэрэглэгчийн хуулбар системийн хуулбарыг сүүдэрлэдэг. Бичлэг буруу ажиллах үед desktop-file-validate ажиллуулж, устгасан зам руу одоо ч заасан хуучин хуулбарыг хайна уу. Хүчингүй хэрэглэгчийн хуулбарыг ихэнх ажлын талбарууд одоо ч илүүд үздэг тул эвдэрсэн файл бичлэгийг цэснээс хасч болох бөгөөд багцын файл хүчинтэй хэвээр байна. Дараа нь мөнөөх командыг гараар ажиллуулж, хоёр эхлэл юу гаргадгийг харьцуулна уу.
Тохиргоо үнэндээ хаана амьдардаг
XDG үндсэн директорын дүрмийг дагадаг програмууд тохиргоог $XDG_CONFIG_HOME дор, тогтвортой төлөвийг $XDG_STATE_HOME дор, хаях боломжтой өгөгдлийг $XDG_CACHE_HOME дор байрлуулж, тэдгээр хувьсагч тогтоогдоогүй үед анхдагчаар ~/.config, ~/.local/state, ~/.cache ашигладаг. Эдгээр гурав нь амлалт биш, үүрэг тул тодорхой VPN бүтээгдэхүүн огт өөр зүйлийг баримтжуулж болно. Директорын нэрнээс зам таамаглахаас нийлүүлэгчийн өөрийн баримт бичгийг унших нь дээр. Баримт бичиг нь нимгэн үед файлын системийг биш процессыг ажиглаарай.
Файл нээх үйлдлээр шүүсэн мөр нь клиентийн оролддог бүх тохиргооны замыг, гарах үед бичдэг замыг оруулан харуулдаг. Үүнийг мөнөөх хэрэглэгч, мөнөөх орчноор ажиллуулаад дараа нь тэдгээр замыг хүлээж байсан директоруудтай харьцуулна уу.
strace -f -e trace=openat,stat -o /tmp/vpn.log vpn-client
Нууц ба профайлууд өөр өөр эзэдтэй
Хадгалсан профайл ба хадгалсан итгэмжлэл нь тусдаа объектууд бөгөөд ихэвчлэн тусдаа агуулахтай. Нэг нь тохиргооны файлд амьдарч болох бол нөгөө нь сесс бүрт нээгддэг түлхүүрийн бөгцөгт суудаг тул нууц үгийг дахин асуудаг клиент зүгээр л өөрт зориулж хийсэн зүйлээ хийж байна. Асуултыг зогсоохын тулд профайлыг устгах нь хүмүүс ажиллаж буй тохиргоогоо алддаг зам юм.
Онцгой эрхтэй эхлэлүүд үүнийг улам хүндрүүлдэг, учир нь sudo эсвэл PolicyKit туслахыг ашигласан эхлэл өөр гэрийн директор болон улмаар өөр тохиргооны багцыг танилцуулж болно. Эзэмшлийг бүхэл гэрийн директороор рекурсив байдлаар биш, програмын баримтжуулсан тодорхой файл дээр засаад дараа нь цаашид профайлыг аль таних нэгж эзэмших ёстойг шийдэж, ирээдүйн эхлэлүүдийг түүнтэй нийцүүлэн байлгаарай.
Дүрс танд юу хэлж чадах, юу чадахгүй
Дүрс нь ачаалагчийн файл шийдэгддэгийг нотолдог, үүнээс өөр юу ч биш. Холболтын төлөв клиентэд хамаарах тул цорын ганц найдвартай шалгалт нь интерфэйс, маршрут эсвэл клиентийн өөрийн статусын гаралт юм. Эхлээгүй тавиурын апплет ажиллаж буй туннелийг эвдэрсэн мэт харагдуулж болох бол хуучин апплет эвдэрсэнийг хэвийн мэт харагдуулж болно. Холболт ба ачаалагчийг тусад нь шалгаад дараа нь аль нь үнэхээр засснаа бичиж үлдээгээрэй.
Хэрэв хоёул эвдэрсэн бол засварыг нэг өөрчлөлт гэж үзэх уруу таталтад эсэргүүцээрэй. Бичлэгийг засаж, эхлэлийг баталгаажуулаад дараа нь туннелийг баталгаажуулж, алхам бүрийн үр дүнг тэмдэглээрэй. Тэр бичлэг л дараагийн алдагдсан тохиргооны тайланг үүний давталт биш, оношлогооны боломжтой болгож, дараагийн хүнд асуудлын аль хагас нь бодит байсныг хэлдэг.