Ядро жаңыртылгандан кийин WireGuard модулу жүктөлбөй жатабы? Муну текшериңиз
Сырткы модуль аны жүктөй турган ядрого каршы курулушу керек, дисктеги эң жаңы аталыштар топтомуна каршы эмес. Кайра куруудан мурун иштеп жаткан чыгарылышты текшериңиз.
Сиздин туннелиңиз кечээ иштеп жаткан, жаңыртуудан кийин машина кайра жүктөлдү, ал эми азыр интерфейс көтөрүлбөй жатат. WireGuard сырткы модуль катары курулган системада адаттагы себеп — дисктеги модуль азыр иштеп жаткан ядро чыгарылышынан башка чыгарылышка таандык. Ошол эле машинадагы окшош аталыштагы аталыштар бул дал келүү жөнүндө эч нерсени далилдебейт. Муну тек чыгарылыш сабы чечет.
Иштеп жаткан же орнотулган ядро
Жаңыртуу жаңы ядро топтомун орнотуп, машина кайра жүктөлгөнгө чейин эскисин дискте калтырат. Кайра жүктөөдөн кийин иштеп жаткан чыгарылыш өзгөрөт, ал эми мурункусуна каршы курулган ар кандай модуль файлдары дагы бар болсо да жараксыз болуп калат. Бул айырмачылык кайра жүктөөдөн мурун жакшы болуп, кийин бузулган машина тууралуу тааныш кабарды түшүндүрөт, ортосунда конфигурация өзгөрүүсү жок. Ошондой эле аталыштарды кайра орнотуу кээде маселени чечкендей көрүнүп, кээде көрүнбөй турганын түшүндүрөт.
Сиз орноткон аталыштар топтому чындап жүктөлгөн ядрого эмес, эң жаңы ядро топтомуна туура келиши мүмкүн, жана топтомдун аталышында бул учурларды ажырата турган эч нерсе жок; муну тек чыгарылыш сабы жасайт. Эмне орнотулганын текшерүүдөн мурун эмне иштеп жатканын текшериңиз.
Кайра куруудан мурун үч текшерүү
Биринчи текшерүү — кайсы ядро иштеп жатат. Экинчиси — ошол чыгарылыш үчүн модуль барбы жана аны табууга болобу. Үчүнчүсү — ядро аны мурун эле жүктөдүбү. Төртүнчү суроо, башкача айтканда интерфейсти түзүүгө болобу, модулду эмес, артыкчылыктарды текшерет, ошондуктан анын орду бул тизмеде эмес, кайра куруудан кийин.
Төмөнкү буйруктар эч нерсени өзгөртпөстөн алгачкы үчөөнө жооп берет. Ар бир натыйжаны улантуудан мурун окуңуз, анткени ар бир жооп башка оңдоону жокко чыгарат.
uname -r
ls -l /lib/modules/$(uname -r)/build
modinfo wireguard
lsmod | grep wireguard
Эгер экинчи сап жол жок экенин билдирсе, иштеп жаткан ядро үчүн куруу чөйрөсү жок жана сиз компиляциялаган эч нерсе ага туура келбейт. Жол бар болсо да modinfo ийгиликсиз болсо, модуль такыр орнотулбаган болушу мүмкүн, бул ишке ашырууну дарактын ичинде берген ядролор үчүн кадыресе. modinfo ийгиликтүү болуп, lsmod эч нерсе көрсөтпөсө, модуль бар, бирок жүктөлгөн эмес, бул куруу эмес, жүктөө убактысынын маселеси. Ар бир натыйжа сизди башка жакка жиберет, ошондуктан окуу буйруктардан маанилүү.
Иштеп жаткан чыгарылышка каршы куруңуз
Сырткы модуль даярдалган ядро дарагына каршы компиляцияланат, ал эми ядронун сырткы модулдар боюнча колдонмосу эң жогорку версия номери бар папканы эмес, иштеп жаткан ядрого таандык куруу папкасын колдонууну сүрөттөйт. Бул куруу папкасы ядро топтому кармаган символдук шилтеме, ошондуктан ал азыр жүктөлгөн чыгарылыштын дарагына көрсөтөт. Кыйырдуулук — так ушул маселе: ал болбосо туура эмес жасай турган тандоону алып салат. Аны ачык атоо максатты бир маанилүү кылат.
Дарак толук курулбай, эле даярдалган учурда бир деталь маанилүү. Даярдоо максаты айрым сырткы курууларга керектүү символ версиялоо файлын чыгарбайт, ошондуктан аталыштарга толгон дарак автоматтык түрдө толук куруу чөйрөсү эмес. Эгер куруу жетишпеген символдорго байланыштуу ийгиликсиз болсо, ошол файл — эң оболу кароо керек болгон жер.
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules
sudo make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
sudo depmod -a
Топтомдолгон аталыштар артта калганда
Өз ядролорун топтомдогон дистрибутивдер менен бир такталуу компьютерлерде аталыштар чыгарылыштан күн же жума артта калышы мүмкүн. Аталыштар топтому аталышы боюнча туура, мазмуну боюнча эски болушу мүмкүн, бул компиляциядан өтүп, кийин компиляция убагында эмес, жүктөө убагында ийгиликсиз болгон курууну берет. Булактарды аралаштыруу муну начарлатат: үчүнчү тараптын кампасынан аталыштары бар дистрибутив ядросу же жалпы аталыштары бар өндүрүүчү ядросу таза компиляцияланып, конфигурация башка болгондуктан иштеп жаткан ядро тарабынан четке кагышы мүмкүн. Тек версия номерлери муну чечпейт.
Эгер машина эксперименталдык ядро каналын ээрчисе, тиешелүү куруу артефакттары менен ошол жерде калууну же колдоого алынган топтомдор жыйнагына кайтууну аң-сезимдүү чечиңиз. Жаңыртууну кайталап, бөлүктөр дал келет деп үмүт кылуу план эмес, анткени ошол эле дал келбестик ар жолу кайталанат.
Кайра куруудан кийин интерфейсти текшериңиз
Ийгиликтүү орнотуудан кийин интерфейсти түзүү — маанилүү сынак, андан кийин ядронун чындап эмнени жүктөгөнүн жана баш тартса журналдын эмне дегенин окуу керек. Жүктөлүүчү модуль менен түзүлбөй турган интерфейс — себептери ар башка ар башка бузулуулар. Төмөнкү үч буйрук аларды ажыратат.
sudo ip link add wg9 type wireguard
lsmod | grep wireguard
sudo dmesg | tail -5
Эгер модуль жүктөөдөн баш тартса, ядро журналы себебин атайт, ал эми версиянын дал келбестиги — жалгыз бир мүмкүнчүлүк. Кайра куруудан мурун ошол сапты окуңуз, анткени экинчи окшош куруу ошол эле он мүнөттү сарптап, ошол эле баш тартууну берет. Андан кийин убактылуу интерфейсти алып салыңыз, кийинки сынак таза абалдан башталсын.