dpkg-reconfigure

Debian Linux中重新配制一个已经安装的软件包

补充说明

dpkg-reconfigure命令 是Debian Linux中重新配置已经安装过的软件包,可以将一个或者多个已安装的软件包传递给此指令,它将询问软件初次安装后的配置问题。

当用户需要再次对软件包配置的时候,可以使用dpkg-reconfigure命令来对指定的软件包进行配置。

语法

1
dpkg-reconfigure(选项)(参数)

选项

1
2
3
4
5
6
7
8
-a:重新配置所有的软件包;
-u或--unseen-only:仅显示未提过的问题;
--default-priority:使用默认优先级,而非“低”级;
--force:强制执行操作,需谨慎使用此选项;
--no-reload:不要轻易的重装模板(使用时请慎重考虑);
-f或--frontend:指定 debconf 前端界面;
-p或--priority:指定要显示的问题的最优先级;
--terse:开启简要模式。

参数

软件包名:需要重新配置的已安装的软件包。

实例

用于配置语言:

1
sudo dpkg-reconfigure locales

dpkg-query

Debian Linux中软件包的查询工具

补充说明

dpkg-query命令 是Debian Linux中软件包的查询工具,它从dpkg软件包数据库中查询并辨识软件包的信息。

语法

1
dpkg-query(选项)(参数)

选项

1
2
3
4
5
6
7
-l:列出符合匹配模式的软件包;
-s:查询软件包的状态信息;
-L:显示软件包所安装的文件列表;
-S:从安装的软件包中查询文件;
-w:显示软件包信息;
-c:显示软件包的控制文件路径;
-p:显示软件包的细节。

参数

软件包名称:指定需要查询的软件包。

实例

查找文件file1在哪个包里安装:

1
dpkg-query -S file1

列出ubuntu下所安装软件列表:

1
dpkg-query -W --showformat='${Package} ${Version}\n' > filename

查看软件包详细信息:

1
dpkg-query -s capistrano

查看软件包安装时安装到系统的文件列表:

1
dpkg-query -L capistrano

列出所有安装的包:

1
dpkg-query -l

查看软件包的确切状态(是否安装)以及版本号:

1
dpkg-query -W -f='${Status} ${Version}\n' apache-perl

dpkg-preconfigure

Debian Linux中软件包安装之前询问问题

补充说明

dpkg-preconfigure命令 用于在Debian Linux中软件包安装之前询问问题。

语法

1
dpkg-preconfigure(选项)(参数)

选项

1
2
3
-f:选择使用的前端;
-p:感兴趣的最低的优先级问题;
--apt:在apt模式下运行。

参数

软件包:指定“.deb”软件包。

实例

导入debconf模板:

1
dpkg-preconfigure /var/cache/apt/archives/mysql-server-5.5*.deb

dpkg-divert

Debian Linux中创建并管理一个转向列表

补充说明

dpkg-divert命令 是Debian Linux中创建并管理一个转向(diversion)列表,其使得安装文件的默认位置失效的工具。

语法

1
dpkg-divert(选项)(参数)

选项

1
2
3
4
5
--add:添加一个转移文件;
--remove:删除一个转移文件;
--list:列出匹配的转移;
--truename:对应转移文件真实文件名;
--quidet:安静模式。

参数

文件:指定转移文件名。

实例

指定软件包wibble安装时,写入/usr/bin/example.foo,而不是/usr/bin/example

1
dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/example

指定软件包wibble安装时,删除对/usr/bin/example的转移修改:

1
dpkg-divert --package wibble --rename --remove /usr/bin/example

删除对/usr/bin/example的转移修改:

1
dpkg-divert --rename --remove /usr/bin/example

添加一个软件包安装时,写入/usr/bin/example.foo,而不是/usr/bin/example的修改:

1
dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example

dpkg-deb

Debian Linux下的软件包管理工具

补充说明

dpkg-deb命令 是Debian Linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息。

语法

1
dpkg-deb(选项)(参数)

选项

1
2
3
4
5
6
7
8
9
-c:显示软件包中的文件列表;
-e:将主控信息解压;
-f:把字段内容打印到标准输出;
-x:将软件包中的文件释放到指定目录下;
-X:将软件包中的文件释放到指定目录下,并显示释放文件的详细过程;
-w:显示软件包的信息;
-l:显示软件包的详细信息;
-R:提取控制信息和存档的清单文件;
-b:创建debian软件包。

参数

文件:指定要操作的“.deb”软件包的全名或软件名。

实例

解压程序文件:

