Linux系统各种库/软件版本输出指令
日常开发基于Linux系统(其实更多的是Ubuntu平台),平时总会遇到一些情况需要查看某个库或者软件的版本信息,在这里做一下简单的记录。
1. 查看glibc版本
- 方法一:使用
ldd指令 
cv@cv:~$ ldd --version
ldd (Ubuntu GLIBC 2.23-0ubuntu11) 2.23
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
- 方法二:使用getconf指令
 
cv@cv:~$ getconf GNU_LIBC_VERSION
glibc 2.23
- 方法三:c语言编程获取
 
cv@cv: ~$ vim checkversion.c # 使用某种编辑器编辑C源文件
// checkversion.c
#include <stdio.h>
#include <gnu/libc-version.h>
int main(int argc, char *argv[]) {
    printf("Version of glibc: ");
    puts(gnu_get_libc_version());
    printf("\n");
    return 0;
}
cv@cv:~$ gcc -o checkversion checkversion.c
cv@cv:~$ ./checkversion
Version of glibc: 2.23    # <==这一行就是程序输出结果
cv@cv: ~$ rm -rfv checkversion*
2. 查看NVIDIA显卡信息
2.1 显卡型号
- 使用
nvidia-smi指令 
cv@cv:~$ nvidia-smi -L
GPU 0: Tesla V100-SXM2-32GB (UUID: GPU-89e3e0dd-ba5a-313e-0da1-ea6454396358)
从输出信息可以看到显卡型号以及显存大小,如果有多个GPU,会有相应的GPU编号。
- 如果没有
nvidia-smi可以用,也可以用lspci指令查看 
cv@cv:~$ lspci | grep -i nvidia
1a:00.0 3D controller: NVIDIA Corporation GV100GL [Tesla V100 SXM2 32GB] (rev a1)
2.2 显卡驱动程序版本
- 使用
nvidia-smi指令 
cv@cv:~$ nvidia-smi
Thu Dec  1 11:47:48 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
可以看到对应的Driver Version为450.51.06。
- 同样的如果没有
nvidia-smi可以用,则可以直接读取版本文件信息 
cv@cv:~$ cat /proc/driver/nvidia/version | grep NVIDIA
NVRM version: NVIDIA UNIX x86_64 Kernel Module  450.51.06  Sun Jul 19 20:02:54 UTC 2020
2.3 查看cuda版本
- 使用
nvidia-smi指令(没错又是nvidia-smi,能展示很多信息,如果能用当然首先用这个指令) 
cv@cv:~$ nvidia-smi
Thu Dec  1 11:47:48 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06    Driver Version: 450.51.06    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
输出信息中的CUDA Version字段。
- 使用 nvcc 命令,两个短杠后面跟小写version,或者一个短杠后面跟大写字母V
 
cv@cv:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Wed_Jul_22_19:09:09_PDT_2020
Cuda compilation tools, release 11.0, V11.0.221
Build cuda_11.0_bu.TC445_37.28845127_0
- 读取版本文件中的信息
 
cv@cv:~$ cat /usr/local/cuda/version.txt
CUDA Version 11.0.228
2.4 查看cuDNN的版本
读取cudnn_version.h头文件中的版本信息(根据版本不同,也有可能是读取cudnn.h头文件,可以都试试)。
cv@cv:~$ cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 -m 1
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
其中grep的参数 -A 表示同时显示出匹配项之后的两行,-m表示在读取到一个匹配行之后终止,也就是取第一个匹配行的意思。
根据上面的显示信息,cuDNN版本是8.0.5。
3.查看Boost版本
通过查看包含版本信息的头文件来确定
cv@cv ~$ dpkg -S /usr/include/boost/version.hpp
当然其实,使用cat或者vim直接打开version.hpp也可以在里面找到。
未完待续...欢迎补充~
--
其他相关指令及操作
[1] Ubuntu16.04常用C++库安装及环境配置
https://www.cnblogs.com/phillee/p/11681137.html[2] Linux Bash常用命令记录
https://www.cnblogs.com/phillee/p/12989715.html[3] Linux Bash字符串操作
https://www.cnblogs.com/phillee/p/14649562.html[4] TMUX使用指南-基础版
https://www.cnblogs.com/phillee/p/12745516.html[5] UDA架构及对应编译参数
https://www.cnblogs.com/phillee/p/12049208.html
本文作者 :phillee
发表日期 :2022年12月01日
本文链接 :https://www.cnblogs.com/phillee/p/11577129.html
版权声明 :自由转载-非商用-非衍生-保持署名(创意共享3.0许可协议/CC BY-NC-SA 3.0)。转载请注明出处!
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
.outter_box { text-align: center }
.button { background-color: rgba(83, 168, 73, 1); border: none; border-radius: 6px; color: rgba(255, 255, 255, 1); padding: 9px 24px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px }
.img_box { border: none; color: rgba(255, 255, 255, 1); text-align: center; vertical-align: middle }
.demo { width: 208px; height: 260px; margin: 0 auto }
.demo img { -webkit-filter: drop-shadow(2px 2px 5px rgba(0,0,0,.5)); filter: drop-shadow(2px 2px 5px rgba(0,0,0,.5)) }
感谢您的支持

微信支付
Linux系统各种库/软件版本输出指令的更多相关文章
- Linux系统中安装软件方法总结
		
