从0开始学习Linux——搭建自己的专属Linux系统

news2024/11/26 15:56:09

温馨提示本篇文章字数超过5000字!

往期目录:

1、从0开始学习Linux——Linux简介&安装icon-default.png?t=O83Ahttps://blog.csdn.net/diamond_5446/article/details/141190487

上一个章节我们简单了解了Linux,并且安装好了虚拟机以及下载好了Centos镜像,今天我们将学习如何去安装属于自己的虚拟机。

这里我们使用Centos镜像去安装。

一、创建虚拟机

步骤1:打开前面安装好的虚拟机VMware Workstation

步骤2:在右边导航栏中鼠标右击选择新建虚拟机或者点击中间的新建虚拟机选项(二选一即可)

步骤3:进入虚拟机安装配置界面

 步骤2完成以后就会进入虚拟机安装配置界面

在步骤3中选择自定义安装,最好不要使用第一个典型配置,这是因为自定义配置中我们可以自己去定义系统的各种配置选项,选择好以后点击下一步按钮即可。

步骤4:选择虚拟机硬件兼容性

在这一步骤中我们直接使用默认值点击下一步即可。

步骤5:选择系统安装时机

 在这一步骤中我们选择稍后安装系统,也就是说我们先把虚拟机的内存等配置好以后再去安装系统。

步骤6:选择待安装操作系统类型

在这一步骤中选择要安装系统类型,例如我这里安装Centos7,那么我就选择好该选项,然后点击下一步,这所以要去选择系统类型,主要是为了确保虚拟机软件能够正确配置虚拟机的硬件和设置,以适应所安装的操作系统。这样可以优化虚拟机性能,并确保系统与虚拟硬件的兼容性。

步骤7:设置虚拟机名称&安装路径

注意:在设置安装路径时最好先规划好安装磁盘分区位置,并且路径最好是英文的。 

步骤8:处理器配置

 这一步骤主要是用于配置虚拟机的处理内核数量,需要注意的是配置内核数量需要根据实际开发以及自己本身的电脑配置来决定,也就是说这里所配置的内核数量不能超过自己电脑中逻辑处理器数量。

那么怎么去确定自己电脑中的内核数量和逻辑处理器数量呢?

首先我们打开任务管理器(ctrl+alt+del)。

然后切换到性能选项卡并点击cpu选项。

 从上图中可以看出我的电脑cpu中有4个内核,每个内核在逻辑程度上可以划分为2个,因此总的逻辑处理器数量就是8个,也就是说我在配置虚拟机内核的时候不要超过8个即可,当然数字也不能配置太大,有时候我们可能会配置多台虚拟机,同时也要保证主机的处理性能,因此对于处理器数量要合理规划以达到性能最优。

补充:CPU、内核、逻辑处理器

一、CPU

CPU(Central Processing Unit)是计算机的核心部件之一,负责执行计算机程序中的指令,完成数据处理和控制任务。它通常被称为计算机的大脑,因为它处理所有计算和逻辑操作。

CPU(中央处理器)和处理器实际上是同义词,指的是计算机系统中的核心计算单元。CPU负责执行计算机程序的指令,包括算术运算、逻辑操作和控制任务。处理器有时也指其他类型的处理单元,如图形处理器(GPU),但在大多数情况下,它与CPU互换使用,尤其是在谈论计算机的主要处理功能时。

功能:

  • 指令执行: CPU从内存中读取指令,并逐条执行这些指令。这些指令可以是算术运算、逻辑运算、数据移动等。
  • 控制功能: CPU控制计算机的其他部件,协调它们的工作,以确保程序按照预期执行。
  • 数据处理: 处理算术运算(如加法、减法)和逻辑运算(如比较、逻辑与或运算)。

组成:

  • 运算单元(ALU): 执行算术和逻辑操作。
  • 控制单元(CU): 解码指令并协调各个部件的操作。
  • 寄存器: 高速存储单元,用于临时存储数据和指令。
  • 缓存(Cache): 高速内存,用于存储频繁使用的数据,以提高访问速度。

二、内核

内核是CPU的一个独立处理单元。现代CPU通常具有多个内核,每个内核都能够独立地执行任务或线程。内核的数量直接影响到CPU的并发处理能力。

功能:

  • 独立处理: 每个内核可以独立执行指令流和任务。例如,一个四核CPU可以同时处理四个不同的任务。
  • 并行处理: 多核设计允许多个任务并行处理,提高整体计算性能。
  • 任务分配: 操作系统和应用程序能够将任务分配到不同的内核上,优化资源利用和处理效率。

