Ո՞ր openvpn երկուականն է աշխատում. Ստուգեք գործարկման ուղին
Հրամանի անունը, ծառայության ուղին և փաթեթի ֆայլը կարող են լինել երեք տարբեր օբյեկտներ։ Ստուգեք գործարկման ուղին, հաստատեք փաթեթի ֆայլերը, ապա հեռացրեք փաթաթանը։
Հին լուծումներից մեկը OpenVPN-ի գործարկվող ֆայլը տեղափոխել էր այլ տեղ և սկզբնական ուղու վրա թողել shell-փաթաթան։ Ամիսներ անց գալիս է թարմացում, և լուծումը հետարկելը վերածվում է գուշակության խաղի այն մասին, թե որ ֆայլն է իրականում հաճախորդը։ Հրամանի անունը, ծառայությունում կարգավորված գործարկվող ֆայլը և փաթեթի սեփական ֆայլերի ցանկը կարող են մատնանշել տարբեր օբյեկտների, և դրանցից մեկը մյուսներից անկախ վերանորոգելը ստեղծում է հոսթ, որը վերանորոգված է թվում և ավելի վատ վարվում։
Սկսեք այն ուղուց, որը գործարկում է ծառայությունը
Տերմինալը և systemd-միավորը գործարկվող ֆայլերը նույն կերպ չեն լուծում։ Shell-ը փնտրում է PATH-ում, միավորը նշում է ուղի, և drop-in վերագրանցումները կարող են փոխարինել այն՝ չդիպչելով ձեր կարդացած ֆայլին։ Այդ տարբերությունը բացատրում է այս առաջադրանքի շփոթության մեծ մասը։ Այն նաև որոշում է, թե որ ֆայլին պետք է ուղղվի ձեր վերանորոգումը։
Հարցրեք միավորին, թե ինչ է այն գործարկում, ներառյալ այն փոփոխող drop-in-ները, և կարդացեք ստացված ExecStart տողը, այլ ոչ այն հատվածը, որը հեղինակավոր եք համարում։ Այնուհետև հետևեք այդ ուղուն ցանկացած սիմվոլիկ հղումով մինչև վերջնական ֆայլը։ Փաթաթան, որը exec-ով ավարտվում է թաքնված պանակում, այս հին լուծումների սովորական դասավորությունն է։
Գրի առեք լուծված ուղին, նախքան ինչ-որ բան փոխելը։
systemctl cat [email protected] | grep -n 'ExecStart'
readlink -f "$(command -v openvpn)"Համեմատեք հրամանի անունը ծառայության ուղու հետ
Երկու պատասխանները հաճախ տարբեր են, և այդ տարբերությունն ինքնաբերաբար թերություն չէ։ NetworkManager-ի պլագինը կարող է գործարկել իր ուղին, իսկ կոնտեյները՝ տեղադրել ևս մեկը։
Կարևոր է իմանալ, թե որ սեփականատերն է գործարկում երթևեկությունը սպասարկող գործընթացը։ Եթե միավորը գործարկում է /usr/local/sbin/openvpn-wrapper, մինչ ձեր shell-ը լուծում է /usr/sbin/openvpn, ապա երկրորդ ֆայլի վերանորոգումը ոչինչ չի փոխում ծառայության մեջ։
Հարցրեք, թե որ փաթեթին է պատկանում յուրաքանչյուր թեկնածու, ապա որոշեք՝ ֆայլը կառավարվում է փաթեթի կողմից, թե տեղադրված է տեղում։ Ֆայլը, որն ունեցող փաթեթ չունի, ֆայլ է, որը ինչ-որ մեկը դիտավորյալ դրել է այնտեղ, և այն արժանի է անվան, սեփականատիրոջ և պատճառի՝ նախքան ջնջվելը։ Հակառակ սխալը նույնպես տարածված է. փաթեթի ֆայլը հին պահված երկուականով վերագրանցելը, որովհետև ֆորումի գրառումն օգտագործել է նույն պանակը։
Թույլ տվեք փաթեթների տվյալների բազային խոսել փաթեթի ֆայլերի մասին
Երբ ծրագրաշարը եկել է Debian փաթեթից, փաթեթների տվյալների բազան կարող է ասել՝ արդյոք նրա ֆայլերը դեռ համապատասխանում են տեղադրվածին։ Սա ամբողջականության նեղ հարց է, ոչ անվտանգության դատավճիռ, և տարբերությունը կարևոր է, երբ որոշում եք, թե ինչ վերանորոգել։ Անհամապատասխանությունը նշանակում է, որ ֆայլը փոխվել է տեղադրումից հետո, ինչը կարող է լինել ձեր հին լուծումը կամ օրինական տեղական խմբագրում։ Ելքը չի որոշում, թե որն է, ուստի կարդացեք այն որպես ցուցիչ, ոչ որպես եզրակացություն։
Գործարկեք ստուգումը և կարդացեք ելքը՝ դատարկ արդյունքը որպես ինչ-որ բանի ապացույց չընդունելու փոխարեն։
dpkg -S /usr/sbin/openvpn
dpkg --verify openvpndpkg ձեռնարկը փաստում է, որ ստուգումը համեմատում է տեղադրված ֆայլերը տեղում գրանցված մետատվյալների հետ՝ օգտագործելով պահված ստուգիչ գումարները, որտեղ դրանք կան։ Այն նկատում է փոփոխված փաթեթի ֆայլը և չի կարող ասել՝ արդյոք դրա փոխարեն գործարկվում է մեկ այլ երկուական։
Գրանցեք վիճակը նախքան վերանորոգումը
Հավաքեք լուծված գործարկման ուղին, ֆայլի կապը փաթեթի հետ, փաթաթանի գտնվելու վայրը և այն փոփոխության գրառումը, որը ներմուծել է այն։ Պատճենեք փաթաթանը պաշտպանված վայրում, եթե այն պարունակում է ինտեգրման աշխատանք, որը հետագայում անհրաժեշտ կլինի։
Չտեղադրեք փաթաթանի բովանդակությունը աջակցության թեմայում նախքան այն կարդալը, քանի որ այս սկրիպտները երբեմն կրում են հավատարմագրեր կամ դարպասի մանրամասներ։
Գրանցեք, թե ծառայությունն ինչ պրոֆիլներ է օգտագործում և ով է միացած, մինչ աշխատում եք, քանի որ թունելի վերսկսումը կարող է ընդհատել այն սեսիան, որով կառավարում եք հոսթը։
Ստուգեք գործարկումը, ապա հեռացրեք փաթաթանը
Վերանորոգումից հետո գործարկեք ծառայությունը և հաստատեք, որ գործընթացն աշխատում է ձեր նախատեսած ուղով։ Ձեռքով կատարված տարբերակի հարցումը ապացուցում է, որ ֆայլն աշխատում է, այն չի ապացուցում, որ միավորն օգտագործում է այն։
Այնուհետև նորից միացրեք հաճախորդին և ստուգեք, որ պրոֆիլը դեռ նույնականացվում է, քանի որ սկզբնական ընտրանքներն անտեսող երկուականի փոխարինումը կձախողվի այնպես, որ նման կլինի վկայագրի խնդրի։
Հեռացրեք տեղափոխված փաթաթանը նույն փոփոխության գրառումով, որը ներմուծել է այն։ Ավարտված վերանորոգումը նշում է, թե որ գործարկվող ֆայլն է աշխատում, ինչու և որ ֆայլը հեռացվել է, մինչ ֆայլի անունը վերականգնելն ու հուսալը նույն բանը չեն։