操作系统相关
查看当前Linux是否是虚拟机
sudo dmidecode -s system-manufacturer
如果是VMware, Inc.、Microsoft Corporation、OpenStack Foundation、Xen或者QEMU等虚拟机厂商,则是虚拟机
如果是具体的硬件厂商名称,则当前Linux是运行在物理机上
或者看系统产品名
sudo dmidecode -s system-product-name
同理,如果是像OpenStack Nova的就是虚拟机
查看当前Linux的发行版本
cat /etc/os-release
查看当前系统的ARM架构版本
echo | gcc -dM -E - -march=armv8-a | grep __ARM_ARCH
# -dM选项告诉gcc输出所有的宏定义
# -E选项告诉gcc只进行预处理不进行编译
# -march=armv8-a选项告诉gcc使用ARMv8-A架构进行编译
# 最后,grep命令过滤输出结果,只显示包含字符串 "__ARM_ARCH" 的行
挂载镜像使得可以使用yum install
mount -o loop CULinux-3.0-latest.aarch64.iso /mnt/yumfile # 挂载该ISO文件到/mnt/yumfile
yum clean all # 清理缓存,确保yum使用的是最新的信息,可以避免因缓存问题导致错误
yum makecache # 重新创建缓存
文件相关
查看某个文件是Unix格式还是Windows格式
file -bi filename
// Unix格式:text/plain; charset=us-ascii
// Windows格式:text/plain; charset=us-ascii
查看静态库符号
readelf -sW 静态库文件
有符号情况下:
符号被擦除的情况下
Docker相关
安装Docker
yum update
yum install -y docker
docker --version
启动及查看docker状态
systemctl start docker
systemctl status docker
加载Docker镜像
docker load -i 指定镜像文件
// 例:docker load -i spdk_env_images-0.3.tar
查看已经加载好的镜像
docker images
运行docker
docker run -ti -v /home/mine/:/home/ 指定docker镜像 bash
// 其中-v后边的路径映射参数,根据自己环境的实际路径来替换,前边是实际路径,冒号后边是容器里的路径
// 执行后就在docker里了
SPDK相关
使用spdk自带脚本下载相关的所有依赖
sudo /root/spdk/scripts/pkgdep.sh -all
编译spdk
cd /minePath/spdk
./configure # 如果是windows拷贝到linux中,需要使用dos2unix
# ./configure -h查看配置帮助
# ./configure --enable-debug开启debug模式
make -j16 # 使用16个线程并行(-j)编译代码