洗禮靈魂,修煉python(74)--全棧項目實戰篇(2)——前期準備之詳解虛擬機下安裝ubuntu,基本配置,遠程訪問

来源:http://www.cnblogs.com/yangva/archive/2017/12/12/8029659.html
-Advertisement-
Play Games

如果上一篇我轉發的關於ubuntu的博文,你看完覺得還沒準備好,那麼,本篇從最基礎的開始,安裝虛擬機到正常使用ubuntu 虛擬機 1.什麼是虛擬機 虛擬機(Virtual Machine)指通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整電腦系統。 通俗的說,我們平常看得見摸 ...


如果上一篇我轉發的關於ubuntu的博文,你看完覺得還沒準備好,那麼,本篇從最基礎的開始,安裝虛擬機到正常使用ubuntu

 

虛擬機

1.什麼是虛擬機

虛擬機(Virtual Machine)指通過軟體模擬的具有完整硬體系統功能的、運行在一個完全隔離環境中的完整電腦系統。

通俗的說,我們平常看得見摸得著用得了的電腦就是物理機,與物理機相對的就是虛擬機,虛擬機本質上還是一個軟體,它的功能是將物理機里的硬體資源虛擬化給虛擬出來的電腦使用(如果還是看不太懂,沒事,後期使用慣了你就自然而然的會了)

 

2.有哪些虛擬機

主流的三個:

  • VMware(功能強大,收費軟體)
  • virtualbox(常用功能基本都有,開源軟體)
  • Microsoft Virtual PC(微軟旗下的產品)

當然還有其他虛擬機軟體,並且VMware旗下還有個輕巧版VMplayer等等的

不過用得最多的還是VMware,本章節使用VMware(安裝包自行查找,網上一堆)

 

3.安裝虛擬機

1)安裝虛擬機前提得安裝好虛擬機軟體(一路下一步就行,最多就選擇一下安裝路徑,其他沒什麼需要改動的)

2)網上找Ubuntu的安裝包下載鏡像,地址:

 

註意:建議選擇Ubuntu 16.04 LTS版

17版親測在虛擬機下安裝有問題,外國論壇給的解決辦法是升級電腦BIOS,這就沒必要了,就為了裝個虛擬機,真沒必要了。當然如果你的電腦配置夠新,可以安裝17版試試

 

中文網址:http://cn.ubuntu.com/download/

官網地址:https://www.ubuntu.com/download/desktop

打開網站,點擊Download:

然後出現這個界面:

把這些全部選擇為0,下麵就出現了下載選項,點擊download等待一會兒,出現下載視窗下載

 

3)在虛擬機軟體下開始安裝ubuntu:

打開虛擬機軟體,點擊創建虛擬機:

 

然後出現這個,兩個選項都可以,我喜歡選自定義,然後下一步:

 

相容性沒什麼可說的,繼續下一步:

 

到這裡,建議選擇稍後安裝:

 

然後待創建的虛擬機類型和位數:

 

 註意:

如果你選擇的64位系統,需要在真機電腦的BIOS上開啟VT(虛擬化支持),相關的開啟方法在這:https://jingyan.baidu.com/article/a24b33cd00efc719ff002b63.html

但是部分電腦不支持VT,所以如果在後續步驟出現問題,請重頭再來,改成32位操作系統

 

繼續,設置一個虛擬機的名稱和虛擬機存放在本機的位置,然後下一步就行

 

這裡直接預設,然後下一步:

 

選擇記憶體,一般1G就夠了:

 

然後網路類型,前面說過網路類型了,我這裡使用的NAT:

 

 

 

選擇I/O類型,預設設置,下一步:

 

虛擬磁碟類型預設設置,下一步:

 

 創建磁碟,預設設置,下一步:

 

磁碟空間,一般10G就夠了,然後磁碟單個還是多個隨意,下麵的官方解釋也說得很明白了,下一步:

 

 直接下一步:

 

 點完成:

 

這樣就簡單的設置好虛擬機配置了:

 

 然後,右鍵虛擬機-設置(或者也可以直接點CD):

 

選到CD,選擇鏡像文件:

 

選擇瀏覽:

 