示例:

  • 双核(Dual-core): CPU有两个物理核心,可以同时执行两个任务。
  • 四核(Quad-core): CPU有四个物理核心,能够同时处理四个任务。
  • 八核(Octa-core): CPU有八个物理核心,支持更多的并发处理。

三、逻辑处理器

逻辑处理器是对物理核心的进一步虚拟化,特别是在支持超线程技术的CPU中。每个物理核心可以被虚拟成多个逻辑处理器,以提高并发处理能力。

功能:

  • 超线程技术: 允许每个物理核心同时处理多个线程。例如,Intel的超线程技术使得每个物理核心可以作为两个逻辑处理器,提升处理能力和效率。
  • 任务优化: 逻辑处理器可以在同一核心内并行处理多个线程,优化处理能力,特别是在多任务和多线程应用中。

示例:

  • 无超线程的四核CPU: 具有4个物理核心,即4个逻辑处理器。
  • 支持超线程的四核CPU: 每个物理核心可以虚拟成两个逻辑处理器,因此有8个逻辑处理器。

 步骤9:配置内存大小

注意:这里在配置内存的时候也要根据自己电脑实际需求来。

 例如我的电脑中内存是16g的,加上各种软件的运行,那么我们在配置的时候不能超过13,当然在配置的时候不能太大也不能太小,以确保性能最优。

步骤10:选择虚拟机网络连接类型

网络连接类型有三种即桥接模式、NAT模式、仅主机模式。

下面我们来辨析一下这三种网络连接模式。

 1、桥接模式

桥接模式将虚拟机的网络适配器直接连接到物理网络,就像物理计算机一样。虚拟机与主机和其他网络设备处于同一子网中。

桥接模式下 虚拟机和主机是位于同一子网,也就是说虚拟机和主机是平等的,怎么去理解呢,家里的wifi可以运行多个设备去连接,我们的手机、平板、电脑、各种智能设备都可以去连接,它们处于同一子网,只是所分配的IP有所不同。

特点:

  • IP地址分配: 虚拟机直接从物理网络的DHCP服务器获取IP地址,或者可以手动配置静态IP地址。
  • 网络可见性: 虚拟机可以直接与网络上的其他设备(如打印机、服务器)通信,网络行为与物理计算机类似。
  • 应用场景: 适用于需要虚拟机作为网络上的独立实体出现的场景,比如需要访问网络中的其他设备或服务时。

优点:

  • 直接网络访问: 允许虚拟机直接访问外部网络资源。
  • 无额外网络地址转换: 不需要额外的网络地址转换(NAT),简化了网络配置。

缺点:

  • 安全性: 虚拟机暴露在物理网络上,可能会增加安全风险。
  • 网络冲突: 如果配置不当,可能会引发IP地址冲突。

 如果我们的虚拟机使用是桥接模式,那么网络就需要固定,例如我们的虚拟机和主机连接的是公司的网路,然后回家后去连接自己家的网络,由于网络的切换,那么我们的虚拟机就不能正常的联网了。

2、NAT模式

NAT模式通过网络地址转换技术,将虚拟机的网络流量通过主机的网络接口进行转发。虚拟机使用与主机相同的网络接口进行外部通信,但在虚拟机与主机之间有一个虚拟网络隔离层。

所谓的NAT模式是指虚拟机并不是直接和外部网络连接,也就是说在虚拟机和主机之间有一个虚拟的网络隔离层,然后由这个隔离层去给虚拟机分配IP,因此NAT模式下不管外部网络如何变化,虚拟机的联网通信是不受影响的。

特点:

  • IP地址分配: 虚拟机使用私有IP地址(通常由虚拟机管理程序的DHCP服务提供),主机提供公共IP地址,通过NAT将虚拟机的流量映射到主机的公共IP。
  • 网络可见性: 虚拟机无法被外部网络直接访问,但可以访问外部网络。
  • 应用场景: 适用于虚拟机不需要被外部网络直接访问,但需要访问外部网络资源的场景。

优点:

  • 网络隔离: 虚拟机与物理网络隔离,增加了安全性。
  • 易于配置: 不需要额外的网络配置,适合家庭或小型办公室环境。

缺点:

  • 访问限制: 虚拟机无法被外部网络直接访问,不适用于需要外部访问的应用场景。
  • 性能开销: NAT会引入一定的性能开销,因为所有流量都需要通过主机的NAT处理。

 3、仅主机模式

仅主机模式将虚拟机的网络适配器连接到一个虚拟的网络,这个虚拟网络仅在虚拟机和主机之间存在,不与外部网络通信。

