一、程序的组成部分
Linux下程序大都是由以下几部分组成:
二进制文件:也就是可以运行的程序文件
库文件:就是通常我们见到的lib目录下的文件
配置文件:这个不必多说,都知道
帮助文档:通常是我们在linux下用man命令查看的命令的文档
二、linux下程序的存放目录
linux程序的存放目录大致有三个地方:
/etc, /bin, /sbin, /lib :系统启动就需要用到的程序,这些目录不能挂载额外的分区,必须在根文件系统的分区上
/usr/bin,/usr/sbin,/usr/lib:操作系统核心功能,可以单独分区
/usr/local/bin,/usr/local/sbin,/usr/local/lib,/usr/local/etc,/usr/local/man:这个用于安装第三方程序,分别对应了二进制文件、库文件、配置文件、帮助文档的目录
通常来说我们安装程序就安装在 /usr/local目录下
三、编译安装源程序
1、使用如下命令查看当前是否安装了gcc编译器,没有可以先用yum安装gcc
gcc --version #查看是否安装gcc
2、解压源码包,例如:
tar -xvf nginx-1.7.7.tar.gz #解压源码包
3、进入解压好的源码包:
cd nginx-1.7.7 #进入源码包
4、执行configure文件,此文件有两个功能:1、让用户选定编译特性;2、检查编译环境。configure执行后将生成MakeFile文件。例如:
./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf
其中我们通过--prefix制定了安装路径,通过--conf-path制定了配置文件的具体位置。注意:不是所有的程序的configure参数都是一样的 可以使用 ./configure --help查看详细参数说明。如果该程序所依赖的库在当前系统中没有安装,则会导致configure最后报错,遇到这种情况就需要你先安装依赖库。
5、执行make命令,编译程序
make
6、编译成功后就可以安装了,执行如下命令
make install
到此程序就算安装完成了,但是不要忘了还有后续的配置哦
四、配置程序
1、修改PATH环境变量,以能够识别此程序的二进制文件路径;
修改/etc/profile文件,在文件中 添加
export PATH=$PATH:/path/to/somewhere #记得是可执行文件所在的目录,路径中不要包含可执行文件。
然后执行 :
source /etc/profile #是我们的修改生效
2、默认情况下,系统搜索库文件的路径/lib, /usr/lib; 要增添额外搜寻路径(注意:有的程序不提供库文件,那就不需要此设置了)
在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中;然后执行如下命令使其生效
ldconfig
3、如果程序提供了库文件,也会相应的提供头文件,一般在安装目录的include目录下,系统默认扫描头文件的路径是:/usr/include。我们可以在/usr/include下用链接连接到我们安装程序的头文件。
ln -s /usr/local/nginx/include /usr/include/yourname
4、可能程序还提供了帮助文档,一般是安装目录下的man目录,为了我们可以使用man命令查看我们程序的帮助文档,我们需要:在/etc/man.config中添加一条MANPATH,指向我们的文档目录
相关推荐
Linux 内核和许多其他自由软件以及开放源码应用程序都是用 C 语言编写并使用 GCC 编译的。
linux下C++连接数据库程序源码附加编译命令
iperf-2.0.5 的Linux源码包与windows exe安装程序
如此,编译完的程序在bin下,有ffmpeg、ffprobe、ffserver、lame、nasm、ndisasm、vsyasm、x264、yasm、ytasm 那么配置ffmpeg程序路径就应该是 /usr/local/ffmpeg/bin/ffmpeg 【注意】我下载的是3.3,已在生产环境...
是基于嵌入式linux下QT开发的wifi源码,并且源码里面最重要还有一份QT界面的控件说明文档等等,源码经测试,直接可编译使用
本程序是linux下ping功能的实现,编译通过的源码,很不错的,不要错过!
这个是linux下面一个完整的ping程序源码,适合初步的网络编程学习。程序代码结构清晰,有必要的注释。里面包含七个文件,其中一个Makefile文件,注意:这个是在linux环境下的程序。 编译和运行: 进入目录执行:make...
在Linux系统下Makefile和C/C++语言都有提供条件选择编译的语法,就是在编译源码的时候,可以选择性地编译指定的代码。这种条件选择编译的使用场合有好多,例如我们开发一个兼容标准版本与定制版本兼容的项目,那么,...
在 centos 7 下使用 gcc 4.8.5 + cmake 3.16.9 编译,包含 bin, include, lib, lib64, share 五个目录,可以直接在 linux C++ 程序中引用。 因为 grpc 编译比较麻烦,且依赖项较多,故而分享一下编译后的版本,本人...
linux平台的apk反编译工具,包含apktool+jd-gui+dex2jar,版本说明:jd-gui:0.3.5;dex2jar:0.0.9.15,apktool.jar:2.2.2,反编译步骤说明书 ... 可以将.apk 文件反编译为:程序源码(classes.dex)、资源文件
mediainfo 源码,在linux中编译后得到的可执行程序和相关函数库,可在所有linux系统中运行
第一章 OpenMC 程序的编译与安装本章将介绍编译、安装 OpenMC(0.10.0)的两种方法。第一种方法,简称:conda 方法,安装相对容易。另一种使用
C++大作业Linux平台下基于QT的文件管理程序系统源码,支持MP3的ID3V1信息,支持一键创建 desktop 快捷方式和修改 desktop 属性。支持压缩和解压缩: 压缩功能需要安装 zip:sudo apt-get install zip 解压缩功能需要...
Ymodem串口升级界面及源码(QT)
Wine是一个在x86、x86-64上容许类Unix操作系统在X Window System下运行Microsoft Windows程序的软件。本文档是描述在linux系统ubuntu发行版上从源代码编译安装wine 1.5.9。
Linux 内核编译是使用命令make meunconfig 但是会出现以下错误。 *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** ...
该程序是linux下telnet的完整实现,编译已经通过。喜欢linux程序设计的朋友可以研究一下。
在linux系统上,用自带的交叉编译工具对openssl源码进行交叉编译(该过程可参考百度),生成对应的静态和动态库,然后将生成的库拷贝至arm设备的QT库锁存放的位置,这样的目的是当我们在设备上跑qt程序时,使用https...
该压缩包是嵌入式linux下移植strace调试工具源码包,并且最重要里面还有一份移植文档,该文档内容会手把手教你编译安装和使用strace调试工具