Ubuntu下安装MySQL及简单操作

Ubuntu上安装MySQL非常简单只需要几条命令就可以完成。

sudo apt-get install mysql-server

apt-get isntall mysql-client

sudo apt-get install libmysqlclient-dev

未分类

安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

sudo netstat -tap | grep mysql

通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

未分类

登陆mysql数据库可以通过如下命令:

mysql -u root -p

未分类

-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。

Ubuntu 下为单版本和多版本 PHP 安装扩展

介绍

尽管 PHP 软件源提供了不少 PHP 扩展,但并不是提供所有的扩展,那么如果我们需要安装一个软件源没有提供的扩展应该怎么办呢?

利用 php-dev 就可以很方便的进行自行编译 PHP 扩展了。不过如果有使用 PHP 多版本共存就会更加麻烦一点。

单一PHP

一、安装 php-dev ,如果不是 7.1 需要自己修改一下版本号:

apt install php7.1-dev

二、以安装 Swoole 为例:

pecl install swoole

三、添加配置文件:

cd /etc/php/7.1/fpm/conf.d/
touch swoole.ini
echo "extension=swoole.so" | tee -a swoole.ini

四、重启 php-fpm 即可:

systemctl restart php7.1-fpm

多PHP共存

因为多个 PHP 就不能简单粗暴的使用 pecl 安装了,因为安装好了不知道是给谁用的。这里以 PHP7.1 和 PHP5.6 为例,还是 swoole。

一、安装 php-dev:

apt install php7.1-dev php5.6-dev

二、下载 swoole 源码 ,地址:http://pecl.php.net/package/swoole

cd /root/src
wget http://pecl.php.net/get/swoole-1.9.15.tgz
tar xzf swoole-1.9.15.tgz
cd swoole-1.9.15

三、为 PHP7.1 进行编译

cd /root/src/swoole-1.9.15
/usr/bin/phpize7.1
./configure --with-php-config=/usr/bin/php-config7.1
make && make install

四、为 PHP5.6 进行编译

cd /root/src/swoole-1.9.15
/usr/bin/phpize5.6
./configure --with-php-config=/usr/bin/php-config5.6
make && make install

五、添加 PHP7.1 配置文件

cd /etc/php/7.1/fpm/conf.d/
touch swoole.ini
echo "extension=swoole.so" | tee -a swoole.ini

六、添加 PHP5.6 配置文件

cd /etc/php/5.6/fpm/conf.d/
touch swoole.ini
echo "extension=swoole.so" | tee -a swoole.ini

七、重启 PHP-FPM

systemctl restart php7.1-fpm
systemctl restart php5.6-fpm

Ubuntu 的ufw 和iptables 的关系

ufw

Uncomplicated FireWall,不是 Ubuntu FireWall 哦,是 debian 系发行版中为了轻量化配置 iptables 而开发的一款工具。

UFW 和 iptables 一样都是匹配原则,匹配到了则忽略剩下的规则,这点就不废话了。

iptables

我们习惯性的会把 iptables 认为是 Linux 上的防火墙,自从 Linux 内核 2.4 之后就集成进主线内核。实际上准确是说,iptables 是一个通过控制 Linux 内核的 netfilter 模块来管理网络数据包的流动与转送的应用软件,其功能包括不仅仅包括防火墙的控制出入流量,还有端口转发等等。

iptables 内部有表 tables、链 chains、规则 rules 这三种概念。

iptables 的每一个 “表” 都和不同的数据包处理有关、决定数据包是否可以穿越的是 “链”、而一条 “规则” 在链里面则可以决定是否送往下一条链(或其它的动作)

那一个包到达网卡的时候,Linux 的如何处理的呢?

我们提到了 iptables 是可以控制 netfilter 模块的,netfilter 内部分为三个表,分别是 filter, nat, mangle,每个表又有不同的链(Chains),每个链下可以有不同的规则(rules)。

filter

