`
pda158
  • 浏览: 189898 次
社区版块
存档分类
最新评论

Linux下通过源码编译安装程序

阅读更多
一、程序的组成部分
  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,指向我们的文档目录
2
4
分享到:
评论

相关推荐

    如何在Linux下用gcc编译c程序

    Linux 内核和许多其他自由软件以及开放源码应用程序都是用 C 语言编写并使用 GCC 编译的。

    linux下C++连接数据库程序源码附加编译命令

    linux下C++连接数据库程序源码附加编译命令

    iperf的Linux源码包与windows安装exe程序

    iperf-2.0.5 的Linux源码包与windows exe安装程序

    linux下shell自动编译安装git下载的ffmpeg源码

    如此,编译完的程序在bin下,有ffmpeg、ffprobe、ffserver、lame、nasm、ndisasm、vsyasm、x264、yasm、ytasm 那么配置ffmpeg程序路径就应该是 /usr/local/ffmpeg/bin/ffmpeg 【注意】我下载的是3.3,已在生产环境...

    嵌入式linux下QT开发的wifi源码

    是基于嵌入式linux下QT开发的wifi源码,并且源码里面最重要还有一份QT界面的控件说明文档等等,源码经测试,直接可编译使用

    linux下ping功能的实现,编译通过的源码

    本程序是linux下ping功能的实现,编译通过的源码,很不错的,不要错过!

    linux下ping程序源码

    这个是linux下面一个完整的ping程序源码,适合初步的网络编程学习。程序代码结构清晰,有必要的注释。里面包含七个文件,其中一个Makefile文件,注意:这个是在linux环境下的程序。 编译和运行: 进入目录执行:make...

    Linux下c语言模块条件编译模板源码

    在Linux系统下Makefile和C/C++语言都有提供条件选择编译的语法,就是在编译源码的时候,可以选择性地编译指定的代码。这种条件选择编译的使用场合有好多,例如我们开发一个兼容标准版本与定制版本兼容的项目,那么,...

    grpc-1.30.2 Linux 编译静动态库

    在 centos 7 下使用 gcc 4.8.5 + cmake 3.16.9 编译,包含 bin, include, lib, lib64, share 五个目录,可以直接在 linux C++ 程序中引用。 因为 grpc 编译比较麻烦,且依赖项较多,故而分享一下编译后的版本,本人...

    Linux下Android反编译工具:apktool

    linux平台的apk反编译工具,包含apktool+jd-gui+dex2jar,版本说明:jd-gui:0.3.5;dex2jar:0.0.9.15,apktool.jar:2.2.2,反编译步骤说明书 ... 可以将.apk 文件反编译为:程序源码(classes.dex)、资源文件

    linux中编译的mediainfo执行程序

    mediainfo 源码,在linux中编译后得到的可执行程序和相关函数库,可在所有linux系统中运行

    OpenMC程序的编译与安装1

    第一章 OpenMC 程序的编译与安装本章将介绍编译、安装 OpenMC(0.10.0)的两种方法。第一种方法,简称:conda 方法,安装相对容易。另一种使用

    C++大作业Linux平台下基于QT的文件管理程序系统源码.zip

    C++大作业Linux平台下基于QT的文件管理程序系统源码,支持MP3的ID3V1信息,支持一键创建 desktop 快捷方式和修改 desktop 属性。支持压缩和解压缩: 压缩功能需要安装 zip:sudo apt-get install zip 解压缩功能需要...

    Ymodem串口升级界面及源码(linux下也可使用)

    Ymodem串口升级界面及源码(QT)

    从源代码编译安装wine

    Wine是一个在x86、x86-64上容许类Unix操作系统在X Window System下运行Microsoft Windows程序的软件。本文档是描述在linux系统ubuntu发行版上从源代码编译安装wine 1.5.9。

    linux 安装程序

    Linux 内核编译是使用命令make meunconfig 但是会出现以下错误。 *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** ...

    linux下telnet源代码

    该程序是linux下telnet的完整实现,编译已经通过。喜欢linux程序设计的朋友可以研究一下。

    交叉编译openssl,使arm设备的qt程序能支持https请求

    在linux系统上,用自带的交叉编译工具对openssl源码进行交叉编译(该过程可参考百度),生成对应的静态和动态库,然后将生成的库拷贝至arm设备的QT库锁存放的位置,这样的目的是当我们在设备上跑qt程序时,使用https...

    嵌入式linux下移植strace调试应用程序工具源码

    该压缩包是嵌入式linux下移植strace调试工具源码包,并且最重要里面还有一份移植文档,该文档内容会手把手教你编译安装和使用strace调试工具

Global site tag (gtag.js) - Google Analytics