Linux软件包管理之源码包、脚本安装包
目录
- 1、源码包和RPM包的区别
- RPM包和源码包默认安装位置:
- 由于安装位置不同带来的影响
- 2、源码包安装
- ①、安装准备
- ②、安装注意事项
- ③、安装源码包
- 3、源码包卸载
- 4、脚本安装包
- 5、总结
上篇博客我们讲解了网络yum源和光盘yum源的搭建步骤,然后详细介绍了相关的yum命令,yum 最重要是解决了软件包依赖性问题。在安装软件时,我们使用yum命令将会简单方便很多。我们知道yum命令只能安装rpm包,如果是源码包呢?我们又该如何安装,那么这篇博客我们主要介绍如何安装源码包。
1、源码包和RPM包的区别
在 Linux软件包管理之RPM命令 这篇博客中我们从概念上介绍了源码包和rpm包的区别。
源码包开源,如果有足够的能力,可以直接修改源代码。安装时可以自由选择所需的功能。软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高。卸载方便,直接删了你安装软件的那个目录就好了。但是安装步骤较多,尤其安装较大的软件集合时,容易出现拼写错误。编译时间过长,比后面讲的二进制安装时间长。因为是编译安装,安装过程中一旦报错新手很难解决。
rpm包包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载。安装速度比源码包快很多。但是由于源码已经经过编译了,看不到源代码。功能选择不如源代码包灵活。安装过程中有很多依赖的包,依赖性不好解决。
这里由于安装位置的不同,安装之后会带来一些很明显的区别。
RPM包和源码包默认安装位置:
RPM包默认安装位置:
rpm包也能手工更改安装位置,但是更改位置之后会造成一些影响,下面我们会详细讲解。
源码包安装位置:
1
|
/usr/local/软件名/
|
由于安装位置不同带来的影响
①、rpm包安装的服务可以使用系统服务管理命令(service)来管理。
比如 rpm 包安装的apache 的启动方法是:
1
2
|
①、/etc/rc.d/init.d/httpd start
②、service httpd start
|
第二种命令是第一种命令的简化形式。这是红帽专有命令。service 会去 rpm 包默认的安装位置去找可执行文件,所以service类似的启动服务管理命令只能管理rpm安装包。如果更改了rpm包的默认安装位置,可能造成通过service启动服务失败。
Linux要启动一个执行文件,都应该是用绝对路径来启动,后面讲的配置好环境变量之后能直接通过文件名来启动,其实原理也是通过环境变量找到的绝对路径。而 /etc/rc.d/init.d/ 目录是所有rpm包安装的服务执行文件存放目录。
提示:绿色的都是可执行文件。
②、源码包启动服务
由于源码包没有安装到指定的路径中,所以源码包安装的服务不能被类似service服务管理命令管理,这里就只能通过绝对路径的形式来启动了。
1
|
/usr/local/apache2/bin/apachectl start
|
2、源码包安装
①、安装准备
一、首先在Linux系统安装gcc编译器
二、下载源码包
我们以 httpd 为例,下载地址:http://mirror.bit.edu.cn/apache/httpd/
②、安装注意事项
一、源代码建议保存位置:/usr/local/src
二、软件安装位置:/usr/local
三、如何确定安装过程报错:安装过程停止,并出现error、warning或no的提示。注意源码包安装过程一旦报错是很难解决的,需要我们去修改源码。所以从正规网站上下载别人验证过的源码包,一般是不会报错的。
③、安装源码包
我们将下载好的源码包通过工具(在 Linux学习技巧 中有介绍)复制到Linux系统中,然后解压,最后进入到解压目录,因为后面很多命令都需要在解压之后的目录中操作。
这里我们可以查看INSTALL 文件,查看安装说明:
第一步:软件配置与检查 ./configure
①、定义需要的功能选项。
②、检测系统是否符合安装要求。
③、把定义好的功能选项和检测系统环境的信息都写入Makefile 文件,用于后续的编辑
1
|
./configure --prefix=/usr/local/apache2
|
通过 -- prefix 定义源码包安装位置,后面的apache2(由于我们通过yum已经安装了apache,所以这里命名为apache2)可以任意命名。
执行完成如果没有出现报错信息,则准备工作完成。
第二步:执行编译 make ,将源码包编译为机器码
这一步安装的时长取决于源码包的大小以及机器的性能。如果安装出错,可以执行 make clean,清空产生的所有临时文件。
注意:这一步执行完成之后并不会在 /usr/local 下生成 apache2目录。但是在httpd源码包解压目录生成了Makefile 文件
第三步:执行 make install ,编译安装
第四步:安装完成之后,启动该服务
我们通过查看源码包解压之后的目录 INSTALL 文件,可以知道启动命令:
1
|
/usr/local/apache2/bin/apachectl start
|
启动发现报如下错误:这是 80 端口被占用了。因为我们用 yum 安装过rpm包的httpd,这里停掉 rpm包的httpd就好了。
3、源码包卸载
源码包不需要额外的卸载命令,直接删除安装目录即可,不会有任何的垃圾文件遗留。
这里就可以看出为啥Linux系统运行很长的时间都比较稳定,而windows系统运行一段时间就会比较卡。这是因为Linux系统安装的软件卸载干净,而windows怎么卸载都会存在一定的垃圾文件。
4、脚本安装包
这里首先要给大家说明,Linux系统从本质上讲只有rpm包和源码包,是没有脚本安装包的。这里说脚本安装包,其实根本上就是源码包。上面刚刚讲了源码包的安装方法,发现还是比较麻烦的。为了简化源码包的安装,人为的修改源码包,使其变成自动安装的脚本,我们只需要执行脚本定义简单的参数就能完成安装。具体解释如下:
①、脚本安装包并不是独立的软件包类型,基本上都是源码包。
②、脚本安装包是人为的把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。
③、脚本安装包类似于windows下软件的安装方式。
这里以 Webim 的安装为例来介绍如何安装脚本安装包:
Webim 是一个基于 Web 的Linux 系统管理界面,安装完成之后,就可以通过图形化的方式来设置用户账户、DNS、文件共享等服务。
第一步:下载 Webim 脚本安装包
下载地址:http://sourceforge.net/projects/webadmin/files/webmin
第二步:将下载的文件通过工具复制到Linux系统中,并解压
第三步:进入到解压之后的目录,并执行里面的脚本安装文件 ./setup.sh
出现如下界面安装成功:
安装完成之后,我们输入 虚拟机的ip地址:20000,后面的端口号20000根据你安装实际情况来,进入到 Webim 操作界面
5、总结
本篇博客我们介绍了源码包和脚本安装包的安装方法。源码包和前面讲的RPM包安装相比是比较麻烦的,而且重点介绍了源码包和rpm包由于安装位置的不同造成后面启动相关服务的方法的区别。脚本安装包其实就是人为的修改源码包,使其成为一个自动安装的脚本,安装过程简单。那么软件包的介绍就结束了,下篇博客我们将学习用户管理。
转载于:https://www.cnblogs.com/dengyungao/p/8503969.html
Linux软件包管理之源码包、脚本安装包相关推荐
- LinuxStudyNote(39)-Linux软件包管理(1)-Linux软件包简介之源码包与RPM包、源码包的优缺点、RPM二进制包的优缺点
Linux软件包简介 1.软件包分类 a.源码包 源码包顾名思义,就是开放源代码的安装包 脚本安装包 脚本安装包是在源码包的基础上加上了安装的图形界面, 这种软件包很少见,原因在于它需要专门的人员来进 ...
- linux top 源码,在Linux系统中下载源码包安装Topgrade的方法,附Topgrade选项说明
本文介绍在Linux操作系统中下载源码包安装Topgrade的方法,即下载topgrade-v2.3.0-x86_64-unknown-linux-gnu.tar.gz包并进行安装,经测试,在Ubun ...
- Debian、Ubuntu源码编译制作安装包(一)
Debian.Ubuntu系列linux操作系统制作安装包相较于CentOS更简便一些,如"dpkg -b"指令即可重新打包.如果需要源码级制作安装包则更困难一些,接下来,我们逐步 ...
- Debian、Ubuntu源码编译制作安装包(二)
在<Debian.Ubuntu源码编译制作安装包(一)>文章中描述了dpkg基本制作安装包过程,本篇文章描述如何增加patch及解决出错问题. 章节预览: 5. 增加patch 6. 修改 ...
- 模仿qq客户端应用源码且带安装包
这款源码案例是模仿qq客户端应用源码且带安装包,大家可以参考一下吧,也是比较完整的一款Android源码项目. 源码下载: http://code.662p.com/view/1931.html 00 ...
- Linux如何编译安装源码包软件
一.什么是源码包软件: 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...
- Linux 应用程序的源码包如何安装?
文章目录 configure make make install 关于文件 configure 的简单介绍 其它命令简介 C 语言开发的应用程序的源码包常以 .tar.gz 为扩展名,并且这些源码包通 ...
- Linux下载安装一个源码包
下载一个安装包除了yum和rpm之外我们还可以下载源码包 编译并安装 首先下载所有的源码包一定要去官网,为了就是防止源码包被第三方编译 例如我们今天安装一个httpd的源码包,也就是经常说的apach ...
- linux centos 下载rpm源码包
背景 在定位问题时,经常需要下载源码包,总是在网上各处找,很不方便.今天才知道可以直接使用yum命令下载,因此记录一下. 准备 环境需要安装yum-utils组件. yum install -y yu ...
最新文章
- 11Builder(构建器)模式
- 深度语义模型以及在淘宝搜索中的应用
- 开发日记-20190613 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
- ML之FE:pandas库中数据分析利器之groupby分组函数、agg聚合函数、同时使用groupby与agg函数组合案例之详细攻略
- 单源最短路径(Dijkstra算法)
- linux网络编程之用socket实现简单客户端和服务端的通信(基于TCP)
- 项目学生:Spring数据的持久性
- 画时序图 visual_时序图的初步了解
- CSS3(animation, trasfrom)总结
- c语言stanf,stanf
- 【OpenCV学习】基于轮廓寻找的视频流运动检测
- NHL明星与美国冰球协会联手发起NFT拍卖
- python中实参必须是常量吗_7 python函数参数(必须参数、可变参数、关键字参数)...
- 科技文献检索与计算机应用试卷,科技文献检索期末上机考试试题
- 鸿蒙形容欣欣向荣发展,形容发展超迅速的成语
- activiti 获取审批人员_Activiti审批汇总流程
- 一支笔的测试点_软件测试面试:如何测试一支笔(铅笔,钢笔,中性笔)
- Community Preserving Network Embedding 论文笔记
- istio 实战 六 全链路监控 - Jaeger
- 手机便签里的文字不小心点了个粘贴就消失了应该怎样复原呢?
热门文章
- HDU 5729 Rigid Frameworks (联通块计数问题)
- HDU1293+Java+大整数
- 小故事:在缺陷中发现长处
- 建造者模式 php,PHP设计模式之建造者模式定义与用法简单示例
- php在函数中定义全局变量,PHP 全局变量在用户自定义函数内部不足见
- (3)通过输入参数(测量数据)构建三维体模型(02)
- mysql 独享表空间_Mysql 独享表空间
- 使用promise解决回调地狱_回调地狱的由来和如何利用promise解决回调地狱
- python识别收件地址_Python3 自动识别地址信息
- php中如何加密,PHP中的加密功能