寫了兩篇破事水,我在功能和外觀上簡單優化了Ubuntu系統。使用虛擬機的好處就是在不斷學習的過程中,遇到不慎損壞了系統的時候,能很快使用備份恢復為作死前的樣子。
??MATLAB是我在本科階段用的最多的編程語言,它不僅是一個數值計算的高級程序語言,它擁有的豐富的Toolbox可以使它在各種領域發揮作用,還有一個配套軟件包Simulink,提供一個可視化開發環境,常用于系統模擬、動態/嵌入式系統開發等方面。
??MATLAB也提供了MacOS、Linux等平臺的版本,它是閉源軟件,并且收費,它的安裝和破解也同樣復雜。去年我得到了一份MATLAB r2016b的Ubuntu版本,為兩個dvd文件和一個破解壓縮包,在百度云上搜索就能獲得。經過嘗試安裝破解,親測可用。于是這次重新配置Ubuntu的時候,想認真記錄下來步驟,供大家參考。當然為了防止安裝出現嚴重問題,我還是有防備地在客戶機上備份了虛擬機的硬盤文件。
??當然這在Ubuntu占得空間相當大,而之前分配的32GB空間明顯不夠,于是我看著480GB的SSD里不多的剩余空間咬了咬牙…
??在虛擬機里硬盤擴容的步驟為:
- 1、暫停虛擬機,點擊面板中“設備”的“硬盤”選項,直接打開了“虛擬機設置”窗口中的硬盤設置。
- 2、點擊“擴展磁盤容量”右邊的“擴展”按鈕,打開新窗口。
- 3、將“最大磁盤大小”擴大到80GB或以上,我選擇了96GB。
完成后重新開始虛擬機,在虛擬機中打開GParted,此時已經多出了64GB的空間。但是/dev/sda1分區的后面有一個/dev/sda2下的/dev/sda5作為交換分區。此時不能直接擴容/dev/sda1,只能在交換分區后新增/dev/sda3作為新空間,或者刪除交換分區,直接擴容/dev/sda1。
??因為交換分區用處不大,所以如果非要擴展成為一個盤,在/dev/sda2上右鍵刪除是可行的。然而強迫癥的我最終選擇了重新建立交換空間。具體操作是:
- 1、右鍵linux-swap欄,選擇“禁用交換空間”,我們可以看到/dev/sda5右邊的鎖被去掉了。
- 2、右鍵刪除linux-swap分區。
-
3、右鍵刪除extended分區,至此/dev/sda2被徹底刪除,此時/dev/sda1才可擴展。
- 4、右鍵/dev/sda1區域,點擊“更改大小/移動”,在新的窗口中直接拖移指針,或者填入數字,使得“之后的空余空間”為“4096”,這是留給新的交換分區的4GB空間,也可以自定義大小。
- 5、在最后的4GB空間中右鍵“新建”,在“創建為”選項選擇“擴展分區”,此分區就是后來的/dev/sda2。
- 6、在這個擴展分區下的“未分配”一欄右鍵“新建”,在“創建為”選項選擇“邏輯”,此分區就是后來的/dev/sda5。將此邏輯分區的文件系統右鍵格式化為linux-swap,點擊操作欄上的對勾保存。
- 7、右鍵linux-swap選擇“啟用交換空間”,至此,分區擴容就完成了。
??在參考書的第5章,有對磁盤管理的命令操作與可視化操作(尤其是GParted)就很詳細的說明。
接下來就開始準備MATLAB的正式安裝了,正常的安裝使用mount
掛載iso的方式,mount命令格式如下,在參考書得5.2.3章也有詳細講解。
mount -t 類型 -o 掛接方式 源路徑 目標路徑
掛載第一張ISO的命令為:
mkdir /~/MATLAB1
sudo mount -t auto -o loop /~/Matlab R2016b/Linux/R2016b_glnxa64_dvd1.iso /~/MATLAB1
??當然也可以不使用掛載的方式。使用時將dvd1和dvd2解壓到同一個文件夾,再將文件夾拖移(如果不是虛擬機則可用U盤傳輸)到Ubuntu系統中。
在文件夾所在位置打開終端輸入sudo ./install
,啟動安裝程序。
??接下來的所有步驟都和Windows版本的一致。在crack文件夾的readme提供了兩種破解方法,我選擇了方法一:standalone,具體步驟如下:
- 1、選擇安裝方法為“使用文件安裝密鑰”,點擊“下一步”。
- 2、在提供文件安裝密鑰這里選擇“我已有我的許可證的文件安裝密鑰”,并輸入readme提供的序列號,持續點擊下一步直至安裝。
如果用掛載DVD的方式安裝,一般來說80%的時候會提示插入第二張光盤,此時需要重新開啟一個終端,輸入命令:
sudo mount -t auto -o loop /home/gzk/Matlab R2016b/Linux/R2016b_glnxa64_dvd2.iso /home/gzk/MATLAB1
這樣,掛載目錄就會仍然是/~/MATLAB1,這樣才能接著進度繼續安裝。安裝完畢后點擊確定關閉窗口。
-
3、Ubuntu安裝MATLAB有一個很奇葩的地方在于:之前花很大功夫安裝完的都只是將必需文件安裝至硬盤,而啟動程序卻要在軟件中心中下載安裝。
但是不知什么原因,我的下一步不知道如何進行了,從軟件中心點擊啟動也沒有反應,后來試著在終端執行sudo apt -f install
彈出了可視化的交互窗口,才解決問題。
??這里特別說一下,因為我當時直接關閉了終端,再次打開的時候出現了無法獲得鎖的錯誤,而刪除lock文件再執行sudo apt -f install
卻發現報錯
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
正在設置 matlab-support (0.0.21) ...
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: 處理軟件包 matlab-support (--configure)時出錯:
子進程 已安裝 post-installation 腳本 返回錯誤狀態 1
在處理時有錯誤發生:
matlab-support
E: Sub-process /usr/bin/dpkg returned an error code (1)
打開軟件中心也發現MATLAB啟動器被卸載了,重新安裝啟動仍報錯。最后在Ubuntu社區論壇得到的解決方法是重啟系統,親測有效。
- 4、輸入
sudo apt -f install
在Location of MATLAB installation(s):下填/usr/local/MATLAB/R2016b
,用方向鍵選擇確定并按回車鍵繼續。 - 5、下兩個步驟是關于選擇啟動用戶和是否重命名GCC庫的,這里不輸入任何內容直接確定。
- 6、圖形界面消失后,繼續從軟件中心打開MATLAB,啟動軟件激活界面。
選擇“在不使用Internet的情況下手動激活”,點擊下一步選擇激活文件。
??這時候我們就要用root權限在在終端進行復制license文件操作了。我們需要將license_standalone.lic文件復制到MATLAB安裝目錄里新建的licenses目錄下,再將/R2016b/bin/glnxa64文件夾下的幾個文件全部復制到安裝目錄里的同名位置。具體操作如下:
- 7、在安裝目錄里新建licenses文件夾
cd /usr/local/MATLAB/R2016b
sudo mkdir licenses
- 8、在Crack文件夾下打開終端,輸入如下指令:
sudo cp license_standalone.lic /usr/local/MATLAB/R2016b/licenses
- 9、在Crack文件夾的R2016b/bin/glnxa64文件夾中打開終端,輸入如下指令:
sudo cp ./* /usr/local/MATLAB/R2016b/bin/glnxa64
??此時在軟件激活界面輸入license_standalone.lic的地址確定,可能會造成激活失敗,沒關系忽略掉,直接關閉。下一次啟動的時候,軟件就能正常打開了。
??軟件使用的歸檔空間非常大,將近40GB,因為主程序和啟動程序都是分開安裝的,所以卸載操作也比其他軟件麻煩。
??這里提供了來自MATLAB answers的卸載步驟
- 1、啟動反激活程序
sudo ./usr/local/MATLAB/R2016b/bin/deactivate_matlab.sh
- 2、刪除MATLAB的所有文件:
sudo rm -rf /usr/local/MATLAB/R2016b
- 3、刪除所有MATLAB的關聯文件:
sudo rm /usr/local/bin/matlab /usr/local/bin/mcc /usr/local/bin/mex /usr/local/bin/mbuild
- 4、在軟件中心中移除MATLAB啟動器。
參考文章:
反激活安裝 - MATLAB & Simulink - MathWorks 中國
卸載 MathWorks 產品 - MATLAB & Simulink - MathWorks 中國
其中掛載DVD安裝部分也參考了Ubuntu 16.04 LTS下安裝MATLAB R2016b