25賽季演算法組第一階段第二次培訓(ubuntu安裝與基本使用)

子の雨發表於2024-10-03

25賽季演算法組第一階段第二次培訓

1. Ubuntu 的介紹

1.1. 作業系統和作業系統的選擇

作業系統,英文名稱Operating System,簡稱OS,是計算機系統中必不可少的基礎系統軟體,它是應用程式執行以及使用者操作必備的基礎環境支撐,是計算機系統的核心。
作業系統的作用是管理和控制計算機系統中的硬體和軟體資源,例如,它負責直接管理計算機系統的各種硬體資源,如對CPU、記憶體、磁碟等的管理,同時對系統資源所需的優先次序進行管理。作業系統還可以控制裝置的輸入、輸出以及操作網路與管理檔案系統等事務。同時,它也負責對計算機系統中各類軟體資源的管理。例如各類應用軟體的安裝、設定執行環境等。

作業系統簡介

主流作業系統介紹

  1. windows 懂得都懂。是目前生態最好,使用範圍最廣的作業系統。優點在與生態好,使用較為自由,支援軟體多(盜版軟體方便安裝)使用者介面較為友好。缺點在於:系統bug多,穩定性差;系統許可權設定不合理,容易導致軟體對系統的篡改;系統資源分配不合理,導致系統不當使用易卡頓,成了流氓軟體的滋生養蠱之地(因此把你哪什麼360,魯大師,聯想電腦管家,xxx極速瀏覽器,xxx應用市場,都TM給我解除安裝了)。windows 一般適合普通使用者使用,因為一般搭載windows的電腦往往經濟實惠,且由於系統的易用性較好,因此不需要太多電腦知識即可掌控。
  2. Mac 蘋果系統。是目前效率最好,易用性最好(當然看你有沒有錢)穩定性較高(咋都高於windows)資源分配最好(可以看看蘋果電腦的續航)的作業系統。因此一般集中於需要較大計算的高階應用上(如影像剪輯和特效製作)和追求穩定性和易於性的普通使用者(需要人民幣)上。其缺點就是:貴,貴,貴。而且二次開發性差(難裝盜版軟體)。而且侷限於特定硬體,不適合用於部署嵌入式系統。
  3. Linux(ubuntu)Linux系統是開源的作業系統。由於其出色的穩定性和安全性,往往是大型伺服器的選擇。linux由於其開源的特性,很多愛好者將其修改並建立自己的發行版(ubuntu 就是其中之一)以滿足不同的需求(比如centos在伺服器方面進行了最佳化,常用於做網路伺服器;ubuntu在嵌入式機器人控制支援較好,也在易用性進行了最佳化,因此適合於機器人應用,和日常使用)其主要優點是:系統輕量,執行效率高,速度快,對硬體要求很低;系統穩定性高,不易崩潰;開發工具齊全(各種包管理器很好用);正確使用能發揮很好的效能,因此常用於嵌入式系統。缺點便是:使用困難(命令列操作),常用工具缺乏(office 等軟體),入門門檻高。

綜上所述:我們選擇ubuntu作為作業系統設計機器人

1.2. Linux 簡介

上述完備,不再贅述,詳細可以百度百科。

1.3. Ubuntu 簡介

上述完備,不再贅述,詳細可以百度百科。

1.4. Ubuntu 版本說明

我們目前使用 22.04 而不是 24.04 因此不要安裝24.04版本

  • 22.04 是較新的版本且在生命週期內。網上資料較多,因此

2. Ubuntu 的安裝

2.1. 主推:基於wsl2 的 Ubuntu 系統安裝

2.1.1. wsl2 簡介

為什麼是wsl2?

