1、什么是linux发行版

就Linux的本质来说,它只是操作系统的核心,负责控制硬件、管理文件系统、程序进程等,并不给用户提供各种工具和应用软件。
所谓工欲善其事,被必先利其器,一套在优秀的操作系统核心,若没有强大的应用软件可以使用,
是无法发挥它强大的功能,用户也无法仅仅使用这个系统核心进行工作,
因此人们以Linux内核为中心,再集成搭配各种各样的系统管理软件或应用工具软件组成一套完整的操作系统,
如此的组合便称为Linux发行版。

GNU/Linux是开源的,因此所有人只要在遵循社区规则就可以开发自己的发行版本,
目前已知有300多个Linux的发行版。
实际工作中我们可能仅仅使用到几个版本,因此我们只需要知道一些比较知名的发行版本就好。

Red Hat

最著名的Linux版本,Red Hat Linux已经成为了一个品牌。
Red Hat在1994年创业,当时聘用了全世界500多名员工,他们都致力于开放的源代码体系。
它拥有自己的公司,能向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。
这个版本的Linux也使用最新的内核,还拥有大多数人都需要使用的主体软件包。
Red Hat Linux使用图形化安装,安装过程即可简单设置服务器全部信息也十分简单。
磁盘分区过程可以自动完成,还可以选择GUI工具完成,即使对于Linux新手来说这些都非常简单。
选择软件包的过程也与其他版本类似;用户可以选择软件包种类或特殊的软件包。
系统运行起来后,用户可以从Web站点和 Red Hat那里得到充分的技术支持。
Red Hat是一个符合大众需求的最优版本(我会告诉你,你只要拿钱就行了嘛)。
在服务器和桌面系统中它都工作得很好。Red Hat的唯一缺陷是带有一些不标准的内核补丁,这使得它难于按用户的需求进行定制。
Red Hat通过论坛和邮件列表提供广泛的技术支持,它还有自己公司的电话技术支持,后者对要求更高技术支持水平的集团客户更有吸引力。

Debian

Debian的目标是提供一个稳定容错的Linux版本。
支持Debian的不是某家公司,而是许多在其改进过程中投入了大量时间的开发人员,这种改进吸取了早期Linux的经验。
Debian力求系统的稳定性,因为软件更新的速度很慢,但是稳定性也成了众多IT人员所喜爱的原因。

Ubuntu

Ubuntu是一个基于Debian的发型版本,但是软件更新频度相对较高。
它提供两个主要版本,一个是桌面版本,一个是服务器版本,但是Ubuntu比较注重桌面版本。
Ubuntu在发布版本的时候,会发布一个LTS版本,这个版本会提供长达三年的升级支持。

CentOS

CentOS是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。
由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。
两者的不同,在于CentOS并不包含封闭源代码软件,CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。
每个版本的CentOS都会获得十年的支持(通过安全更新方式)。
新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。
这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。

SuSE

SuSE的总部设立在德国,已经奋斗了多年。
SuSE一直致力于创建一个连接数据库的最佳Linux版本。
为了实现这一目的,SuSE与Oracle 和IBM合作,以使他们的产品能稳定地工作。
SuSE的硬件检测非常优秀,该版本在服务器和工作站上都用得很好。
SuSE拥有界面友好的安装过程,还有图形管理工具,可方便地访问Windows磁盘,对于终端用户和管理员来说使用它同样方便,这使它成为了一个强大的服务器平台。

Fedora

Fedora也是一套从Red Hat Linux发展出来的免费Linux系统。
Fedora由一个强大的社区,这个社区的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。
Fedora项目由 Fedora 基金会管理和控制,得到了Red Hat, Inc. 的支持。
Red Hat会将一些先行技术放入Fedora进行试验,
它使用RPM包来安装软件,并且提供repo这种包管理器来简化软件包的安装流程和进行软件包升级。

2、了解linux软硬件信息

2.1查看版本信息

1、查看内核版本

[root@localhost ~]# cat /proc/version
Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

2、查看操作系统版本

[root@localhost ~]# more /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.6.1810 (Core)
Release:        7.6.1810
Codename:       Core

2.2查看cpu信息

可以通过查看/proc/cpuinfo文件来获取cpu信息。