在 filter(过滤)表中,也就是防火墙功能的表,定义了三个链。分别是 INPUT, FORWARD, OUTPUT。也就是对包的入、转发、出进行定义的三个过滤链。对于这个 filter 表的操作和控制也是我们实现防火墙功能的一个重要手段;

nat

在 nat(网络地址转换) 表中,也就是我们用以实现地址转换和端口转发功能的这个表,定义了 PREROUTING, POSTROUTING,OUTPUT 三个链;

mangle

netfilter 的 mangle 表则是一个自定义表,里面包括上面 的 filter 以及 nat 表中的各种 chains,它可以让我们进行一些自定义的操作,同时这个 mangle 表中的 chains 在 netfilter 对包 的处理流程中比较优先。

包在 Linux 中的前世今生

未分类

我们大致可以看出:包首先要由 bridge check 来判断属于链路层还是网络层,之后包都会遇到 NAT 或者 mangle 表的 PREROUTING 链,从这 pre 前缀咱能才出来,这是要在路由之前要过的链。

接着当包通过了 PREROUTING 之后,便到了 decision 这个分支点,这里有一个对目的地址的判断,如果包的目的地是本地, 那么包向上走,走入 INPUT 链处理,然后进入 LOCAL PROCESS,之后再进入对应的 OUTPUT、POSTROUTING;

如果非本地,那么就进入 FORWARD 链进行转发,之后再走 POSTROUTING,我们在这里就不说 FORWARD 链的事了。

我们可以看到,filter 表在包的处理流程中,处于中间的位置,这部分也就是防火墙的主要功能所在。

ufw 怎么和 iptables 一起合作的

在稍微理解了包是怎么走的之后,回到我们iptables -L的时候,我们看 filter 表,可以看到,ufw 在 INPUT、FORWARD、OUTPUT 添加了好些自定义规则,并且添加了好些自己的链和链的规则,还把把 INPUT、FORWARD 默认策略设置成 DROP
当你有这些 ufw 定义的链的时候,是能够匹配到 ufw 链和规则,也就是正常入网的。

当我们执行iptables -F的时候,会发生什么呢?

所有链的规则都被清空了!包括 ufw 的链!并且 INPUT、FORWARD 依旧是 DROP

再想想包的前世今生,OUTPUT 我们发出了 ping,但是却因为 INPUT 的 DROP 而永远无法收到 ICMP echo,只能往出发包而不能接收任何类型的包,毫无疑问自然就断网了。

此时ufw status还会告诉你在运行,但是当你使用ufw disable关闭 ufw 时,INPUT 会被设置成 ACCEPT,自然就恢复网络通信了;

当你使用ufw default allow把默认出网规则设置成 allow 时,INPUT 也会被设置成 ACCEPT,当然网络通信恢复了。

所以童鞋们自此应该理解了刚开始理解动图能够 ping 通和不通的原因吧!

使用 ufw 和 iptables 的警告

最后给大家一个警告,当你使用了 ufw 这类前端时,就最好不要再碰 iptables 了,尤其要慎重使用 iptables – 来清空所有链的规则。在不了解 iptables 的表、链、规则之前,盲目的清空 iptables”规则” 就是耍流氓!

试想,假如你在服务器上ufw enable,那么 INPUT 和 FORWARD 就是 DROP,那么当你iptables -F时,不仅仅是 SSH 的例外规则没了,所有出网的包也都出不去了!此时唯一能做的事情就是去 VNC、或者去机房插鼠标键盘显示器。

假如你是买的服务器,为了安全考虑使用密钥认证,并且把用户名设置成了从 openssl 生成的随机密码,并且你是由 Windows 重装成的 Linux,那么控制台也是没有用的…… 重装或者快照吧。

解决ubuntu的中文乱码问题

ubuntu中文支持,及中文乱码问题

该篇博文,是本人踩了一下午的坑的成果,亲测有效。对服务器同样有效。

状况:所用的ubuntu系统不支持中文,遇见中文就????。ORZ…

