linux-27 发行版以及跟内核的关系

news2025/1/8 7:06:46

    列出你所了解的linux发行版,并说明其跟Linux内核的关系。发行版和内核是什么关系?linux本身指的仅仅是一个操作系统的内核本身,而一个操作系统的组成是什么?内核、库、各种应用程序,shell是应用程序的其中之一,我们的linux仅提供了内核,那库和上层的其他应用程序是由谁来提供的?早期绝大多数都由我们的GNU组织来提供,那因此站在这个意义上来讲,一个完整意义上的linux是由GNU的各种软件和Linux内核一起组成的,叫做GNU linux,一定要记得这一点,但是无论是内核也好,是各种应用程序也好,是库也好,他们都以原代码的形式向我们提供,
凡是写过程序的同学都应该知道,源代码必须要经过编译以后才能运行,一个完整的过程可能通常包括编译、链接、运行,它实际上背后的处理过程是非常复杂的。那因此,对于绝大多数的用户来讲,他们可能没有本事,也没有能力去完成,自己去编译这些软件,而且让它组合起来去运行的。
所以就有了一些厂商或者一些组织专门负责去以一种统一的、通用的方式将这些源代码编译出来,而且给他们提供一个能够安装的光盘,那像这种,我们把它称叫发行版。

    当然,这里光盘只是一种说法,或者我们能够直接安装的一种载体,这就叫发行版。所以像redhat,它把内核编译一下,把各种软件编译一下,并加进去自己所用到的一些logo,而且更重要的是它还会提供一个程序,这个程序运行在光盘上,叫做安装程序,所以在它安装程序一步一步的引导下,我们就可以把系统装上去了,那同样的,还有其他组织也能干这事,将来我们自己也可以做,这也没什么困难的地方,像suse、debian,这是三大目前最主流的发行版。基于redhat还有很多二次发行版,比方说叫centos,fedora不是二次发行版,fedora是为redhat提供实验环境的,它主要用于桌面,而现在的redhat主要指的是的企业版,每一种不同的版本,它的着眼点不同,桌面版主要用于提高用户体验的,会把界面做的非常华丽,像现在无论是ubuntu还是fedora,它的3d桌面做的非常漂亮,而且各种桌面效果做的很炫,其实比Windows好看的多,当然,这前提是你的显卡驱动得正确安装才行。在这些企业版里头,其实界面最好看的当属suse,而且在欧洲那边的占有率应该是非常高的,所以将来我们要去一些大企业工作的话,比如像华为这些公司,因为他们的很多业务是遍布海外的,因此,咱们到欧洲的项目很可能就要用suse,到北美的项目用的可能是redhat,到南非那边用的很可能就是ubuntu了,也各不相同,但不管怎么讲,这些都是linux而已。
好基于suse的发行版不是特别的多,但是有个openSuse要知道,基于debian的呢?那就是我们ubuntu,是最著名的了,但是还有很多其他的,甚至基于ubuntu的还有个二次发行版,我们叫做mint,这个做的界面更漂亮,在这里做一下简单的拓展,其实无论是哪一种发行版,这个厂商如果在这里边动的手脚过多的话,都会导致这个软件在安装的时候有许许多多,我们压根就用不着的东西,它必须得装进去,使得整个系统变得非常的臃肿,比方说,像redhat的系统,像suse的系统都是这样的现状,所以在这三大主流发行版当中,当以debian这种最为最难用一点,但是做出的限制也最少,所以我们说过,高手一般用的是debain系统,但不是ubuntu,我指的就是原生的debian系统。尽管如此,这三种发行版提供给我们可以直接使用的,都是编译好的二进制程序,编译指的是什么?把源代码转换成可以在你的CPU上执行的二进制的过程,对不对?同样的道理,那来想象一下,如果张同一个应用程序,假如说是同一个使用c开发的应用程序,Tom拿着在一个AMD的CPU上进行编译,32位,而jerry拿着在一个酷睿双核的64位的CPU上进行编译,请问编译出来这两个程序的运行机制会不会相同?那因此各位应该明白,编译是干什么用的,将原程序转换成你对应平台可以执行的二进制格式的,所以它跟你的硬件是密切相关的。
    那因此,比如说我们提到过,或者官方提供给我们的,是已经编译好的二进制格式的操作系统,
