Linux自由软件安装 ./config, make的理解

make menuconfig实战:从Kconfig到.config的完整配置流程 本文深入解析Linux内核开发中`make menuconfig`的完整配置流程。从Kconfig语法定义、图形化配置界面操作,到最终生成.config文件及转换为autoconf.h的自动化过程,详细阐述了配置系统的底层逻辑与实战技巧,帮助开发者高效定制内核并精准排查配置问题。 阅读详情

在 Linux 系统中安装软件的其中一种:源码安装的方法是,先输入./configure,然后输入make,最后make install。或许有人留意到没有,这些软件的根目录中开始是没有Makefile的,在执行了./configure后会生成了很多奇怪名字的文件.

configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生相应的 makefile 文件,Makefile 规定了用什么编译器、编译参数等信息。从而可以使你的源代码能在不同的操作系统平台上被编译出来。比如它会检测你是不是有CC或GCC。

可以通过在 configure 后加上参数来对安装进行控制,比如代码:

./configure --prefix=/usr

上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share.

如果你安装时候指定的路径为:
--prefix=/usr/local/XXX,那么卸载的时候只需要把XXX这个文件夹删除即可!!!!!,因为该软件安装的所有文件都是放置在XXX这个文件夹。但如果你进行源码包安装的时候没有指定位置(默认值一般为/usr/local/),或指定的位置为--prefix=/usr/local,则这时候你安装软件生成的文件将分别存储在/usr/local/里面的bin、lib或ect等目录中,这时候卸载起来就相对麻烦一点了。

可以通过 ./configure --help 察看详细的各个参数的说明。

 

make是用来编译的,它从Makefile中读取指令,然后编译。make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序。

如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

 

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件),以通常得用 sudo make install。

当我们在使用make命令时,常常会在make后面加上其他单词,比如check,install,installcheck…这些单词都是make的参数,我们称之为“目标(targets)”。

最常见的几个目标:
make all:编译程序、库、文档等(等同于make)
make install:安装已经编译好的程序。复制文件树中到文件到指定的位置
make unistall:卸载已经安装的程序。
make clean:删除由make命令产生的文件
make distclean:同时删除./configure和make产生的临时文件
make check:测试刚刚编译的软件(某些程序可能不支持)
make installcheck:检查安装的库和程序(某些程序可能不支持)

make dist:重新打包成packname-version.tar.gz

 

AUTOMAKE 和 AUTOCONF 是非常有用的用来发布C程序的东西。

Ref:

https://blog.youkuaiyun.com/lltaoyy/article/details/7615833

https://www.sohu.com/a/191735643_505857

https://blog.youkuaiyun.com/a746742897/article/details/52311044
 

Buildroot make 执行链路全解析:从 Config.in 到最终镜像 在嵌入式 Linux 开发中,交叉编译工具链与根文件系统构建是核心环节。Buildroot 作为基于 Makefile 的自动化构建框架,通过 Kconfig 配置系统与包管理机制,将源码下载、校验、解压、补丁、编译和安装串联为一条可裁剪的流水线。其技术价值在于用配置驱动按需加载 package 的 .mk 文件,并借助 .hash 文件保障供应链完整性。典型应用场景包括定制 rootfs、生成多种格式镜像以及增量调试。理解 make 调度顺序与 output 目录分工,能显著提升编译问题排查效率。本文深入 阅读详情

相关推荐

Nginx源码编译实战:从依赖安装到make报错全解析

在Linux服务器部署中,软件安装方式直接影响服务的性能与可控性。包管理器虽然便捷,但提供的往往是通用性优先的预编译版本,难以满足定制化需求。源码编译作为更底层的软件构建方式,允许开发者从源代码开始,通过配置编译参数、选择功能模块,实现对软件的深度定制与优化。这一过程不仅涉及编译器工具链、依赖库(如PCRE、OpenSSL)的完整配置,更考验对Linux构建系统的理解。尤其在执行make编译时,常见的依赖缺失、编译器版本兼容性、第三方模块集成等问题,是许多运维工程师和开发者必须跨越的实践门槛。掌握Nginx