目标:使系统/服务器支持中文,能够正常显示。

首先,安装中文支持包language-pack-zh-hans:

$ sudo apt-get install language-pack-zh-hans

然后,修改/etc/environment(在文件的末尾追加):

LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"

再修改/var/lib/locales/supported.d/local(没有这个文件就新建,同样在末尾追加):

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312

最后,执行命令:

$ sudo locale-gen

对于中文乱码是空格的情况,安装中文字体解决。

$ sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming

以上,问题解决,中文显示正常。:)

在 Ubuntu/Debian 下安装 PHP7.2

介绍

如果不出意外的 PHP 7.2.0 即将在 2017 年11月30日 发布 GA,届时大家就可以第一时间尝鲜了,所以这里先放出 PHP7.2 安装的教程以便大家升级。

适用系统: Ubuntu 16.04 LTS / Ubuntu 14.04 LTS / Debian 9 stretch / Debian 8 jessie

安装 PHP

Ondřej Surý 的 PHP PPA 为 Ubuntu 16.04/14.04 提供了 PHP7.2 版本,同时也有通过个人网站为 Debian 9/8 提供 PHP7.2 版本,因此 Ubuntu 是源于 Debian 所以基本可以通用,同时维护难度较低,软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.1-fpm.sock ,比使用 TCP 以 localhost:9000 的方式性能更好。

值得一提的是 Ondřej Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。

由于 PHP7.2 是新出的版本势必有不少的兼容性问题,特别是国产的程序建议等待开发者通知再进行升级,一些 PECL 扩展可能也不会及时适配最新版。建议更新前提前做好备份准备。目前已知的是 WordPress 4.9 版本开始支持 PHP7.2。

添加软件源

Ubuntu

安装软件源拓展工具:

apt -y install software-properties-common

添加 Ondřej Surý 的 PHP PPA 源,需要按一次回车:

add-apt-repository ppa:ondrej/php  

更新软件源缓存:

apt update

Debian

添加 GPG

wget -O /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg

安装 apt-transport-https

apt-get install apt-transport-https

添加 sury 软件源

sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'   

更新软件源缓存:

apt-get update

安装软件

安装 PHP7.2:

apt install php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache -y

设置 PHP

安装完成后,编辑 /etc/php/7.2/fpm/php.ini 替换换 ;cgi.fix_pathinfo=1 为 cgi.fix_pathinfo=0 快捷命令:

sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.2/fpm/php.ini 

管理 PHP

安装好了先重启一下!

systemctl restart php7.2-fpm

更多操作:

systemctl restart php7.2-fpm #重启
systemctl start php7.2-fpm #启动
systemctl stop php7.2-fpm #关闭
systemctl status php7.2-fpm #检查状态

更新 PHP

运行下面的命令系统就会更新所有可以更新的软件包括 PHP

apt update
apt upgrade -y

安装更多组件

上面的一条命令安装 PHP 只是安装了部分 PHP 拓展,更多的软件可见:

[email protected]:~# apt-cache search php7.2