Linux系统中安装软件方法总结 [1]Linux系统中安装软件的几种方式 [2] Linux配置yum源(本地源和网络源) [3] SuSE下zypper源配置 [4] SUSE zypper 本地 ...
 - Ubuntu等Linux系统显卡性能测试软件 Unigine 3D
		
Ubuntu等Linux系统显卡性能测试软件 Unigine 3D Ubuntu Intel显卡驱动安装,请参考: http://blog.csdn.net/zhangrelay/article/de ...
 - Linux系统下升级Python版本步骤(suse系统)
		
Linux系统下升级Python版本步骤(suse系统) http://blog.csdn.net/lifengling1234/article/details/53536493
 - linux下依赖库的版本问题引起的安装失败:libssl-dev版本问题无法安装 :libssl-dev : 依赖: libssl1.0.0 (= 1.0.1-4ubuntu3) 但是 1.0.1-4ubuntu5.31 正要被安装
		
依赖库版本问题引起的安装失败解决方法如下有两种: 1.是由于源需要更新,如下操作: libssl-dev : 依赖: libssl0.9.8 (= 0.9.8o-1ubuntu4) 但是 0.9.8o ...
 - Linux系统及常用软件的安装
		
注释:看了很多人说在Windows下面跑机器学习就和大人一直用勺子吃饭一样,应该用更...刚写到这里Linux又奔溃了-- 以后就在Linux上跑程序了,告别Windows的时代... 别看下面的安装 ...
 - Linux系统中安装软件的几种方式
		
转载:https://blog.csdn.net/qq_36119192/article/details/82866329 好长时间没有静下心来学习一下linux了 最近对linux安装软件有了点小小 ...
 - Linux系统学习07-Centos软件安装几种方法
		
配置好Centos一些基础设置后,接下来就是学习平时使用最多的软件安装. windwos下软件安装非常简单,就是下载好安装包,然后双击就会自动安装. 而Centos里面安装软件的方式方法有区别,熟悉几 ...
 - Linux系统上安装软件(JDK以及tomcat服务器)
		
一:安装jdk linux系统上面如果运行java程序,就需要安装java的运行环境(jdk) 1:下载linux版本的jdk 地址:http://www.oracle.com/technetwork ...
 - linux系统如何查看内核版本、操作系统版本等信息
		
有时候需要查看linux系统的内核版本,可以有多种方法,方法如下:(下面以优麒麟系统为例) 方法1: 打开mate终端,在命令行输入以下命令: uname -a 运行效果如下:  如果只查看内核 ...
 - Linux系统上安装软件(ftp服务器)
		
一:安装ftp服务器 在安装linux系统的时候,自定义软件包安装时,我已经勾选了ftp服务器,所以已经 安装过了,如果没有勾选,需要额外下载ftp的安装包,进行安装. ftp服务器搭建过程中遇到的问 ...
 
随机推荐
- 使用Metricbeat监控zookeeper遇到的问题
			
1.metricbeat中启动自动加载模块 metricbeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled ...
 - Elasticsearch的ETL利器——Ingest节点
			
文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484473&idx=1&sn=1b3b07b ...
 - GitLab基础知识
			
GitLab基本介绍 GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 与Github类似,GitLab ...
 - 分享一个Vue实现图片水平瀑布流的插件
			
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.需求来源 今天碰到了一个需求,需要在页面里,用水平瀑布流的方式,将一些图片进行加载,这让我突然想起我很久以前写的一篇文章<JS两 ...
 - 云数据库技术|“重磅升级”后再测 TDSQL-C
			
来源:云数据库技术 标题 1.摘要 前段时间,测试了国内主要云原生数据库 PolarDB.TDSQL-C.GaussDB 的性能,参考:<再测云原生数据库性能>.在上次测试结果中,由于地域 ...
 - Linux安装oracle 12C
			
安装虚拟系统CentOS6.5,分配给至少1G的内存,其他条件适当高些,具体参考官方文档 环境准备 vim /etc/profileexport JAVA_HOME=/opt/jdk1.7.0_79e ...
 - 13.MongoDB系列之分片简介
			
1. 分片概念 分片是指跨机器拆分数据的过程,有时也会用术语分区.MongoDB既可以手工分片,也支持自动分片 2. 理解集群组件 分片的目标之一是由多个分片组成的集群对应用程序来说就像是一台服务器. ...
 - vue中使用分页组件、将从数据库中查询出来的数据分页展示(前后端分离SpringBoot+Vue)
			
文章目录 1.看实现的效果 2.前端vue页面核心代码 2.1. 表格代码(表格样式可以去elementui组件库直接调用相应的) 2.2.分页组件代码 2.3 .script中的代码 3.后端核心代 ...
 - 亚马逊云 RDB数据故障转移(多可用区)
			
RDB关系数据库(Relational Database,RDB) 创建名为VPC for RDS的vpc 两个可用区,两组公内网 创建安全组 创建RDS数据库实例用的数据库子网组 创建RDS数据库实 ...
 - 2流高手速成记(之五):Springboot整合Shiro实现安全管理
			
废话不多说,咱们直接接上回 上一篇我们讲了如何使用Springboot框架整合Nosql,并于文章最后部分引入了服务端Session的概念 而早在上上一篇中,我们则已经讲到了如何使用Springboo ...