把你剛纔下載的Ubuntu的鏡像文件選中,然後點打開,記得點確定

 

 這樣就把虛擬機基本設置好,點開啟此虛擬機

 

 

靜等幾分鐘之後,出現這個界面,下拉滾動條,把語言切換成中文,當然看得懂英文直接用英文吧

 

點安裝

 

這裡要註意,其實此時虛擬機已經是聯網狀態,你可以在虛擬機設置里把網卡禁用了或者點右上角的,把網路斷開,然後一定選擇下麵的【為圖形或無線硬體,以及MP3……】

 

斷開網路:

 

 

 

然後再點繼續,不然的話,在安裝時一直在更新,到時更新半天,慢慢等吧

 

 

 

註意此時是斷網狀態,其他預設設置,然後點【現在安裝】就行

 

 預設設置,點繼續:

 

時區選上海(如果你要問為什麼沒有北京,姑且留住,以後慢慢說),點繼續:

 

 預設設置,直接點繼續:

 

 輸入名字和密碼,不用多說,密碼自己記住,點繼續:

 

然後就是漫長的等待:

 

 

不知等了多久,然後發現,安裝完成,出現個類似windows的cmd下的界面然後遲遲不進入系統,建議重啟一次虛擬機就行

然後輸入密碼,正常進入系統:

 

 此時建議保存一次虛擬機快照,用於保存最初的狀態,方便後期系統出現故障時可以恢復此快照

 

 

 

 

遠程訪問

 

註意,要能遠程連接虛擬機,必須有三個前提:

  • 虛擬機和真機可以互相ping通
  • 虛擬機開啟ssh服務
  • 遠程軟體

如果你是使用的NAT或者橋接模式,基本上就可以搞定(其實僅主機模式虛擬機和真機也可以互通,但是為了後期項目開發需要,還是建議虛擬機設置能夠連網的模式)

 

我這使用的是NAT模式,測試網路狀態,打開火狐瀏覽器,打開百度網站:

 

發現是可以上網的。 

 

然後下載一個遠程軟體,用於遠程連接電腦,一般的遠程軟體有:

  • putty
  • xshell
  • SecureCRT
  • vnc
  • ……

上面的三種都只是命令行式的遠程軟體,VNC支持圖形界面化的遠程連接,這裡我使用Xshell(安裝包網上一大堆)

 在真機上安裝好xshell後,在真機上打開xshell(註意我強調的辭彙,“在真機”),出現一個界面,選擇新建:

 

在出現的新視窗,設置名稱方便後期選擇,輸入主機地址,此時的主機地址就是虛擬機的IP地址

 

 

怎麼辦呢?不知道真機地址啊,查看命令是什麼呢?在linux下,查看ip地址的統一命令都是ifconfig(註意和windows下的ipconfig區分)

 

在虛擬機里滑鼠右鍵,選擇打開終端

 

圖中標記出來的就是虛擬機的ip地址

 

然後查看真機的ip,我用的是無線網

 

 然後你會發現,無論真機ping虛擬機,還是虛擬機ping真機的ip,都ping不通,這咋回事?

這事因為虛擬機的ip預設是自動獲取的,雖然真機和虛擬機都可以訪問網路,但是網關不統一,所以不能互通,需要虛擬機里手動設置網關就行,因為我選擇的是NAT模式,說白了,NAT模式就是在真機里虛擬出一張虛擬網卡,這張虛擬網卡為虛擬機使用,那麼這張虛擬網卡的ip其實就是虛擬機下的網關(這個不太理解的話不急,後期使用慣了,你會慢慢懂得)

 

那麼怎麼查看虛擬網卡的ip呢?

有兩個方法,打開真機的網路適配器設置:

 

 此時的無線網路連接就是我真機的無線網卡,VMnet8就是NAT模式下的虛擬網卡,VMnet1就是橋接模式下的虛擬網卡,其他的網卡不用管了,在這裡沒有討論意義

右鍵VMnet8,查看ip地址就是它了

 

或者在cmd下使用剛纔的命令ipconnfig ,找到VMnet8,裡面的ip就是了

 