php-radius - radius client library for PHP
php-http - PECL HTTP module for PHP Extended HTTP Support
php-uploadprogress - file upload progress tracking extension for PHP
php-yaml - YAML-1.1 parser and emitter for PHP
php-mongodb - MongoDB driver for PHP
php-apcu - APC User Cache for PHP
php-imagick - Provides a wrapper to the ImageMagick library
php-ssh2 - Bindings for the libssh2 library
php-redis - PHP extension for interfacing with Redis
php-memcached - memcached extension module for PHP, uses libmemcached
php-apcu-bc - APCu Backwards Compatibility Module
php-rrd - PHP bindings to rrd tool system
php-uuid - PHP UUID extension
php-memcache - memcache extension module for PHP
php-zmq - ZeroMQ messaging bindings for PHP
php-igbinary - igbinary PHP serializer
php-msgpack - PHP extension for interfacing with MessagePack
php-geoip - GeoIP module for PHP
php-tideways - Tideways PHP Profiler Extension
php-yac - YAC (Yet Another Cache) for PHP
php-mailparse - Email message manipulation for PHP
php-oauth - OAuth 1.0 consumer and provider extension
php-gnupg - PHP wrapper around the gpgme library
php-propro - propro module for PHP
php-raphf - raphf module for PHP
php-solr - PHP extension for communicating with Apache Solr server
php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP
php-gearman - PHP wrapper to libgearman
php-phalcon - full-stack PHP framework delivered as a C-extension
php-ds - PHP extension providing efficient data structures for PHP 7
php-sass - PHP bindings to libsass - fast, native Sass parsing in PHP
php-lua - PHP Embedded lua interpreter
libapache2-mod-php7.2 - server-side, HTML-embedded scripting language (Apache 2 module)
libphp7.2-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.2-bcmath - Bcmath module for PHP
php7.2-bz2 - bzip2 module for PHP
php7.2-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.2-cli - command-line interpreter for the PHP scripting language
php7.2-common - documentation, examples and common module for PHP
php7.2-curl - CURL module for PHP
php7.2-dba - DBA module for PHP
php7.2-dev - Files for PHP7.2 module development
php7.2-enchant - Enchant module for PHP
php7.2-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
php7.2-gd - GD module for PHP
php7.2-gmp - GMP module for PHP
php7.2-imap - IMAP module for PHP
php7.2-interbase - Interbase module for PHP
php7.2-intl - Internationalisation module for PHP
php7.2-json - JSON module for PHP
php7.2-ldap - LDAP module for PHP
php7.2-mbstring - MBSTRING module for PHP
php7.2-mysql - MySQL module for PHP
php7.2-odbc - ODBC module for PHP
php7.2-opcache - Zend OpCache module for PHP
php7.2-pgsql - PostgreSQL module for PHP
php7.2-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.2-pspell - pspell module for PHP
php7.2-readline - readline module for PHP
php7.2-recode - recode module for PHP
php7.2-snmp - SNMP module for PHP
php7.2-soap - SOAP module for PHP
php7.2-sqlite3 - SQLite3 module for PHP
php7.2-sybase - Sybase module for PHP
php7.2-tidy - tidy module for PHP
php7.2-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.2-xmlrpc - XMLRPC-EPI module for PHP
php7.2-zip - Zip module for PHP
php7.2-xsl - XSL module for PHP (dummy)
php7.2 - server-side, HTML-embedded scripting language (metapackage)
php7.2-sodium - libsodium module for PHP

ubuntu上安装composer和laravel

ubuntu上安装PHP框架laravel。

一、准备

1、服务器要求

laravel框架对系统的要求可以用Laravel Homestead 虚拟机满足,如果不使用Homestead作为开发环境需要服务器符合以下要求:

  • PHP >= 7.0.0

  • PHP OpenSSL 扩展

  • PHP PDO 扩展

  • PHP Mbstring扩展

  • PHP Tokenizer 扩展

  • PHP XML 扩展

2、安装PHP扩展

未分类

3、安装配置composer

3.1 安装composer

依次输入下面命令安装composer

php -r "copy('https://install.phpcomposer.com/installer','composer-setup.php');"下载安装脚本 - composer-setup.php - 到当前目录。
php composer-setup.php执行安装过程
php -r "unlink('composer-setup.php');"删除安装脚本

全局安装

sudo mv composer.phar /usr/local/bin/composer

安装完以后 composer -v

未分类

说明安装成功了。

3.2 配置composer

修改composer的全局配置文件

composer config -g repo.packagist composer https://packagist.phpcomposer.com

然后执行 composer selfupdate

二、安装配置laravel

安装laravel

composer global require "laravel/installer=~1.1"

配置laravel

export PATH="~/.config/composer/vendor/bin:$PATH" 添加环境变量

并填加在 /etc/bash.bashrc 执行 source ~/.bashrc 让环境变量立即生效

