系統更新至ubuntu 20.04

放暑假了,終於有時間來更新一下我的伺服器,伺服器原本的系統是安裝我自製的xubuntu1804LTH_190129,ubuntu 20.04 LTS在今年上半年釋出,所以該把伺服器系統升級了!

我採用的方法是系統重灌,先將網頁資料備份到home的partition,然後原來系統中的資料庫,使用

mysqldump  -u root -p 資料庫名稱 > 資料庫名稱.sql

的指令將資料導出,還原的時候再把資料導入(PS:要先建立同名稱的空資料庫),指令是

mysql –force -u root -p 資料庫名稱 < 資料庫名稱

接下來就使用我自製的xubuntu-20.04-0513-LTH來安裝系統,除了home的partition不格式化之外,所有partition在安裝時都格式化,這樣系統比較乾淨。

安裝系統完成之後,因為是伺服器,首先要處理網路固定IP,我是使用中華電信光世代,可以免費申請固定IP,但必須用撥接程式才能固定IP。

所以我使用pppoeconf,一開始一直不通,後來查了中華電信的說明http://service.hinet.net/2004/adslstaticip_query.php,才發現我帳號後面忘記加 @ip.hinet.net ,難怪一直不通。

但是重開機之後撥接又不通了,只好清除/etc/network/interface,讓NetworkManager管理網路,接下來參考https://askubuntu.com/questions/1193856/how-to-establish-pppoe-connection-in-ubuntu,使用nmcli 指令才沒有問題

nmcli con edit type pppoe con-name “Hinet”
set pppoe.username
set pppoe.password
save
quit

網路固定IP處理完畢之後,安裝gufw,開啟防火牆,只開放80 port;接下來把備份的網頁、資料庫裝回來,伺服器就更新完成。

But,就是這個But……

當我試著在xoops安裝tad_theme模組時,出現了

Specified key was too long; max key length is 1000 bytes

參考了https://cloud.tencent.com/developer/article/1005696,和https://dba.stackexchange.com/questions/231219/mariadb-10-1-38-specified-key-was-too-long-max-key-length-is-767-bytes

我就去修改mariadb的設定

[mysqld]

innodb_file_format = Barracuda
innodb_file_per_table = true
innodb_default_row_format = dynamic
innodb_large_prefix = on

發現還是安裝不起來,最後只好去看tad_theme的sql碼。

原來tad_theme模組在建立資料庫時,有加ENGINE=MYISAM,我剛剛的設定都是針對InnoDB。

所以我就用文字編輯器,使用搜尋取代功能把engine=MyISAM 取代成engine=InnoDB。

再次安裝模組,終於成功了!!!

分類: server。這篇內容的永久連結