一、程序的组成部分

    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,指向我们的文档目录

转载于:https://www.cnblogs.com/moying-wq/p/10662427.html

Linux源码编译安装程序相关推荐

  1. linux源码编译安装apache( httpd-2.4.53)处理服务器支持 TLS Client-initiated 重协商攻击(CVE-2011-1473)

    linux源码编译安装apache 首先我们需要下载相关的依赖包 apr.apr-util.pcre 下载地址 http://archive.apache.org/dist/apr/apr-1.7.0 ...

  2. linux源码编译-安装postgresql数据库(中标麒麟+龙芯CPU)

    linux源码编译-安装postgresql数据库(中标麒麟+龙芯CPU) 一.查看yum源中pgsql版本 二.安装readline-devel 三.下载pgsql库的源码 四.解压下载的源码.co ...

  3. Linux 源码编译安装过程-以安装XZ解压为例

    一.描述 Linux安装软件一般有两种安装方式:安装包安装和源码安装. 1.安装包安装.安装包安装比较简单,例如采用apt-get  install +软件名 命令,安装 deb 包的 Linux 操 ...

  4. Linux源码编译安装步骤及命令

    源码编译安装过程 RPM包:rpm -ivh yum install 源码包----开发工具---->可以执行的程序----->运行安装 • 主要优点 – 获得软件的最新版,及时修复bug ...

  5. linux源码编译安装nginx

    1.从nginx的官方网站下载nginx的安装源码包,要下载.gz格式的包才是linux安装包 网址http://nginx.org/download/ wget http://nginx.org/d ...

  6. linux源码编译安装lamp环境搭建,linux下源码包编译安装LAMP环境

    1.下载所需的源码包 Httpd-2.4.10  apr-1.5.1  apr-util-1.5.3  pcre-8.33(这些均可在Apache官网进行下载) Mysql-5.5.39    php ...

  7. Linux源码编译安装apache httpd2.4.48

    Apache httpd httpd是Apache基金会的HTTP服务器项目:HTTP Server project httpd-2.4系列本版,依赖于apr-1.4+, apr-util-1.4+ ...

  8. linux源码编译安装subversion

    一.下载安装包 subversion源码包下载 https://subversion.apache.org/download.cgi apr源码包 https://dist.apache.org/re ...

  9. linux 编译pcl,PCL/python-pcl Linux源码编译安装

    链接 PCL官网:http://www.pointclouds.org/ PCL GitHub:https://github.com/PointCloudLibrary/pcl python-pcl ...

最新文章

  1. python selenium unittest_python+selenium+unittest——ui自动化的轻量级选择
  2. APP检测软件更新逻辑
  3. DNA Sorting(排序)
  4. 机器学习中如何解决数据不平衡问题?
  5. [毕业生的商业软件开发之路]C#语法基础结构
  6. js change事件 获取新值和旧值_前端总结(JS篇)
  7. 一文搞清楚 Spark shuffle 调优
  8. input file 上传图片时,文件格式限制
  9. 计算机网络考试难吗,网络教育统考中的计算机考试难不难,
  10. 关于ashx的基本应用
  11. Parallels Desktop 安装Win 10提示“安全启动功能防止操作系统启动”该如何操作?
  12. 计算机二级c语言的书籍,全国计算机二级c语言
  13. 1630 - FUNCTION hkwork.count does not exist. Check the 'Function Name Parsing and Resolution' sectio
  14. Vulhub-DC-8靶场实战攻略
  15. 经典r-k法 matlab,解微分方程欧拉法,R-K法及其MATLAB实例
  16. mysql外码内码定义_内码和外码分别是什么啊?
  17. 穴位模型,blender 文件 分享,我免费分享了
  18. 【pandas】df.str.contains包含多个值写法
  19. WinForm(八)窗体,窗体
  20. 2021-03-26:给定一个正整数N,表示有N份青草统一堆放在仓库里。有一只牛和一只羊,牛先吃,羊后吃,它俩轮流吃草。 不管是牛还是羊,每一轮能吃的草量必须是:1,4,16,64…(4的某次方)。谁

热门文章

  1. flash调用js中的方法,让js传递变量给flash (兼容 IE FF) (转)
  2. css设置字符长度,在css中设置最大字符长度
  3. 计算机应用基础知识点提纲,计算机应用基础复习提纲
  4. 网络验证php接口逆向,一个专利查错的逆向(网络验证)
  5. python 局域网 主机名_使用python获取连接到本地网络(基于主机名)的所有设备的ip...
  6. firewallD卸载Linux,在Ubuntu 18.04/16.04系统上安装和使用Firewalld的方法
  7. 在linux下dns绑定域名,在Linux系统中,使用Bind搭建DNS域名解析服务
  8. mssql php 5.4,PHP5.4如何连接MSSql Server2005
  9. 深入Java核心 Java内存分配原理精讲
  10. Windows使用筛选器来处理异常