特点:

  • IP地址分配: 虚拟机和主机在一个私有的虚拟网络中,虚拟机通常会从虚拟网络的DHCP服务中获取IP地址。
  • 网络可见性: 虚拟机只能与主机及同一虚拟网络中的其他虚拟机通信,无法访问外部网络,也无法被外部网络访问。
  • 应用场景: 适用于需要虚拟机与主机之间的私有网络通信,而不需要外部网络访问的场景。

优点:

  • 安全性: 虚拟机与外部网络隔离,减少了外部攻击的风险。
  • 网络隔离: 在不需要外部访问的测试环境中,可以保持虚拟机的网络独立性。

缺点:

  • 访问限制: 虚拟机无法访问外部网络,也无法被外部网络访问,限制了网络功能。

那么这三种网络连接模式我们该如何去选择呢?

桥接模式:虚拟机与物理网络直接连接,能与网络上的其他设备通信,适合需要网络完全访问的场景。

NAT模式:通过主机的网络接口进行流量转发,虚拟机不能被外部网络直接访问,但可以访问外部网络,适合家庭或小型办公室使用。

仅主机模式:虚拟机只能与主机及同一虚拟网络中的其他虚拟机通信,适用于需要私有网络通信而不需要外部访问的场景。

 步骤11:I/O 控制器类型

 步骤12:虚拟磁盘类型

 步骤13:选择磁盘

该步骤主要是用于选择磁盘,这里提供了三种即:创建新磁盘、使用现有磁盘、使用物理磁盘,它们的区分如下所示:

1、创建新磁盘

  • 定义: 创建一个新的虚拟磁盘文件,为虚拟机提供一个新的存储空间。
  • 优点: 磁盘空间是全新的,可以自由设置大小和格式。适合新虚拟机或需要干净环境时使用。
  • 应用场景: 创建全新的虚拟机时,特别是需要全新操作系统安装时。

2、使用现存磁盘

  • 定义: 选择已经存在的虚拟磁盘文件(如VMDK、VHD等)作为虚拟机的存储。
  • 优点: 允许虚拟机重用之前创建的磁盘数据,适合迁移或恢复虚拟机时使用。
  • 应用场景: 将旧虚拟机的数据迁移到新虚拟机,或使用已配置好的虚拟磁盘。

3、使用物理磁盘

  • 定义: 直接将物理磁盘挂载到虚拟机上,使虚拟机可以直接访问物理磁盘。
  • 优点: 虚拟机可以访问整个物理磁盘的存储空间,适用于需要直接访问物理磁盘数据的场景。
  • 应用场景: 在需要对物理磁盘进行测试或数据恢复时,或希望虚拟机直接使用物理磁盘上的数据。

 对于这三种方式我们如何选择呢?

新磁盘: 创建一个新的虚拟磁盘文件,磁盘数据为空。

现存磁盘: 使用已经存在的虚拟磁盘文件,包含数据和配置。

物理磁盘: 直接挂载一个实际存在的物理磁盘,虚拟机可以访问物理磁盘上的所有数据。

步骤14:配置磁盘容量

 这一步主要是用于分配磁盘空间容量大小以及磁盘存在方式,这里有三个选择即立即分配、单文件、多文件。其中单文件是指整个虚拟磁盘空间被存储在一个单独的文件中,适合大部分场景,但是文件可能变得很大,影响文件系统性能;而多文件是指虚拟磁盘被拆分成多个较小的文件,适合在文件系统对大文件支持有限的环境中使用,便于管理和备份,但是可能稍微复杂一些,需要管理多个文件。因此对于磁盘的存在方式以及磁盘容量要根据实际情况来决定。

步骤15:磁盘文件存储位置

 对于磁盘的存储位置可以根据实际情况而定,这里我使用的默认值即将磁盘直接存放在虚拟机的安装路径里面,你也可以自己去修改路径。

上述的15个步骤完成以后我们就实现对虚拟机的配置。

下面我们将系统镜像文件导入进来。

方式1:

 接着我们就可以看到在VM的左边导航栏中就出现了我们所创建的虚拟机。

选中所虚拟机以后鼠标右击我们可以去管理我们的虚拟机即运行、删除、配置、修改等操作。

方式2:

完成上面的15个步骤以后直接点击完成按钮。

接着就可以在VM的左边导航栏中看到我们的虚拟机,选中它鼠标右击就可以去管理我们的虚拟机,同时在右边有两个选项即运行虚拟机和编辑虚拟机,这里我们选择编辑虚拟机。

二、初始化虚拟机

 步骤1:运行我们前面所创建的虚拟机

倒计时结束就会进入下一个页面。

等待加载完成后会自动进入下一个页面。 

 步骤2:配置语言

这里我选择的是简体中文。

 步骤3:配置时区