wsl(適用於linux的windows子系統)是一種特殊的虛擬機器。它和windows系統相容性極好,能很好的利用windows主機的硬體資源,能獲得較好的排程。

  • 使用虛擬機器是一種簡便的,安全的,在windows上安裝linux系統的方法,主流的虛擬機器軟體是VMware。然而,由於虛擬機器搭建的是一個完整的虛擬linux系統,和作業系統相容性不良,而且無法使用計算機原有硬體,只能使用虛擬化硬體。因此執行速度慢,易崩潰,耗記憶體,吃cpu和儲存空間。在學習時期可以使用,然而在開發時期就捉襟見肘了。
  • 使用雙系統是一種高效的,和硬體相容性最好的linux系統安裝方式,本質上是在硬碟中安裝兩個系統,使的windows在電腦中共存。它能夠很好利用計算機硬體,如你的nvidia,也是這三種方式中執行速度最快的一種。然而由於雙系統的安裝需要較為豐富的系統裝機經驗(否則可能導致你原先系統也無法正常執行),且安裝複雜與否,與硬體密切相關。因此,不適合於初學者進行使用。
  • wsl2 具有安裝容易,與windows相容較好,clion vscode 等開發工具支援度高的有點。雖然初學期間只能透過命令進行操作,無法使用圖形介面(後期可以透過命令列安裝),容易勸退,但一旦克服這點,就非常適合進行開發。因此本培訓主要講解wsl的安裝

2.1.2. wsl2 上

ubuntu