然后就去 /var/www 新建一个laravel项目

laravel new laravel 在laravel new的时候会报几个文件没有权限,直接给777权限就OK了。

修改laravel目录权限

sudo chown -R :www-data /var/www/laravel
sudo chmod -R 775 /var/www/laravel/storage

然后laravel就弄好了,跑起来吧。

Ubuntu下安装nodejs,npm

前提

GCC 4.2 以上、G++ 4.2 以上、python2.7环境、wget 工具、make 工具

安装以上环境

sudo apt-get install python gcc g++ wget make

在官网找到符合自己系统的源文件(source code), 官网地址:https://nodejs.org/en/download/ 。

1、使用wget工具下载

wget https://nodejs.org/dist/v8.9.1/node-v8.9.1.tar.gz

2、解压

tar -zxvf node-v8.9.1.tar.gz //注意下载.tar.gz

3、进入解压文件,运行configure文件配置源代码

sudo ./configure

4、使用make install 编译安装nodejs

sudo make install

5、编译源文件需要一段时间,编译结束后,检查nodejs的版本号

node -v

如果能显示版本号,表明安装成功。

nodejs安装的同时也安装了npm,检测npm版本号。

npm安装的不一定是最新版本。

npm -v // 检测版本号。

sudo npm install -g npm   //安装最新版本npm

卸载node:(通过源文件编译安装的node)

进入安装时的源文件 cd 源文件

如果源文件不存在,下载一份,解压,进入源文件

sudo make uninstall           //使用 make 卸载

进入/usr/local/lib/ 删除node_modules目录

在命令行输入 node -v 系统提示安装node

如果没有进入/usr/local/lib删除node_modules目录,执行 node -v 时,系统提示在/usr/local/bin中无执行文件

— END

ubuntu下安装wireshark(以及配置非root)

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。

对于学习计算机网络协议有不小的帮助。

工具/原料

  • ubuntu 系统
  • 网络畅通

方法/步骤

1、首先,安装只要一个命令行(由于之前装过了,所以没有在安装什么了):sudo apt-get install wireshark

未分类

2、上一步,已经将wireshark安装完毕,接下来我没就可以通过:wireshark 用来启动它的图形界面。

未分类

3、然而,dumpcap需要root权限才能使用的,以普通用户打开Wireshark,Wireshark当然没有权限使用dumpcap进行截取封包。虽然可以用:sudo wireshark来完成。但是,以sudo的方式用root打开Wireshark显然是不安全的,也不是很方便,因为得到的封包数据也属于root用户。

4、于是,我们提供下面的方法来完成普通用户下的操作。

(1).添加wireshark用户组
#sudo groupadd wireshark

未分类

(2).将dumpcap更改为wireshark用户组
#sudo chgrp wireshark /usr/bin/dumpcap

未分类

(3).让wireshark用户组有root权限使用dumpcap #sudo chmod 4755 /usr/bin/dumpcap

未分类

(4).将需要使用的普通用户名加入wireshark用户组,我的用户是“cai”(需要根据具体用户名修改!在#前面可以找到哟),则需要使用命令:
#sudo gpasswd -a dengyi wireshark

未分类

接下来你就可以以普通用户登陆打开Wireshark,也会有权限进行抓包了。

ubuntu 安装MongoDB

ubuntu (16.04)下使用mongodb

ubuntu 安装MongoDB

安装mongodb

可以根据官网提供的方法进行安装

官网入口: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition

导入MongoDB public GPG Key

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

为mongodb创建一个列表文件

$ echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

更新

$ sudo apt-get update

安装mongodb

$ sudo apt-get install -y mongodb-org
  • 注:mongodb的配置文件所在目录为/etc/mongodb.conf

启动mongodb

$ sudo service mongod start

查看mongodb的守护进程

$ ps aux | grep mongodt

关闭mongodb

$ sudo service mongod stop

卸载mongodb

关闭mongodb

$ sudo service mongod stop

卸载所有安装包

$ sudo apt-get purge mongodb-org*

移除数据库和日志文件(具体看/etc/mongodb.conf配置文件)

$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb

./etc/mongodb.conf配置文件如下(部分数据):

# mongodb.conf
sudo apt-get purge mongodb-org*

# Where to store the data.
dbpath=/var/lib/mongodb   //数据库路径

#where to log
logpath=/var/log/mongodb/mongodb.log  日志路径

logappend=true

bind_ip = 127.0.0.1
#port = 27017

# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true

# Enables periodic logging of CPU utilization and I/O wait
#cpu = true

Ubuntu查看硬件配置

1、查看系统内核

long@pc1:/proc$ uname -a
Linux XPS-15-9560 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

2、查看CPU

long@pc1:/proc$ cat /proc/cpuinfo | grep model name
model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
model name  : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz

3、查看内存

long@pc1:/proc$ cat /proc/meminfo | grep MemTotal
MemTotal:        7807956 kB

4、查看显卡

long@pc1:/proc$ lspci | grep 'VGA'
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)