weixin_33853827的博客 489

linux自由软件安装 ./config, make的理解 -- ongoing

在linux系统中安装软件的其中一种:源码安装的方法是,先输入./configure,然后输入make,最后make install。或许有人留意到没有,这些软件的根目录中开始是没有Makefile的,在执行了./configure后会生成了很多奇怪名字的文件. configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的...

weixin_34259559的博客 456

Linux内核编译踩坑记:解决‘No rule to make target debian/canonical-certs.pem’报错(附.config文件修改详解)

本文详细解析了Linux内核编译过程中常见的‘No rule to make target debian/canonical-certs.pem’报错,提供了三种不同安全等级的解决方案,包括禁用证书验证、使用本地证书和获取官方证书。文章还深入探讨了内核安全配置的权衡,并附有.config文件修改详解,帮助开发者安全高效地完成内核编译。

weixin_42537919的博客 304

Linux操作系统的Configure参数解释说明

                                 Linux操作系统的Configure参数解释说明Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后在安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基

ypd_eammbed_s 562

Emacs 在 Linux 源码编译安装全流程:configure、make 到 make install 实战详解

命令行文本编辑器是 Linux 运维与开发工作中最基础也最核心的工具之一,而 Emacs 作为一款拥有数十年历史的编辑器,至今仍在服务器和嵌入式环境中扮演重要角色。源码编译安装是 Linux 软件部署的经典方式,它涉及的 configure、make、make install 三步流程,体现了从源码到可执行文件的完整构建原理。理解这一过程,不仅能帮助用户在无图形界面的服务器上获得定制化的编辑环境,还能深入掌握系统依赖管理、环境变量配置等工程实践。本文从软件编译安装的通用概念出发,围绕 Redhat、Cent

weixin_34049948的博客 476

pkg-config-0.29.1源码编译与安装实战详解

pkg-config是 Linux 及类 Unix 系统中用于简化库依赖管理的关键工具。它通过读取.pc配置文件,自动提供编译和链接第三方库所需的Cflags(如-I头文件路径)和Libs(如-L库路径、-l链接名)参数,避免手动维护复杂选项。该工具在 Autotools、CMake 等构建系统中广泛应用,显著提升项目可移植性与构建自动化程度。其核心机制基于环境变量指定的搜索路径,按优先级查找对应库的配置信息,实现跨平台依赖解析统一化。宏展开的过程本质上是一次文本预处理。

weixin_31974443的博客 1192

configure交叉编译