在虛擬機軟體里也可以查看,編輯-虛擬網路編輯器

 

 在彈出的視窗選中NAT模式,然後點擊NAT設置:

 

得到NAT模式的網關是192.168.178.2

 

然後為虛擬機手動設置網路參數:

1)點擊右上角的網路圖標,選擇編輯連接:

 

2)選擇有線網路-編輯:

 

選擇IPV4設置:

 

 

選擇增加,設置ip,就直接用剛纔自動獲取的ip 192.168.178.3就行,把剛纔得到的網關地址設置進去,設置dns地址和網關相同,然後保存:

 

 等待一會兒,現在再用ping命令真機和虛擬機之間互ping的話,就可以ping通了:

(linux里ping命令不是自動停止,按ctrl+c則可以中斷操作)

 

然後現在開始事實xshell連接了,然後你會發現,還是不能遠程連接,這是因為ssh服務的問題,然後ubuntu預設不自帶ssh服務,需要安裝,使用apt-get install ssh 安裝,然後你又發現,安裝不了,提示許可權不夠:

(這裡我已經安裝過了,所以出現的提示不太一樣,但是許可權不夠是一樣的),那麼就需要管理員運行,在命令前加一個sudo ,表示使用管理員帳戶運行,sudo apt-get install ssh,但是還是提示無法安裝,因為安裝源的問題,所以這裡你要重新設置一個安裝源,去網上找一個國內的安裝源:

 

 安裝源:

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# 源碼
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
##測試版源
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
# Canonical 合作伙伴和附加
deb http://archive.canonical.com/ubuntu/ xenial partner
deb http://extras.ubuntu.com/ubuntu/ xenial main 

 

我使用的第一個,阿裡雲的,感覺還不錯,先複製地址,整個一行都要,然後點擊右上角的齒輪圖標,打開系統設置:

選擇系統設置:

 

點擊軟體和更新:

 

再打開界面選擇其他軟體:

 

選擇添加:

 

 在輸入框里,把你剛纔複製的一整行安裝源連接放進去:

(註意,系統已經提示你從deb  開始,光有一個鏈接是不行的,所以我剛纔用的詞語是“一整行安裝源地址”)

 

輸入後,點擊添加源,然後會出現提示正在更新軟體的視窗,等待幾分鐘後就搞定了

 

設置好安裝源後,再使用 sudo apt-get install ssh命令安裝就行了,中途如果提示輸入[y/n]的,輸入y,然後回車就行,然後建議重啟下虛擬機

 

重啟完後,再打開xshell,把主機地址添加進去,點連接,提示輸入用戶名,輸入你剛纔為虛擬機創建的安格帳戶名,建議你可以勾選記住用戶名,然後點連接:

 

輸入剛纔的帳戶名的密碼,點確定,等待一分鐘左右即可

 

 

 

當出現這個,則表示已連接成功

 

然後你就可以做各種終端操作了,其實在這同時,虛擬機的基本設置也設置好了

 

以上操作我都儘量的避免用命令行操作,其實如果用命令行的話三兩下就搞定的,但是怕你們從windows切換到ubuntu有很多不適,所以儘量的避免用命令行

 

linux簡介

 

1.什麼是linux

其實前面【網路互聯技術】分類中的操作系統發展史里說過,Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程式和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。

linux本質上只是一個內核源碼,每個人都有權利拿到源碼然後進行各種修改,並把它做成一個全新的系統。就相當於一個裸體的人,他可以穿成各種各樣的衣服,變換著樣子,但是他的身體是永遠不會變的。

通常的,把所有實用linux內核的系統都統稱為linux

 

2.什麼是開源

開源即開放源代碼,即一個軟體,它的源碼是公開的,每個人都可以拿到這套源碼,根據自己的需要編譯為一個軟體。與開源相反的就是閉源,比如Windows系統即使閉源,你是不可能看到它的源碼的(不過前端時間看新聞外國一個論壇里有人把win7和win8的源碼發出來了,不過很快就被和諧了),如果是閉源的話,其所屬公司有所有權的,涉及到官司法律的問題的。而開源就不存在這些,隨便你搞,但是別人開源,你也得開源,你也必須遵守開源規則,當然你可以把主要的代碼公開,細節代碼不公開

 

