当前位置: 首页 > news >正文

【Linux】sudo make install 命令往系统中安装了什么 指定目录进行安装

前情提要

假如我们通过源码安装的方式,安装一个动态库,风格往往是这样的:

# 克隆仓库
git clone https://github.com/xxx.git# 进入仓库目录
cd xxx

编译

# ... 可能有一些校验代码完整性的sh命令# 构建
mkdir build
cd build
cmake ..# 编译
make -j$(nproc)

安装

sudo make install

卸载

sudo make uninstall

思考一个关键问题:

如何预先知道 sudo make install 会往系统中安装什么东西?比如 sudo make install 接下来可能破坏系统中的一些依赖关系,又或者出于其他安全考虑;如果是一名开发者,也不一定会将动态库安装到/usr/local/lib这样的路径下,可能只是放在某个项目中,由 CMake 指定的规则进行构建。

一种办法是直接查看 makefile 文件,查找install 关键字。当然这不是一种好办法,makefile 可能是生成的,大型项目的 makefile 往往很复杂。

这里给出一种快速的方法,我们可以先创建一个临时文件夹,

mkdir ~/xxx_install
cd ~/xxx# 指定安装位置
make DESTDIR=~/xxx_install install

make install 之后,我们可能获得如下结构

请添加图片描述

lib 中可以查看即将安装的库。

请添加图片描述

http://www.lryc.cn/news/482866.html

相关文章:

  • RT-DETR融合CVPR[2020]轻量化卷积模块Ghost Module模块
  • 发布rust crate
  • Sequelize+Sqlite3使用示例
  • MyBatisPlus 用法详解
  • 强化学习入门笔记(Reinforcement Learning,RL) 强推!
  • C++ QT 工具日志异步分批保存
  • win32com库基于wps对Word文档的基础操作
  • Kubernetes 网络之深度探索:网络模型与 CNI 插件
  • Go 模块管理教程:go.mod 与依赖版本控制
  • 大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)
  • 鸿蒙next版开发:订阅应用事件(ArkTS)
  • F litter 开发之flutter_local_notifications
  • springboot参数校验
  • Spring生态学习路径与源码深度探讨
  • C++:set详解
  • (一)- DRM架构
  • Docker了解
  • 【DL】YOLO11 OBB目标检测 | 模型训练 | 推理
  • vue读取本地excel文件并渲染到列表页面
  • github 以及 huggingface下载模型和数据
  • 使用 Vue 配合豆包MarsCode 实现“小恐龙酷跑“小游戏
  • 51c视觉~合集6
  • STM32(hal库)在串口中,USART和uart有什么区别?
  • 机器学习、深度学习面试知识点汇总
  • FPGA高速设计之Aurora64B/66B的应用与不足的修正
  • 如何通过PHP脚本自动推送WordPress文章至百度站长平台
  • ORA-01092 ORA-14695 ORA-38301
  • upload-labs通关练习---更新到15关
  • WPF 应用程序中使用 Prism 框架时,有多种方式可以注册服务和依赖项
  • 【ESP32】ESP-IDF开发 | 低功耗管理+RTC唤醒和按键唤醒例程