在虛擬機中運行 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
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...