1. 程式人生 > 實用技巧 >WSL-Ubuntu18.04 磁碟遷移 與 ns3-gym 安裝

WSL-Ubuntu18.04 磁碟遷移 與 ns3-gym 安裝

WSL 安裝

win10 版本應大於或等於 1903

  1. win10 設定頁面 輸入 控制面板 並點選進入

  2. 找到 程式和功能 並開啟

  3. 找到 啟動或關閉 Windows 功能 並開啟

  4. 向下拉 勾選 適用於Linux的Windows子系統,虛擬機器平臺(預覽版需要勾選),確定

  5. 開啟win10 自帶的 Microsoft Store,搜尋Ubuntu,選擇18.04LTS版本進行安裝即可(也可以安裝其它linux系統

  6. 在 最近新增 找到Ubuntu18.04 LTS,點選啟動,設定使用者名稱和密碼即可使用 (後續啟動 可以在 Windows PowerShell 或 cmd

    中 輸入 bash 即可啟動)

WSL 遷移(預覽版無法適用)

由於 linux 系統預設安裝在 C 盤,後續使用可能佔用磁碟越來越多,因此需要把它遷移到其它碟符。

  1. 下載 LxRunOffline,點選 https://github.com/DDoSolitary/LxRunOffline/releases 選擇最新版本

  2. 解壓壓縮包,開啟 PowerShell 並將目錄切換到 解壓目錄下,然後進行遷移

    • .\LxRunOffline.exe list #檢視已安裝的子系統
      
    • .\LxRunOffline.exe move -n Ubuntu-18.04 -d E:\Ubuntu #遷移到目標目錄下
      

    ​ 出現如下提示,耐心等待它完成即可。

  3. 驗證一下,如圖所示,即為成功遷移

    .\LxRunOffline.exe get-dir -n Ubuntu-18.04
    

ns3-gym 安裝(ubuntu 2004)

之前一直使用ubuntu1804 安裝ns3gym,但是一直報如下錯誤,嘗試了很多方法,多沒能成功。

​ 後面有個大佬的回答,說是ubuntu2004 能成功,所以試了一下,發現成功了。

​ 附上鍊接:https://github.com/tkn-tub/ns3-gym/issues/33#issue-643301286

  1. 對 ubuntu 進行換國內源,加快下載速度

    sudo sed -i 's#archive.ubuntu.com#mirrors.aliyun.com#g' /etc/apt/sources.list
    sudo apt update
    sudo apt upgrade
    sudo passwd  # 設定root密碼
    su root # 如果提示許可權不夠,可以切換root使用者安裝
    
  2. 安裝 ns3-gym 的依賴環境,其實就是安裝 ns3 時所需要的依賴環境(如果要在conda虛擬環境中安裝,建立啟用環境,執行下面操作即可)

    下載ns3-gym 以及 官方安裝教程:https://github.com/tristone13th/ns3-gym

    ns3 官方安裝過程:https://www.nsnam.org/wiki/Installation

    sudo apt-get install g++ python3
    sudo apt-get install g++ python3 python3-dev pkg-config sqlite3
    sudo apt-get install python3-setuptools git
    sudo apt-get install qt5-default mercurial
    # ipython python-pygraphviz 在ubuntu2004無法安裝,但不影響。
    sudo apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3
    sudo apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
    sudo apt-get install autoconf cvs bzr unrar
    sudo apt-get install gdb valgrind
    sudo apt-get install uncrustify
    sudo apt-get install doxygen graphviz imagemagick
    sudo apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils dvipng latexmk
    sudo apt-get install python3-sphinx dia
    sudo apt-get install gsl-bin libgsl-dev libgsl23 libgslcblas0
    sudo apt-get install tcpdump
    sudo apt-get install sqlite sqlite3 libsqlite3-dev
    sudo apt-get install libxml2 libxml2-dev
    sudo apt-get install cmake libc6-dev libc6-dev-i386 libclang-6.0-dev llvm-6.0-dev automake
    sudo apt install python3-pip
    sudo pip3 install --upgrade pip
    python3 -m pip install --user cxxfilt
    sudo apt-get install libgtk-3-dev
    sudo apt-get install vtun lxc uml-utilities
    # libboost-signals-dev 安裝不了,無傷大雅,去掉再安裝即可
    sudo apt-get install libboost-signals-dev libboost-filesystem-dev
    
  3. 進行 protoc 的安裝

    • 安裝 ZMQ、protobuf-compiler 和 libprotobuf-dev 檔案

      sudo apt-get install libzmq5 libzmq5-dev
      sudo apt-get install libprotobuf-dev
      sudo apt-get install protobuf-compiler
      
    • 檢查當前系統的protoc安裝環境

      sudo apt-cache showpkg libprotobuf-dev
      sudo apt-cache showpkg protobuf-compiler
      
    • 檢查protobuf-compiler和 libprotobuf-dev的版本資訊,然後在protoc官網上:https://pypi.org/project/protobuf/#history 下載對應版本。我的 libprotobuf-dev和protobuf-compiler均是3.6.1。

      pip3 install protobuf==3.6.1
      
  4. 下載ns3gym,解壓放置 home 目錄下

    sudo unzip ns3gym.zip #解壓壓縮包
    sudo chmod -R 777 ns3-gym-master #更改許可權,防止因許可權問題報錯
    
    cd ns3-gym-master #切換到解壓目錄中執行
    # Ubuntu2004 只有python3, 所以無需指定python版本
    ./waf configure # 或者python3 ./waf configure 指定版本
    ./waf build # 或者python3 ./waf build
    

    pip3 install ./src/opengym/model/ns3gym
    

    # 執行示例
    cd ./scratch/opengym
    ./simple_test.py
    

    安裝成功!

other

sudo chmod -R 777 home #修改為可寫目錄(-R:所有子檔案)