其實最近一兩個月都會在
emerge –sync
之後, 馬上來一發
emerge –ask -1vUD @world
做 regular system update 的 maintenance
之前大概是一年或半年才會想到一次…. 那就有機會是大工程….
兩年前發現 portage 可以走 git 所以其實這更新可以 git checkout 逐月一直滾動更新上來補課
但是這次撞牆了! 按 README 更新完之後 無論遠端還是 local 都無法登入:
gentoo login module failed
看起來是跟 PAM 有關,
這邊有個智障的小插曲是… 在更新前都會備份 system image, 但是 system image 放在 local 的 zfs, 那個 zfs 又很剛好 cross一個需要 kernel boot 關掉 iommu 才能 正確使用的 SATA controller, 導致 live OS (手邊當時只有 Linux Mint 的 install USB disk), 根本無法掛載那個 zfs
簡單的說….就是系統備份檔只能用原機才能掛載!!! 但是機器又不能登入, 超級囧
好在, PAM擋的只有 shell 登入, 但 NFS & samba 遠端都還能 access, 意味著仍然可以拿到 system image的備份檔… 這時候已經是 6/24 半夜…. 沒錯, 剛旅行回來, 又遭遇這種惡耗真的是…..瘋狂….原本以為大半輩子的 data 就這樣再也拿不回來了 lol (好吧 其實有異地備援…大概是五年前的備份了)
後面發現, 主要是很久之前假掰的去搞了 selinux build, 但是實際上一直沒開 (permissive) 但是換 profile的時候, make build world 遇到 build failed, 但因為中間無法介入維修 導致 dependency issue, 實際上錯誤是遭遇了無限的
Failed to resolve typeattributeset statement at /var/lib/selinux/strict/tmp/modules/100/apm/cil:71
Failed to resolve AST
廢棄了兩個禮拜, 今天終於修好, 主要是 profile 要先切到 non-selinux 後要先執行 (這次是先從 default/linux/amd64/17.1/selinux 切到 default/linux/amd64/17.1):
emerge –ask –update –newuse –deep @world
確保所有package 不會再用 selinux 的 usage, 在這之後建議要先
emerge –ask –emptytree –usepkg=n @system #這行可以省略…我只是比較謹慎
emerge –ask –emptytree –usepkg=n @world
把整個 world package 都更新一遍, 最後才真的切到 2023 的 profile: default/linux/amd64/23.0/split-usr 然後再保守的重新 build world (我自己事後視覺的不需要)
沒錯, 整個過程要 make build world…. 4 times, 因為是 computing bound 的 task, 又為了安全起見, 這整個 task 是透過另一台 Ryzen 9 5950X chroot 在build…. 16 cores 32 threads …. 在不到 12小時完成…… 真是 appreciate 蘇媽啊
這次順便修了一下 lm_sensors … 沒想到 amd 的內建 sensor 忘了開
另外把 kernel 3.x, 4.x, 5.x 的 ko都清掉之類的
還在想要不要升級 kernel 6.1 for AMD 自己的 HW Power-control …. 不過算了這好像還好 … kernel 5.10 可能支援度比較高 !?…. 就繼續用到 EOL吧 (2026 Dec)
整個系統其實只是一個 home NAS … 在這雲端年代, 其實可以廢掉了, 但這也算是個人從學生時代的一個小堅持….. 這個小系統從 FreeBSD migrate到 gentoo Linux 至今應該也有個 15年 … 希望這個小堅持可以繼續下去 XDrz
目前規格是第三代主機 (第一代 Opteron 170, 第二代 Athlon X4 5350 從此有了 ECC memory support) 整機待機 20W
AMD Ryzen 7 2700E
DDR4 ECC 16GB
3-Way RAID-Z1
無顯示
機殼 power key 已經短路了, 2003 年買的, 聯立不知道啥的…. 記得有點貴