注意:此處安裝 ubuntu 22.04 LTS 而不是 24.04 版本,我們暫時不考慮更新版本。因為新版本是24年釋出的,較新,資源較少,不適合初學,也不適合穩定應用程式的開發。

  1. 開啟你的 wsl2 服務和虛擬機器平臺服務
  2. 在 windows 微軟應用商店中搜尋 ubuntu 並安裝
  3. 安裝linux核心 (https://zhuanlan.zhihu.com/p/650240196#:~:text=本文介紹了在win10系統中,將wsl1升級到wsl2後安裝Debian時遇到的錯誤,以及解決辦法。錯誤原因是沒有安裝wsl2的核心升級包,解決方法是從微軟官網下載並安裝wsl的核心升級包。
  4. 如果使用windows 家庭版,可能需要手動開啟hyper -v
  5. 輸入使用者名稱密碼進行賬號設定(注意:Linux 系統輸入密碼都是不顯示輸入值的,因此會讓人以為沒有成功輸入)

詳細參照:https://blog.csdn.net/weixin_44301630/article/details/122390018

2.2. 基於 VMware 虛擬機器的 Ubuntu 環境搭建

不寫詳細文案,只做演示。詳情請見影片回放

參考部落格:VMware 安裝配置 Ubuntu(最新版、超詳細)_vmware-workstation-full-17.5.1-23298084.exe-CSDN部落格 (注意VMware現不支援官網下載安裝包,下載試用版安裝包請參考這篇部落格:2024.6最新詳細的vmware17.5.2的下載及安裝教程_vmware workstation 17.5.2-CSDN部落格

2.3. Ubuntu 與 windows 雙系統的配置簡介

不寫詳細文案,只做演示。詳情請見影片回放

參考部落格:Windows11 + Linux (Ubuntu22.04) 雙系統最簡安裝詳細避坑版_win11安裝linux雙系統-CSDN部落格

系統安裝分割槽參考部落格:Windows11 + Linux (Ubuntu22.04) 雙系統最簡安裝詳細避坑版_win11安裝linux雙系統-CSDN部落格

3. Ubuntu 的基本使用

3.1. 初識命令列

3.1.1. Ubuntu 命令列簡介

ubuntu是一種基於Linux核心的作業系統,因此ubuntu命令和Linux命令基本一致。
使用linux終端命令的原因: linux剛開始是沒有圖形介面的,所有的操作全靠命令完成,如磁碟操作,檔案存取,目錄操作,程序管理,檔案許可權設定等等。
Linux發行的命令有很多,但常用的只有10個左右。

3.1.2. Ubuntu 的許可權系統與 sudo

在Linux下,有普通使用者和超級管理員(root)使用者之分。對於一些系統的底層操作,需要使用到超級管理員使用者許可權。而如果直接讓普通使用者獲取root,可能會導致失誤造成系統破壞。因此,我們在使用其他指令時,使用sudo指令臨時獲得超級管理員許可權。

sudo apt install xxx

3.2. 檔案系統的基本操作

3.2.1. 目錄操作:cd,mkdir,ls

  1. cd :更改當前的工作空間(注意:linux所有的目錄和檔名都是大小寫敏感的>
命令 含義
cd 切換到當前使用者的主目錄(/home/使用者目錄)
cd ~ 切換到當前使用者的主目錄(/home/使用者目錄)
cd . 保持在當前目錄不變
cd … 切換到上級目錄
cd - 可以在最近兩次工作目錄之間來回切換

相對路徑和絕對路徑:

相對路徑:輸入前最前面無 / 或 ~ ,表示相對 當前目錄 所在的目錄位置

絕對路徑:在輸入路徑時,最前面時 / 或 ~ ,表示從根目錄或家目錄開始的具體目錄位置

  1. mkdir

建立一個新目錄

選項 含義
-p 可以遞迴建立目錄

新建目錄名稱 不能與當前已有的目錄或檔案 同名

  1. ls

list的簡寫,功能是列出目錄的內容

ls 常用選項

引數 含義
-a 顯示指定目錄下所有子目錄與檔案,包括隱藏檔案
-l 以列表方式顯示檔案的詳細資訊
-h 配合 -l 以人性化的方式顯示檔案大小

<注意: 以 . 開頭的檔案為隱藏檔案,需要用 -a 引數才能顯示>

3.2.2. 檔案基礎操作:cp,mv,rm

  1. cp

cp 命令的功能是將給出的檔案 或 目錄 複製 到另一個檔案或目錄中

選 項 含義
-i 覆蓋檔案前提示
-r 若給出的原始檔是目錄檔案,則 cp 將遞迴複製該目錄下的所有子目錄和檔案,目標檔案必須為一個目錄名
  1. mv

mv命令 可以移動檔案 或 目錄,也可以給 檔案或目錄 重新命名

選項 含義
-i 覆蓋檔案前提示
  1. rm

刪除檔案或目錄

使用 rm 命令要小心,因為檔案刪除後不能恢復

選項 含義
-f 強制刪除,忽略不存在的檔案,無需提示
-r 遞迴地刪除目錄下的內容,刪除資料夾 時必須加此引數

3.2.3. 檔案的編輯

具體可參考:

https://www.cnblogs.com/bingle/p/9785621.html

  1. :vi編輯法:開啟終端,輸入vi test.txt 回車,按 i 進入編輯模式,輸入想要編輯的內容,然後按esc鍵退出編輯模式,輸入:wq儲存並退出。(w 報錯 q 退出 可選擇加!表示強制執行)
  2. :vim編輯法:與vi編輯法指令介面,不過有程式碼高亮。

3.3. Ubuntu 映象庫軟體安裝

# 首先換源
# 魚香ROS一鍵換源(初學者推薦)
wget http://fishros.com/install -O fishros && . fishros

# 手動換源(中科大源)
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update

# 核心指令
sudo apt update
sudo apt install xxx

3.4. Ubuntu 非映象庫軟體安裝

# 核心指令
sudo dpkg -i xxx

4. clion 與 vscode cmake 開發環境的配置 (wsl2 + windows)

  1. 下載破解版 clion 可參考以下教程:Clion 2024.2.2 最新破解版安裝教程(附啟用碼,至2099年~) - 犬小哈教程 (quanxiaoha.com) (注:推薦使用學生郵箱 + 正版。在 windows 上安裝)

  2. 下載 vscode (免費,windows 上安裝)

  3. 在wsl上配置 cmake 編譯環境

    1. 換源(選擇一種方法即可)
    # 魚香ROS一鍵換源(初學者推薦)
    wget http://fishros.com/install -O fishros && . fishros
    
    # 手動換源(中科大源)
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
    sudo apt update
    

    b. 安裝相關依賴

    sudo apt install vim cmake make -y
    

5. clion 與 vscode cmake 開發環境的配置 (Ubuntu 桌面)

見演示,可檢視影片回放

6. 練習作業

完成cmake環境配置,並展示完成配置的截圖(展示使用任意方式安裝好的Ubuntu系統)(下次培訓前-5號晚上)

相關文章