在虛擬機中運行 Linux 的十大優點

来源:https://www.cnblogs.com/helong-123/archive/2022/05/19/16288432.html
-Advertisement-
Play Games

鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 你可以在虛擬機環境里運行任何操作系統,不論是測試還是為了某種需要。 對於 Linux 而言,它在虛擬環境下的性能會優於其他操作系統。即便你可能會猶豫是否在物理機(裸金屬)上安裝 Linux 系統,你仍然可以在虛擬機中安裝一個性能幾乎和物理機一樣好 ...


鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站

你可以在虛擬機環境里運行任何操作系統,不論是測試還是為了某種需要。

對於 Linux 而言,它在虛擬環境下的性能會優於其他操作系統。即便你可能會猶豫是否在物理機(裸金屬)上安裝 Linux 系統,你仍然可以在虛擬機中安裝一個性能幾乎和物理機一樣好的 Linux 系統。

當然,這並不意味著宿主系統為 Linux 時你就不能在虛擬機實例中安裝 Linux了。

更何況,你在虛擬環境下使用 Linux 系統有許多好處。大致如下。

在虛擬環境下運行 Linux 之前的註意事項

在虛擬環境下運行 Linux 或許並不是艱巨的任務,但仍有以下幾點你需謹記。

  • 虛擬機的性能取決於宿主機的性能,如果你並沒有足夠的系統資源分配給虛擬機,那麼虛擬機的使用體驗註定不會很好。
  • 某些特性僅在物理機(裸金屬)上生效,包括硬體加速以及圖形(顯卡)驅動等。
  • 密集的磁碟 I/O 任務性能會十分受限,例如游戲測試場景。
  • 用戶的 Linux 虛擬機實例體驗會根據你所使用的虛擬化程式而發生變化,這些虛擬化程式包括 VMware、VirtualBox、GNOME Boxes 以及 Hyper-V 。

此外,你應當列出你的需求,並根據這些需求選定適當的虛擬化程式來運行你的 Linux 實例。

十條在虛擬環境中運行 Linux 的優點

儘管運行虛擬化 Linux 實例極具吸引力,你仍然應當首先考慮當前使用的宿主系統中已有的選擇。例如,如果你不需要圖形化桌面,或許利用 Windows 操作系統中​ 的 WSL 安裝 Linux 就 ​可以滿足你的需求。

一旦你確定了使用虛擬機,那麼這些優點將會如影隨形:

1、部署簡便

file

部署簡便

與在傳統物理機(裸金屬)上安裝 Linux 相比,在虛擬機中部署一般會容易許多。

對於基於 Ubuntu 的發行版而言,像 VMware這樣的虛擬化程式會提供一個 快速安裝 的選項,你僅需輸入用戶名和密碼,其餘過程將自動完成而無需其他操作。你無需手動設置分區、引導程式以及更多高級設置。

某些情況下,一些發行版的開發者會同時提供針對特定虛擬機的預構建鏡像,只需打開就可使用。這就好像一個攜帶型虛擬機鏡像,隨時可以開箱即用。

例如,在這裡你將看到如何在虛擬機中安裝 Arch Linux 發行版。

對於其他的發行版,你或許仍需要進行一些配置,但一般都會有快速安裝的選項令你可以輕鬆部署。

2、不會影響宿主機

file

不會影響宿主機

對於虛擬機,你可以更為隨心所欲地使用,因為虛擬機系統和宿主機系統是隔離的。

很多時候,如果你並不熟悉 Linux 系統,你很可能會把配置弄得十分混亂。

所以在虛擬機里,你可以隨意嘗試而無需擔心是否會影響到宿主機系統。換句話說,任何虛擬機的操作都不會影響到宿主機,因為它們是完全隔離的。

故此,虛擬機是你最好的試驗場,尤其是對於一些激進或具有破壞性的試驗。

3、資源可高效共用

file

資源可高效共用

如果你有十分充裕的系統資源,你可以使用虛擬機運行其他任務,從而充分利用起來這部分閑置的系統資源。例如,如果你需要一個十分私密的瀏覽環境,虛擬機將為你阻擋一切針對宿主機的追蹤器。

這可能略顯牽強,但這僅僅是一個例子。基於這樣的想法你將可以充分利用全部的系統資源。

而對於雙啟動方案,你需要在單獨的磁碟上在 Windows 之後安裝 Linux,或者在 Linux 之後安裝 Windows,你需要為你的任務鎖定相應的資源。

但利用虛擬機,你無需鎖定部分資源也可以使用 Linux ,也不必為了特定的任務而臨時共用資源,這樣會方便許多。

4、多任務體驗更好

file

多任務體驗更好

