选择LINUX安装平台
moboyou 2025-03-20 11:17 12 浏览
您已经选择了 Linux 发行版,并准备开始安装过程,但您需要确定您的硬件选项。以下是从哪里开始。
译自 Linux: Choose an Installation Platform,作者 Damon M Garn。
Linux: Companion Lab for Linux Skill Blocks Repository 文章。在本系列文章中,我们还介绍了如何选择发行版,Linux 内核如何与硬件交互以及如何管理系统服务、存储、文件权限和用户和组权限。
您已经选择了一个 Linux 发行版,并准备开始安装过程,但您需要弄清楚您的硬件选项。您是否需要购买一台新电脑?您可以使用旧系统吗?虚拟化是怎么回事?容器是一个选择吗?
本文不提供技术配置。相反,它讨论了在您追求职业发展、编程或技术认证时,用于试验 Linux 的安装选项。它提供了有关哪些硬件是必需的以及如何使用现有资源的想法。我还从不花太多钱在解决方案上的角度来介绍这些信息。
本系列中的相关文章讨论了选择一个或多个发行版以及实际的安装过程。
使用硬件平台
术语“裸机”是指没有操作系统或应用程序(尽管通常存在固件)的计算机硬件。计算机通常有四个主要子系统:处理器、内存、存储和网络。在裸机硬件上,这些组件已安装并准备就绪,但不存在任何软件来利用它们。
在裸机设备上安装 Linux 意味着在没有其他操作系统或您打算保留的应用程序的计算机上安装它。这可能是一台您刚组装的新电脑,或者是一台您打算覆盖其操作系统、应用程序和数据的旧设备。
Linux 在硬件要求方面非常灵活。大多数 Linux 发行版可以使用比 Windows 和 macOS 操作系统少得多的 RAM 和硬盘空间。一些发行版甚至专门针对在更旧的硬件平台上运行良好而设计。由于存在如此多的发行版,并且它们的功能差异很大,因此很难确定一组特定的最低和推荐硬件要求。最好在每个发行版的基础上检查这些建议。
以下是一些示例建议:
- Ubuntu 硬件规格:2 GHz 双核 CPU、4 GB 内存、25 GB 驱动器空间。
- Fedora 硬件规格:2 GHz 双核 CPU、2 GB 内存、15 GB 驱动器空间。
对于当今的系统来说,这些要求相当轻。您可能会发现,您壁橱或地下室里积满灰尘的旧电脑非常适合运行 Linux,即使它不再能有效地与其他操作系统一起使用。
选择 Linux 专用硬件
如果您选择购买硬件,请务必寻找与 Linux 兼容的系统。例如,Ubuntu 认证了特定硬件 用于其发行版。一些主要制造商,如戴尔,在某些系统上提供 Linux 作为预装操作系统选择。
其他供应商专门从事 Linux。考虑 System76 的笔记本电脑、工作站、迷你电脑和服务器产品线,这些产品线使用他们自己的 Pop!_OS 或 Ubuntu 22.04 LTS。Tuxedo Computers 还提供使用 Tuxedo OS Linux 和 Ubuntu 的 Linux 专用电脑。还有许多其他选择。
但是,Linux 有一套非常强大的驱动程序,并且与当今大多数标准和现代硬件兼容。我不会犹豫在几乎任何我遇到的电脑上安装这个操作系统。
什么是虚拟化?
虚拟化软件采用与裸机安装截然不同的方法。此解决方案从裸机硬件设备和现有操作系统(如 Linux、Windows 或 macOS)开始。您将像安装网页浏览器或 PDF 阅读器一样在计算机上安装虚拟化软件。此软件允许您创建虚拟计算机,您可以在其上安装各种操作系统,包括 Linux。
虚拟化软件将您的计算机的进程、内存、存储和网络功能划分为“虚拟机”,并允许在这些虚拟机上安装操作系统。 虚拟化是一个奇怪的概念。让我们通过检查“虚拟机”这两个词来分解它。“虚拟”这个词意味着假装或模拟。在这种情况下,处理器、内存、存储和网络功能正在被模拟。“机器”这个词表明它们被模拟得好像它们是一台真正的计算机。本质上,您是在您的常规计算机和操作系统软件中创建一台假装的计算机。
图 1:在 Parallels 虚拟化软件中运行的 Ubuntu 22.04 虚拟机的处理器和内存规格。
因为这台虚拟机看起来和运行起来像一台真正的计算机,所以您可以在它上面安装一个操作系统,这样您就可以像使用任何其他计算机一样使用它。
虚拟化示例
考虑以下示例:假设我有一台 Apple MacBook Pro 笔记本电脑。这个物理设备包含一个 Apple Sonoma macOS 的安装。我可以使用这台笔记本电脑和安装在其上的程序来编写文档、浏览网页、管理电子邮件和编辑图像。换句话说,这是一台基本的日常使用计算机。
但是,如果我决定学习一些 Python 编程 呢?我可以毫无问题地使用 macOS 来做到这一点,但将我的编程实验隔离可能很有用,这样如果出现问题,我就不会破坏我用于业务的计算机。我可以在我的 Mac 上安装 Parallels 等虚拟化软件,然后创建一个虚拟机,从我的物理计算机借用处理器、内存、存储和网络。然后,我会在该虚拟机上安装 Fedora Linux 发行版。Fedora 会将此 VM 视为一台真正的计算机。然后,我可以将任何 Python 工具和资源添加到 Fedora VM 中,并使用它来处理我的编程项目。
图 2:正在运行 Ubuntu VM 的 MacBook Pro 上的 Parallels 虚拟化应用程序。
比较裸机和虚拟化
裸机和虚拟化方法各有优缺点,不过我要说虚拟化确实是一个非常强大的解决方案。
裸机的优点:
- 硬件控制
裸机的缺点:
- 更贵
- 空间
- 功耗
- 冷却
- 噪音
虚拟化的优点:
- 节省成本
- 空间、冷却和噪音降低
- 使用一台计算机运行多个操作系统
虚拟化的缺点:
- 包括学习曲线,尽管基本部署很简单
- 软件可能很贵
- 会给主机计算机的资源带来压力
如今大多数计算机都足够强大,可以同时运行主机操作系统和至少几个 VM。这足以让您尝试几个不同的 Linux 发行版,找到您喜欢的那个。我经常在我的 Mac 笔记本电脑上同时运行 Fedora 和 Ubuntu Linux VM,没有任何性能下降,而且我毫不犹豫地同时运行两个或三个以上的 VM。强大的服务器可以同时托管许多生产 VM。
虚拟化软件选项
您有很多虚拟化软件选项。两个主要限制是与您的主机操作系统(Windows、macOS 或 Linux)的兼容性和成本。以下列表显示了最常见的选项。
- VMware Workstation Pro:在 Windows 和 Linux 主机系统上运行 Windows 和 Linux VM。VMware 提供了一些不同的购买选项,但 Workstation Pro 的价格为 199 美元。
- Parallels:在 Apple macOS 主机系统上运行 Windows 和 Linux VM。Parallels 提供标准版或专业版订阅。专业版订阅起价为 95.99 美元/年。
- Microsoft Hyper-V:如果您有 Windows 11,您可以添加 Microsoft 的 Hyper-V 虚拟化软件来运行 Windows 和 Linux VM。Hyper-V 本身没有成本,但您必须拥有 Windows 11 专业版或企业版的许可副本。
- Oracle VirtualBox:VirtualBox 在 Windows、Linux 和 macOS 主机上运行,并支持 Windows 和 Linux VM。它是免费的开源软件。VirtualBox 是一个强大的选项,对于大多数用户来说都是一个不错的选择。
- Gnome Boxes:Boxes 在 Linux 主机上运行,并支持各种 Linux 和 Windows 操作系统。它是 Linux 系统的免费开源产品。
请注意,定价和规格信息在撰写本文时是当前的。
图 3:Parallels 控制中心显示两个已安装的虚拟机。
考虑使用 Raspberry Pi
另一个有趣的选项是 Raspberry Pi 平台。Raspberry Pi 是一款体积小巧的单板计算机,在如此小的体积内却拥有惊人的性能。您可以在其上安装 专为 Raspberry Pi 设计的 Linux 发行版,以运行各种应用程序,使用物联网工具或流式传输多媒体。这些设备体积小巧、灵活且价格实惠。它们最初的设计目的是让孩子们对编程和计算感兴趣。Ubuntu 甚至有一个 Pi 版本 的发行版。
对于那些想要深入了解 Linux 的人来说,Raspberry Pi 是一个不错的选择。
图4:树莓派3型B电脑。
容器怎么样?
容器 是一种更新的虚拟化形式,如今备受关注。您可能想知道在容器中使用 Linux 来学习操作系统。这当然是可以的,但这个过程比传统的虚拟机更复杂,而且操作起来并不容易。
与虚拟机一样,容器需要在您的普通计算机上运行主机软件(容器引擎)。但是,容器实际上是为应用程序而不是操作系统层设计的计算环境。
虽然我强烈建议您 尽可能多地学习有关容器的知识,但我认为您会发现比将 Linux 容器化更有效的方式来使用 Linux 操作系统。
总结
学习新操作系统的最关键部分是动手实践。如果您准备每天使用 Linux,您需要一种方法来练习命令、安装软件、配置安全等。您可以通过在物理计算机系统上安装 Linux 或在现有计算机上创建虚拟机来获得这种经验。这两种选择都有各自的优势,但虚拟化通常更便宜、更简单。此外,如果您在 IT 行业工作,您还需要熟悉虚拟化。最后,虚拟机使您更容易尝试各种可用的 Linux 发行版。我建议从 Ubuntu、Fedora、Rocky 或 Mint 开始。
相关推荐
- 记一次前端逻辑绕过登录到内网挖掘
-
前言在测试一个学校网站的时候发现一个未授权访问内网系统,但是这个未授权并不是接口啥的,而是对前端js的审计和调试发现的漏洞,这里给大家分享一下这次的漏洞的过程文章中涉及的敏感信息均已做打码处理,文...
- 陕西普通话等级查询网的开发者被指将考生数据直接写入源码里
-
据报道,陕西普通话等级查询网站突然引起大量程序员关注。有人晒出该网站的源代码的打码截图,图中显示,所有考生数据都被直接写在该网站的源代码里。这表示任何人不需要经过任何验证直接查看源代码即可访问考生信息...
- PHP8知识详解:PHP是什么?
-
PHP是什么?PHP服务网从下面几点为你讲清楚什么是PHP。1、PHP最开始是PersonalHomePage(个人主页)的缩写,已经正式更名为“PHP:HypertextPreproces...
- PHP紧急更新修复漏洞:自5.x以来所有版本均受影响
-
IT之家6月8日消息,PHP项目维护团队昨日发布新补丁,修复了存在于PHPforWindows中的远程代码执行(RCE)漏洞,并敦促用户尽快更新至6月6日发布的8.3.8、...
- OA协同办公系统源码解析
-
在如今的信息化时代,PHPOA软件承当着为企事业单位提供安全、稳定、开源的信息化安全系统,在当今信息化时代,协同办公系统成为了企业管理的重要工具。OA(OfficeAutomation)协同办公系统...
- 附源码:PHP实现查询汉字笔画、笔画排序
-
有时候我们在开发中可能会用到和汉字有关的方法,例如笔画排序之类的,但是直接进行sort排序往往得不到我们想要的结果,因为内部并没有预留这些排序方法。因此我们需要自己动手,今天就教大家实现汉字笔画的...
- StrongShop跨境电商系统源码 | 支持多语言多货币
-
StrongShop跨境电商系统源码|支持多语言多货币StrongShop是一款免费开源的跨境电商商城网站。基于PHPLaravel框架开发的一款Web商城系统。该项目在没有对Lar...
- 源代码的定义
-
源代码是程序员在开发程序时(通常是在字处理程序中)编写的人类可读指令的列表。源代码通过编译器将其转换为机器代码,也称为目标代码,计算机可以理解和执行。目标代码主要由1和0组成,所以它是不可读的。源代码...
- 2077年了,PHP语言现在怎么样啦?
-
“PHP是世界上最好的语言!”这句话一出来,编程界的鄙视链一触即发,程序员的键盘世界大战就爆发了。那么,本文就简单讨论PHP语言,笔者作为创业小公司小团队的角度来妄议一下PHP。首先直接说明观点:新手...
- 开源直播系统源码—为什么要使用PHP语言
-
开展开源直播系统源码的的开发工作的时候,开发人员们碰到的最多问题便是使用什么语言开发的,回答大多是PHP语言。而对于没有的开发经验的人而言,难以理解PHP语言究竟代表着什么,又有哪些作用。实际上,PH...
- 手游平台源码搭建使用的PHP是什么?有什么优点吗?
-
PHP即“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入html中。PHP结合了C语言、java和perl多个语言的特色发展出自己的特色语法,并依据它们的长项持续改进提升自...
- PHP直播源码,直播系统源代码功能有哪些?
-
PHP直播源码究竟是什么?其实所谓的PHP直播源码就是用PHP语言开发的直播系统源代码。PHP是什么?PHP原始为PersonalHomePage的缩写,已经正式更名为“PHP:Hyperte...
- 盘点如何利用PHP生成PDF文件
-
在PHP代码中生成PDF文件是一项非常耗时的工作,早期的程序员通常是在PHP代码中利用FPDF生成PDF文件。但在如今,有很多的函数库可以使用,借助它们你可以从你提供的HTML文档生成PDF文件,从而...
- PHP低代码开发平台 V5.0.7新版发布
-
注意:本版变更:此版本增加租户内测模式,同时增加软删除及数据回收功能。Sfdp更新6.0.5版本Tpflow更新6.0.7版本1.[修复]修复数据为空的时桌面方案报错修复了在桌面组件删除时,由于用户...
- 「sabre/dav」只要十行代码让你的网站获得WebDav网盘能力
-
如今网盘已经成为我们日常中很重要的工具了,不仅仅可以和别人分享,更重要的是可以在我们不同的设备之间读取资料.那什么是WebDav呢?WebDav是一个Http上封装的一个文件系统,就像ftp,nfs之...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle 数据导出导入 (16)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab归一化 (16)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)