Linux学习之源码包安装与脚本安装

目录

源码包与RPM包的区别

源码包安装

脚本安装

源码包与RPM包的区别

1.区别

安装之前的区别:概念上的区别
安装之后的区别:安装位置不同 源码包:
开源的
安装更慢,更容易报错
安装更自由
安装完后效率更高 RPM包:
经过编译,能看到源代码
安装更快,报错容易解决

  

2.RPM包安装位置与源码包安装位置

RPM包安装位置:

源码包安装位置:

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

 3.安装位置不同带来的影响

RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
/etc/rc.d/init.d/httpd start
service httpd start 而源码包安装的服务则不能被服务管理命令管理。因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:
/usr/local/apache2/bin/apachectl start

  

源码包安装

1.安装准备
安装c语言编译器
下载源码包
http://mirror.bit.edu.cn/apache/httpd/

  

2.安装注意事项
源代码保存位置:/usr/local/src/
软件安装位置:/usr/local/
如何确定安装过程报错:
安装过程停止
并出现error、warning或no的提示

  

3.源码包安装过程
下载源码包
解压缩下载的源码包
进入解压缩目录

  

./configure 软件配置与检查
定义需要的功能选项。
检测系统环境是否符合安装要求。
把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编剧。 比如定义源代码包的安装路径:
./configure --profix=/usr/local/apache2

  

5.编译与安装
make 编译。 一直到这一步,/usr/local/apache2目录下都不会有文件,如果在这里报错,不能继续安装下去,想要删除文件,
只需要删除编译产生的临时文件make clean
make install 编译安装

  

6.启动
/usr/local/apache2/bin/apachectl start

  

7.源码包的卸载

不需要卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件

  

脚本安装

脚本安装包并不是独立的软件包类型,常见安装的是源代码。

是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。

非常类似于Windows下软件的安装方式。

  

Webmin的作用
Webmin是一个基于Web的Linux系统管理界面。您就可以通过图形化的方式设置用户账号,Apache、DNS、文件共享等服务 下载软件http://sourceforge.net/projects/webadmin/files/webmin/
解压缩,并进入加压缩目录
执行安装脚本
./setup.sh

  

Linux学习之源码包安装与脚本安装(十八)的更多相关文章

  1. Linux学习日记——源码编译Apache

    [本文为笔者在学习Linux 下的软件安装时,尝试使用源码安装Apache 的过程,事后进行一个小小的总结,发现错误望指正.] 一.典型的源码编译安装软件的过程包括以下3步: 1) 运行 config ...

  2. Linux软件包(源码包和二进制包)及其区别和特点

    Linux 下的软件包众多,而且几乎都是经 GPL 授权的,也就是说这些软件都免费,振奋人心吧?而且更棒的是,这些软件几乎都提供源代码(开源的),只要你愿意,就可以修改程序源代码,以符合个人的需求和习 ...

  3. ulipad源码包配置环境及安装

    一.准备下载的安装包: 1.python(我电脑配置的是2.7)下载地址http://pan.baidu.com/s/1qWrGZk4 2.wxpython(我这里是wxpy3.0,配套python2 ...

  4. linux软件管理 源码包

    源码包安装位置 安装在指定位置当中,一般是 /usr/local/软件名/ ​ 注意: 需要指定安装路劲为了便于卸载,因为源码包的是没有卸载命令的,它的的卸载方式就是把对应安装文件夹删除了. 所以如果 ...

  5. LINUX下编译源码时所需提前安装的常用依赖包列表

    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-deve ...

  6. linux卸载一个源码包安装的软件的流程

    完全卸载memcached的方法(CentOS) 我的大内存vps(centos系统)曾经安装过memcached,想给论坛提速,实际上不但没有明显效果,反倒耗费内存,看着碍眼,于是想卸载,于是网上各 ...

  7. ibatis源码学习3_源码包结构

    ibatis的技术是从xml里面字符串转换成JAVA对象,对象填充JDBC的statement查询,然后从resultset取对象返回,另外利用ThreadLocal实现线程安全,JDBC保证了事务控 ...

  8. linux下 python源码包解压报错

    执行下面的命令 tar -zvxf Python.3.6.5.tgz 报错 gzip: stdin: not in gzip format tar: Child returned status 1 t ...

  9. Linux yum源码包安装和卸载

    Linux 下的绝大多数源码包都是用 C 语言编写的,还有少部分是用 C++ 等其他程序语言编写的.所以,要想安装源码包,必须安装 C 语言编译器 gcc(如果是用 C++ 编写的程序,则还需要安装 ...

随机推荐

  1. Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy (default-cli) on project Resource: Cannot invoke Tomcat manager: Connection refused: connect -> [Help 1]

    1.问题描述 在 DOS 下执行 tomcat7-maven-plugin 插件部署,启动 Apache Tomcat 服务报错如下: D:\2018\code\XXX>mvn tomcat7: ...

  2. python使用 HTMLTestRunner.py生成测试报告

    HTMLTestRunner.py python 2版本 下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html 使用时,先建立一个”PyDe ...

  3. python并发编程之多线程2------------死锁与递归锁,信号量等

    一.死锁现象与递归锁 进程也是有死锁的 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用, 它们都将无法推进下去.此时称系统处于死锁状态或系统 ...

  4. 【linux】复制文件夹内容到另一个文件夹

    我一直觉得cp是个非常简单的指令.结果居然遇到坑了.记录一下. 文件夹1:test1/ 文件夹2:test2/ 目标:将test1/中的所有文件和目录拷贝到test2/中 正确指令: cp -rf t ...

  5. hdu1540 区间合并+询问某点的最大连续块

    询问操作需要搞一下 今天被区间合并降智了 /* D a: 摧毁第a个点 Q a:询问a所在的点的块大小 R :修复最后被破坏的点 对于所有的点需要进行一次更新 更新比较容易,tag用来表示区间是否是完 ...

  6. Nginx详解三:Nginx基础篇之yum安装

    Nginx快速搭建 Mainline version ----开发版:具有最新功能的版本,用于测试.研究.学习,不用于企业生成环境 Stable version----稳定版:官方认可,且通过测试的 ...

  7. git 小乌龟安装教程

    一.windows系统安装git 首先下载git for windows客户端http://msysgit.github.io/ 安装过程没什么特别的,不停next就ok了     图太多就不继续了~ ...

  8. 2017-2018-2 20165206 实验二《Java面向对象程序设计》实验报告

    2017-2018-2 20165206 实验二<Java面向对象程序设计>实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:韩啸 学号:20165206 指导教 ...

  9. OpenCV-Python入门教程5-阈值分割

    一.固定阈值分割 import cv2 import matplotlib.pyplot as plt # 灰度图读入 img = cv2.imread('gradient.jpg', 0) # 阈值 ...

  10. Leetcode刷题第004天

    class Solution { public: int findKthLargest(vector<int>& nums, int k) { , nums.size()-, k) ...