Zure tunela atzo funtzionatzen zuen, makinak berrabiarazi zuen eguneraketa baten ondoren, eta orain interfazea ez da altxatzen. WireGuard kanpoko modulu gisa eraikitzen den sistema batean, ohiko arrazoia da diskoan dagoen modulua orain martxan dagoen kernel bertsio ezberdin batekoa dela. Makin berean antzeko izena duten goiburuek ez dute bat-etortze horren frogarik ematen. Bertsio-kateak bakarrik erabakitzen du hori.

Martxan dagoen edo instalatutako kernela

Eguneraketa batek kernel pakete berria instalatzen du eta zaharra diskoan uzten du makina berrabiarazi arte. Berrabiarazi ondoren martxan dagoen bertsioa aldatzen da, eta aurrekoaren aurka eraikitako edozein modulu erabilgaitz bihurtzen da bere fitxategiak oraindik han egon arren. Hutsune horrek azaltzen du ohiko txostena: makina bat berrabiarazi aurretik ondo zegoena eta ondoren hondatuta, tartean konfigurazio-aldaketarik gabe. Honek ere azaltzen du zergatik goiburuak berriz instalatzeak batzuetan arazoa konpontzen duela dirudien eta batzuetan ez.

Instalatzen duzun goiburu-paketea kernel pakete berrienarekin bat etor daiteke, benetan abiarazi zen kernelarekin beharrean, eta paketearen izenean ezerk ez ditu kasu horiek bereizten; bertsio-kateak bakarrik egiten du. Egiaztatu zer dabilen instalatuta dagoena egiaztatu aurretik.

Hiru egiaztapen berreraiki aurretik

Lehen egiaztapena zein kernel dabilen da. Bigarrena da bertsio horretarako modulurik badagoen eta aurki daitekeen. Hirugarrena da kernelek dagoeneko kargatu duen. Laugarren galderak, interfazea sor daitekeen, pribilegioak probatzen ditu, ez modulua, beraz berreraiki ondoren dagokio, ez zerrenda honetan.

Beheko komandoek lehen hirurei erantzuten diete ezer aldatu gabe. Irakurri emaitza bakoitza aurrera egin aurretik, erantzun bakoitzak konponketa ezberdin bat baztertzen baitu.

uname -r
ls -l /lib/modules/$(uname -r)/build
modinfo wireguard
lsmod | grep wireguard

Bigarren lerroak bidea ez dela existitzen badio, martxan dagoen kernelaren eraikuntza-ingurunea falta da eta konpilatzen duzun ezerk ez du bat egingo harekin. Bidea existitzen den bitartean modinfo huts egiten badu, modulua agian ez dago instalatuta, hau normala da inplementazioa zuhaitzean barnean ematen duten kernelentzat. modinfo arrakastatsua bada eta lsmod ezer erakusten ez badu, modulua existitzen da baina ez dago kargatuta, eta hori karga-arazoa da, ez eraikuntza-arazoa. Emaitza bakoitzak beste leku batera bidaltzen zaitu, horregatik irakurtzea komandoak baino garrantzitsuagoa da.

Eraiki martxan dagoen bertsioaren aurka

Kanpoko modulu bat prestaturiko kernel-zuhaitz baten aurka konpilatzen da, eta kernelaren kanpoko moduluen gidak martxan dagoen kernelari dagokion eraikuntza-direktorioa erabiltzea deskribatzen du, bertsio-zenbakirik altuena duen direktorioa erabili beharrean. Eraikuntza-direktorio hori kernel paketeak mantentzen duen esteka sinbolikoa da, beraz orain abiarazitako bertsioaren zuhaitzera seinalatzen du. Zeharkakotasuna da kontua: bestela gaizki egingo zenukeen aukera kentzen du. Esplizituki izendatzeak helburua argi uzten du.

Xehetasun batek axola du zuhaitza prestatu bakarrik egin denean, erabat eraiki gabe. Prestaketa helburuak kanpoko eraikuntza batzuek behar duten sinboloen bertsio-fitxategia sortzen ez duenez, goiburuz betetako zuhaitza ez da automatikoki eraikuntza-ingurune osoa. Eraikuntzak sinbolo faltagatik huts egiten badu, fitxategi hori da lehen begiratoki.

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

Paketatutako goiburuak atzeratzen direnean

Beren kernelak paketatzen dituzten banaketetan eta plaka bakarreko ordenagailuetan, goiburuak egun edo aste batzuk atzerago egon daitezke bertsioarekiko. Goiburu-paketea izenez zuzena eta edukiz zaharragoa izan daiteke, eta horrek konpilatzen den eta gero kargatzean huts egiten duen eraikuntza sortzen du, konpilazioan beharrean. Iturburuak nahasteak okerrago jartzen du: hirugarrenen biltegitik goiburuak dituen banaketa-kernela edo goiburu orokorrak dituen saltzaile-kernela garbi konpila daiteke eta hala ere martxan dagoen kernelek ukatuta izan, konfigurazioa ezberdina delako. Bertsio-zenbakiek bakarrik ez dute hori konpontzen.

Makinak kernel-kanal esperimentala jarraitzen badu, erabaki kontzienteki han geratzea eraikuntza-artefaktu egokiekin edo onartutako pakete-multzora itzultzea. Eguneraketa errepikatzea eta piezak bat etorriko direlako esperantza ez da plan bat, desadostasun bera behin eta berriz errepikatzen baita.

Egiaztatu interfazea berreraiki ondoren

Instalazio arrakastatsu baten ondoren, interfazea sortzea da axola duen proba, eta ondoren kernelek benetan zer kargatu zuen eta uko egin badu erregistroak zer dioen irakurtzea. Kargatzen den modulu bat eta sor ezin daitekeen interfaze bat huts egite ezberdinak dira, arrazoi ezberdinekin. Beheko hiru komandoek bereizten dituzte.

sudo ip link add wg9 type wireguard
lsmod | grep wireguard
sudo dmesg | tail -5

Moduluak kargatzeari uko egiten badio, kernelaren erregistroak arrazoia aipatzen du, eta bertsio-desadostasuna aukera bat baino ez da. Irakurri lerro hori berriro eraiki aurretik, bigarren eraikuntza berdin batek hamar minutu berak gastatzen baititu eta ukapen bera ematen baitu. Ondoren kendu aldi baterako interfazea, hurrengo proba egoera garbitik has dadin.

Erlazionatutako artikuluak