在虛擬機中運行 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的配置文件 [[email protected] ~]# vim /etc/selinux/config SELINUX=disabled ②關閉selinux [[email protected] ~]# 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
  • 什麼是工廠模式 工廠模式是最常用的設計模式之一,屬於創建型模式。 有點: 解耦,可以把對象的創建和過程分開 減少代碼量,易於維護 什麼時候用? 當一個抽象類有多個實現的時候,需要多次實例化的時候,就要考慮使用工廠模式。 比如:登錄的抽象類ILoginBusiness,它有2個實現,一個用用戶名密碼登 ...
  • 這次iNeuOS升級主要升級圖形渲染引擎和增加豐富的圖元信息,可以很快的方案應用。總共增加41個通用和行業領域的圖元應用,增加2154個圖元信息,現在iNeuOS視圖建模功能模塊總共包括5894個行業圖元信息。現在完全支持製作高保真的工藝流程和大屏展示效果。 ...
  • 效果圖先附上: 首先 這是我是參考 教程:使用 SignalR 2 和 MVC 5 實時聊天 | Microsoft Docs 先附上教程: 在“添加新項 - SignalRChat”中,選擇 InstalledVisual> C#>WebSignalR>,然後選擇 SignalR Hub 類 (v ...
  • 一、前言 項目中之前涉及到胎兒心率圖曲線的繪製,最近項目中還需要添加心電曲線和血樣曲線的繪製功能。今天就來分享一下心電曲線的繪製方式; 二、正文 1、胎兒心率曲線的繪製是通過DrawingVisual來實現的,這裡的心電曲線我也是採用差不多相同的方式來實現的,只是兩者曲線的數據有所區別。心電圖的數據 ...
  • 安裝 Redis # 首先安裝依賴gcc, 後面需要使用make編譯redis yum install gcc -y # 進入 /usr/local/src 目錄, 把源碼下載到這裡 cd /usr/local/src # 下載 redis 7.0.2 的源碼,github被牆,可以使用國內的地址 ...
  • Redis 的定義? 百度百科: Redis(Remote Dictionary Server ),即遠程字典服務,是一個開源的使用ANSI C語言編寫、支持網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。 中文官網: Redis是一個開源(BSD許可),記憶體存 ...
  • 事情的起因是收到了一位網友的請求,他的java課設需要設計實現迷宮相關的程式——如標題概括。 我這邊不方便透露相關信息,就只把任務要求寫出來。 演示視頻指路👉: 基於JavaFX圖形界面的迷宮程式演示_嗶哩嗶哩_bilibili 完整代碼鏈接🔎: 網盤:https://pan.baidu.com ...
  • Python中的字典 Python中的字典是另一種可變容器模型,且可存儲任意類型對象。鍵值使用冒號分割,你可以看成是一串json。 常用方法 獲取字典中的值 dict[key] 如果key不存在會報錯,建議使用dict.get(key),不存在返回None 修改和新建字典值 dict[key]=va ...
  • 迎面走來了你的面試官,身穿格子衫,挺著啤酒肚,髮際線嚴重後移的中年男子。 手拿泡著枸杞的保溫杯,胳膊夾著MacBook,MacBook上還貼著公司標語:“加班使我快樂”。 面試官: 看你簡歷上用過MySQL,問你幾個簡單的問題吧。什麼是聚簇索引和非聚簇索引? 這個問題難不住我啊。來之前我看一下一燈M ...
  • tunm二進位協議在python上的實現 tunm是一種對標JSON的二進位協議, 支持JSON的所有類型的動態組合 支持的數據類型 基本支持的類型 "u8", "i8", "u16", "i16", "u32", "i32", "u64", "i64", "varint", "float", "s ...