源代码为文本文件,需要经过编译器编译之后,变成可执行的文件,在编译过程中,由于源代码比较大, 有时需要分成几个部分来进行编译成目标文件,之后将各个部分的编译成一个可执行文件,gcc编译器为Linux标准的编译器。

编译步骤:1.gcc  –c  hello.c 自动产生hello.o的文件,但不会产生二进制执行文件。

2.gcc  -o  hello  hello.c  参数后面跟为生成的二进制的执行文件的名字。

加入函数进行编译 3. gcc  sin.c –lm  -L /lib  -I/usr/include –lm指的是libm.so或libm.a

-L 后面接的路径是函数库的搜索目录,-I 后面接的是源码内包含文件的所在目录。

函数库有两种分别为动态函数库以及静态函数库,动态函数库的后缀即为。so文件,。a则表示静态函数库。当利用动态函数库进行编译的时候,没办法将全部函数都编译进去,只是给了一个指针型的指向,如果函数库升级了,不需要重新编译生成可执行文件,而静态函数库则需要重新编译。

Linux中的函数库默认放在/lib以及/usr/lib文件夹中,因此当编译的时候若没有放在这两个函数库中,则默认连接到这两个文件夹中。

Tarball安装的基本步骤:

1.       将tarball文件在/usr/local/src目录下解压缩;tar –zxvf 具体tarball

2.       查看安装文档

3.       运行。configure命令检查系统环境,建立makefile文件。

4.       Make编译成可执行二进制文件,Make install安装程序。

使用patch更新源代码,首先利用diff –Naur 旧文件 新文件 >oncomparion 比较出新旧文件的不同,生成一个需要补丁的新旧对比文件。然后在到旧的文件目录下去执行patch –p 0

为了提高库的访问速度,则可以将库文件调入到内存当中。首先将库的目录写入在/etc/ld.so.conf中写入动态链接库的目录,利用ldconfig命令来调用动态库中。Ldd命令可以查看所用到的执行文件所用到的函数库。

通常建议将安装的套件放在/usr/local上,源码放在/usr/local/src上,默认情况下,man会去搜索/usr/local/man里面的帮助文件。/etc/man.config文件记录man page的搜索路径,当安装的套件独立在一个文件夹中,这么man page没有放在特定的目录下,就没办法查询到,因此需要将路径记录在man.config中。

由于RPM有数据库来记录套件相关的信息,所以RPM类型的套件所拥有的文件都放在系统默认设置的目录下。RPM安装的是直接编译好的可执行文件,因此系统环境应该是一样的,RPM存在的最大问题是无法自动满足套件的依赖属性的需求,可以利用yum、apt、urpmi服务来解决属性的相关问题,RPM的数据库放在/var/lib/rpm的文件目录下。

RPM:-ivh 具体的rpm包,可以查看具体安装包的过程。

-Uvh RPM包的升级。

-qR 查看套件的依赖关系。

RPM卸载要自上而下,rpm –e 具体套件名称  解安装这个套件。

Man查询的结果是在程序外,help查询的结果是在程序里,这个是内嵌到程序里的参数。

RPM类型的文件放在系统默认设置的文件夹下(如下)

目录

说明

/etc

一些配置文件

/usr/bin

一些可执行文件

/usr/lib

一些程序使用的动态函数库

/usr/share/doc

基本的软件使用手册与帮助文件

/usr/share/man

一些man page文件

SRPM

Source RPM该类型的文件与RPM的区别在于安装包里携带的是源代码,而RPM则是可执行的二进制文件,因此SRPM需要进行重新的编译成二进制文件。SRPM与tarball的区别是:SRPM包含依赖的关系,而tarball则不含有。

SRPM的目录

目录

说明

/usr/src/redhat/spec

存放将SRPM编译为RPM的配置文件

/usr/src/redhat/build

存放编译过程中的东西

/usr/src/redhat/source

存放原始文件

/usr/src/redhat/RPMS

存放编译后的RPMS包

亿恩科技地址(ADD):郑州市黄河路129号天一大厦608室 邮编(ZIP):450008 传真(FAX):0371-60123888

联系:亿恩小凡

QQ:89317007

电话:0371-63322206

本文出自:亿恩科技【www.enkj.com】