我们所谓安装的过程就是把这个二进制程序给它展开到当前我们的磁盘就行了,给它按照我们指定的格式放到硬盘上就行,那所以它已经是编译好的,只不过他们所编译好的是用通用的风格编译好的,或者叫通用格式编译好的,这意味着,为了能够让我们的这个redhat在32位的平台上能运行,
它通常会把在一个比较古老的CPU上,比方说五年之前的32位的英特尔或者AMD的CPU上进行编译,编译完以后,在大多数主流的32位平台是不是都能跑起来?因为我们的CPU是向后兼容老的版本的,同样道理,我们拿着一个32位的版本编译好的版本去装到64位的CPU上能不能装?可以,64位是能兼容32位的?反过来行不行?不行,我们编译好的,只能在64位运行,你拿来在32位上跑是绝对不可以的。所以我们将来去下载一个版本的时候,一定要记清楚,要先看你的硬件平台版本和对方所编译好的那个所支持的平台的版本,所以不是说我随便下一个就能拿来直接装的,一定要记得这一点。就像我们的Windows,现在也有32位,64位,对不对?道理是一样的。我们为了能够保证它的通用格式,就在一个所谓的叫奔腾的cpu上进行编译,很古老的CPU,那现在我们酷睿的或者amd的各种平台是不是都能跑啊?但是酷睿这个CPU如果具有了一些新的特性,并且能够加速程序执行的话,请问我们编好这个程序能不能利用这种新特性?不能,因为编译器在编译的时候压根就不知道这个CPU的这种新特性对不对?虽然我能运行,但并不能很好的发挥这个CPU的特性,能理解了吗?因此,我们使用别人编译好的二进制的坏处就在这里了。别人编译好,我们不用再编译,所以安装部署起来都非常方便,但是它却无法很好的符合你的平台的需要,或者能够最好最大化的发挥你的系统硬件的性能。那说到这,我们要想能够让它最大化发挥起来该怎么办?就在那个平台上编译好以后,就让它在那个平台上运行,是不是这样子?而且编译的时候,我们指定很多的优化参数,针对这个平台做特定优化,而有些发行版就提供给我们的这种机制,比方说叫gentoo,这个系统非常独特安装的时候它提供给我的有安装程序,但是安装过程当中几乎很多的软件你都得自己手动编译,编译是很需要时间的,比方说我编译一个内核,很可能根据你的系统性能不同,20分钟,和你选择的内容不同,到两个小时都有可能,所以装一个系统下来,可能一天时间就过去了,但不管怎么讲,它给了我们编译的可能性,尽管如此,gentoo仍然属于一个发行版,所以这种发行对于菜鸟来讲更是玩不转的,但是对大家来讲,我们学到后面的时候,
大家一定要手动去操作一下gentoo。

    不但要求具有gentoo的能力,还有另外一个更让人抓狂的,叫做LFS,LFS的全称叫做linux from scratch,什么意思呢?scratch指的叫起跑线,那说白了,就是我们从零开始,从起跑线开始去构建一个linux,那所以站在这个角度来讲,LFS从严格意义上来讲,它不是一个发行版,它是一本书。如果要构建一个linux,应该到哪儿去下载内核,怎么去编译它,到哪去下载一个软件,怎么去编译它,而且编译出来以后,一凑一拼凑,一个完整意义上的linux形成了,所以他甚至连软件都没有提供给我们,完全让我们自己去网上下载各种软件的源代码,自己找一个宿主机,就是找一个已经装好的系统去编译linux,编译各种软件,最终把它拼凑在我们的目标主机上,而且能够启动并运行起来的。这就是我们的LFS,当然在我们的课程进行到一半的时候,就要求必须要做出LFS,
