Linux---系统的初步学习【项目一:Linux操作系统的安装与配置】

项目一 Linux操作系统的安装与配置

1.1 项目知识准备

1.1.1 操作系统是什么?

​ 操作系统(Operating System,OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理硬件决定程序运行的优先次序管理文件系统等基本事务。操作系统还提供了一个让用户与系统交互的操作界面。

​ 操作系统会控制其他程序程序运行,同时还提供如下一些基本的服务程序。

  • 文件系统

​ 文件系统提供计算机存储信息的结构,信息存储在文件中,文件主要存储在计算机的内部硬盘里,在目录的分层结构中组织管理文件。文件系统是对文件存储设备的空间进行组织分配,负责文件存储并对存入的文件进行保护检索的系统。

  • 设备驱动程序

​ 设备驱动程序是一种可以使计算机和设备进行相互通信的特殊程序,相当与硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作。

  • 用户接口

​ 操作系统需要为用户提供运行程序和访问文件系统的方法。如Windows桌面系统,可以理解为一种用户操作系统交互的方式。

  • 系统服务程序

​ 当家算计启动时,许多系统服务的程序会自启动,执行暗转文件系统、启动网络服务、运行判定任务等操作。

​ 比如:操作系统好像就是大脑,身体的各个器官都会被它管控;操作系统在给其他软件提供运行环境的同时,也会约束这些软件按规则运行。

1.1.2 Linux的发展史

Linux是一个开源的操作系统内核,它的发展历史可以概括为以下几个阶段:

  1. UNIX的起源:Linux的灵感来源于UNIX操作系统。UNIX最早由AT&T的贝尔实验室在20世纪70年代初期开发。

  2. MINIX的诞生:1987年,安德鲁·塔能鲍姆(Andrew S. Tanenbaum)为了教学目的开发了一个类UNIX操作系统MINIX。

  3. Linux内核的诞生:1991年,林纳斯·托瓦兹(Linus Torvalds)为了学习操作系统的工作原理,开始编写自己的内核。他最初是作为MINIX的一个替代品来开发的,但很快它就发展成了一个独立的项目。

  4. Linux的早期发展:Linux内核最初是作为一个自由软件发布的,很快就吸引了一群开发者,他们开始贡献代码,增加新功能。

  5. GNU项目的结合:自由软件基金会(Free Software Foundation)的理查德·斯托曼(Richard Stallman)领导的GNU项目已经开发了一套兼容UNIX的操作系统,但是缺少内核。Linux内核的出现填补了这个空缺,形成了GNU/Linux,这是许多Linux发行版的基础。

  6. Linux发行版的兴起:1993年,Debian项目成立,成为最早的Linux发行版之一。随后,Red Hat、Ubuntu、Fedora等众多Linux发行版相继出现,推动了Linux的普及。

  7. 企业级应用:随着时间的推移,Linux开始被越来越多的企业和组织采用,特别是在服务器市场。它以其稳定性、安全性和开源特性获得了广泛的认可。

  8. 移动设备和嵌入式系统:进入21世纪后,Linux不仅在服务器和桌面领域获得了成功,还在移动设备和嵌入式系统中扮演了重要角色,例如Android操作系统就是基于Linux内核的。

  9. 持续发展:至今,Linux内核仍在不断地更新和发展,新的功能和改进持续被加入,同时它仍然是开源社区中最活跃的项目之一。

Linux的发展是开源文化和社区协作的一个典范,它展示了自由软件的力量和潜力。

1.1.3Linux操作系统的优点

Linux操作系统因其多种优点而被广泛采用,以下是一些主要的优点:

  1. 开源和自由:Linux是开源的,这意味着用户可以自由地使用、修改和分发源代码。

  2. 稳定性和可靠性:Linux系统以其稳定性和可靠性而闻名,适合长时间运行而不需要重启。

  3. 安全性:Linux提供了强大的安全特性,包括SELinux和AppArmor等安全模块,以及较低的病毒和恶意软件风险。

  4. 灵活性和定制性:用户可以根据自己的需要定制Linux系统,包括选择不同的桌面环境、窗口管理器和应用程序。

  5. 多用户支持:Linux设计有强大的多用户支持,允许多个用户同时使用系统,每个用户都有自己的权限和配置。

  6. 跨平台:Linux可以在多种硬件平台上运行,从个人电脑到大型服务器,再到嵌入式系统。

  7. 丰富的软件库:Linux拥有庞大的软件库,包括开源和商业软件,用户可以根据自己的需求选择合适的应用程序。

  8. 社区支持:Linux有一个活跃的社区,用户可以从社区获得帮助和支持。

  9. 成本效益:许多Linux发行版是免费的,这使得它们对于预算有限的用户和组织来说非常有吸引力。

  10. 性能:Linux系统通常提供出色的性能,特别是在处理高负载和多任务方面。

  11. 易于维护:Linux的命令行界面提供了强大的工具来管理和维护系统。

  12. 可扩展性:Linux可以很容易地扩展以满足不断增长的需求,无论是在硬件还是软件方面。

  13. 兼容性:Linux支持广泛的文件系统和设备驱动程序,使其能够与各种硬件和软件兼容。

  14. 企业级应用:许多大型企业和组织使用Linux作为其服务器和数据中心的基础操作系统。

  15. 创新和实验:Linux的开源特性鼓励创新和实验,许多新技术和概念首先在Linux上得到实现和测试。

这些优点使得Linux成为从个人用户到企业级应用的广泛选择。

1.1.4 Linux的发行版本

Linux发行版是基于Linux内核的操作系统版本,每个发行版都有其独特的功能、软件包管理和用户界面。根据搜索结果,这里有一些流行的Linux发行版及其特点:

  1. openSUSE:由社区赞助,也是由SUSE Linux和其他公司制作的稳定Linux发行版之一,使用与SUSE Linux Enterprise相同的代码库。

  2. Fedora:由Red Hat Inc支持的社区驱动的Linux操作系统,以提供前沿功能而闻名,软件存储库更新及时。

  3. Linux Mint:基于Ubuntu的Linux发行版,适合新手和高级用户,提供稳定、强大、易于使用且开箱即用的体验。

  4. Ubuntu:基于Debian的流行Linux发行版,适合新手和企业使用,提供长期支持版本和定期更新。

  5. Arch Linux:非典型的操作系统,带有一个Linux内核和包管理器Pacman,提供高度个性化的操作系统。

  6. Debian:以其稳定性而著称的自由开源操作系统,安装过程复杂但提供高度灵活性。

  7. Gentoo:以其高度的自定义性和优化的软件而闻名,使用独特的Portage包管理系统。

  8. CentOS:基于RHEL源代码重新构建的自由开源Linux系统,提供与RHEL相当的稳定性和安全性。

  9. Red Hat Enterprise Linux (RHEL):由红帽公司推出的商业机构级Linux服务器操作系统,提供开源软件和专业服务。

  10. Mageia:由Mandriva的前员工开发,具有出色的用户界面和稳定性,支持GNOME和KDE桌面环境。

这些发行版各有千秋,适合不同用户的需求。例如,初学者可能会倾向于使用Ubuntu或Linux Mint,因为它们易于上手;开发者可能更喜欢Arch Linux或Gentoo,因为它们提供了高度的自定义性;企业用户可能会选择RHEL或CentOS,因为它们提供了所需的稳定性和安全性。

1.1.5 如何学习Linux

  • 学习方法

​ 学习大多类似庖丁解牛,对事物的认识一般都由浅入深、由表及里的过程,要循序渐进。学习Linux同样要有一定的顺序和方法,初学者建议按照课本(Linux项目化教程–西北工业大学出版社),同时也是整理好的这个文档学习,不要跳跃,欲速则不达。

  • 遇到问题怎么办?

建议先自己尝试解决,加深自己的映像,当然询问别人也是一个不错的方法,但还需要自己多了解;网络查询也是很好的学习工具。

  • 英文读不懂怎么办?

​ 当然是翻译了啊,其实只要熟记计算机专业的英语单词,就可以轻松阅读文档了。

  • 忘记Windows的思维方式

​ 思维的转变比暂时性的技术提高更重要,因为它能帮助人们加快学习速度。

1.2项目实施

1.2.1 任务一:环境准备

CentOS 8所需的最低硬件配置:

  • 内存2GB以上;
  • Intel i3及以上型号的CPU,64位x86架构;
  • 30 GB以上硬盘空间;
  • 普通网卡

同时,我们将选用一个虚拟机app,将Linux系统安装在虚拟机中。这里,以VM(VMware Workstation)为例;

  • VM(VMware Workstation):工作站版虚拟化软件,简单,易用,适合用于搭建学习环境。

小提示

​ VMware对计算机的硬件配置要求比较高,配置低了虚拟机会很慢,现在主流的计算机配置都可以达到运行VMwart的要求。

​ 首先在电脑上安装VMware Workstation,安装过程根据安装向导安装即可,与安装普通软件无异,因此不再过多阐述。安装后启动VMware Workstation,主界面如下图所示:

在这里插入图片描述

1.2.2 任务二 安装配置Linux

​ 下载CentOS 8 的安装镜像文件,可以访问

以下载CentOS8.5版本。

VMware安装Linux操作系统过程如下:

启动VMware Workstation

点击创建新的虚拟机>>>典型>>>下一步

在这里插入图片描述

稍后安装操作系统>>>下一步>>>客户机操作系统选择Linux>>>版本选择CentOS 8 64位(与镜像文件的版本一致)>>>下一步

在这里插入图片描述

设置虚拟机名称>>>选择位置>>>下一步>>>设置最大磁盘大小>>>将虚拟磁盘拆分成多个文件>>>下一步>>>完成
在这里插入图片描述

加入CentOS 8 的镜像文件:

选择CD/DVD>>>使用ISO映像文件>>>选择下载好的CentOS 8 的ISO文件>>>确定

在这里插入图片描述

开启此虚拟机

在这里插入图片描述

进入Linux操作系统安装系统:

这里可以选择直接安装CentOS 8(Install CentOS Linux 8)【用上下箭头键选择,回车键确定】

在这里插入图片描述

下一步Linux安装到选择语言界面,选择中文>>>简体中文>>>继续

在这里插入图片描述

下一步到安装信息摘要界面:

在这里插入图片描述

设置根密码(也就是root密码):需要确认两次,然后点击完成按钮

在这里插入图片描述

设置安装目的地:点击安装目的地,进入安装目标位置界面后,直接点击完成按钮。注意:不做任何设置!!!

在这里插入图片描述

最后,点击开始安装!!!

在这里插入图片描述

需要等待安装进度,时间大概10min左右(根据计算机配置不同,速率不同)

在这里插入图片描述

安装完成,点击重启系统!!!

在这里插入图片描述

进入初始化设置,需要设置许可信息并创建用户

在这里插入图片描述

设置许可信息:点击许可信息进入许可信息界面:1勾选同意2完成退出

在这里插入图片描述

创建用户:点击创建用户进入创建用户界面,输入相应的信息即可完成创建

在这里插入图片描述

配置完成,点击右下角的结束配置按钮,系统会重新启动登录用户即可进入Linux桌面!

在这里插入图片描述

1.2.3 任务三 使用Linux远程管理工具

  • 使用Linux远程管理协议

Linux远程管理工具允许用户从远程位置安全地访问和管理Linux系统。以下是对SSH(Secure Shell)、RDP(Remote Desktop Protocol)、RFB(Remote Frame Buffer)和Telnet这几种远程管理工具的整理:

  1. SSH (Secure Shell)

    • 定义:SSH是一种加密的网络协议,用于安全地访问远程计算机。
    • 特点
      • 提供安全加密的数据传输。
      • 支持远程命令执行、文件传输、端口转发等。
      • 广泛用于远程登录和管理Linux系统。
      • 可以通过SSH密钥对进行无密码登录。
  2. RDP (Remote Desktop Protocol)

    • 定义:RDP是微软开发的一个多通道协议,用于连接到远程桌面会话。
    • 特点
      • 允许用户访问图形界面。
      • 常用于Windows系统,但也可以通过第三方客户端连接到Linux桌面环境。
      • 提供了丰富的远程桌面体验,包括音频、打印和智能卡支持。
  3. RFB (Remote Frame Buffer)

    • 定义:RFB是一种协议,允许用户远程访问另一个计算机的帧缓冲区数据。
    • 特点
      • 通常与VNC(Virtual Network Computing)客户端和服务器一起使用。
      • 提供了一种简单的方法来远程访问图形界面。
      • 不加密数据传输,因此可能需要通过VPN或SSH隧道来增加安全性。
  4. Telnet

    • 定义:Telnet是一种网络协议,用于远程登录到服务器。
    • 特点
      • 早期用于远程登录和命令执行,但由于安全问题,已逐渐被SSH所取代。
      • 数据传输未经加密,容易遭受中间人攻击。
      • 通常不推荐用于远程管理,除非在测试环境中且安全性不是主要考虑因素。

注意

​ 在这些工具中,SSH是最常用且最推荐用于远程管理Linux系统的工具,因为它提供了必要的安全性和灵活性。RDP和RFB提供了访问远程图形界面的能力,但可能需要额外的配置来确保安全。Telnet由于安全问题,通常不推荐用于生产环境。

  • 使用Linux远程管理工具

对于工具的使用不会总结,因为我们使用的是VM虚拟机安装了linux系统,VM虚拟机它有自己的远程管理工具:使用SSH协议,如下图所示:

在这里插入图片描述

如何用:先配置,在连接:我们现在有一个名为bx的用户,所以配置如下(非常简单)

虚拟机>>>SSH>>>配置SSH>>>填写用户名 >>>这里可以点保存也可以点连接。

在这里插入图片描述

连接后在Windows中会出现黑窗口,按照提示是否确认连接,再输入密码,然后,就能远程访问Linux系统了!!!

在这里插入图片描述

1.2.4 拓展任务 重置root密码

刚开始接触Linux的学者,忘记了root密码可能会不知所措。其实只需要简单的几步就可以重置自己的root密码,本例以CentOS 8 为例进行操作。

  • 1 开机或重启后,Linux进入引导界面,如下图所示,按E进入`内核编辑界面。

引导界面图:
在这里插入图片描述

  • 2 在Linux内核编辑界面,按照下图所示位置,添加rd.break,然后按Ctrl+X组合键保存修改的内容。

内核编辑模式添加rd.break图:

在这里插入图片描述

  • 3 大概30s后,系统进入救援模式,然后依次输入以下命令,效果图如下:

在这里插入图片描述

重启系统,输入新设置的密码就可以了。【这里只是更改了root的密码,其他用户的密码没进行修改,还是原密码】

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

逻辑斯蒂回归与最大熵

知识树 感知机的缺陷 修补感知机缺陷-逻辑斯蒂回归 下面这两个值是强制给的,不是推导的 最大熵 最大熵的一个小故事 最大熵模型 我们最终目标是要求P(Y|X) 书上写的是H,但是2我们认为H(Y|X)更合适 咱们最终的目的是要用拉格朗日乘数法,所以需要约束 总结 感觉深度之眼比较模…

汽车级TPSI2140QDWQRQ1隔离式固态继电器,TMUX6136PWR、TMUX1109PWR、TMUX1133PWR模拟开关与多路复用器(参数)

1、TPSI2140-Q1 是一款隔离式固态继电器,专为高电压汽车和工业应用而设计。 TPSI2140-Q1 与 TI 具有高可靠性的电容隔离技术和内部背对背 MOSFET 整合在一起,形成了一款完全集成式解决方案,无需次级侧电源。 该器件的初级侧仅由 9mA 的输入电…

Studio One 6.6.2 for Mac怎么激活,有Studio One 6激活码吗?

如果您是一名音乐制作人,您是否曾经为了寻找一个合适的音频工作站而苦恼过?Studio One 6 for Mac是一款非常适合您的MacBook的音频工作站。它可以帮助您轻松地录制、编辑、混音和发布您的音乐作品。 Studio One 6.6.2 for Mac具有直观的界面和强大的功能…

Zookeeper: 配置参数解读

Zookeeper中的配置文件zoo.cfg中参数含义解读如下: tickTime:通信心跳时间,Zookeeper服务器与客户端心跳时间,单位毫秒。 initLimit: LF初始通信时限 Leader和Follower初始连接时能容忍的最多心跳数。 syncLimit: LF同步通信时…

算法01 递推算法及相关问题详解【C++实现】

目录 递推的概念 训练:斐波那契数列 解析 参考代码 训练:上台阶 参考代码 训练:信封 解析 参考代码 递推的概念 递推是一种处理问题的重要方法。 递推通过对问题的分析,找到问题相邻项之间的关系(递推式&a…

mongodb 集群安装

1. 配置域名 Server1: OS version: CentOS Linux release 8.5.2111 hostnamectl --static set-hostname mongo01 vi /etc/sysconfig/network # Created by anaconda hostnamemong01 echo "192.168.88.20 mong1 mongo01.com mongo02.com" >> /…

用GAN网络生成彩票号码

1. 前言 生成对抗网络(GAN,Generative Adversarial Network)是由Ian Goodfellow等人在2014年提出的一种深度学习模型,用于学习和生成与真实数据分布相似的数据。GAN由生成器(Generator)和判别器&#xff08…

Python编程环境搭建

简介: Python环境安装比较简单,无需安装其它依赖环境,主要步骤为: 1. 下载并安装Python对应版本解释器 2. 下载并安装一个ide编码工具 一、下载并安装Python解释器 1.1 下载 官网地址:Welcome to Python.org 选择…

STM32-CAN

一、CAN总线简介 1.1 CAN简介 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信 协议。异步半双工。 ISO11898:123kbps~1Mbps。 ISO11519:125kbps 特点: 多主控制没…

Dify源码本地部署启动

背景 Dify是一个开源LLM应用程序开发平台。Dify的直观界面结合了人工智能工作流、RAG管道、代理功能、模型管理、可观察性功能等,让您快速从原型到生产。 Dify提供在线试用功能,可以直接在线体验其功能。同时也支持docker部署,源码部署等方…

【Vue】Pinia管理用户数据

Pinia管理用户数据 基本思想:Pinia负责用户数据相关的state和action,组件中只负责触发action函数并传递参数 步骤1:创建userStore 1-创建store/userStore.js import { loginAPI } from /apis/user export const useUserStore defineStore(…

ARP协议相关

把ip地址解析成mac地址这里的mac地址就是路由器的mac地址 免费ARP 源ip和目的ip都是一样的,那怎么让其他人更新arp表呢?? 是因为目标mac是全f,是一个广播报文 如果冲突就是ip一样但是mac又不一样 代理ARP pc1和pc4是在同一个子网…

算法训练营第六十天(延长12天添加图论) | LeetCode 647 回文子串、LeetCode 516 最长回文子序列

LeetCode 67 回文子串 思路很简单&#xff0c;每一个dp[i]等于dp[i-1]加上当前字符向前直到0各个长度字符串回文串个数即可 代码如下&#xff1a; class Solution {public boolean isValid(String s) {int l 0, r s.length() - 1;while (l < r) {if (s.charAt(l) ! s.ch…

谷歌企业开发者账号注册的常见问题及解决方法

今天跟大家分享一下注册谷歌开发者企业号的一些注意事项和干货&#xff0c;少走一些弯路。 首先&#xff0c;各位开发者朋友应该都知道&#xff0c;谷歌平台上有两种类型开发者账号&#xff1a;个人开发者账号和企业开发者账号。个人账号上架周期长&#xff0c;需要14天的封测&…

C#传值参数 -1值类型 -2引用类型

传值参数 -1值类型 -2引用类型 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //传值参数-1、值类型 2、引用类型 namespace PamatetersExample {class Program{static void Main(string[] args){St…

2 选频网络

目录 选频网络 什么是选频网络 选频网络的分类 串联谐振回路 等效电路 阻抗特性 品质因素 电压谐振 广义失谐系数 谐振曲线&#xff08;幅频曲线&#xff09; 通频带 相频曲线 考虑信号源内阻与负载电阻 并联谐振回路 等效电路 导纳特性 品质因素 电流谐振…

C++11 move左值转化为右值

单纯的左值只能用左值引用和右值只能用右值引用有些局限&#xff0c;在一些情况下&#xff0c;我们也需要对左值去调用右值引用&#xff0c;从而实现将左值里的内容转移到右值中 标准定义&#xff1a; 功能就是将一个左值强制转化为右值&#xff0c;然后实现移动语义 注意&…

2024年7款硬盘恢复软件:即刻恢复硬盘删除的文件!

当文件被删除后&#xff0c;它并不是立即从硬盘中消失&#xff0c;而是被标记为“已删除”&#xff0c;等待垃圾回收处理。因此&#xff0c;在文件被删除后&#xff0c;有几种方法可以尝试恢复删除的数据。 以下是7款常用的数据恢复软件&#xff0c;以及它们的详细介绍&#xf…

Reactor 网络模型、Java代码实例

文章目录 1. 概述2. Reactor 单线程模型2.1 ByteBufferUtil2.2 服务端代码2.3 客户端2.4 运行截图 3. Reactor多线程模型3.1 服务端代码3.2 运行截图 4. 主从 Reactor多线程模型4.1 服务端代码4.2 运行截图 参考文献 1. 概述 在 I/O 多路复用的场景下&#xff0c;当有数据处于…

apt和apt-get有什么区别?内含常用命令以及软件源配置

有时候我们上网找与Linux相关的资料的时候&#xff0c;经常会需要安装一些软件包&#xff0c;找到的一些文章会贴出命令我们直接去命令行里执行就能一键下载安装&#xff0c;然后这些命令中逃不开的就是apt和apt-get。 那么apt和apt-get有什么区别呢&#xff1f; 首先我们先了…