5、查看声卡

long@pc1:/proc$ lspci | grep -i 'Audio'
00:1f.3 Audio device: Intel Corporation Device a171 (rev 31)

6、查看网卡

long@pc1:/proc$ lspci | grep -i 'Network'
02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)

7、查看硬盘

long@pc1:/proc$ df -lh
Filesystem      Size  Used Avail Use% Mounted on
udev            3.7G     0  3.7G   0% /dev
tmpfs           763M   79M  684M  11% /run
/dev/nvme0n1p6   92G   75G   13G  86% /
tmpfs           3.8G   58M  3.7G   2% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/loop3      143M  143M     0 100% /snap/inkscape/2527
/dev/loop4       84M   84M     0 100% /snap/core/3017
/dev/loop1      146M  146M     0 100% /snap/inkscape/3080
/dev/loop0       84M   84M     0 100% /snap/core/3247
/dev/loop2       84M   84M     0 100% /snap/core/3440
tmpfs           763M  192K  763M   1% /run/user/1000

另外一个命令

其实就一个命令就搞定了:dmidecode 这个可以看具体的硬件信息,这个命令需要使用sudo

最常用的选项就是用 -t 或者 –type 来限定关键字:

bios, system, baseboard, chassis, processor, memory, cache, connector, slot

这里只介绍memory的检测。
直接上我自己Ubuntu测试的结果:

#sudo dmidecode -t memory
[sudo] password for superuser: 
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 3.0 present.

Handle 0x0045, DMI type 16, 23 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: None
    Maximum Capacity: 32 GB
    Error Information Handle: Not Provided
    Number Of Devices: 2

Handle 0x0046, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0045
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: DIMM A
    Bank Locator: BANK 0
    Type: DDR4
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 2400 MHz
    Manufacturer: SK Hynix
    Serial Number: 28326493
    Asset Tag: 01164700
    Part Number: HMA851S6AFR6N-UH    
    Rank: 1
    Configured Clock Speed: 2400 MHz
    Minimum Voltage: 1.2 V
    Maximum Voltage: 1.2 V
    Configured Voltage: 1.2 V

Handle 0x0047, DMI type 17, 40 bytes
Memory Device
    Array Handle: 0x0045
    Error Information Handle: Not Provided
    Total Width: 64 bits
    Data Width: 64 bits
    Size: 4096 MB
    Form Factor: SODIMM
    Set: None
    Locator: DIMM B
    Bank Locator: BANK 2
    Type: DDR4
    Type Detail: Synchronous Unbuffered (Unregistered)
    Speed: 2400 MHz
    Manufacturer: SK Hynix
    Serial Number: 283264D1
    Asset Tag: 01164700
    Part Number: HMA851S6AFR6N-UH    
    Rank: 1
    Configured Clock Speed: 2400 MHz
    Minimum Voltage: 1.2 V
    Maximum Voltage: 1.2 V
    Configured Voltage: 1.2 V