[root@localhost ~]# more /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 79
model name      : Intel(R) Xeon(R) CPU E5-2609 v4 @ 1.70GHz
stepping        : 1
microcode       : 0xb00001d
cpu MHz         : 1696.073
cache size      : 20480 KB
physical id     : 0
siblings        : 6
core id         : 0
cpu cores       : 6
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 20
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_
tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadli
ne_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch epb fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 invpcid rtm rdseed adx smap xsaveopt dtherm
arat pln pts
bogomips        : 3392.14
clflush size    : 64
cache_alignment : 64
address sizes   : 42 bits physical, 48 bits virtual
power management:
......

主要了解其中几个常用参数即可:

vendor_id :CPU制造商,英特尔处理器,则字符串是 GenuineIntel
cpu family :CPU产品系列代号
model   :CPU属于其系列中的哪一代的代号
model name:CPU属于的名字及其编号、标称主频
cpu MHz   :CPU的实际使用主频
cache size   :CPU二级缓存大小
physical id   :单个CPU的标号
siblings       :单个CPU逻辑物理核数
core id        :当前物理核在其所处CPU中的编号,这个编号不一定连续
cpu cores    :该逻辑核所处CPU的物理核数
fpu_exception  :是否支持浮点计算异常
wp             :表明当前CPU是否在内核态支持对用户空间的写保护(Write Protection)
flags          :当前CPU支持的功能
bogomips   :在系统内核启动时粗略测算的CPU速度
clflush size  :每次刷新缓存的大小单位

当然,我们实际工作中有一些常用的命令,能方便我们尽快查出自己想要知道的信息。

首先我们需要知道几个概念

CPU逻辑核数(CPU线程数,Thread):通过超线程技术,能将一个物理核分成多个逻辑核。
CPU(处理器)数量:主板插槽上(物理封装上)的CPU芯片的个数。
CPU物理核数(Core):一颗物理CPU中包含的内核数量(Core)

服务器的CPU物理核总数 = CPU数量 × 每颗CPU的物理核数(cpu cores)
服务器的CPU逻辑核总数 = CPU数量 × 每颗CPU的逻辑核数(siblings)

cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 	物理机器插槽中CPU的数量
cat /proc/cpuinfo | grep "processor" | sort -u | wc -l 	逻辑处理器总数
cat /proc/cpuinfo | grep "cpu cores" | sort | uniq 	    每个物理CPU中Core的个数
cat /proc/cpuinfo | grep "core id" | sort -u | wc -l 	所有物理CPU上的core的个数总和

2.3dmidecode命令查询

如果需要获取一些linux的硬件信息,比如你想知道服务器又多少个内存条插槽,你要去拆开服务器一个个的数,显然这是很低级的。
dmidecode允许你在Linux系统下获取有关硬件方面的信息。
dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等信息。
dmidecode会输出所有的硬件信息。

[root@localhost ~]# dmidecode|wc -l
9691

近万条信息,显然不可能一条条的看,我们只需要过滤说我们常用的命令就行。

dmidecode -t 2 查看主板信息

[root@localhost ~]# dmidecode -t 2
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.2 present.
# SMBIOS implementations newer than version 3.1.1 are not
# fully supported by this version of dmidecode.

Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
        Manufacturer: Inspur
        Product Name: YZMB-00882-104
        Version: NF5280M5                     #服务器型号
        Serial Number: MBK329W30929A90
        Asset Tag: 219291812                #系统序列号
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Default string
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

dmidecode -t 16查询内存信息

[root@localhost ~]# dmidecode -t 16
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.2 present.
# SMBIOS implementations newer than version 3.1.1 are not
# fully supported by this version of dmidecode.

Handle 0x0042, DMI type 16, 23 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: Single-bit ECC
        Maximum Capacity: 9 TB    #系统支持最大内存数
        Error Information Handle: Not Provided
        Number Of Devices: 24     #服务器内存卡槽数

可以用以下命令查询内存条大小以及插的内存数

dmidecode|grep -P -A5 "Memory Device" |grep Size

[root@localhost ~]# dmidecode|grep -P -A5 "Memory Device" |grep Size
        Size: 64 GB
        Size: 64 GB
        Size: 64 GB
        Size: 64 GB
        Size: No Module Installed
        Size: No Module Installed
        Size: 64 GB
        Size: 64 GB
        Size: 64 GB
        Size: 64 GB
        Size: No Module Installed
        Size: No Module Installed
        Size: 64 GB
        Size: 64 GB
        Size: 64 GB
        Size: 64 GB
        Size: No Module Installed
        Size: No Module Installed
        Size: 64 GB
        Size: 64 GB
        Size: 64 GB
        Size: 64 GB
        Size: No Module Installed
        Size: No Module Installed