步骤4:选择软件安装

这里的安装模式有很多例如最小安装、GNOME桌面安装、KDE桌面安装等,这里根据自己的需求来如果我们的Linux只是用来充当服务器,那么只需要选择最小安装也就是纯命令模式,它不会去下载多余的东西,如果说我们想要待桌面的我们就选择桌面就可以了,同时也可以勾选安装一些必要的工具或者开发环境进行一个安装。

GNOME桌面:注重简洁和一致性,提供直观的用户体验,适合喜欢简化操作的用户。

KDE桌面:注重功能丰富和高度可定制,适合喜欢对桌面环境进行详细配置的用户。

 步骤5:磁盘分区

在进行磁盘分区的时候有两种方式即手动分区和自动分区,这里要根据实际需求来,我这里暂时选择自动分区。

如果要进行手动分区可以参考如下:

  • /boot:引导分区,通常设置为500 MB到1 GB。
  • /(根分区):操作系统安装的主要分区,大小依据需要,可以设置为20 GB或更多。
  • /home:用户数据分区,设置为大于根分区的空间,适合存储用户文件和设置。
  • swap:交换空间,建议大小为物理内存的1到2倍,通常设置为4 GB到16 GB。
  • /var:用于存储日志文件和其他可变数据,视系统使用情况而定,建议为5 GB到20 GB。
  • /tmp:临时文件分区,大小视需求而定,建议1 GB到5 GB。

 步骤6:连接网络

注意:这里的主机名是根据自己的需求来配置的,也就是说自己想一个名称。

 步骤7:是否启用Kdump

 它的默认值是启用。

 步骤8:配置登录用户信息

这里要配置两个一个是root,它是管理员账号,它的权限最高,另外我们还可以配置普通用户。

我们在配置好用户信息以后就可以等待安装和配置的完成(可能会花费一点时间)。

 安装完成以后点击重启按钮即可。

接下来就是加载信息进入系统。

 这里需要去接收许可认证也就是去勾选接收协议。

最后我们点击这个完成配置按钮。

到此为止我们的Linux系统就搭建好了。

三、使用虚拟机

我们在使用虚拟机的时候需要登录账号。

这里的默认账号就是我们刚才所创建的普通用户,如果要使用其它用户账号或者root就点击未列出即可。

我们点击dia账号,接着输入密码即可进入系统。

 到此为止Linux就配置好了,接下来我们就可以去使用它。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2247925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《硬件架构的艺术》笔记(五):低功耗设计

介绍 能量以热量形式消耗,温度升高芯片失效率也会增加,增加散热片或风扇会增加整体重量和成本,在SoC级别对功耗进行控制就可以减少甚至可能消除掉这些开支,产品也更小更便宜更可靠。本章描述了减少动态功耗和静态功耗的各种技术。…

浅谈网络 | 传输层之TCP协议

目录 TCP 包头格式TCP 的三次握手TCP 的四次挥手TCP 的可靠性与"靠谱"的哲学TCP流量控制TCP拥塞控制 上一章我们提到,UDP 就像我们小时候一样简单天真,它相信“网之初,性本善,不丢包,不乱序”,因…

华为无线AC+AP组网实际应用小结

之前公司都是使用的H3C的交换机、防火墙以及无线AC和AP的,最近优化下无线网络,说新的设备用华为的,然后我是直到要部署的当天才知道用华为设备的,就很无语了,一点准备没有,以下为这次的实际操作记录吧&…

七、SElinux

一、SElinux简介 SELinux是Security-Enhanced Linux的缩写,意思是安全强化的linuxSELinux 主要由美国国家安全局(NSA)开发,当初开发的目的是为了避免资源的误用传统的访问控制在我们开启权限后,系统进程可以直接访问当我们对权限设置不严谨时…

Paddle Inference部署推理(一)

一:Paddle Inference推理 简介 Paddle Inference 是飞桨的原生推理库,提供服务器端的高性能推理能力。由于 Paddle Inference 能力直接基于飞桨的训练算子,因此它支持飞桨训练出的所有模型的推理。 Paddle Inference 功能特性丰富&#xff…

【数据分享】2001-2023年我国30米分辨率冬小麦种植分布栅格数据(免费获取)

小麦、玉米、水稻等各类农作物的种植分布数据在农业、环境、国土等很多专业都经常用到! 本次给大家分享的是我国2001-2023年逐年的30米分辨率冬小麦种植分布栅格数据!数据格式为TIFF格式,数据坐标为GCS_WGS_1984。该数据包括我国11个省份的冬…

类和对象plus版

