1. 程式人生 > >小心!Ubuntu14.04 升級到16.04 的幾個坑

小心!Ubuntu14.04 升級到16.04 的幾個坑

收錄待用,修改轉載已取得騰訊雲授權

昨天趁著週末把伺服器升級了一把,遇到的坑可不少:

sudo apt update
sudo apt dist-upgrade

坑1:升級失敗後,改用下面命令:

sudo do-release-upgrade

坑2:若中間配置失敗,再可以執行:

sudo dpkg --configure -a

坑3:若下載包資源失敗,則修改資原始檔列表:

cat /etc/apt/sources.list

例如這是騰訊伺服器的:

deb http://mirrors.tencentyun.com/ubuntu xenial main restricted universe multiverse

deb http://mirrors.tencentyun
.com/ubuntu xenial-updates main restricted universe multiverse deb http://mirrors.tencentyun.com/ubuntu-security xenial-security main restricted universe multiverse deb-src http://mirrors.tencentyun.com/ubuntu xenial main restricted universe multiverse deb-src http://mirrors.tencentyun.com/ubuntu xenial-updates main restricted universe multiverse

坑4:這時再返回來執行sudo apt update,而不是 sudo do-release-upgrade

包下載完畢後會自動執行,一路回車,驗證安裝是否正確。

檢視Ubuntu版本

sudo lsb_release -a

檢視mysql和php:利用phpmyadmin來看,一覽無餘,且這貨基本是伺服器標配置

也可執行php的指令碼命令檢視:phpinfo(); //放在一個php檔案中,在瀏覽器訪問

坑5:若phpmyadmin這個web程式報mysql連線不上錯誤,則修改

找到phpmyadmin資料夾下面的config.inc.php檔案並開啟,找到這兩行程式碼:

$cfg['Servers'][$i]['controluser'] = '';
$cfg['Servers'][$i]['controlpass'] = '';

將其改成你的資料庫使用者和密碼,儲存檔案;

坑6:若需要手工安裝php7則執行:

sudo apt-get install php7.0-curl php7.0-json php7.0-cgi

坑7:若提示mbstring的PHP錯誤,則安裝:

sudo apt install php-mbstring

若提示curl的PHP錯誤,則安裝:

sudo apt-get install curl libcurl3 libcurl3-dev php7.0-curl

坑8:若提示mysql的DISTINCT錯誤,修改配置:mysql的配置

/etc/mysql/my.cnf
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

最後打掃一下戰場:

apt autoremove

我期待以後的雲提供一鍵升級服務。

值得一提的是:我拒絕了某些人提出的重灌伺服器的自殺式建議。再過幾天國產第一艘航母就要下水了,我想自己程式設計再難也沒難過造它吧:)