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 ([email protected]) (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