1. augustā Arch Linux izstrādātāju vēstkopā parādījās vēstule ar tematu “Resignation”. Morten Linderud, kurš pazīstams ar segvārdu Foxboron, pēc gandrīz desmit gadiem aiziet no projekta. Vēstules beigās ir saraksts ar 24 pakotnēm, kas paliek bez viņa. Desmit no tām viņš uzturēja viens pats.
Divas pakotnes sarakstā ir tādas, bez kurām Arch instalācija nenotiek vispār: mkinitcpio un arch-install-scripts. Pats Linderud vēstulē norāda, ka abas jau tagad ir palikušas bez aktīva uzturētāja.
Kas tieši paliek bez saimnieka
Saraksts dalās divās daļās. Pirmajā ir pakotnes, kurām Linderud bija vienīgais uzturētājs: fsverity-utils, flatpak-xdg-utils, pesign, libmakepkg-dropins, wpa_supplicant un piecas tpm2 saimes pakotnes (tpm2-tss, tpm2-tools, tpm2-pkcs11, tpm2-totp, tpm2-tss-engine).
Otrajā daļā ir pakotnes, kurām vajag otru cilvēku blakus palikušajiem uzturētājiem: arch-install-scripts, archlinux-contrib, archlinux-keyring, archlinux-repro, debugedit, mkinitcpio, mkinitcpio-busybox, bolt, nvme-cli, crun, gopls, go-tools, pacman un sbctl.
Šajā sarakstā nav eksotikas. wpa_supplicant ir process, kas Linux mašīnu piesaka WPA2 un WPA3 tīklos. crun ir konteineru izpildvide, ko Podman lieto pēc noklusējuma. nvme-cli pārvalda NVMe diskus. pacman ir pati pakotņu pārvaldības programma, ap kuru viss pārējais ir uzbūvēts.
Piecas tpm2 pakotnes ir atsevišķs stāsts. tpm2-tss ir atsauces bibliotēka darbam ar TPM 2.0 mikroshēmu. Virs tās stāv tpm2-tools ar komandrindas rīkiem un tpm2-pkcs11, kas ļauj TPM izmantot kā viedkarti. Šo kopumu lieto katrs, kas diska šifrēšanas atslēgu glabā mikroshēmā. Linderud pats šajā jomā strādā visvairāk, tāpēc arī Arch pakotnes savulaik nonāca viņa rokās.
mkinitcpio ir Arch pašu rakstīts kods
mkinitcpio uzbūvē initramfs, to mazo pagaidu failu sistēmu, ko kodols ielādē atmiņā pirms īstās saknes montēšanas. Tur iekšā nonāk diska draiveri, LUKS atšifrēšanas rīki, LVM moduļi un viss pārējais, kas vajadzīgs, lai sistēma vispār atrastu savu saknes nodalījumu. Sabojāts initramfs nozīmē mašīnu, kas neieslēdzas.
Debian un Fedora šo darbu dara ar dracut vai initramfs-tools. Abiem rīkiem uzturētāji ir vairākās distribūcijās vienlaikus, tāpēc slodze sadalās. mkinitcpio ir Arch paša izstrādāts rīks, ko ārpus Arch un tā atvasinājumiem praktiski neviens nelieto. Visa uzturēšana gulstas uz vienu projektu.
arch-install-scripts ir tikpat pamatīga lieta. Tajā ir pacstrap, arch-chroot un genfstab. Katra Arch instalācijas instrukcija, arī oficiālā ArchWiki lapa, sākas ar pacstrap izsaukumu.
Atslēgu gredzens un pārbūvējamās pakotnes
archlinux-keyring satur PGP publiskās atslēgas, ar kurām pacman pārbauda katras lejupielādētās pakotnes parakstu. Ja gredzenā paliek atsauktas atslēgas vai netiek pievienotas jauno uzturētāju atslēgas, lietotāju atjauninājumi sāk klupt uz paraksta kļūdām. Šo pakotni nevar atstāt novārtā pat mēnesi.
Gredzena atjaunināšana ir arī sociāls process. Katru jaunu uzturētāja atslēgu vispirms paraksta vairāki esošie izstrādātāji. Tikai pēc tam tā nonāk archlinux-keyring laidienā un aiziet līdz lietotājiem. Jo mazāk cilvēku šo ķēdi uztur, jo lēnāk jaunie uzturētāji vispār sāk strādāt.
archlinux-repro ir rīks, ar ko pārbaudīt, vai konkrētu Arch pakotni var pārbūvēt bit pa bitam identisku oficiālajai. Linderud ap reproducējamiem būvējumiem strādāja gadiem. Tas ir praktiskākais veids, kā pārliecināties, ka būvēšanas serverī neviens nav pievienojis papildu kodu. Rezultātus publiski rāda reproducible.archlinux.org.
“Lietas mainās un ir īstais brīdis atlaist,” raksta Linderud savā blogā. Ne vēstulē, ne blogā nav sūdzību par projektu vai konflikta apraksta.
Desmit gadi debug pakotnēs un Git migrācijā
Linderud pievienojās Arch drošības komandai pēc tikšanās ar Arch izstrādātājiem 33C3 konferencē 2016. gada decembrī. Pieteikumu uz pakotņu uzturētāja lomu viņš iesniedza aptuveni gadu vēlāk. Viņa redzamākie darbi projektā ir divi. Pirmais ir debug pakotņu infrastruktūra, kas ļauj lietotājiem dabūt atkļūdošanas simbolus bez pakotnes pārbūvēšanas. Otrais ir sākotnējais darbs pie pārejas uz Git balstītu pakotņu koku. 2020. gadā viņš vēl noorganizēja Arch tiešsaistes konferenci.
Praksē pakotne, kas Arch repozitorijā paliek bez uzturētāja, uzreiz nepazūd. Tā turpina eksistēt un tiek pārbūvēta, kad mainās bibliotēku versijas. Kas apstājas, ir versiju celšana uz jaunāku augšupējo laidienu, kļūdu ziņojumu šķirošana un labojumu pārnešana. Drošības ielāpiem tas ir tas gadījums, kad kāds cits ir izlabojis problēmu, bet Arch lietotājs to nesaņem, jo neviens nav uzspiedis pogu.
Ko viņš turpina darīt
Aiziešana attiecas uz Arch pienākumiem. Linderud raksta, ka turpinās strādāt pie projektiem ap TPM, drošo sāknēšanu un platformas drošību. Praksē tas nozīmē sbctl, Secure Boot atslēgu pārvaldnieku, ko lieto arī ārpus Arch. Otrs viņa projekts ir ssh-tpm-agent, kas SSH privātās atslēgas tur TPM mikroshēmā. Arch sbctl pakotne tomēr ir tajā pašā sarakstā, kur vajadzīgs otrs uzturētājs.
Uz vēstuli vēstkopā pagaidām atbildējis viens cilvēks. Campbell Jones pateicās par darbu un novēlēja veiksmi. Hacker News pavediens ar vairākiem desmitiem komentāru arī sastāv galvenokārt no pateicībām un atsauksmēm par ssh-tpm-agent. Neviens publiski nav pieteicies pārņemt mkinitcpio vai arch-install-scripts.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.