1
dpkg-deb -x drcom-pum_1.0-0ubuntu1~ppa1~jaunty1_i386.deb drcom

解压控制文件:

1
dpkg-deb -e drcom-pum_1.0-0ubuntu1~ppa1~jaunty1_i386.deb drcom/DEBIAN

打包生成deb文件:

1
dpkg-deb -b drcom drcom_1.4.8.2_i386.deb

查询deb包中的文件内容:

1
dpkg-deb -c demo.deb

dos2unix

将DOS格式文本文件转换成Unix格式

补充说明

dos2unix命令 用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。

语法

1
dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]

选项

1
2
3
4
5
6
-k:保持输出文件的日期不变
-q:安静模式,不提示任何警告信息。
-V:查看版本
-c:转换模式,模式有:ASCII, 7bit, ISO, Mac, 默认是:ASCII。
-o:写入到源文件
-n:写入到新文件

参数

参数:需要转换到文件。

实例

最简单的用法就是dos2unix直接跟上文件名:

1
dos2unix file

如果一次转换多个文件,把这些文件名直接跟在dos2unix之后。(注:也可以加上-o参数,也可以不加,效果一样)

1
2
dos2unix file1 file2 file3
dos2unix -o file1 file2 file3

上面在转换时,都会直接在原来的文件上修改,如果想把转换的结果保存在别的文件,而源文件不变,则可以使用-n参数。

1
dos2unix oldfile newfile

如果要保持文件时间戳不变,加上-k参数。所以上面几条命令都是可以加上-k参数来保持文件时间戳的。

1
2
3
4
dos2unix -k file
dos2unix -k file1 file2 file3
dos2unix -k -o file1 file2 file3
dos2unix -k -n oldfile newfile

转换当前目录下所有文件

1
find -type f | xargs dos2unix

domainname

显示和设置系统的NIS域名

补充说明

domainname命令 用于显示和设置系统的NIS域名。

语法

1
domainname(选项)(参数)

选项

1
2
-v:详细信息模式;
-F:指定读取域名信息的文件。

参数

NIS域名:指定要设置的NIS域名。

实例

1
2
3
4
5
6
7
8
9
[root@AY1307311912260196fcZ ~]# domainname -v
getdomainname()=`(none)'
(none)
[root@AY1307311912260196fcZ ~]# domainname
www.jsdig.com

[root@AY1307311912260196fcZ ~]# domainname -v
getdomainname()=`www.jsdig.com'
www.jsdig.com

dnsdomainname

定义DNS系统中FQDN名称的域名

补充说明

dnsdomainname命令 用于定义DNS系统中FQDN名称中的域名。

语法

1
dnsdomainname(选项)

选项

-v:详细信息模式,输出指令执行的详细信息。

实例

1
2
3
4
5
[root@AY1307311912260196fcZ ~]# dnsdomainname -v
gethostname()=`AY1307311912260196fcZ'
Resolving `AY1307311912260196fcZ' ...
Result: h_name=`AY1307311912260196fcZ'
Result: h_addr_list=`10.160.7.81'

dnf

新一代的RPM软件包管理器

补充说明

DNF 是新一代的rpm软件包管理器。他首先出现在 Fedora 18 这个发行版中。而最近,它取代了yum,正式成为 Fedora 22 的包管理器。

DNF包管理器克服了YUM包管理器的一些瓶颈,提升了包括用户体验,内存占用,依赖分析,运行速度等多方面的内容。DNF使用 RPM, libsolv 和 hawkey 库进行包管理操作。尽管它没有预装在 CentOS 和 RHEL 7 中,但你可以在使用 YUM 的同时使用 DNF 。你可以在这里获得关于 DNF 的更多知识:《 DNF 代替 YUM ,你所不知道的缘由》

DNF 的最新稳定发行版版本号是 1.0,发行日期是2015年5月11日。 这一版本的额 DNF 包管理器(包括在他之前的所有版本) 都大部分采用 Python 编写,发行许可为GPL v2.

安装 DNF 包管理器

DNF 并未默认安装在 RHEL 或 CentOS 7系统中,但是 Fedora 22 已经默认使用 DNF .

1、为了安装 DNF ,您必须先安装并启用 epel-release 依赖。

在系统中执行以下命令:

1
# yum install epel-release

或者

1
# yum install epel-release -y

其实这里并没有强制使用”-y”的理由,相反的,在不使用”-y”的情况下,用户可以在安装过程中查看到底有哪些东西被安装进了系统。但对于没有这个需求的用户,您可以在 YUM 中使用”-y”参数来自动安装所有东西。