从安装开始到结束,一般来讲,最快,第一遍也需要两天的时间,但不管怎么讲,我们是需要能够独立完成的。甚至有些公司可能还要求你玩这套,只不过,目前来讲,市面上能够玩转LFS的人还真不太多,所以各位要做好心理准备。当然了,如果LFS我们都能做了的话,其实linux到底是什么?就已经可以完全掌握了。linux以后可以成为你手中的面条,怎么捏它就怎么变?我们学习任何一个知识都必须要奔着这样的目标去,也就奔着这样的高度去。

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

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

相关文章

SAP销售订单的计划行类别是什么?销售订单是如何传递需求给MRP的?

文章目录 一、销售订单计划行类别的参数二、销售订单的项目类别的配置VOV4三、计划行类别的配置VOV6四、对销售订单项目类别分配计划行类别VOV5五、自定义计划行类别 【SAP系统PP模块研究】 #SAP #SD #PP #计划 #需求传递 一、销售订单计划行类别的参数 销售订单主体包括Head…

英伟达 RTX 5090 显卡赋能医疗大模型:变革、挑战与展望

一、英伟达 RTX 5090 与 RTX 4090 技术参数对比 1.1 核心架构与制程工艺 在探讨英伟达 RTX 4090 与 RTX 5090 的差异时,核心架构与制程工艺无疑是最为关键的基础要素,它们从根本上决定了两款显卡的性能上限与应用潜力。 1.1.1 核心架构差异 RTX 4090…

Web渗透测试之XSS跨站脚本 原理 出现的原因 出现的位置 测试的方法 危害 防御手段 面试题 一篇文章给你说的明明白白

目录 XSS介绍的原理和说明 Cross Site Scripting 钓鱼 XSS攻击原理 XSS漏洞出现的原因: XSS产生的原因分析 XSS出现位置: XSS测试方法 XSS的危害 防御手段: 其它防御 面试题: 备注: XSS介绍的原理和说明 嵌入在客户…

【C++】字符串与字符数|组操作详解:strcpy 和 strcat 的使用与解析

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯一、字符串数组的基本操作💯二、strcpy 的用法详解1. strcpy 的功能与原型2. 使用示例与代码演示3. 注意事项4. 扩展:为什么不能直接用 &#xff1f…

玩机搞机基本常识-------列举安卓机型一些不常用的adb联机命令

前面分享过很多 常用的adb命令,今天分享一些不经常使用的adb指令。以作备用 1---查看当前手机所有app包名 adb shell pm list package 2--查看当前机型所有apk包安装位置 adb shell pm list package -f 3--- 清除指定应用程序数据【例如清除浏览器应用的数据】 …

UI自动化测试保姆级教程①

欢迎来到阿妮莫的学习小屋慢也好,步子小也好,在往前走就好 目录 自动化测试 简介 作用 分类 优缺点 优点 缺点(误区) UI自动化测试 自动化测试使用场景 自动化测试实现时间 Selenium框架 特点 Web自动化测试环境部署 Selenium包安装 浏览…

加速科技荣获“浙江省企业研究院”认定

近日,浙江省经济和信息化厅公布“2024年认定(备案)省级企业研发机构名单”。经过多轮严格评审和公示,加速科技荣获“省企业研究院”认定。这是加速科技继获国家级专精特新“小巨人”企业认定荣誉后的又一里程碑。 “浙江省企业研究…

RAG实战:本地部署ragflow+ollama(linux)

