在虛擬機中運行 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
  • 移動開發(一):使用.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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...