有了 資源共用機制,多任務會前所未有的容易。

在雙啟動的場景下,你需要來回重啟切換才能使用 Linux 或 Windows 。

但如果使用虛擬機,你幾乎不再需要 雙啟動,兩個系統將無縫協作並完成多任務。

當然,你需要確認你擁有足夠的系統資源和額外的硬體(例如雙顯示器)來更高效地使用。而多任務的潛力也因 Linux 虛擬機的存在而愈發強大。

5、軟體測試更為便捷

有了虛擬化,你將可以創建大量的 Linux 實例,來模擬特定的使用場景,並對軟體進行測試。

例如,你可以在不同的 Linux 虛擬機中同步測試不同的軟體版本。這有豐富的使用場景,包括對開發版軟體進行測試以及 Linux 發行版的早期測試等等。

6、開發更為便捷

file

開發更為便捷

當你在學習編程或者剛加入一個 軟體項目的開發的時候,你會希望擁有一個沒有任何衝突和錯誤的開發環境。

在 Linux 虛擬機里,你可以從零開始搭建一個不會與已經存在的環境衝突的開發環境。例如,你可​ 以在 Ubuntu上 安裝並測試 Flutter 。 ​

如果環境出了問題,你可以輕而易舉地刪掉這個虛擬機,並重新開始來修正錯誤。

Linux 虛擬機的隔離環境是一個絕佳的開發和測試環境。

7、學習和研究的好幫手

Linux 值得反覆探索。除了基礎的計算任務,你可以做許多其他的事情。

你可以學習如何修改你的用戶界面,嘗試一些常見的桌面環境 、安裝大量常用軟體 ,與此同時仍能讓一切處於掌控之中。

如果出現問題,新建一個 Linux 虛擬機就可以解決。當然,這並不僅限於日常使用需要,還可以啟發系統管理員在其中測試他們所學的知識。

8、更容易複製和遷移

虛擬機可以很容易地複製和遷移。只要其它的宿主機系統支持該虛擬化程式,你就可以很容易地遷移它,而沒有特別要求。

不論因何原因,幾次簡單的點擊就可以完成複製和遷移的任務。

9、嘗試大量的發行版

file

嘗試大量的發行版

你可以在虛擬環境下嘗試數以百計的 Linux 發行版。

你或許會認為這和第七條重覆了,但是我相信,測試一個發行版是一個巨大的系統性工程,尤其是當你決定切換髮行版做為宿主機或其他用途時。

10、便於調試

不論是嚴肅的開發活動還是一般的研究,在隔離的虛擬環境中調試和除錯相對而言會更簡單。

你可以快速嘗試大量的調試方法而無需考慮影響。同時,如果你的宿主機是 Linux 系統的話,無需宿主機上的 root 許可權便可以訪問和修改虛擬機中的配置文件。

總而言之

如果你不熟悉正在使用的系統或者依賴不同的操作系統工作,虛擬機將是協助你工作的一大利器。

Linux 虛擬機可以廣泛用於開發、學習、試驗或任何特定用途。

本文轉自:https://juejin.cn/post/7094142283531943950


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

