pciutils
1.1、pciutils简介
是什么 ?:a collection of programs for inspecting and manipulating configuration of PCI devices.
开发语言:C
官方主页:http://mj.ucw.cz/sw/pciutils
源码仓库:https://github.com/pciutils/pciutils
1.2、通过包管理器安装pciutils
操作系统包管理器安装命令
Windowsscoopscoop install pciutils
aptsudo apt-get install -y pciutils
CentOSyumsudo yum install -y pciutils
dnfsudo dnf install -y pciutils
openSUSEzyppersudo zypper install -y pciutils
Alpine Linuxapksudo apk add pciutils

Arch Linux

ArcoLinux

Manjaro Linux

pacmansudo pacman -Syyu --noconfirm
sudo pacman -S    --noconfirm pciutils
Gentoo LinuxPortagesudo emerge pciutils
1.3、通过编译源码安装pciutils 

step1、安装依赖

下载时cURL
解压时targzip
编译时GNU makeGCC ( gcc )   | LLVM / Clang
运行时glibc ( libc.sold-linux-x86-64.so )

step2、使用curl命令下载tree源码包 (

curl -LO ftp://ftp.ucw.cz/pub/mj/linux/pci/pciutils-3.6.2.tar.gz

step3、使用tar解压pciutils源码包

tar vxf pciutils-3.6.2.tar.gz

step4、进入pciutils-3.6.2目录

cd pciutils-3.6.2

step5、查看pciutils-3.6.2目录中的内容

step6、编辑Makefile文件

step7、使用GNU make进行编译

make [option]... [VAR=VALUE]... [TARGET]...
VARVALUE示例说明
CCgcc |  clang指定C编译器
CFLAGS-O2 -v指定C编译器的参数
OPT-O3指定C编译器优化参数
SHAREDyes|no是否生成动态库
ZLIByes|no是否使用zlib压缩pci.ids
DNSyes|no是否使用glibclibresolv.so
LIBKMODyes|no是否使用kmodlibkmod.so
HWDByes|no是否使用eudevlibudev.so
PREFIX/usr指定安装路径

示例:

nproc() {
    if command -v nproc > /dev/null ; then
        command nproc
    elif command -v sysctl > /dev/null ; then
        sysctl -n machdep.cpu.thread_count
    elif test -f /proc/cpuinfo ; then
        grep -c processor /proc/cpuinfo
    else
        printf "%b" 4
    fi
}

make -j$(nproc) OPT="-O3 -v" SHARED=yes

step8、安装

sudo make install install-lib SHARED=yes PREFIX=/usr
1.4、pciutils中包含的命令
1.5、pciutils中包含的头文件
1.6、pciutils中包含的库文件
  • libpci.{a | so}