美文网首页
开放源码的软件安装与升级简介

开放源码的软件安装与升级简介

作者: epiiplus1equal0 | 来源:发表于2019-01-22 15:04 被阅读0次

Linu上面的软件几乎都经过GPL授权, 所以每个软件几乎均提供源代码, 并且你可以自行修改该程序代码, 以符合你个人的需求!

1. 什么是开放源码, 编译程序与可执行文件

写完的程序就是所谓的源代码, 这个程序代码文件其实就是一个纯文本文件, 再来就是把这个文件"编译"成操作系统看的懂得二进制文件(Linux上真正识别的可执行文件其实是二进制文件)

在编译的过程中还会生成目标文件(Object file), 这些文件是以 *.o 的扩展名形式存在的

file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
#如果是二进制程序且可执行时, 它就会显示可执行文件类(ELF 64-bit LSB executable), 同时会说明是否使用共享库(shared libs)

2. 什么是函数库

类似子程序的角色, 可以被调用来执行一段功能函数

3. 什么是make与configure

make: 简化编译过程

当进行make时, make会在当前的目录下搜索Makefile(or makefile)文件, 而Makefile里面则是记录了源码如何编译的详细信息. make会自动判别源码是否经过变动而自动更新执行文件.

configure (or config): 检测用户的操作环境, 以下为检测内容:

  • 是否有合适的编译程序编译本软件的程序代码
  • 是否已存在本软件所需的函数库或其他相关软件
  • 操作系统平台是否适合本软件, 包括Linux的内核版本
  • 内核的头定义文件(header include)是否尊在(驱动程序必要的检测)

你真正需要做的事情只有两个:

  • 1.执行configure来新建Makefile
  • 2.再以make调用所需要的数据来进行编译

4. 什么是Tarball的软件

tarball文件一般的扩展名就会写成 *.tar.gz 或者简写为 *.tgz, tarball是一个软件包, 你将它解压后, 通常有如下文件:

  • 源代码文件
  • 检测程序文件(configure or config)
  • 本软件的简易说明与安装说明(INSTALL or README)

5. 如何安装与升级软件

一个tarball软件是如何安装的? 基本流程如下:

  • 1.将Tarball由厂商的网页下载
  • 2.解压生成源码文件
  • 3.开始以gcc进行源码编译(会生成目标文件)
  • 4.以gcc进行函数库, 主程序, 子程序的链接, 以形成主要的二进制文件
  • 5.将上述的二进制文件以及相关的配置文件安装到自己的主机上

使用传统程序语言进行编译的简单范例

(编译, 参数, 链接)

#仅将源码编译成目标文件, 并不制作链接等功能
gcc -c hello.c #会自动生成hello.o这个文件, 但不会生成可执行文件

#在编译的时候, 依据操作环境给与优化执行速度
gcc -O -c hello.c #会自动生成hello.o文件并进行优化

#在制作二进制文件的同时, 将链接的函数库与相关的路径写入
gcc sin.c -lm -L/lib -L/usr/lib -I/usr/include
#这个命令最终生成可执行的二进制文件
#-lm指的是libm.so或libm.a这个函数库文件, 其中lib与.so均不用写
#-L后面接的路径是上面那个函数库的搜索目录
#-I后面接的路径是源码内的include文件所在目录

#将编译的结果输出成某个特定的文件名
gcc -o hello hello.c #-o后面接的是生成的二进制文件的文件名

#在编译时输出见多的说明信息
gcc -o hello hello.c -Wall

#通常称-Wall或-O这些非必要的参数为标志(FLAGS), 因为我们使用的是C程序, 所以有时也会简称这些标识为CFLAGS

用make进行宏编译

      本文基于<鸟哥的Linux私房菜>, 归纳整理, 在此致谢鸟哥.

相关文章

  • 开放源码的软件安装与升级简介

    Linu上面的软件几乎都经过GPL授权, 所以每个软件几乎均提供源代码, 并且你可以自行修改该程序代码, 以符合你...

  • Chapter 22 软件安装:原始码与Tarball

    1. 开放源码的软件安装不升级简介 1.1 什么是开放源码、编译程序不可执行文件1.2 什么是函式库 1.3 什么...

  • [Mac] Homebrew 常用命令

    查看brew配置 查看镜像源 查看安装列表 安装软件 卸载软件 升级软件 查看软件相关信息,一般会包括简介,是否已...

  • Android 应用更新库

    这是一个安卓软件升级库。 简介: 1.升级模式支持普通升级、强制升级、灰度升级。 2.安装包下载支持 断点续传,分...

  • choco使用记录

    目录 # 用途# 安装# 使用# ----》搜索软件# ----》安装软件# ----》查看软件# ----》升级...

  • YUM源及YUM仓库服务搭建

    在linux下的我们可以使用软件管理RPM和YUM来进行软件的安装与升级。在用RPM进行软件安装时会遇到软件之间的...

  • 流程图绘制软件 - Diagrams(draw.io)

    简介: Diagrams(draw.io)是开放源码的流程图软件。 官网 github 授权协议: Apache-...

  • Homebrew的介绍与安装

    Homebrew是一款自由而且开放源码的软件包管理系统,用以简化Mac OS系统的软件安装过程。 Homebre...

  • mac 双开软件 多开软件

    找到软件的安装目录image.png 软件上面右键,显示简介image.png 简介显示 ,找到名称与拓展名,复制...

  • rancher 快速入门

    简介 Rancher是一个开放源码的软件平台,可以让组织在生产中运行和管理Docker和Kubernetes。使用...

网友评论

      本文标题:开放源码的软件安装与升级简介

      本文链接:https://www.haomeiwen.com/subject/aagljqtx.html