-Advertisement-
Play Games
更多相關文章
  • 時間如白駒過隙,恍然間自己畢業已經第5個年頭了。自己沒有聰慧的天資,也沒有出眾的才能,有的只是一路走來的一個又一個腳印,可能有點晚,但是卻不會缺席。(此處應該來一首歌曲——《老男孩》) 2020年,公司因受疫情的影響,入不敷出倒閉了。比自己年長N歲的開發主管說跟著他一起乾,那時自己也正好處於迷茫階段 ...
  • 系列文章 p2p-tunnel 打洞內網穿透系列(一)客戶端配置及打洞 p2p-tunnel 打洞內網穿透系列(二)TCP轉發訪問遠程共用文件夾 p2p-tunnel 打洞內網穿透系列(三)TCP轉發訪問內網web服務,其它服務同理 p2p-tunnel 打洞內網穿透系列(四)socks5代理和ht ...
  • 系列文章 p2p-tunnel 打洞內網穿透系列(一)客戶端配置及打洞 p2p-tunnel 打洞內網穿透系列(二)TCP轉發訪問遠程共用文件夾 p2p-tunnel 打洞內網穿透系列(三)TCP轉發訪問內網web服務,其它服務同理 p2p-tunnel 打洞內網穿透系列(四)socks5代理和ht ...
  • 一、YUM安裝Apache服務的搭建與配置 1、關閉selinux ①修改selinux的配置文件 [root@localhost ~]# vim /etc/selinux/config SELINUX=disabled ②關閉selinux [root@localhost ~]# setenfor ...
  • Linux下的可執行程式在運行時經常需要傳一些參數,而這些參數是有規範的。包括我們自己寫的在Linux系統下運行的Shell腳本、Python腳本等可執行程式,最好也遵循相關規範。我們下麵以Linux命令為例來講解參數規範。 中括弧[]並不存在於實際的命令中,表示該參數是可選的,而加入選項設置時,通... ...
  • 認識並安裝WSL(基於Windows的Linux子系統) 什麼是WSL WSL(Windows Subsystem for Linux),這是在windows平臺運行的linux子系統。也就是說可是不用安裝虛擬機的情況下獲得相對完整的linux系統體驗。 WSL相比於虛擬機(eg:VMware、Vi ...
  • sed sed命令 sed全稱是:Stream EDitor(流編輯器。 Linux sed 命令是利用腳本來處理文本文件,sed 可依照腳本的指令來處理、編輯文本文件。Sed 主要用來自動編輯一個或多個文件、簡化對文件的反覆操作、編寫轉換程式等。 當處理數據時,sed 從輸入源一次讀入一行,並將它 ...
  • 常用命令 sudo -i然後輸入密碼登錄root賬戶(群暉預設只能使用admin賬號登陸) vim xxx編輯(編輯是進去之後按i,退出並保存是按esc,然後:wq!再回車) mkdir xx創建文件夾 準備 1. 群暉一般預設安裝docker 我們不需要進行安裝,如果沒有安裝,則去套件中心進行安裝 ...
一周排行
    -Advertisement-
    Play Games
  • 1. 說明 /* Performs operations on System.String instances that contain file or directory path information. These operations are performed in a cross-pla ...
  • 視頻地址:【WebApi+Vue3從0到1搭建《許可權管理系統》系列視頻:搭建JWT系統鑒權-嗶哩嗶哩】 https://b23.tv/R6cOcDO qq群:801913255 一、在appsettings.json中設置鑒權屬性 /*jwt鑒權*/ "JwtSetting": { "Issuer" ...
  • 引言 集成測試可在包含應用支持基礎結構(如資料庫、文件系統和網路)的級別上確保應用組件功能正常。 ASP.NET Core 通過將單元測試框架與測試 Web 主機和記憶體中測試伺服器結合使用來支持集成測試。 簡介 集成測試與單元測試相比,能夠在更廣泛的級別上評估應用的組件,確認多個組件一起工作以生成預 ...
  • 在.NET Emit編程中,我們探討了運算操作指令的重要性和應用。這些指令包括各種數學運算、位操作和比較操作,能夠在動態生成的代碼中實現對數據的處理和操作。通過這些指令,開發人員可以靈活地進行算術運算、邏輯運算和比較操作,從而實現各種複雜的演算法和邏輯......本篇之後,將進入第七部分:實戰項目 ...
  • 前言 多表頭表格是一個常見的業務需求,然而WPF中卻沒有預設實現這個功能,得益於WPF強大的控制項模板設計,我們可以通過修改控制項模板的方式自己實現它。 一、需求分析 下圖為一個典型的統計表格,統計1-12月的數據。 此時我們有一個需求,需要將月份按季度劃分,以便能夠直觀地看到季度統計數據,以下為該需求 ...
  • 如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目 在當下這個年代 SPA 已是主流,人們早已忘記了 MVC 以及 Razor 的故事。但是在某些場景下 SSR 還是有意想不到效果。比如某些靜態頁面,比如追求首屏載入速度的時候。最近在項目中回歸傳統效果還是不錯。 有的時候我們希望將 ...
  • System.AggregateException: 發生一個或多個錯誤。 > Microsoft.WebTools.Shared.Exceptions.WebToolsException: 生成失敗。檢查輸出視窗瞭解更多詳細信息。 內部異常堆棧跟蹤的結尾 > (內部異常 #0) Microsoft ...
  • 引言 在上一章節我們實戰了在Asp.Net Core中的項目實戰,這一章節講解一下如何測試Asp.Net Core的中間件。 TestServer 還記得我們在集成測試中提供的TestServer嗎? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。 ...
  • 在發現結果為真的WHEN子句時,CASE表達式的真假值判斷會終止,剩餘的WHEN子句會被忽略: CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END 註意: 統一各分支返回的數據類型. ...
  • 在C#編程世界中,語法的精妙之處往往體現在那些看似微小卻極具影響力的符號與結構之中。其中,“_ =” 這一組合突然出現還真不知道什麼意思。本文將深入剖析“_ =” 的含義、工作原理及其在實際編程中的廣泛應用,揭示其作為C#語法奇兵的重要角色。 一、下劃線 _:神秘的棄元符號 下劃線 _ 在C#中並非 ...