2、使用 epel-release 依赖中的 YUM 命令来安装 DNF 包。在系统中执行以下命令:

1
# yum install dnf

然后, DNF 包管理器就被成功的安装到你的系统中了。接下来,是时候开始我们的教程了!在这个教程中,您将会学到27个用于 DNF 包管理器的命令。使用这些命令,你可以方便有效的管理您系统中的 RPM 软件包。现在,让我们开始学习 DNF 包管理器的27条常用命令吧!

查看 DNF 包管理器版本

用处:该命令用于查看安装在您系统中的 DNF 包管理器的版本

1
# dnf –version

!Check-DNF-Version

查看系统中可用的 DNF 软件库

用处:该命令用于显示系统中可用的 DNF 软件库

1
# dnf repolist

!Check-All-Enabled-Repositories

查看系统中可用和不可用的所有的 DNF 软件库

用处:该命令用于显示系统中可用和不可用的所有的 DNF 软件库

1
# dnf repolist all

!3

列出所有 RPM 包

用处:该命令用于列出用户系统上的所有来自软件库的可用软件包和所有已经安装在系统上的软件包

1
# dnf list

!4

列出所有安装了的 RPM 包

用处:该命令用于列出所有安装了的 RPM 包

1
# dnf list installed

!5

列出所有可供安装的 RPM 包

用处:该命令用于列出来自所有可用软件库的可供安装的软件包

1
# dnf list available

!6

搜索软件库中的 RPM 包

用处:当你不知道你想要安装的软件的准确名称时,你可以用该命令来搜索软件包。你需要在”search”参数后面键入软件的部分名称来搜索。(在本例中我们使用”nano”)

1
# dnf search nano

!7

查找某一文件的提供者

用处:当你想要查看是哪个软件包提供了系统中的某一文件时,你可以使用这条命令。(在本例中,我们将查找”/bin/bash”这个文件的提供者)

1
# dnf provides /bin/bash

!8

查看软件包详情

用处:当你想在安装某一个软件包之前查看它的详细信息时,这条命令可以帮到你。(在本例中,我们将查看”nano”这一软件包的详细信息)

1
# dnf info nano

!9

安装软件包

用处:使用该命令,系统将会自动安装对应的软件及其所需的所有依赖(在本例中,我们将用该命令安装nano软件)

1
# dnf install nano

!10

升级软件包

用处:该命令用于升级制定软件包(在本例中,我们将用命令升级”systemd”这一软件包)

1
# dnf update systemd

!11

检查系统软件包的更新

用处:该命令用于检查系统中所有软件包的更新

1
# dnf check-update

!12

升级所有系统软件包

用处:该命令用于升级系统中所有有可用升级的软件包

1
# dnf update 或 # dnf upgrade

!13

删除软件包

用处:删除系统中指定的软件包(在本例中我们将使用命令删除”nano”这一软件包)

1
# dnf remove nano 或 # dnf erase nano

!14

删除无用孤立的软件包

用处:当没有软件再依赖它们时,某一些用于解决特定软件依赖的软件包将会变得没有存在的意义,该命令就是用来自动移除这些没用的孤立软件包。

1
# dnf autoremove

!15

删除缓存的无用软件包

用处:在使用 DNF 的过程中,会因为各种原因在系统中残留各种过时的文件和未完成的编译工程。我们可以使用该命令来删除这些没用的垃圾文件。

1
# dnf clean all

!16

获取有关某条命令的使用帮助

用处:该命令用于获取有关某条命令的使用帮助(包括可用于该命令的参数和该命令的用途说明)(本例中我们将使用命令获取有关命令”clean”的使用帮助)

1
# dnf help clean

!17

查看所有的 DNF 命令及其用途

用处:该命令用于列出所有的 DNF 命令及其用途

1
# dnf help

!18

查看 DNF 命令的执行历史

用处:您可以使用该命令来查看您系统上 DNF 命令的执行历史。通过这个手段您可以知道在自您使用 DNF 开始有什么软件被安装和卸载。

1
# dnf history

!19

查看所有的软件包组

用处:该命令用于列出所有的软件包组

1
# dnf grouplist

!20

安装一个软件包组

用处:该命令用于安装一个软件包组(本例中,我们将用命令安装”Educational Software”这个软件包组)

1
# dnf groupinstall ‘Educational Software’

!21

升级一个软件包组中的软件包

用处:该命令用于升级一个软件包组中的软件包(本例中,我们将用命令升级”Educational Software”这个软件包组中的软件)

1
# dnf groupupdate ‘Educational Software’

!22

删除一个软件包组