交叉编译某个应用程序时,通常需要 ./configure 来生成对应的 Makefile ./configure 最关键的三个选项是: --host=HOST 指定软件运行的系统平台.如果没有指定,将会运行`config.guess'来检测. --build=BUILD 指定软件包安装的系统平台.如果没有指定,默认值将是'--host'选项的值. --target=GARG

ljx0305的专栏 2626

MSPM0G3507电赛控制板设计:电机驱动与多传感器融合

微控制器是嵌入式控制系统的核心处理单元,其性能与外设集成度直接决定实时控制能力。基于Arm Cortex-M0+内核的MCU凭借低功耗、高性价比和丰富模拟资源,成为大学生电子设计竞赛等工程实践场景的主流选择。本文围绕MSPM0G3507展开,深入解析双路电机驱动(TB6612FNG)、多源传感采集(MPU6050+ADC电压监测)及抗干扰硬件架构等关键技术,强调电源隔离、信号完整性与鲁棒性设计对72小时封闭竞赛环境的关键支撑作用。典型应用涵盖巡线小车运动控制、姿态解算与蓝牙/Zigbee协同通信,为控制类赛

weixin_42588672的博客 543

linux ./config 浅析

1.简介 Config不是一种bash,config语言是linux内核的一种配置语言,config.in文件是使用该语言编写而成,在通常情况下,它看起很像一个SH语言的子集。config配置语言主要有21条基本语句,1条if语句,菜单块和source。主要包括以下几个方面: (1)菜单入口           例如:config  MODVERSION

gaoyang610的专栏 3467

比较几款国际主流的电子元器件及物料清单管理软件 – 工具汇总

Arenasolution 老牌的基于云计算物料清单管理软件,bom.com就是他们家的,10天免费试用,功能被分成4个不同的产品, 和传统ERP功能上有重叠,偏向于物流生产规划,一定程度可以取代ERP的生产规划模块,平均价格70美元/月/席位。网页客户端,不支持离线   SiliconExpert 曾经的老牌物料清单管理软件,后被Arrow 收购,14天免费试用,功能被分成4个不同的产品

u012062784的专栏 7236

告别交越失真:手把手教你设计高性能互补输出级电路(LTspice实测)

本文深入剖析音频放大器中常见的交越失真问题,并提供基于LTspice仿真的实战解决方案。通过对比二极管偏置、Vbe倍增器和集成运放驱动三种经典方案,手把手指导设计高性能互补输出级电路,涵盖原理分析、仿真验证及实物调试要点,助力消除音频失真,提升音质。

weixin_29190573的博客 553

./configure怎么用

其实./configure、make、makeinstall这三个命令,我们可以用&&来把命令连接起来执行,表示当前一条命令正常结束后,后面的命令才会执行,这个办法很好,既节省时间,又可以防止发生错误。例: ./configure&&make&&makeinstall 正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。 configure...

骷大人的博客 2万+

使用STM32H7点亮RGB屏幕

希望本文能对你有所帮助!RGB屏幕是一种具有红、绿、蓝三种颜色通道的显示设备,通过控制每个通道的亮度,可以显示出丰富多彩的图像和动画。要使用STM32H7控制RGB屏幕,我们需要连接适当的引脚,并编写适当的代码来控制每个颜色通道的亮度。在主循环中,我们先点亮红色通道,然后延迟一段时间,接着点亮绿色通道,再延迟一段时间,最后点亮蓝色通道,并再次延迟。需要注意的是,示例代码中的延迟循环使用了一个简单的计数器实现,但实际应用中可能需要更精确的延迟方式,例如使用定时器中断或操作系统提供的延迟函数。

QoyOle的博客 925

linux自由软件安装 ./config, make的理解

在linux系统中安装软件的其中一种:源码安装的方法是,先输入./configure,然后输入make,最后make install。或许有人留意到没有,这些软件的根目录中开始是没有Makefile的,在执行了./configure后会生成了很多奇怪名字的文件. configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生相应的makefile文件...

weixin_30537391的博客 206

Transformer实战(38)——视觉Transformer (Vision Transformer, ViT)

Transformer 在自然语言处理 (NLP) 领域取得了显著成就,在许多不同的任务中都表现出色。在本节中,我们将探索视觉 Transformer (Vision Transformer, ViT) 模型。正如 NLP 领域创建了多种模型一样,视觉领域也开发了多种模型,每种模型都为计算机视觉提供了新的视角。通过本节,将学习如何使用 ViT 等模型进行计算机视觉任务,了解基于 Transformer 的预训练计算机视觉模型的工作原理,以及如何针对特定任务进行微调。

盼小辉丶的博客 2890

【AI Agent教程】各种Agent开发框架都是如何实现ReAct思想的?深入源码学习一下

驱动大模型有很多种方式,例如纯Prompt方式、思维链方式、ReAct方式等。ReAct 方式是 AI Agent 最常用的实现思路之一,它强调在执行任务时结合推理(Reasoning)和行动(Acting)两个方面,使得Agent能够在复杂和动态的环境中更有效地工作。

同学小张的博客 6396

linux自由软件安装config make的理解 -- ongoing

在linux系统中安装软件的其中一种:源码安装的方法是,先输入./configure,然后输入make,最后make install。或许有人留意到没有,这些软件的根目录中开始是没有Makefile的,在执行了./configure后会生成了很多奇怪名字的文件. configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生相应的makefile文...

Peace 5172

基于STM32设计的水质检测系统_333

水质安全对生态环境、农业生产、工业制造以及人类健康至关重要。针对传统水质检测方式检测周期长、成本高、实时性差的问题,本项目设计并实现了一种基于STM32的水质检测系统。系统采用STM32F103RCT6作为主控芯片,集成水温、pH值、电导率和浊度等传感器,能够实时采集水质数据,并通过OLED显示屏进行本地显示。同时,利用Air724UG 4G模块通过MQTT协议将数据上传至华为云IoT平台,实现远程监测。用户可通过Qt5开发的Android手机APP和Windows上位机查看水质数据,并接收超限报警提示。此

715

linux中安装软件源码的过程中configure、make和make install分别起什么作用?

本文介绍了linux安装源码文件的软件中一般会用到的configure、make和make install三个命令发挥的功能,希望帮助到有兴趣的人。

keepaware的博客 1706

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Linux编译安装中./configure、make 和 make install 的区别

./configure是用来检测你的安装平台的目标特征的; make是用来编译的,它从Makefile中读取指令; make install是用来安装的

weixin_42449832的博客 1150

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Linux编译安装中configure、make和make install各自的作用详解

mark一下 参考文章:Linux编译安装中configure、make和make install各自的作用详解

Dontla的博客 1657

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Linux内核编译的整体理解

Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统。内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制。Linux内核的一大特点就是采用了整体式结构,由很多过程组成,每个过程都可以独立编译,其模块机制又使得内核保持独立而又易于扩充。Linux发行版是在Linux内核的基础之上,与外带的应用软件和工具打包配置之后发行的版本。最初的Linux内核在1991年由当时还在芬兰赫尔辛基大学计算机系读书的Linus Torvalds开发,之后Linus很快聚集了大量来自其他自

xiebingsuccess的博客 1162

Buildroot构建机制深度解析:make、Config.in、.mk与.hash全链路

在嵌入式Linux开发中,构建系统负责将源码转化为可运行的镜像。其核心原理基于GNU make的依赖调度与增量判断,通过Kconfig配置系统生成.config文件,再由.mk文件定义各软件包的构建规则,并利用.hash文件校验源码完整性。理解这一机制能显著提升构建效率与问题排查能力,适用于定制根文件系统、交叉工具链集成及镜像生成等场景。本文深入剖析Buildroot中make、Config.in、.mk和.hash的协同工作流程,揭示从配置到镜像的完整链路。

weixin_33861800的博客 399

Linux内核kconfig调用关系,linux内核中kconfig、.config、menuconfig之间的关系

在进行linux内核的配置编译的时候,最常见的就是make menuconfig命令。总所周知,linux是一个模块化定制的系统,那么它又是如何来实现模块化的配置的呢?在配置的过程中,我们最重要的就是理清楚 kconfig、.config 、 menuconfig之间的关系。一、linux内核的配置原理.config:默认情况下是没有.config文件的,配置过程就是为了产生.config文件。内...

weixin_35812176的博客 833

从源码构建 FFmpeg:INSTALL.md 安装流程完全解析(configure、make 与 install 细节)

本文以 FFmpeg 仓库的 [INSTALL.md](https://link.gitcode.com/i/a93bbf686c1baf3c22f5b8427147c659) 为核心,完整拆解“获取源码 → 合并 source plugin → configure 配置 → make 编译 → make install 安装”这条官方安装链路,并结合 [Makefile](https://lin

gitblog_00423的博客 752
上一篇: apt 和 apt-get 的区别
下一篇: GPU和显卡是什么关系?GPU会取代CPU吗?
coco_1998_2
博客等级 码龄19年 5807粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值