Linux-源码包安装软件
来源:互联网 发布:淘宝导航制作 编辑:程序博客网 时间:2024/05/16 04:56
源代码包
在Linux、BSD系统中,软件包主要以两种形式出现:二进制包以及源代码包。
之前一直说的rpm包就是属于二进制包,也就是已经编译好的软件包.
这里说源代码包则主要适用于自由软件的安装,用户需要自己编译它们。
先了解下:源码安装和rpm安装的比较
rpm包的安装路径
通过参数prefix指定rpm软件包的安装路径:
rpm -ivh MySQL-devel-5.6.16-1.rhel5.x86_64.rpm –prefix=/root/mysqlerror: package MySQL-server is not relocatable
官方是这么说的:RPM能够给用户一些决定在其系统上安装软件包的空间。但是,软件包构建者必须首先设计软件包才能为用户提供自由。换句话说,可以安装到不同目录的RPM包被认为是可重定位的。请注意,并非所有RPM软件包都可以安装到另一个目录中。这里MySQL-devel-5.6.16-1.rhel5.x86_64.rpm就是一个不能指定安装路径的rpm包.源码包的的安装路径
关于源码包的安装路径,是建议大家安装时,指定其路径的,主要因为源码安装软件包,没有卸载命令,如果不指定其安装路径,会在Linux先安装得到处都是,卸载麻烦,如果我们在安装的时候指定其安装路径,只需要将其安装目录删除,该软件就卸载干净了.关于软件的启动
rpm包安装后,其服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
/etc/rc.d/init.d/httpd start Linux标准启动方式
service httpd start Service是Redhat系统的启动服务
而源码安装的软件只能通过Linux标准启动方式,来启动,但是也不排除在源码安装后人为将启动文件放在/etc/rc.d/init.d/
系统的服务查找目录下来通过服务启动.
准备工作
安装c语言编辑器
yum -y install gcc
yum -y install gcc-c++
yum install make
或者使用安装软件组的方式安装yum groupinstall "Development Tools"
安装wget工具
yum -y install wget
下载需要安装的软件包的源码包.
wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.2.32.tar.gz
源码包安装软件注意事项
源码包保存的位置 (建议)
/usr/local/src
软件安装位置: (建议)
/usr/local/
如何确定安装过程报错:
安装过程停止
出现error,warning,no的提示.
源码包安装软件的安装位置说明
一般是我们手动指定安装在/usr/local
下,相当于windows下是Program Files
,这是一种安装习惯,当然我们也可以指定我们自己熟悉的任意路径.
注意: 源码包一定要指定安装路径,因为源码包没有卸载命令.习惯安装: /usr/local/
configure命令介绍
基本上每一个源码包解压后都目录下面都有configure命令,它用于软件的配置和环境的检测. ./configure --help
查看所有的configure参数帮助
- 定义需要的功能和选项
- 检测系统环境是否符合安装要求
- 把定义好的功能选项和检测系统环境的信息写入Makefile文件,用于后续的编辑.
(make和make install都依赖于Makefile)
源码包安装软件过程(以apache为例子)
1.完成
准备工作
准备gcc环境
下载需要的源码包2.解压下载的源码包
tar -zxvf httpd-2.2.32.tar.gz
3.进入解压缩后释放的目录
cd httpd-2.2.32
4.定义需要的功能和选项
./configure --prefix=/usr/local/apache2
软件的目录不需要手动建立,该命令会自动建立所指定的目录,执行该命令后在当前目下回生成一个Makefile文件,后续的make 和make install 就是依赖于这个文件.
prefix参数指定的是软件的安装路径.5.编译
make
make install
或者make && make install
关于出错
make
当在make编译出错时: 可以使用make clean
清除缓存文件,还原安装环境再编译.
make install
当 make install 报错的时候,不仅要make clean
还要删除已经产生的安装文件,这里是
/usr/local/apache2
源码安装的软件启动
源码包安装的服务是不能被服务命令(service)管理的,因为没有安装到默认路径中.所以只能用绝对路径进行服务的管理,如:(具体怎么启动每个源码包安装说明都写有操作说明.)
每一个源码包,解压后的目录下都有一个INSTALL文件,该文件就是该软件的安装说明.
这里摘一小段内容说明下:
For complete installation documentation, see [ht]docs/manual/install.html or http://httpd.apache.org/docs/2.2/install.html $ ./configure --prefix=PREFIX $ make $ make install $ PREFIX/bin/apachectl start
这里的PREFIX 指代的是我们安装的软件时,指定的安装路径,通过PREFIX/bin/apachectl start
,我们可以知道该软件的启动方式为我们自己指定安装软件路径的bin目录下的apachectl 文件就是apache的启动文件.
Linux下标准启动方式:
绝对路径的方式来启动软件的服务.
启动apache2:/usr/local/apache2/bin/apachectl start
服务的启动方式:
源码包安装的软件,默认是不支持Service服务的启动方式的,但是如果我们将该软件的启动文件拷贝到Service服务的查找目录/etc/rc.d/init.d/
下就可以实现Service的启动的方式.cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/
启动命令:
service apachectl start
小细节:
启动apache后,要打开80端口,嫌麻烦可以直接关闭防火墙: systemctl stop firewalld
然后在浏览器中输入该机的ip,浏览器显示结果It works!
apache启动成功,能正常访问.
卸载源码安装的软件
源码包安装软件时一定要指定安装路径,因为源码包没有卸载命令,所以针对源码包的卸载也只能是手动的相关文件rm;如果在安装时通过–prefix=XXX来指定了安装路径,直接将该路径下的文件rm -rf
既可将软件卸载.
- Linux-源码包安装软件
- linux 如何从源码包安装软件?
- Linux编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- linux软件---源码包安装的思考
- linux系统源码包软件安装步骤
- linux源码包编译安装软件详解
- linux源码包编译安装软件详解
- 源码包安装软件
- Linux 下的软件安装 之 源码包安装
- Linux-软件安装管理rpm/yum/源码包编译安装
- python 栈和队列(使用list实现)
- STL库介绍
- Codeforces Round #417 (Div. 2) C. Sagheer and Nubian Market
- 竞赛题目-【USACO TRAINING】母亲的牛奶
- Spark 运行架构核心总结
- Linux-源码包安装软件
- mysql主从复制
- PowerPoint ppt 触发器 自定义动画 视频 音频 播放 停止
- layer中获取iFrame中的数据
- 62. Unique Paths Medium
- 常见的八种导致 APP 内存泄漏的问题
- 单链表排序(函数指针)
- 加密lob数据+加密lob数据的方式+加密的语法
- 如何启用 Apache 的 PHP-FPM 多实例