將 Devuan 升級到 Daedalus,PHP 也升級到 PHP8.2.7。

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

devuan.png

大家好,我是無能。

Devuan 的 Daedalus 儲存庫中有 PHP8.x,所以這次我決定將整個作業系統升級。我記得大約在今年六月的時候,在開發者或測試用的儲存庫中看到它,當時嘗試導入卻失敗了,所以當它進入主儲存庫時,我又迫不及待地成為了白老鼠。

雖然很簡單,但如後所述,我的情況是在執行後需要進行一些手動調整。

官方有提供執行方法:
https://www.devuan.org/os/documentation/install-guides/daedalus/upgrade-to-daedalus

用 Vim 打開 /etc/apt/sources.list,將之前的儲存庫用 # 註解掉,然後複製貼上以下內容。

deb http://deb.devuan.org/merged daedalus main
deb http://deb.devuan.org/merged daedalus-updates main
deb http://deb.devuan.org/merged daedalus-security main
#deb http://deb.devuan.org/merged daedalus-backports main

執行 apt update, apt upgrade, apt dist-upgrade,並在過程中偶爾回應問題,直到完成。

執行 apt autoremove --purge, apt autoclean 刪除多餘的檔案,然後重新啟動。

這裡出現了一些問題。
為了確認,我也在 GUI 中操作,但執行 startx 後,桌面畫面顯示出來後就卡住了。

在伺服器 PC 上安裝桌面環境,可能會被高層說三道四吧……。

我找到了以下資訊:

https://gihyo.jp/article/2023/08/daily-linux-230816

>Devuan 於 2015 年從 Debian 分叉出來,旨在提供「無 systemd 的 Debian」,它採用 SysVinit 作為預設啟動系統(init),並追隨 Debian 穩定版發布的進度進行開發。在 Devuan 5.0 中,為了以無根(rootless)方式執行 startx(以一般使用者身份執行 startx),使用了 libseat1 函式庫,這移除了 xserver-xorg-core 套件對 DBus 的依賴,並允許選擇 seatd 或 elogind 作為後端。此外,Wayland GUI 也得到了改進,透過安裝 libpam-ck-connector、sway 和 seatd,可以在不使用 elogind 的情況下啟用 Wayland。

我心想,會不會是 Wayland 在作怪?於是嘗試直接執行 Xfce4。

因此,我編輯了 startx 執行的檔案 /etc/X11/xinit/xinitrc,改為以下內容:

exec startxfce4

結果,症狀沒有改變。

最終,我懷疑是不是驅動程式的問題……。

apt install xserver-xorg-input-all

執行後,問題解決了!

此外,在更改環境後,我也嘗試將容易損壞的 .Xauthority 在前一階段重新命名並重新生成。

Wireguard 無法運作……

Wireguard 好像無法運作了。
查看 netstat -nr,路由表似乎沒有正確生成。

我花了幾個小時才意識到可能是網路驅動程式載入了多餘的東西導致衝突,於是嘗試刪除 connman。

apt remove connman

成功了\(^o^)/!!!

PHP8.2.7 可以使用了!

我不是專家,所以沒有詳細確認變更點,但據說 PHP8.2.7 比 PHP7.4 快了約 20%,確實感覺速度變快了。
我很好奇,有沒有什麼方法可以對 PHP 進行基準測試呢?

雖然進行了一些手動調整,但我會將這些內容記錄在之後的文章中,以便自己搜尋和理解。

那麼,就這樣了。

Related Posts