用处:该命令用于删除一个软件包组(本例中,我们将用命令删除”Educational Software”这个软件包组)

1
# dnf groupremove ‘Educational Software’

!23

从特定的软件包库安装特定的软件

用处:该命令用于从特定的软件包库安装特定的软件(本例中我们将使用命令从软件包库 epel 中安装 phpmyadmin 软件包)

1
# dnf –enablerepo=epel install phpmyadmin

更新软件包到最新的稳定发行版

用处:该命令可以通过所有可用的软件源将已经安装的所有软件包更新到最新的稳定发行版

1
# dnf distro-sync

重新安装特定软件包

用处:该命令用于重新安装特定软件包(本例中,我们将使用命令重新安装”nano”这个软件包)

1
# dnf reinstall nano

!26

回滚某个特定软件的版本

用处:该命令用于降低特定软件包的版本(如果可能的话)(本例中,我们将使用命令降低”acpid”这个软件包的版本)

1
# dnf downgrade acpid

样例输出:

1
2
3
Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.

原作者注:在执行这条命令的时候, DNF 并没有按照我期望的那样降级指定的软件(“acpid”)。该问题已经上报。

总结

DNF 包管理器作为 YUM 包管理器的升级替代品,它能自动完成更多的操作。但在我看来,正因如此,所以 DNF 包管理器不会太受那些经验老道的 Linux 系统管理者的欢迎。举例如下:

  1. 在 DNF 中没有 –skip-broken 命令,并且没有替代命令供选择。
  2. 在 DNF 中没有判断哪个包提供了指定依赖的 resolvedep 命令。
  3. 在 DNF 中没有用来列出某个软件依赖包的 deplist 命令。
  4. 当你在 DNF 中排除了某个软件库,那么该操作将会影响到你之后所有的操作,不像在 YUM 下那样,你的排除操作只会咋升级和安装软件时才起作用。

dmidecode

在Linux系统下获取有关硬件方面的信息

补充说明

dmidecode命令 可以让你在Linux系统下获取有关硬件方面的信息。dmidecode的作用是将DMI数据库中的信息解码,以可读的文本方式显示。由于DMI信息可以人为修改,因此里面的信息不一定是系统准确的信息。dmidecode遵循SMBIOS/DMI标准,其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等等。

DMI(Desktop Management Interface,DMI)就是帮助收集电脑系统信息的管理系统,DMI信息的收集必须在严格遵照SMBIOS规范的前提下进行。SMBIOS(System Management BIOS)是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范。SMBIOS和DMI是由行业指导机构Desktop Management Task Force(DMTF)起草的开放性的技术标准,其中DMI设计适用于任何的平台和操作系统。

DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是Management Information Format(MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。

语法

1
dmidecode [选项]

选项

1
2
3
4
5
6
7
8
-d:(default:/dev/mem)从设备文件读取信息,输出内容与不加参数标准输出相同。
-h:显示帮助信息。
-s:只显示指定DMI字符串的信息。(string)
-t:只显示指定条目的信息。(type)
-u:显示未解码的原始条目内容。
--dump-bin file:将DMI数据转储到一个二进制文件中。
--from-dump FILE:从一个二进制文件读取DMI数据。
-V:显示版本信息。

dmidecode参数string及type列表:

(1)Valid string keywords are:

  • bios-vendor
  • bios-version
  • bios-release-date
  • system-manufacturer
  • system-product-name
  • system-version
  • system-serial-number
  • system-uuid
  • baseboard-manufacturer
  • baseboard-product-name
  • baseboard-version
  • baseboard-serial-number
  • baseboard-asset-tag
  • chassis-manufacturer
  • chassis-type
  • chassis-version
  • chassis-serial-number
  • chassis-asset-tag
  • processor-family
  • processor-manufacturer
  • processor-version
  • processor-frequency

(2)Valid type keywords are:

  • bios
  • system
  • baseboard
  • chassis
  • processor
  • memory
  • Cache
  • connector
  • slot

(3)type全部编码列表:

  • BIOS
  • System
  • Base Board
  • Chassis
  • Processor
  • Memory Controller
  • Memory Module
  • Cache
  • Port Connector
  • System Slots
  • On Board Devices
  • OEM Strings
  • System Configuration Options
  • BIOS Language
  • Group Associations
  • System Event Log
  • Physical Memory Array
  • Memory Device
  • 32-bit Memory Error
  • Memory Array Mapped Address
  • Memory Device Mapped Address
  • Built-in Pointing Device
  • Portable Battery
  • System Reset
  • Hardware Security
  • System Power Controls
  • Voltage Probe
  • Cooling Device
  • Temperature Probe
  • Electrical Current Probe
  • Out-of-band Remote Access
  • Boot Integrity Services
  • System Boot
  • 64-bit Memory Error
  • Management Device
  • Management Device Component
  • Management Device Threshold Data
  • Memory Channel
  • IPMI Device
  • Power Supply
  • Additional Information
  • Onboard Device

实例

1
2
3
4
5
6
7
8
9
10
11
12
dmidecode -t 1  # 查看服务器信息
dmidecode | grep 'Product Name' # 查看服务器型号
dmidecode |grep 'Serial Number' # 查看主板的序列号
dmidecode -t 2 # 查看主板信息
dmidecode -s system-serial-number # 查看系统序列号
dmidecode -t memory # 查看内存信息
dmidecode -t 11 # 查看OEM信息
dmidecode -t 17 # 查看内存条数
dmidecode -t 16 # 查询内存信息
dmidecode -t 4 # 查看CPU信息

cat /proc/scsi/scsi # 查看服务器硬盘信息

不带选项执行dmidecode命令通常会输出所有的硬件信息。dmidecode命令有个很有用的选项-t,可以按指定类型输出相关信息,假如要获得处理器方面的信息,则可以执行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
[root@localhost ~]# dmidecode -t processor
# dmidecode 2.11
SMBIOS 2.5 present.

Handle 0x0001, DMI type 4, 40 bytes
Processor Information
Socket Designation: Node 1 Socket 1
Type: Central Processor
Family: Xeon MP
Manufacturer: Intel(R) Corporation
id: C2 06 02 00 FF FB EB BF
Signature: Type 0, Family 6, Model 44, Stepping 2
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
ss (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Xeon(R) CPU E5620 @ 2.40GHz
Voltage: 1.2 V
External Clock: 5866 MHz
Max Speed: 4400 MHz
Current Speed: 2400 MHz
Status: Populated, Enabled
Upgrade: ZIF Socket
L1 Cache Handle: 0x0002
L2 Cache Handle: 0x0003
L3 Cache Handle: 0x0004
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 4
Core Enabled: 4
Thread Count: 8
Characteristics:
64-bit capable

Handle 0x0055, DMI type 4, 40 bytes
Processor Information
Socket Designation: Node 1 Socket 2
Type: Central Processor
Family: Xeon MP
Manufacturer: Not Specified
ID: 00 00 00 00 00 00 00 00
Signature: Type 0, Family 0, Model 0, Stepping 0
Flags: None
Version: Not Specified
Voltage: 1.2 V
External Clock: 5866 MHz
Max Speed: 4400 MHz
Current Speed: Unknown
Status: Unpopulated
Upgrade: ZIF Socket
L1 Cache Handle: Not Provided
L2 Cache Handle: Not Provided
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Characteristics: None

查看内存的插槽数,已经使用多少插槽。每条内存多大,已使用内存多大

1
2
3
4
5
6
dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range 

# Size: 2048 MB
# Size: 2048 MB
# Size: 4096 MB
# Size: No Module Installed

查看内存支持的最大内存容量

1
2
3
dmidecode|grep -P 'Maximum\s+Capacity'

# Maximum Capacity: 16 GB

查看内存的频率

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
dmidecode|grep -A16 "Memory Device"

# Memory Device
# Array Handle: 0x1000
# Error Information Handle: Not Provided
# Total Width: 72 bits
# Data Width: 64 bits
# Size: 2048 MB
# Form Factor: DIMM
# Set: 1
# Locator: DIMM_A1
# Bank Locator: Not Specified
# Type: DDR3
# Type Detail: Synchronous Unbuffered (Unregistered)
# Speed: 1333 MHz
# Manufacturer: 00CE000080CE
# Serial Number: 4830F3E1
# Asset Tag: 01093200
# Part Number: M391B5673EH1-CH9
# --
# Memory Device
# Array Handle: 0x1000
# Error Information Handle: Not Provided
# Total Width: 72 bits
# Data Width: 64 bits
# Size: 2048 MB
# Form Factor: DIMM
# Set: 1
# Locator: DIMM_A2
# Bank Locator: Not Specified
# Type: DDR3
# Type Detail: Synchronous Unbuffered (Unregistered)
# Speed: 1333 MHz
# Manufacturer: 00AD000080AD
# Serial Number: 1BA1F0B5
# Asset Tag: 01110900
# Part Number: HMT325U7BFR8C-H9
# --

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

# Speed: 1333 MHz
# Speed: 1333 MHz
# Speed: 1333 MHz
# Speed: Unknown