设为首页 收藏本站
查看: 687|回复: 0

[经验分享] Linux系列教程(十三)——Linux软件包管理之源码包、脚本安装包

[复制链接]

尚未签到

发表于 2017-11-17 16:12:20 | 显示全部楼层 |阅读模式
  上篇博客我们讲解了网络yum源和光盘yum源的搭建步骤,然后详细介绍了相关的yum命令,yum 最重要是解决了软件包依赖性问题。在安装软件时,我们使用yum命令将会简单方便很多。我们知道yum命令只能安装rpm包,如果是源码包呢?我们又该如何安装,那么这篇博客我们主要介绍如何安装源码包。

1、源码包和RPM包的区别
  在 Linux软件包管理之RPM命令 这篇博客中我们从概念上介绍了源码包和rpm包的区别。
  源码包开源,如果有足够的能力,可以直接修改源代码。安装时可以自由选择所需的功能。软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高。卸载方便,直接删了你安装软件的那个目录就好了。但是安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。编译时间过长,比后面讲的二进制安装时间长。因为是编译安装,安装过程中一旦报错新手很难解决。
  rpm包包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。安装速度比源码包快很多。但是由于源码已经经过编译了,看不到源代码。功能选择不如源代码包灵活。安装过程中有很多依赖的包,依赖性不好解决。
  这里由于安装位置的不同,安装之后会带来一些很明显的区别。

  RPM包和源码包默认安装位置:
  RPM包默认安装位置:
DSC0000.png

  rpm包也能手工更改安装位置,但是更改位置之后会造成一些影响,下面我们会详细讲解。
  源码包安装位置:



/usr/local/软件名/

  由于安装位置不同带来的影响
  ①、rpm包安装的服务可以使用系统服务管理命令(service)来管理。
  比如 rpm 包安装的apache 的启动方法是:



①、/etc/rc.d/init.d/httpd start
②、service httpd start

  第二种命令是第一种命令的简化形式。这是红帽专有命令。service 会去 rpm 包默认的安装位置去找可执行文件,所以service类似的启动服务管理命令只能管理rpm安装包。如果更改了rpm包的默认安装位置,可能造成通过service启动服务失败。
  Linux要启动一个执行文件,都应该是用绝对路径来启动,后面讲的配置好环境变量之后能直接通过文件名来启动,其实原理也是通过环境变量找到的绝对路径。而 /etc/rc.d/init.d/ 目录是所有rpm包安装的服务执行文件存放目录。
DSC0001.png

  提示:绿色的都是可执行文件。
  ②、源码包启动服务
  由于源码包没有安装到指定的路径中,所以源码包安装的服务不能被类似service服务管理命令管理,这里就只能通过绝对路径的形式来启动了。



/usr/local/apache2/bin/apachectl start


2、源码包安装

  ①、安装准备
  一、首先在Linux系统安装gcc编译器
DSC0002.png

  二、下载源码包
  我们以 httpd 为例,下载地址:http://mirror.bit.edu.cn/apache/httpd/

  ②、安装注意事项
  一、源代码建议保存位置:/usr/local/src
  二、软件安装位置:/usr/local
  三、如何确定安装过程报错:安装过程停止,并出现error、warning或no的提示。注意源码包安装过程一旦报错是很难解决的,需要我们去修改源码。所以从正规网站上下载别人验证过的源码包,一般是不会报错的。

  ③、安装源码包
  我们将下载好的源码包通过工具(在 Linux学习技巧 中有介绍)复制到Linux系统中,然后解压,最后进入到解压目录,因为后面很多命令都需要在解压之后的目录中操作。
DSC0003.png

  这里我们可以查看INSTALL 文件,查看安装说明:
DSC0004.png

  第一步:软件配置与检查 ./configure
  ①、定义需要的功能选项。
  ②、检测系统是否符合安装要求。
  ③、把定义好的功能选项和检测系统环境的信息都写入Makefile 文件,用于后续的编辑



./configure --prefix=/usr/local/apache2

  通过 -- prefix 定义源码包安装位置,后面的apache2(由于我们通过yum已经安装了apache,所以这里命名为apache2)可以任意命名。
DSC0005.png

  执行完成如果没有出现报错信息,则准备工作完成。
  第二步:执行编译 make ,将源码包编译为机器码
DSC0006.png

  这一步安装的时长取决于源码包的大小以及机器的性能。如果安装出错,可以执行 make clean,清空产生的所有临时文件。
  注意:这一步执行完成之后并不会在 /usr/local 下生成 apache2目录。但是在httpd源码包解压目录生成了Makefile 文件
  第三步:执行 make install ,编译安装
   DSC0007.png
  第四步:安装完成之后,启动该服务
  我们通过查看源码包解压之后的目录 INSTALL 文件,可以知道启动命令:
   DSC0008.png



/usr/local/apache2/bin/apachectl start

  启动发现报如下错误:这是 80 端口被占用了。因为我们用 yum 安装过rpm包的httpd,这里停掉 rpm包的httpd就好了。
DSC0009.png


3、源码包卸载
  源码包不需要额外的卸载命令,直接删除安装目录即可,不会有任何的垃圾文件遗留。
DSC00010.png

  这里就可以看出为啥Linux系统运行很长的时间都比较稳定,而windows系统运行一段时间就会比较卡。这是因为Linux系统安装的软件卸载干净,而windows怎么卸载都会存在一定的垃圾文件。

4、脚本安装包
  这里首先要给大家说明,Linux系统从本质上讲只有rpm包和源码包,是没有脚本安装包的。这里说脚本安装包,其实根本上就是源码包。上面刚刚讲了源码包的安装方法,发现还是比较麻烦的。为了简化源码包的安装,人为的修改源码包,使其变成自动安装的脚本,我们只需要执行脚本定义简单的参数就能完成安装。具体解释如下:
  ①、脚本安装包并不是独立的软件包类型,基本上都是源码包。
  ②、脚本安装包是人为的把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。
  ③、脚本安装包类似于windows下软件的安装方式。
  这里以 Webim 的安装为例来介绍如何安装脚本安装包:
  Webim 是一个基于 Web 的Linux 系统管理界面,安装完成之后,就可以通过图形化的方式来设置用户账户、DNS、文件共享等服务。
  第一步:下载 Webim 脚本安装包
  下载地址:http://sourceforge.net/projects/webadmin/files/webmin
  第二步:将下载的文件通过工具复制到Linux系统中,并解压
DSC00011.png

  第三步:进入到解压之后的目录,并执行里面的脚本安装文件  ./setup.sh
DSC00012.png

  出现如下界面安装成功:
DSC00013.png

  安装完成之后,我们输入 虚拟机的ip地址:20000,后面的端口号20000根据你安装实际情况来,进入到 Webim 操作界面
DSC00014.png


5、总结
  本篇博客我们介绍了源码包和脚本安装包的安装方法。源码包和前面讲的RPM包安装相比是比较麻烦的,而且重点介绍了源码包和rpm包由于安装位置的不同造成后面启动相关服务的方法的区别。脚本安装包其实就是人为的修改源码包,使其成为一个自动安装的脚本,安装过程简单。那么软件包的介绍就结束了,下篇博客我们将学习用户管理。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-407951-1-1.html 上篇帖子: linux dig 命令 下篇帖子: Linux系统/data目录扩容
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表