起因是工作站到了,需要安裝開發(fā)環(huán)境湾盒,原本很簡單的事情湿右,沒想到前前后后竟然拖了近一周。
開發(fā)環(huán)境是Ubuntu罚勾,故首先考慮安裝20.04毅人,安裝順利,但代碼編譯時尖殃,提示Python版本不兼容丈莺,提示了很多錯誤。
這才知道需要編譯的代碼分衫,因為一些原因必須使用Python3.6.9场刑。
期間不是沒用考慮過直接安裝18.04,但工作站的顯卡比較新,在進入安裝界面后牵现,電腦黑屏铐懊,沒辦法進一步安裝。
查了些資料瞎疼,思量了下科乎,試了下面幾個方案。(熟練工可能里面就會想到Pyenv之類贼急,奈何Python不怎么熟悉茅茂。)
方案一:第三方源安裝Python3.6+update-alternatives配置
印象中默認安裝的版本是python3.6.15,一方面這不是我想要的版本太抓。同時解決不了/usr/bin/python3連接的版本仍然是Python3.8的問題空闲。
因為20.04默認Python為3.8,通過通過 ln -sf修改走敌,但仍然在編譯的時候會導致其他問題碴倾。
放棄。
方案二:卸載自帶的Python3.8+源碼編譯Python3.6.9
這個是最不可取的方法掉丽,卸載系統(tǒng)默認的Python3.8跌榔,會有一系列的問題。雖然有辦法打補丁捶障,但不美觀僧须。
最后在修復這些一系列問題的時候,耗費了心力项炼,怒棄之担平。
上述的兩個思路,在這篇文章都提到了芥挣,細節(jié)可以再查閱其他資料驱闷。
在Ubuntu 20.04 LTS 上安裝 Python 3.9(翻譯) - muzing的雜貨鋪
方案三:virtualenv(Pyenv)
這個方案其實可以解決Python版本的問題,但吹毛求疵的毛病犯了空免,比如virtualenv每次執(zhí)行相關命令,終端需要先active虛擬環(huán)境盆耽。
Pyenv草草實驗了一下蹋砚,好像也沒生效,Python用的不多摄杂,對這種可能大多數(shù)Pythoer來說很簡單的東西坝咐,對我來說太煩了。
這幾個方案嘗試下來析恢,也花了不少精力墨坚,原本想妥協(xié)采用這個方案。
但是映挂,
編譯沒問題了泽篮,運行的時候盗尸,啟動模擬器失敗。以為仍然是Python的問題帽撑,看看折騰了好幾個小時泼各,也沒成效,再怒棄之亏拉。
這之后扣蜻,其實也遇到了同樣的問題,分析了下及塘,其實是代碼不穩(wěn)定導致莽使,然則,我已轉向18.04懷抱笙僚。
周末芳肌,決定把電腦帶回家,安心盤它味咳。
考慮的方案是庇勃,將18.04的iso內核升級到20.04的版本,這樣應該就解決了黑屏的問題槽驶,畢竟20.04可以直接亮起屏幕责嚷。
再加上18.04的Python的版本默認也是3.6.9。想想簡直完美掂铐。
如果還是不行罕拂,就走上面的第三個方案。
那么擺在面前的問題就是:
1. 修改Ubuntu的iso文件全陨,參考使用Cubic自制Ubuntu發(fā)行版 - 簡書 (jianshu.com)
2. 如何替換Ubuntu內核爆班,參考ubuntu18.04 升級linux kernel的幾種方式_musiclvme的專欄-CSDN博客_ubuntu升級kernel,直接在Cubic內執(zhí)行辱姨,則完成了iso的定制柿菩。
所幸,安裝順利雨涛。
題外話枢舶,替換內核之前,嘗試了保留18.04內核替久,僅替換顯卡的驅動的方案凉泄。
希望讓修改再小些,但實驗了幾輪后蚯根,沒解決黑屏的問題后众,也就放棄了。但發(fā)現(xiàn)了個可以下載各類包的網(wǎng)站:https://pkgs.org/,感覺不錯蒂誉。
這里面涉及到的點是教藻,安裝Nvidia顯卡驅動,網(wǎng)上的文章很多拗盒,我其實沒詳細驗證怖竭,可以自行搜索。
我實驗的方案是陡蝇,在18.04里面安裝nouveau的驅動以及直接更新Nvidia 470的包痊臭。
對于Ubuntu下的Nvidia驅動,我還是情愿走系統(tǒng)界面的驅動更新登夫。
本以為到此可以結束了广匙,一切都那么完美,下代碼恼策,編譯不見紅鸦致,在啟動的時候提示工程里的virtualbox版本太低,而這個版本在當前內核5.11下不支持涣楷。
查閱了virtualboxChapter 15. Change Log (virtualbox.org)分唾,的確如此。
這樣要么升級virtualbox版本狮斗,要么降級與切換內核版本ubuntu如何進行切換內核版本全教程_Thanours的博客-CSDN博客_ubuntu切換內核版本绽乔。
成年人不做選擇題,我都嘗試了碳褒,又是耗費心力的過程折砸。
最后,查了下顯卡的生產(chǎn)日期沙峻,選了個靠近的內核版本睦授,沒有升級virtualbox版本也可以正常啟動。
當然摔寨,折騰到這步去枷,我也試了下,升級virtualbox版本是复,發(fā)現(xiàn)也能正常運行沉填。
但是通過apt install安裝的版本較新,工程里的代碼支持不是很好佑笋,也會報錯。
手動安裝斑鼻,Index of http://download.virtualbox.org/virtualbox蒋纬,注意下載對應Ubuntu版本的安裝包。
剩下的就是一些雜魚了:
? 直接使用了Ubuntu系統(tǒng)自帶的“Startup Disk Creator”制作了啟動U盤后,想通過UI界面的格式化操作蜀备,始終失敗关摇。
? 用mkfs命令格式化U盤 - 簡書 (jianshu.com)
? 解決類似umount target is busy掛載盤卸載不掉問題 - Adrian·Ding - 博客園 (cnblogs.com)
? 解決Linux系統(tǒng)筆記本合蓋黑屏與休眠的問題 - 簡書 (jianshu.com)
? Ubuntu18.04安裝后檢測不到集成聲卡問題_zgq_HIT的博客-CSDN博客_ubuntu識別不到聲卡
小結一下未來可能讓不經(jīng)意間裝X的幾條命令:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1 --> 軟件多版本管理
sudo ln -sf /usr/bin/python3.8 /usr/bin/python3 --> 強制更改軟件定向
grep menuentry /boot/grub/grub.cfg --> 查看內核啟動順序
cat /proc/asound/cards --> 查看聲卡信息
sudo mkfs.ntfs -F /dev/sdf -I --> 格式化分區(qū)