install三方库

软件包分类

源码包–》源代码 开源

  • (脚本安装包)

  • 但由于安装较慢,且安装时容易报错,一般不使用源码包进行安装,但对应一些免费的三方库,人家才懒得给你弄好呢,丢一个源码包给你,自己弄,当然也是为了源码开源,再次感谢

优点:

  • 开源,如果有足够的能力,可以修改源代码
  • 可以自由选择所需的功能
  • 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
  • 卸载方便(可以将该文件直接删除)

二进制包(RPM包、系统默认包) —》其已经编译好了,所以无法获取到源码

  • 经过编译,不再可以看到源代码
  • 功能选择不如源码包灵活
  • 依赖性 安装需要依赖其他包,卸载也是需要先卸载其他依赖包 其已经利用yum来解决,但如果是red hat需要收费哈哈

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-14jiLYuf-1631804605178)(C:\Users\11383\AppData\Roaming\Typora\typora-user-images\image-20210326230007603.png)]

怎么区分软件包

在linux搭建环境,下载的tar.gz安装包,有的直接解压就可以用,有的需要编译安装后才可用

怎么知道该怎么操作呢?

其实,tar -zxvf解压后,进入目录看README.md就知道答案了

另外,如果你下载的Binary,就是编译好的,可以直接使用的版本,哪怕是tar.gz,解压即可用;Source是源代码版本,需要自己编译才行

实际的区别
  • 安装之前的区别:概念上的区别

  • 安装之后的区别:安装位置不同

    • rpm包不需要进行手动指定安装位置,其会安装到系统默认位置
    • 源码包是人为手工来指定
      在这里插入图片描述

源码包安装位置
安装在指定位置当中,一般是/usr/local/软件名/

安装位置不同带来的影响—>服务管理方法不同

RPM包安装的服务可以使用系统服务管理命令service来管理,例如rpm包安装的apache的启动方法是:

etc/rc.d/init.d/httpd start   // etc/rc.d/init.d/ 里保存的都是可以利用service启动的服务
或
service httpd start
或利用环境变量

源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:

/usr/local/apache2/bin/apachectl start

源码包安装

对于下载的源码包一般存放在

源代码保存位置:/usr/local/src
软件安装位置:/usr/local (默认)

如何确定安装过程报错:
安装过程停止并出现error、warning或no的提示(两个条件缺一不可)

源代码安装过程
  1. 配置(configure) 这一步一般用来生成 Makefile,为下一步的编译做准备
  2. 编译(make) 存在binary包不需要编译,直接能使用,如eclipse,只有下载的源码包才需要进行编译
    rpm将以上都做好了,还进行了些其他配置
  3. 安装(make install)

解压缩的源码包里都会有INSTALL和README

  • INSTALL是安装说明,其内会有详细的安装步骤
  • README是使用说明,其内有使用说明

对于一个陌生的源代码包的安装将及其重要

对于rpm和源码包安装的选择,看功能是否对外,如gcc只是对自己即使用rpm,apache就使用源码

Configure 软件的检查和配置
  • configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure --help 输出详细的选项列表(定义需要的功能选项)

    • 你可以通过在 configure 后加上参数来对安装进行控制,比如代码**:./configure –prefix=/usr** 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。编译的时候用来指定程序存放路径 。
  • 检测系统是否符合安装要求,如是否安装了gcc等

  • 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。这一步一般用来生成 Makefile,为下一步的编译做准备

    • make和make install 都依赖于makefile

Linux系统下Configure命令参数解释说明-百度百科

https://baike.baidu.com/item/configure/1800372#2
/configure –prefix=/usr

make 调用gcc从源码包翻译成机器语言
  • 这一步就是编译(编译、汇编、链接),大多数的源代码包都经过这一步进行编译(当然有些perl或Python编写的软件需要调用perl或python来进行编译)。
  • make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译
  • make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译的程序。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。
make install
  • 在make install之前都还没有在对应目录下生成对应的目录,所以当在make install之前的报错都不需要进行任何的处理,因为其就没有写入,只需进行make clean清空产生的临时文件即可

这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限**(因为要向系统写入文件)**

源码包安装位置
安装在指定位置当中,一般是/usr/local/软件名/

eg: libevent
LINUX系统中下载Libevent的压缩包,  tar -zxvf xxx  得到解压缩的源码包然后
1.切换到root用户
2.利用tar命令解压Libevent
3.进入解压缩好的目录中
4.执行命令  ./configuer --prefix=/usr
5.使用make命令完成编译
6.使用make install命令完成安装
7.使用ls -al /usr/lib |grep libevent 测试安装是否成功
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值