linux软件中心无法安装软件,linux中软件的安装相关推荐

  1. ssh重装ubuntu_ubuntu光盘安装ssh Ubuntu中ssh的安装与用法 - Linux - 服务器之家

    ubuntu光盘安装ssh Ubuntu中ssh的安装与用法 发布时间:2017-04-05 来源:服务器之家 SSH分客户端openssh-client和openssh-server 如果你只是想登 ...

  2. Linux用命令安装音乐软件,在Ubuntu 18.04系统中使用命令安装Qmmp音乐播放器的方法...

    在Ubuntu 18.04操作系统中安装Qmmp音乐播放器非常简单,只需要两段命令就可以搞定.下面介绍其方法. Qmmp音乐播放器介绍 Qmmp是一款开源基于Qt的多媒体播放器,提供Qt4及Qt5支持 ...

  3. Linux kodi添加中文,如何在Ubuntu中通过PPA安装Kodi 18.2并设置中文界面

    如何在Ubuntu中通过PPA安装Kodi 18.2并设置中文界面 Kodi "Leia" 18.2已经发布,其中包含许多错误修复和性能改进. 以下是如何在Ubuntu 16.04 ...

  4. linux python2.7安装教程_Linux中RedHat下安装Python2.7开发环境的详细教程-学派吧-

    这篇文章主要为大家详细介绍了Linux RedHat下安装Python2.7.pip.ipython环境.eclipse和PyDev环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Linux ...

  5. IP-Guard应用攻略-软件中心协助IT人员管理终端软件

    企业在进行产品研发.设计和制造,以及业务开展都需要相应软件应用的辅助. 大量软件在终端中使用,IT管理员所面临的软件管理问题也越来越多,像员工随意下载安装软件,版本混乱,且容易占用资源,一些来源不明的 ...

  6. 源码安装mysql_CentOS 7中源码安装MySQL 5.7.16 (亲测成功)

    最近在CentOS 7中源码安装MySQL 5.7.16,发现MySQL5.7.6+以后的安装方式真的与以前版本的MySQL安装方式大大的不同呀.不自己安装一把,下面这篇文章是通过自己的安装过程总结的 ...

  7. python已安装这个产品的另一个版本_电脑安装会声会影过程中提示已安装这个产品的另一个版本怎么解决...

    ‍ 最近有用户在电脑中安装会声会影x7的过程中出现提示,"已安装这个产品的另一个版本,这个版本的安装无法继续".通过分析可以得知,应该是之前卸载会声会影的操作不当导致卸载不完全.如 ...

  8. centos中的mysql安装配置_CentOs中mysql的安装与配置

    在linux中安装数据库首选MySQL,Mysql数据库的第一个版本就是发行在Linux系统上,其余选择还能够有postgreSQL,oracle等html 在Linux上安装mysql数据库,咱们能 ...

  9. docker 查看已安装容器_docker中的容器安装PHP扩展件

    案例:memcached是一个php的缓存扩展,通过它把数据库的查询结果缓存在内存中,而内存的读写速度比SSD还要快几十倍,解决了硬盘缓存速度的瓶颈,加快服务器网页加载速度.流程: 一.前期构建PHP ...

  10. python3安装常见问题_python3中pip的安装、常见问题及万能解决方案。

    系统环境:win10 python版本:3.7.2(已添加到系统环境变量) 很久没碰python,看见一段代码打算运行的时候发现一堆问题,代码如下: importrequests res=reques ...

最新文章

  1. Web开发的机器学习框架
  2. 本地html app跨域,本地webapp是怎么解决跨域问题的?
  3. 输出nc数据_气象数据处理的火箭加速器—CDO
  4. Source code for Bayesian based CS and blind debluring
  5. 超级弹珠游戏(洛谷P2356题题解,Java语言描述)
  6. Spring Boot自动配置与Spring 条件化配置
  7. linux 终端 画圆,Linux Bash Shell快速入门
  8. 为什么rstudio打开是空白的_既然大家都说装了win10,就不用鲁大师监测显卡温度,为什么呢?...
  9. 正则表达式之位置匹配
  10. Linux下Apache、PHP、MySQL默认安装路径
  11. 创建一个Vue项目(完整步骤)
  12. 怎样把多个excel文件合并成一个
  13. SQL Server 2008管理工具
  14. Oracle触发器,删除一条数据的同时删除另一张表的关联数据
  15. 日期函数DATEDIFF() 计算日期之差
  16. 【Matlab学习手记】三维矢量场图
  17. 浏览器及手机版本型号判断
  18. python 3爬取 全国高校对四川历年招生数据(文理省控线,文理专业线)存入Excel表(重构)
  19. 服务器虚拟化,主要有什么优势
  20. Zigbee组网流程程序分析

热门文章

  1. 计算机office demo,办公软件应用(Office2007)中级_DEMO盘-2013
  2. STM32第一个demo与软件设置
  3. 机器学习的1000+篇文章总结
  4. 51单片机数值存储c语言教程,单片机c语言教程:C51变量
  5. 安装vs遇到 不受信任的证书或者 时间戳签名和/或证书无法验证或已损坏 解决方案
  6. 牛客 处女座的约会 规律
  7. 处女座的砝码-数学推论
  8. java ee 设计模式_Java EE 设计模式解析与应用_源雷技术空间
  9. QTP 9.2 下载破解
  10. linux的shell命令