[命令] Linux 命令 lsscsi (查看硬盘类型,例:SSD、HD、SATA、FC ……)

内容一:lsscsi 命令的格式

# lsscsi <option>

内容二:lsscsi 命令的选项

1) -c 以硬盘全称的形式显示硬盘默认信息
2) -d 显示硬盘主设备号和次设备号
3) -g 显示硬盘对应的 sg 设备
4) -H 显示硬盘的控制器列表
5) -i 显示硬盘的 udev 信息
6) -l 显示硬盘状态
7) -ll 显示硬盘状态,比 -l 选项能显示更多信息
8) -lll 或者 -L 显示硬盘状态,比 -ll 选项能显示更多信息
9) -p 显示硬盘的 DIF DIX 保护类型
10) -P 显示硬盘有效的保护类型
11) -s 显示硬盘容量
12) -v 显示硬盘设备所在目录
13) -w 显示硬盘的 WWN 信息
14) -x 以 16 进制显示硬盘的 lun 号

[内容] Linux 常用日志 (openSUSE & SUSE 版)

1) /var/log/boot.msg,包含系统启动时显示在屏幕上的信息
(补充:当进入系统时,可以同时按下 “ctrl” 键和 “alt” 键和 “f10” 键切换到显示日志的界面,之后可以再通过 KVM 显示系统启动时显示在屏幕上的信息。)
2) /var/log/boot.omsg,包含上一次系统启动时显示在屏幕上的信息
3) /var/log/messages,包含几乎所有日志
4) /var/log/warn,包含 WARNING 也就是级别 4 以上的所有日志
5) /var/log/wtmp,包含和系统登录和重启的所有日志
(补充:可以通过 last 命令读取)
6) /var/log/YaST2/y2log,包含 YaST 的所有日志
7) /var/log/xinetd.log,包含 xinetd 服务的所有日志
8) /var/log/dump/,包含 Kdump 工具在系统宕机时收集的所有故障信息
9) /var/log/atop,包含 Atop 工具收集的系统资源 (CPU、内存、系统进程、IO) 的所有使用信息

[内容] Linux CPU 温度的显示 (直接显示)

内容一:显示 CPU 的瞬时温度

# cat /sys/class/thermal/thermal_zone0/temp


补充:
1) 这里以显示第 1 个 CPU 的瞬时温度为例
2) 将显示的数值除以 1000 就是以摄氏为单位的温度
3) 如果显示第 2 个 CPU 的瞬时温度则将 thermal_zone0 换成 thermal_zone1

内容二:显示 CPU 的瞬时温度,并对数值进行处理

# echo "CPU Temperature: $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]"


补充:
1) 这里以显示第 1 个 CPU 的瞬时温度为例
2) 如果显示第 2 个 CPU 的瞬时温度则将 thermal_zone0 换成 thermal_zone1

[内容] Linux 处理器详细信息的显示 (显示 /proc/cpuinfo 文件里的信息)

内容一:显示处理器详细信息

1.1 显示处理器详细信息

# cat /proc/cpuinfo

或者:

# lscpu

1.2 /proc/cpuinfo 文件里或者 lscpu 命令里重要参数

1) processor,进程 (虚拟核心) ID
2) core ID,物理核心 ID
3) physical id,物理封装处理器 ID (CPU socket ID)
4) cpu cores, 每 1 个物理封装处理器 ID (CPU socket ID) 里的物理核心数量
5) siblings, 每 1 个物理封装处理器 ID (CPU socket ID) 里的进程 (虚拟核心) 数量

内容二:显示 Linux 处理器详细信息的案例

2.1 案例一:显示处理器所有信息

# cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 23
model		: 1
model name	: AMD Ryzen 7 1700 Eight-Core Processor
stepping	: 1
microcode	: 0x8001138
cpu MHz		: 1371.214
cache size	: 512 KB
physical id	: 0
siblings	: 16
core id		: 0
cpu cores	: 8
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca
bugs		: sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass
bogomips	: 5987.93
TLB size	: 2560 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate eff_freq_ro [13] [14]

......

2.2 案例二:显示处理器进程 (虚拟核心) 数

# cat /proc/cpuinfo | egrep "core id|physical id|processor" | tr -d "\n" | sed s/processor/\\nprocessor/g | sed 's/physical/     physical/' | sed 's/core/     core/' | grep -v ^$ | wc -l

2.3 案例三:显示处理器物理核心数

# cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l

2.4 案例四:显示物理封装处理器 (处理器 socket) 数

# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l

2.5 案例五:显示处理器所有进程 (虚拟核心) ID

# cat /proc/cpuinfo | grep processor
processor	: 0
processor	: 1
processor	: 2
processor	: 3
processor	: 4
processor	: 5
processor	: 6
processor	: 7
processor	: 8
processor	: 9
processor	: 10
processor	: 11
processor	: 12
processor	: 13
processor	: 14
processor	: 15

2.6 案例六:显示处理器所有物理核心 ID

# cat /proc/cpuinfo | grep 'core id'
core id		: 0
core id		: 1
core id		: 2
core id		: 3
core id		: 4
core id		: 5
core id		: 6
core id		: 7
core id		: 0
core id		: 1
core id		: 2
core id		: 3
core id		: 4
core id		: 5
core id		: 6
core id		: 7

2.7 案例七:显示处理器所有物理封装处理器 ID (处理器 socket ID)

# cat /proc/cpuinfo | grep 'physical id'
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0

2.8 案例八:显示处理器所有物理封装处理器 ID (处理器 socket ID) 和物理核心 ID 以及对应关系

# cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | sed 's/core/ core/'g |  grep -v ^$ | sort | uniq
physical id	: 0 core id		: 0
physical id	: 0 core id		: 1
physical id	: 0 core id		: 2
physical id	: 0 core id		: 3
physical id	: 0 core id		: 4
physical id	: 0 core id		: 5
physical id	: 0 core id		: 6
physical id	: 0 core id		: 7

2.9 案例九:显示处理器所有进程 (虚拟核心) ID、物理封装处理器 ID (处理器 socket ID) 、物理核心 ID 以及对应关系

# cat /proc/cpuinfo | egrep "core id|physical id|processor" | tr -d "\n" | sed s/processor/\\nprocessor/g | sed 's/physical/     physical/' | sed 's/core/     core/' | grep -v ^$
processor	: 0     physical id	: 0     core id		: 0
processor	: 1     physical id	: 0     core id		: 1
processor	: 2     physical id	: 0     core id		: 2
processor	: 3     physical id	: 0     core id		: 3
processor	: 4     physical id	: 0     core id		: 4
processor	: 5     physical id	: 0     core id		: 5
processor	: 6     physical id	: 0     core id		: 6
processor	: 7     physical id	: 0     core id		: 7
processor	: 8     physical id	: 0     core id		: 0
processor	: 9     physical id	: 0     core id		: 1
processor	: 10     physical id	: 0     core id		: 2
processor	: 11     physical id	: 0     core id		: 3
processor	: 12     physical id	: 0     core id		: 4
processor	: 13     physical id	: 0     core id		: 5
processor	: 14     physical id	: 0     core id		: 6
processor	: 15     physical id	: 0     core id		: 7

2.10 案例十:显示每 1 个物理封装处理器 (处理器 socket) 里物理核心数

# cat /proc/cpuinfo | grep 'cpu cores'
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8
cpu cores	: 8

2.11 案例十一:显示每 1 个物理封装处理器 (处理器 socket) 里进程 (虚拟核心) 核心数

# cat /proc/cpuinfo | grep 'siblings'
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16
siblings	: 16

内容二:理解显示的处理器详细信息

1) processor 的数字从 0 到 15,代表有 16 个进程 (虚拟核心)
2) core id 的数字从 0 到 7,代表有 8 个物理核心
3) physical id 的数字都是 0,代表只有 1 个物理封装处理器 (处理器 socket)
4) cpu cores 的数字都是 8,代表每 1 个物理封装处理器 (处理器 socket) 里有 8 个物理核心
5) siblings 的数字都是 16,代表每 1 个物理封装处理器 (处理器 socket) 里有 16 个进程 (虚拟核心)
6) 总结:1 个处理器,8 个物理核心,16 个进程 (虚拟核心)

[步骤] Linux 软件指定版本的升级 (openSUSE & SLES 版)

步骤一:解锁软件

# zypper removelocks docker

(补充:这里以解锁 docker 软件包为例)

步骤二:显示所有可用的软件版本

# zypper se -s docker

(补充:这里以显示 docker 软件包的所有可用的版本为例)

步骤三:升级指定版本的软件

# zypper install --oldpackage docker-<version>.<architecture>

(补充:这里以升级 docker 软件包的指定版本为例)

步骤四:重新锁定软件

# zypper addlock docker

(补充:这里以重新锁定 docker 软件包为例)

步骤五:重启系统

# reboot