WSL(Win-dows Sub-sys-tem for Linux),可以讓windows用戶在windows系統內安裝一個linux子系統,對一些特殊工作需求的人來說可以避免使用兩臺機器,或者安裝虛擬機的麻煩。下面記錄了如何在windows10 系統上安裝CentOS 8 以及遇到的一些問題的解決辦法。
工欲善其事,必先利其器,沒想到微軟會開發一個終端工具,比起CMD 和 PowerShell 體驗明顯好很多。應用商店直接搜索 Windows Terminal, 安裝就可以。程序界面如下
windows terminal
依次打開 控制面板->程序和功能->啟用或關閉Windows 功能
控制面板
程序和功能
分別啟用 適用于Linux的Windows子系統 和 虛擬機平臺
啟用功能
確定后系統自動安裝相關組件,完成后會提示重啟計算機。
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下載以上鏈接wsl升級程序安裝并重啟計算機
打開終端,運行以下指令,設置WSL2為默認版本
wsl --set-default-version 2
成功后運行以下命令
wsl --status
wsl2
如圖顯示默認版本:2 即表示成功。
可以在微軟的應用商店直接搜索Linux,會有 SUSE, Kali, Ubuntu 等系統的鏡像,沒有要安裝的CentOS系統鏡像。不過Github有官方維護的鏡像。
https://github.com/CentOS/sig-cloud-instance-images
github
如圖,選擇合適的分支,并下載相應的 tar.gz 文件。
將下載完成的文件解壓為 .tar 文件,終端輸入以下命令導入鏡像
wsl --import CentOS "D:\WSL\CentOS" "C:\Users\admin\Downloads\centos-8-x86_64.tar"
CentOS 是給安裝鏡像的命名
"D:\WSL\CentOS" 是虛擬硬盤的存放路徑
"C:\Users\admin\Downloads\centos-8-x86_64.tar" 鏡像文件路徑
導入鏡像
如上圖,導入鏡像成功后,輸入wsl --list 命令查看當前已安裝鏡像,CentOS 已經作為默認系統。
wsl -d CentOS
輸入以上命令,啟動CentOS子系統
cat /proc/version
cat /etc/redhat-release
如上圖,啟動可以依次輸入以上兩條命令,查看內核版本號及系統版本號。
此時,直接輸入yum update 會提示錯誤,具體如下圖
在這篇博客上找到了解決問題的方法。謝謝原作者的分享。
完美解決CentOS8 yum安裝AppStream報錯,更新yum后無法makecache的問題 - 白_胖_子 - 博客園
可能由于系統的升級改動,方法略有不同,但是大體思路不變。
由于當前的鏡像系統中并未集成wget命令,所以無法直接在系統下載文件。
centos鏡像-centos下載地址-centos安裝教程-阿里巴巴開源鏡像站
打開阿里的CentOS鏡像頁,復制CentOS8 的鏡像地址,粘貼到地址欄直接下載此文件。下載完成后打開文件可以看到是一個配置文件。
centos 阿里repo
在CentOS系統內,打開 /etc/yum.repos.d/CentOS-Linux-BaseOS.repo 文件,使用#注釋掉文件內容,并復制上面文件中 [base]段內容到此文件中。
上圖中,黃色框為注釋掉原內容,紅色框為新增加的阿里源內容
使用同樣的方法編輯 /etc/yum.repos.d/CentOS-Linux-AppStream.repo 文件
運行
yum update -y
至此可以正常使用CentOS系統,可以依據自己需求安裝相關環境了。
對于LAMMPS初學者來說,第一件事就是在自己電腦上安裝一個可以運行的LAMMPS程序。但是大多數初學者都是自己課題組模擬計算的先鋒隊,沒有安裝和使用LAMMPS的經驗,并且習慣了Windows操作系統,更不愿意將自己的電腦系統轉變為Linux系統。因此,部分初學者會在自己的電腦上安裝虛擬機,在虛擬機中安裝和使用LAMMPS;另外一些初學者可能會嘗試在自己的電腦上安裝上雙系統。這兩種方式筆者都嘗試過,用起來存在很多不方便得地方,特別是雙系統,經常需要在Windows系統和Linux系統來回切換,筆者已無力吐槽這種方式。
Build 2016大會上,微軟公司公布了重磅消息,Win10系統下可以直接使用基于Ubuntu的Bash Shell,不再需要安裝笨重的虛擬機,并且Bash用起來更加順暢,與Windows系統共享存儲的文件,與受眾的親和力有了很大的提高。
本文對Win10系統下如何安裝和使用LAMMPS進行了簡單總結,供初學者參考。整個安裝過程包括兩部分:(1)在Win10系統下啟動Ubuntu系統;(2)Ubuntu系統下LAMMPS的安裝和測試。
? 在Win10系統下啟動Ubuntu系統
Win10系統安裝過程中本身不包含Ubuntu系統,需要手動添加,添加的方法非常簡單。
(1)具體安裝過程為:打開設置——更新和安全——開發者選項——選擇 “開發人員模式”。
(2)然后進入控制版面——程序——啟動或關閉Windows功能——勾選“適用于Linux的Windows子系統”——點擊確定。安裝過程中需要重啟計算機,并且需要下載Linux安裝程序。
(3)安裝之后可以直接在搜索中輸入“bash”就可以找到安裝的bash shell,也可以直接在cmd中輸入“bash”轉換到bash shell。
? Ubuntu系統下LAMMPS的安裝和測試
第一種方法非常簡單,根據LAMMPS官方手冊,可以直接采用編譯好的可執行文件進行安裝。復制以下命令,依次執行,即可獲得執行文件lmp_daily:
1)sudo add-apt-repository ppa:gladky-anton/lammps
2)sudo apt-get update
3)sudo apt-get install lammps-daily
4)cd /lammps/examples/HEAT(打開LAMMPS中有關傳熱的例子)
運行程序測試:mpirun -np 8 lmp_daily -in in.spce.hex
或者:mpirun -np 8 lmp_daily < in.spce.hex
第二種安裝方法稍微復雜一點,但是對初學者來說也并不難
1)sudo apt install -y build-essential ccache gfortran openmpi-bin libopenmpi-dev libfftw3-dev libjpeg-dev libpng12-dev python-dev python-virtualenv libblas-dev liblapack-dev libhdf5-serial-dev hdf5-tools(更新和安裝LAMMPS所需要的安裝包,這部分可以根據需要選擇性安裝)
2)wget http://lammps.sandia.gov/tars/lammps-stable.tar.gz(從官網下載LAMMPS安裝包)
3)tar xvzf lammps-stable.tar.gz(解壓安裝包)
4)cd lammps(注意:這里解壓后的文件夾名為lammps,而實際解壓的文件名可能不同,需要根據實際解壓的文件名進行調整,可以在命令行輸入“ls”進行查看)
5)cd src/
6)make -j 4 mpi(編譯可執行的文件,成功后會在src文件夾下面得到執行文件名字為 “lmp_mpi”。但是在每次計算中,都需要將可執行文件的絕對路徑添加上才能計算,比較麻煩。可以通過設定臨時路徑或者修改 “.bashrc”文件解決這個問題,兩者擇一即可)
保存臨時路徑(第一種方法)
7)cd(跳轉到根目錄)
8)mkdir lmp(建立臨時文件夾lmp)
9)cp lammps/src/lmp_mpi ./lmp/(將可執行文件復制cp到lmp中)
10)pwd(顯示當前路徑)
11)LAMMPS_DIR=$PWD(保存臨時路徑,并進行測試)
12)cd /lammps/examples/HEAT(打開LAMMPS中有關傳熱的例子)測試:mpirun -np 8 $LAMMPS_DIR/lmp_mpi -in in.spce.hex
或者:mpirun -np 8 $LAMMPS_DIR/lmp_mpi -in in.spce.hex
或者修改 .bashrc文件(第二種方法)
13)執行完上述步驟后繼續下面的步驟
14)vi .bashrc(輸入i,進入編輯模式,并且在“.bashrc”文件結尾添加“ export PATH=~/lmp:$PATH”;然后點擊ESC鍵,分別輸入冒號和wq,點擊Enter,完成對文件的修改)
15)source .bashrc
16)cd /lammps/examples/HEAT(打開LAMMPS中有關傳熱的例子)運行程序測試:mpirun -np 8 lmp_mpi -in in.spce.hex
或者:mpirun -np 8 lmp_mpi < in.spce.hex
本文主要參考了LAMMPS手冊:https://lammps.sandia.gov/doc/Howto_bash.html
歡迎大家踴躍投稿,豐厚稿酬等你來拿!更多精彩內容,請關注“計算GO”微信公眾號,獲取最新資訊。
聲明:投稿或轉載請聯系GO三思(kf01@ceshigo.com),如需轉載請注明出處,并附有原文鏈接,謝謝!