1.部署ragflow 1.1安装配置docker 因为ragflow需要诸如elasticsearch、mysql、redis等一系列三方依赖,所以用docker是最简便的方法。 docker安装可参考Linux安装Docker完整教程,安装后修改docker配置如下: vim /etc/docker/daemon.json {…

运动相机拍摄的视频打不开怎么办

3-10 GoPro和大疆DJI运动相机的特点,小巧、高清、续航长、拍摄稳定,很多人会在一些重要场合用来拍摄视频,比如可以用来拿在手里拍摄快速运动中的人等等。 但是毕竟是电子产品,有时候是会出点问题的,比如意外断电、摔重…

【深度学习】深度(Deep Learning)学习基础

深度学习(Deep Learning) 深度学习是一种基于人工神经网络的机器学习方法,通过多个层次(深度)的神经网络从数据中自动学习特征和模式。它是人工智能的一个核心领域,尤其在处理复杂数据(如图像、…

资源分享:gpts、kaggle、paperswithcode

gpts 似乎是gpt agent集合,专注于不同细分方向的ai助手。 kaggle 专注于AI相关的培训、竞赛、数据集、大模型。 paperswithcode 简单直接,内容如同网站地址,直接提供优秀代码和配套的论文,似乎还有数据集。

vue3 数字滚动效果

效果图 代码 <template><div class"number-scroller"><divclass"viewport":style"{ width: width px, height: height px }"><div class"number-scroller-box" ref"num"><div v-for"num…

《软件测试技术》习题参考答案 -2

目录 第6章 黑盒测试 一、选择题 1、黑盒法是根据程序的&#xff08; C &#xff09;来设计测试用例的。 2、黑盒测试用例设计方法包括&#xff08;B &#xff09;等 )。 3、( A )是一种黑盒测试方法&#xff0c;它是把程序的输入域划分成若干部分&#xff0c;然后从每个部…

十年后LabVIEW编程知识是否会过时?

在考虑LabVIEW编程知识在未来十年内的有效性时&#xff0c;我们可以从几个角度进行分析&#xff1a; ​ 1. 技术发展与软件更新 随着技术的快速发展&#xff0c;许多编程工具和平台不断更新和改进&#xff0c;LabVIEW也不例外。十年后&#xff0c;可能会有新的编程语言或平台…

数据库课设——网上花店销售管理系统(上)

声明&#xff1a;此次课设为本人专业课课设报告内容&#xff0c;仅供参考&#xff0c;不要照搬 1 问题的提出 随着互联网发展与电子商务普及&#xff0c;网上花店兴起&#xff0c;其突破地域限制、提供便捷购物体验且市场呈快速增长趋势。该系统需具备多方面功能以满足花店运营…

外驱功率管电流型PWM控制芯片CRE6281B1

CRE6281B1 是一款外驱功率管的高度集成的电流型PWM 控制 IC&#xff0c;为高性能、低待机功率、低成本、高效率的隔离型反激式开关电源控制器。在满载时&#xff0c;CRE6281B1工作在固定频率(65kHz)模式。在负载较低时&#xff0c;CRE6281B1采用节能模式&#xff0c;实现较高的…

mapbox基础,加载高德栅格底图

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.1 ☘️mapboxgl.Map style属性二、🍀加载高德栅格底图1. ☘️实现思路2. ☘…

【大数据】(选修)实验4 安装熟悉HBase数据库并实践

实验4 安装熟悉HBase数据库并实践 1、实验目的 (1)理解HBase在Hadoop体系结构中的角色; (2)熟练使用HBase操作常用的Shell命令; (3)熟悉HBase操作常用的Java API。 2、实验平台 操作系统:Linux Hadoop版本:2.6.0或以上版本 HBase版本:1.1.2或以上版本 JDK版…

安装vue脚手架出现的一系列问题

安装vue脚手架出现的一系列问题 前言使用 npm 安装 vue/cli2.权限问题及解决方法一&#xff1a;可以使用管理员权限进行安装。方法二&#xff1a;更改npm全局安装路径 前言 由于已有较长时间未进行 vue 项目开发&#xff0c;今日着手准备开发一个新的 vue 项目时&#xff0c;在…

前端JS中var、let、const之间的区别

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 一、var 二、let 三、const 四、区别 变量…