一.类的定义 1.1类定义的格式 图中class为关键字,Stack为类的名字,用{}框住类的主体,类定义完后;不能省略。 为了区分成员变量,一般习惯在成员变量前面或后面加一个特殊标识,_或者m_ 1.2访问限定符 c采用…

jquery-picture-cut 任意文件上传(CVE-2018-9208)

目录 1、漏洞描述 2、访问ip:port 3、一句话木马:exploit.php 4、上传一句话木马 5、中国蚁剑连接成功 6、拿到flag 1、漏洞描述 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框…

【Spring Boot】# 使用@Scheduled注解无法执行定时任务

1. 前言 在 Spring Boot中,使用Scheduled注解来定义定时任务时,定时任务不执行;或未在规定时间执行。 import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;Component public c…

LM2904运算放大器的应用:测电池电压

在电子设备的广泛应用中,电池作为便携设备的能量来源,其电压监测显得尤为关键。LM2904作为一款低功耗、高增益带宽积和高共模抑制比的双运算放大器,非常适用于电池电压的测量与监测。本文详细介绍了LM2904在电池电压测量方面的应用&#xff0…

电子学习中的关键游戏化元素

游戏化彻底改变了电子学习领域,提供了一种使学习具有吸引力、互动性和有效性的方法。通过将类似游戏的功能集成到教育平台中,教育工作者可以增强动力,提高知识记忆,并创造动态的学习体验。游戏化的关键要素为设计与学习者产生共鸣…

【网络通信】数据集合集!

本文将为您介绍经典、热门的数据集,希望对您在选择适合的数据集时有所帮助。 1 RITA 更新时间:2024-11-22 访问地址: GitHub 描述: RITA 是一个用于网络流量分析的开源框架。 该框架以 TSV 或 JSON 格式提取 Zeek 日志,目前支…

竞赛经验:关于不记得字母表,如何知道字母顺序qwq

利用ASCII码算出码值再转成字符即可 #include <bits/stdc.h> using namespace std;int main() {for(int i 1; i < 30; i){cout << char(ai) << ;} }结果&#xff1a; ps:大意了&#xff0c;本想用电脑目录&#xff0c;但没考虑到会有文件不存在导致缺…

GitLab指定用户分配合并权限

进入项目 -》 Project Settings Repository -》展开 Protected branches -》 添加要保护的分支&#xff0c;设置角色 管理用户角色权限 查看到不同用户的角色&#xff0c;一般设置Developer只有Merger Request权限&#xff0c;Maintainer还有Merge审批权限 GitLab 中的权限…

C语言菜鸟入门·关键字·union的用法

目录 1. 简介 2. 访问成员 2.1 声明 2.2 赋值 3. 共用体的大小 4. 与typedef联合使用 5. 更多关键字 1. 简介 共用体&#xff08;union&#xff09;是一种数据结构&#xff0c;它允许在同一内存位置存储不同的数据类型&#xff0c;但每次只能存储其中一种类型的…

[C++]了解内置类型升级

内置类型升级 1.调用模板T时&#xff0c;为什么可以使用T()类型的匿名对象来传参2.内置类型被升级成为类后的使用事项 1.调用模板T时&#xff0c;为什么可以使用T()类型的匿名对象来传参 当我们在定义或声明一个函数时&#xff0c;如果想使用模板T类型的默认构造&#xff08;例…

JavaScript的基础数据类型

一、JavaScript中的数组 定义 数组是一种特殊的对象&#xff0c;用于存储多个值。在JavaScript中&#xff0c;数组可以包含不同的数据类型&#xff0c;如数字、字符串、对象、甚至其他数组。数组的创建有两种常见方式&#xff1a; 字面量表示法&#xff1a;let fruits [apple…

Neural Magic 发布 LLM Compressor:提升大模型推理效率的新工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

友思特新闻 | 友思特荣获广州科技创新创业大赛智能装备行业赛初创组优胜企业!

2024年11月19日&#xff0c;第十三届中国创新创业大赛&#xff08;广东广州赛区&#xff09;暨2024年广州科技创新创业大赛智能装备行业赛颁奖典礼隆重举行。 赛事奖项介绍&#xff1a;广州科技创新创业大赛智能装备行业赛 第十三届“中国创新创业大赛&#xff08;广东广州赛区…

以灵魂的方式进入:从table和drawer哪个单词更长说起

有两个单词&#xff0c;table和drawer&#xff1a; table n.桌子drawer n.抽屉 现在就问&#xff0c;这两个单词&#xff0c;哪个单词更长&#xff1f;你会说&#xff0c;神经&#xff0c;这还用问吗&#xff1f;哪个单词更长&#xff0c;不一目了然吗&#xff1f; 其实&…