3.linux有多少

linux有上千多種,有最大的redhat(紅帽)以及其分支centos,有debian,有fedora,也有ubuntu,ubuntu也有很多衍生品,有Xubuntu,還有其他各種版本,還有中國特別版優麒麟,國內以前的雨林木風和深度也去做linux了,分別是startos和deepin os,還有移動端的Remix OS,還有可以運行一些windows環境下的軟體的zorin OS等等等等,但是為什麼我們要選擇Ubuntu呢?這是一個趨勢,並且在圖形界面化中的linux中,只有ubuntu是做得相對更好的。還有,別把linux看得那麼陌生,你的手機安卓系統就是用ubuntu改的

4.在開發中選擇windows還是linux

這個話題其實一直都有,一直都有人討論,借一句開發大佬的話,如果你在開發中使用windows,就如同綁著手,帶著腳鏈,穿著厚重的盔甲跳舞(原話已經背不出來了,大概是這麼個意思),所以在開發中,選擇linux是必要的,但是有時候不得不承認,windows就是更方便,linux就是沒那麼方便,但是真正愛linux的人愛到愛不釋手,有的甚至把自己的真機換成linux,而用不慣linux的人也對它恨得死去活來,這個階段都要度過的,習慣用linux了就行了,在以後的開發中,linux是重中之重

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Lambda函數又稱匿名函數,匿名函數就是沒有名字的函數,函數沒有名字也行?當然可以啦。有些函數如果只是臨時一用,而且它的業務邏輯也很簡單時,就沒必要非給它取個名字不可。 先來看個簡單lambda函數 x和y是函數的兩個參數,冒號後面的表達式是函數的返回值,你能一眼看出這個函數就是是在求兩個變數的和 ...
  • 一、棧 1.消失的方式不同:方法變數隨著棧方法的釋放而釋放 2.存儲的位置不同,預設複製的處理機制不同:不會給方法的屬性附初值,可以理解為類中的方法中的屬性為局部變數,無法給局部變數附初值,類的狀態由類的成員變數的值來體現,所以稱類是有狀態的對象,而方法中的變數不能預設附初值,則屬於無狀態,而且存儲 ...
  • name = 'mafen mamengmeng' # 首字元大寫 print(name.capitalize()) # 統計指定字元數 print(name.count('m')) # 字元長度 print(len(name)) # 轉換位元組數組,b''bytes 類型 print(type(na... ...
  • 本文同時發表在 "https://github.com/zhangyachen/zhangyachen.github.io/issues/125" 假設我們有如下結構體: 我們需要對結構體內的欄位進行驗證合法性: Id的值在某一個範圍內。 Name的長度在某一個範圍內。 Email格式正確。 我們可 ...
  • 本文同時發表在 "https://github.com/zhangyachen/zhangyachen.github.io/issues/123" 寫一下fopen/getc/putc等C庫的粗略實現,參考了K&R,但是有幾點根據自己理解的小改動,下麵再具體說一下^_^ 寫這篇文章主要是幫助自己理解 ...
  • Infi-chu: http://www.cnblogs.com/Infi-chu/ 模塊:difflib 安裝:Python版本大於等於2.3系統自帶 功能:對比文本之間的差異,而且支持輸出可讀性比較強的HTML文檔,與Linux中的diff命令比較相似。 兩個字元串的差異對比: 此外diffli ...
  • 第一階段:一年之內的 JAVA 從業人員 這個階段是你成長極快的階段,而且你可能會經常加班。但是加班不代表你就可以鬆懈了,永遠記得我說的那句話,從你入行那一刻起,你就要不停的學習。在這一年裡,你至少需要看完《 Java 編程思想》這本書。這本書的內容是幫助你對於 Java 有一個更加深入的瞭解,是 ...
  • 1、Java開發環境概述 JDK:Java開發工具包(Java Development Kit),包括java編譯器、java運行時環境和常用的類庫; JRE:Java運行時環境(Java Runtime Environment)。 2、跨平臺特性 ①平臺指的是操作系統(Windows,Linux, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...