今天被要求解決一個樹莓派無法正常安裝 MySQL 的問題。以下是解決過程記錄。
我在 Mac 上利用 SSH 連接到樹莓派,執行 sudo apt-get install mysql-server mysql-client 后出現以下錯誤。
有一些軟件包無法被安裝。如果您用的是 unstable 發行版,這也許是 因為系統無法達到您要求的狀態造成的。該版本中可能會有一些您需要的軟件 包尚未被創建或是它們已被從新到(Incoming)目錄移出。 下列信息可能會對解決問題有所幫助: 下列軟件包有未滿足的依賴關系: 下列軟件包有未滿足的依賴關系: mysql-client :以來:mysql-client-5.5 但是它將不會被安裝 mysql-server :以來:mysql-server-5.5 但是它將不會被安裝 E: 無法修正錯誤,因為您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關系。
截圖如下。
我被告知安裝 mysql-client-5.5 和 mysql-server-5.5 還會出現別的依賴問題,繼續安裝提示的包也不能解決問題,感覺是個無底洞。所以我又尋找了別的方法。
根據一篇博客的提示(找不到鏈接了),可以利用 aptitude 下載 MySQL。執行以下操作。
sudo apt-get update sudo apt-get install aptitude sudo aptitude install mysql-server mysql-client
結束后,沒有出現之前的錯誤,但是當我輸入 mysql 后依然顯示找不到指令。顯然,這個方式不適用於我這種情況。(不過大家還是可以試一試這個方法,也許可以解決問題。)
在搜尋過很多文章后,我感覺問題可能出在源上。當時這個樹莓派已經被換過源了,換成了阿里雲源。我嘗試着換成另一個源。找到了一個詳細的換源文章(https://www.jianshu.com/p/768f0181672b),換成了中科大的軟件源和系統源。根據提示,執行下列操作。
#備份源文件 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
#修改軟件更新源 sudo nano /etc/apt/sources.list
進入文件后將之前信息注釋,然后添加第一行 deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi 。按 Ctrl + O 保存,按回車,再按 Ctrl + X 退出編輯。
#修改系統更新源 sudo nano /etc/apt/sources.list.d/raspi.list
進入文件后將之前信息注釋,然后添加第一行 deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ stretch main ui 。按 Ctrl + O 保存,按回車,再按 Ctrl + X 退出編輯。
然后運行:
#同步更新源 sudo apt-get update #更新升級以安裝軟件包 sudo apt-get upgrade
完成以上操作后,就可以再次執行 sudo apt-get install mysql-server mysql-client 完成 MySQL 的安裝了。