Il-modulu WireGuard ma jiġix mgħobbi wara aġġornament tal-kernel? Iċċekkja dan
Modulu estern irid jinbena kontra l-kernel li se jgħabbih, u mhux kontra l-aħħar pakkett ta’ intestaturi fuq id-diska. Iċċekkja r-rilaxx li qed jaħdem qabel terġa’ tibni.
Il-mina tiegħek ħadmet ilbieraħ, il-magna reġgħet tħaddmet wara aġġornament, u issa l-interface ma titlax. Fuq sistema fejn WireGuard jinbena bħala modulu estern, il-kawża tas-soltu hija li l-modulu fuq id-diska jappartjeni għal rilaxx tal-kernel differenti minn dak li qed jaħdem issa. Intestaturi b’isem simili fuq l-istess magna ma jippruvaw xejn dwar dik il-qbil. Huwa biss is-sekwenza tar-rilaxx li tiddeċiedi dan.
Kernel li qed jaħdem jew installat
Aġġornament jinstalla pakkett ġdid tal-kernel u jħalli l-qadim fuq id-diska sakemm il-magna terġa’ tħaddem. Wara t-tħaddim mill-ġdid ir-rilaxx li qed jaħdem jinbidel, u kull modulu mibni kontra dak preċedenti jsir mhux użabbli għalkemm il-fajls tiegħu għadhom hemm. Dik il-lakuna tispjega r-rapport magħruf ta’ magna li kienet tajba qabel tħaddim mill-ġdid u miksura warajh, mingħajr ebda bidla fil-konfigurazzjoni bejniethom. Tispjega wkoll għaliex l-installazzjoni mill-ġdid tal-intestaturi xi drabi tidher li ssolvi l-problema u xi drabi le.
Il-pakkett tal-intestaturi li tinstalla jista’ jaqbel mal-aħħar pakkett tal-kernel u mhux mal-kernel li tħaddem tassew, u xejn fl-isem tal-pakkett ma jiddistingwi dawk il-każijiet; hija biss is-sekwenza tar-rilaxx li tagħmel dan. Iċċekkja x’qed jaħdem qabel ma tiċċekkja x’inhu installat.
Tliet verifiki qabel il-bini mill-ġdid
L-ewwel verifika hija liema kernel qed jaħdem. It-tieni hija jekk jeżistix modulu għal dak ir-rilaxx u jekk jinstabx. It-tielet hija jekk il-kernel għabbiehx diġà. Ir-raba’ mistoqsija, jiġifieri jekk l-interface tistax tinħoloq, tittestja privileġġi u mhux il-modulu, għalhekk postha wara l-bini mill-ġdid u mhux f’din il-lista.
Il-kmandi hawn taħt iwieġbu l-ewwel tlieta mingħajr ma jbiddlu xejn. Aqra kull riżultat qabel tkompli, għax kull tweġiba teskludi tiswija differenti.
uname -r
ls -l /lib/modules/$(uname -r)/build
modinfo wireguard
lsmod | grep wireguard
Jekk it-tieni linja tirrapporta li t-triq ma teżistix, l-ambjent tal-bini għall-kernel li qed jaħdem huwa nieqes u xejn minn dak li tikkompila mhux se jaqbel miegħu. Jekk modinfo ifalli filwaqt li t-triq teżisti, il-modulu jista’ ma jkunx installat xejn, li huwa normali fuq kernels li jfornu l-implimentazzjoni fis-siġra. Jekk modinfo jirnexxi u lsmod ma juri xejn, il-modulu jeżisti iżda mhuwiex mgħobbi, li hija problema tal-ħin tat-tagħbija u mhux tal-bini. Kull riżultat jibgħat lilek x’imkien ieħor, għalhekk il-qari huwa aktar importanti mill-kmandi.
Ibni kontra r-rilaxx li qed jaħdem
Modulu estern jiġi kkompilat kontra siġra tal-kernel ippreparata, u il-gwida tal-kernel għall-moduli esterni tiddeskrivi l-użu tad-direttorju tal-bini li jappartjeni lill-kernel li qed jaħdem u mhux dak id-direttorju li jġorr l-ogħla numru tal-verżjoni. Dak id-direttorju tal-bini huwa rabta simbolika li tinżamm mill-pakkett tal-kernel, għalhekk turi lejn is-siġra tar-rilaxx li tħaddem bħalissa. L-indirezzjoni hija proprju l-punt: tneħħi għażla li kieku tagħmel ħażin. L-isem espliċitu tagħha jagħmel il-mira mingħajr ambigwità.
Dettall wieħed huwa importanti meta s-siġra tkun biss ippreparata u mhux mibnija għal kollox. Il-mira tal-preparazzjoni ma tipproduċix il-fajl tal-verżjoni tas-simboli li jeħtieġu xi bini estern, għalhekk siġra mimlija intestaturi mhijiex awtomatikament ambjent tal-bini komplut. Jekk bini ifalli minħabba simboli neqsin, dak il-fajl huwa l-ewwel post fejn wieħed iħares.
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
Meta l-intestaturi ppakkjati jaqgħu lura
Fuq distribuzzjonijiet u kompjuters b’bord wieħed li jippakkjaw il-kernels tagħhom stess, l-intestaturi jistgħu jaqgħu lura b’jiem jew ġimgħat mir-rilaxx. Il-pakkett tal-intestaturi jista’ jkun korrett fl-isem u eqdem fil-kontenut, li jipproduċi bini li jiġi kkompilat u mbagħad ifalli fil-ħin tat-tagħbija minflok waqt il-kompilazzjoni. It-taħlit ta’ sorsi jiggrava l-affarijiet: kernel tad-distribuzzjoni b’intestaturi minn repożitorju ta’ partijiet terzi, jew kernel tal-fornitur b’intestaturi ġeneriċi, jista’ jiġi kkompilat b’mod nadif u xorta jiġi miċħud mill-kernel li qed jaħdem għax il-konfigurazzjoni hija differenti. In-numri tal-verżjoni waħedhom ma jsolvux dan.
Jekk il-magna ssegwi kanal tal-kernel sperimentali, iddeċiedi b’mod konxju jekk tibqax hemm b’artefatti tal-bini li jaqblu jew tirritorna għas-sett tal-pakketti appoġġjat. It-tirbit tal-aġġornament u t-tama li l-biċċiet jallinjaw mhuwiex pjan, għax l-istess nuqqas ta’ qbil jerġa’ jidher kull darba.
Ivverifika l-interface wara l-bini mill-ġdid
Wara installazzjoni b’suċċess, il-ħolqien tal-interface huwa t-test li jgħodd, u wara dan il-qari ta’ dak li l-kernel tassew għabba u dak li jgħid il-log jekk irrifjuta. Modulu li jiġi mgħobbi u interface li ma tistax tinħoloq huma fallimenti differenti b’kawżi differenti. It-tliet kmandi hawn taħt jifirduhom.
sudo ip link add wg9 type wireguard
lsmod | grep wireguard
sudo dmesg | tail -5
Jekk il-modulu jirrifjuta li jiġi mgħobbi, il-log tal-kernel isemmi r-raġuni, u nuqqas ta’ qbil fil-verżjoni huwa biss waħda mill-possibbiltajiet. Aqra dik il-linja qabel terġa’ tibni, għax it-tieni bini identiku jqatta’ l-istess għaxar minuti u jagħti l-istess rifjut. Wara dan neħħi l-interface temporanja sabiex it-test li jmiss jibda minn stat nadif.