可以用以下命令查询内存速率

dmidecode|grep -A16 "Memory Device"|grep 'Speed'

[root@localhost ~]# dmidecode|grep -A16 "Memory Device"|grep 'Speed'
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: Unknown
        Speed: Unknown
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: Unknown
        Speed: Unknown
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: Unknown
        Speed: Unknown
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: 2666 MT/s
        Speed: Unknown
        Speed: Unknown

你确定你了解什么是linux系统?的更多相关文章

  1. 在Linux系统下运行微信Web开发者工具

    微信Web开发者工具只有window版本和mac版本,如果想要在Linux系统下运行微信Web开发者工具,需要花费很大周折. 注:带 * 的步骤或文件为不确定是否管用的步骤或文件.本人系统为Linux ...

  2. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  3. Linux系统中的Device Mapper学习

    在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...

  4. 玩转 Linux 系统的方法论

    Linus 说“Just for fun”,而我要说“Just for 折腾”.想知道我是怎样折腾 Linux 的,请看下面这个截图: 从这个截图可以看出,我为了“折腾” Linux 系统,在我的电脑 ...

  5. Linux 系统中发博客必备的五大图片处理神器

    发博客时,总免不了要用图片说话.经过长时间的磨合,在 Linux 桌面系统下有几款图片处理软件我已经用得比较顺手了.这几款软件在 Linux 世界使用广泛,各个 Linux 发行版的软件仓库中都有自带 ...

  6. 探索 Linux 系统的启动过程

    引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...

  7. 在linux系统中安装VSCode(Visual Studio Code)

    在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网  ...

  8. 如何重置硬盘遭到“损坏”的Linux系统root用户密码

    传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名.而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障 ...

  9. Linux 系统中的MySQL数据库默认区分大小写

    今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...

  10. 如何配置Linux系统的网络IP地址

    一台安装了Linux系统的电脑如果想要联网,首先要做的就是进行网络配置.今天小编就以CentOS6.4系统为例为大家介绍整个网络配置的过程,虽然只是以CentOS6.4系统为例,但是其它的Linux系 ...

随机推荐

  1. PHP中__FUNCTION__与__METHOD__的区别

    你知道php中__FUNCTION__与__METHOD__的区别吗?本文通过一个小例子,为大家介绍下二者的区别,有兴趣的朋友可以参考下.   PHP中__FUNCTION__与__METHOD__的 ...

  2. APICloud ajax请求api数据问题

    云编译开启全局加密的情况下,请务必使用api.ajax,避免使用JQ等框架的ajax,否则将引起请求失败.官网API说明链接 还要就是要注意用$.ajax请求数据时会出现的同源策略问题.

  3. H3C 专线连接模型

  4. dotnet 设计规范 · 抽象类

    X 不要定义 public 或 protected internal 访问的构造函数.默认 C# 语言不提供抽象类的公开构造函数方法. 如果一个构造函数定义为公开,只有在开发者需要创建这个类的实例的时 ...

  5. H3C 各类路由默认优先级

  6. H3C 路由表查找规则(2)

  7. 2018-8-10-WPF-程序生成类库错误

    title author date CreateTime categories WPF 程序生成类库错误 lindexi 2018-08-10 19:16:53 +0800 2018-2-13 17: ...

  8. linux vmalloc 和 其友

    我们展示给你的下一个内存分配函数是 vmlloc, 它在虚拟内存空间分配一块连续的内存 区. 尽管这些页在物理内存中不连续 (使用一个单独的对 alloc_page 的调用来获得每个 页), 内核看它 ...

  9. 元组&字典&函数基础

    set: 类似dict, 是一组key的集合,不存储value 本质:无序和无重复元素的集合 创建: 创建set需要一个list或者tuple或者dict作为输入集合 重复元素在set中会自动被过滤 ...

  10. java反射小实例

    利用反射实现 对配置文件的更改达到更改方法的目的 文件夹目录 首先Student类中有个sleep方法 pro.properties定义了参数 最后是RelectTestMain. package c ...