Linux下软件包的安装与管理详解

一 源码安装方式

由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache、tomcat、php等软件。开源软件基本都提供源码下载,源码安装的方式;源码安装的好处是用户可以自己定制软件功能,安装需要的模块,不需要的功能可以不用安装,此外,用户还可以自己选择安装路径,方便管理,卸载软件也很方便,只需删除对应的安装目录即可。没有windows所谓的注册表之说。

源码安装软件一般有以下几个步骤组成:下载解压源码、分析安装平台环境(ifconfigure)、编译安装软件(make,make install)。下面我们分别介绍。

1.1 下载解压源码

linux下软件的源码一般都是C或者C++语言编写的,并且都会在软件的官方网站上提供源码包下载,例如apache开源项目的官方网站为http://www.apache.org,此外在网上的很多开源社区一般也提供一些常用软件的源码下载,源码都打包成压缩文件,常见的源码打包压缩格式有“.tar.gz”、“.tar.baz2”等。我们可以从网站上首先下载源码文件,然后在传到所在的linux系统下,如果你的linux系统处于联网状态下,也可以直接在系统内通过wget之类的下载命令将源码包直接下载到linux系统下。

下载完成,把相应的软件解包即可,针对下载软件包的不同,使用不同的方法进行解压,解压完毕后进入解压生成的目录中,在这个目录下,一般都存在一个REDAME文件,这个文本文件非常重要,它详细的介绍了这个软件所能完成的功能、授权许可、安装需求、安装注意事项、安装方式等等,由于linux各个版本的差异,以及安装环境的不同,软件的安装方式也不尽相同,所以在安装软件前,一定要事先阅读这个README文件,确保安装的正确性。

1.2 分析安装平台环境

在软件包解压完毕之后,我们进入源码目录,一般都会存在configure和README这么两个文件,README就是上面我们讲到的,是对软件的介绍和安装说明;linux下软件的安装受到操作系统安装环境的影响,比如某些软件在安装或者运行过程中需要调用操作系统本身的库文件,或者需要运行系统的某个工具等等,但是系统中不存在这个库文件或者这个工具没有安装,那么安装或者运行软件就会失败。

为了避免这个问题的出现,在安装软件的时候就需要分析操作系统环境,检测当前系统是否拥有安装软件所需的所有文件和工具,如果系统缺少某个文件,就给出提示,直到满足软件的所有需求为止。这个就是configure文件的功能,configure文件一般是个可执行文件,可以在当前目录下直接输入“./configure”进行软件安装的环境测试,如果提示缺少某些安装包,就需要进行安装,直到测试通过。通常的,源码安装都需要GCC或者CC编译器,这些编译器一般在安装系统时定制安装包中的开发工具选项下,其实这也是我们在第二章安装linux系统中要求选择开发工具包的原因所在。

此外,在执行configure分析软件需求时,还可以在“./configure”后面加上软件的安装路径以及安装所需的模块等等一些选项,来定制用户需要的软件功能。

1.3 编译安装软件

在验证软件安装环境后,正式进入软件的编译步骤,在进行编译前,首先了解下关于编译的一些基础知识。

在linux系统下,make是我们经常用到的编译命令,无论是安装软件还是项目开发,都会经常用到编译安装命令,也就是make和make install,对于一个包含很多源文件的应用程序,使用make和makefile工具可以简单快速的解决各个源文件之间复杂的依赖关系,同时,make工具还可以自动完成所有源码文件的编译工作,并且可以只对上次编译后修改过的文件进行增量编译,因此,熟练掌握了make和makefile工具之后,源码安装软件就变的像windows下安装软件一样简单。

Makefile文件

make工具最主要的功能就是通过makefile文件来实现的,makefile文件是按照某种语法来进行编写的,文件中定义了各个源文件之间的依赖关系,并说明了如何编译源文件并生成可执行文件,它通过描述各个源程序之间的关系让make工具自动完成编译工作。

在linux系统下,习惯用Makefile替代makefile文件,我们在执行configure通过后,就会在当前目录下生成这个文件,一般情况下在命令行输入make时,make命令会默认去寻找当前目录下的Makefile文件,如果我们用其它文件作为makefile,就要在make命令选项后指定makefile文件,例如我们设定编译规则文件为make_file,就需要使用以下命令指定:

[root@WEBServer ~]#make -f make_file

时间: 2024-08-20 00:46:09

Linux下软件包的安装与管理详解的相关文章

LINUX 下软件包的安装与使用详解_Linux

LINUX下软件包的安装与使用 1.安装RPM包 rpm -ivh 包全名 2.查询某个包是否安装 rpm -q 包名 3.查询已安装的包的信息(主要看版本) rpm -qi 包名 4.查询已安装包的安装位置 rpm -ql 包名 5.查询某个包需要依赖其它那些包 rpm -qpR 包全名  (未安装包) rpm -qR  包名  (已安装) 6.软件包升级 yum -y update 包名 7.rpm包的默认安装位置 8.源码包安装 安装步骤: ./configure   make  make

Linux下pure-ftpd编译安装配置步骤详解

mkdir -p /home/src cd /home/src ## 下载源码包 wget -c http://lnmp.xiaobai.com/1.0/src/pure-ftpd-1.0.29.tar.gz ## 解压 tar zxvf pure-ftpd-1.0.29.tar.gz ## 进入目录 cd pure-ftpd-1.0.29 ## 编译安装 ./configure –prefix=/usr/local/webserver/pure-ftpd –with-everything –w

linux下软件包的安装(rpm,yum)

使用rpm安装软件 为了方便linux 用户添加和删除软件,Red Hat 公司提出了软件包管理器RPM,由于它的出现使得在linux 中安装.卸载应用程序变得相对简单,默认情况下(即不出现文件依赖问题)用户只需双击rpm 软件包,系统会自动进行安装. 一个rpm包文件是能够让应用软件运行的全部文件的一个集合,它记录了二进制软件的内容.安装的位置.软件包的描述信息.软件包之间的依赖关系等信息.RPM 工具对系统中全部rpm 软件包进行全面管理,因此它能够记住用户添加了什么以及这些软件每个文件的具

linux下的yum命令原理和详解_Linux

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

Linux下同步工具inotify+rsync使用详解

1. rsync 1.1 什么是rsync rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.它使用所谓的"Rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.所以通常可以作为备份工具来使用. 运行Rsync server的机器也叫backup server,一个Rsync server可同时备份多个client的数据:也可以多个Rsync server备份一个client的数

Linux下MongoDB副本集部署步骤详解

说明: 有三台服务器,已经安装好了MongoDB数据库,具体信息如下: MongoDB版本:mongodb-linux-x86_64-2.6.11 MongoDB安装目录:/usr/local/mongodb MongoDB数据库目录:/home/data/mongodb/mongodb_data MongoDB日志目录:/home/data/mongodb/mongodb_log MongoDB配置文件:/usr/local/mongodb/mongodb.conf 三台服务器IP地址: 19

Linux下动态DNS服务配置方法详解

在网络管理中,对于DNS服务的管理是一项基础性的工作.随着用户规模的扩大,频繁地手工修改DNS的区域数据库文件不是一件轻松的工作.关于动态DNS(DDNS)的研究逐渐引起了人们的关注,不同的平台都推出了自己的解决方案.本文将详细介绍Linux环境下DDNS的解决方案,即由Internet Software Consortium(ISC)开发的BIND-DNS和DHCP(Dynamic Host Configure Protocol,动态主机配置协议)协同工作,进而共同实现DDNS的方法. 在Li

Linux下配置Shadowsocks服务器的步骤详解

说明: Shadowsocks是一个轻量级的socks5代理软件, 而hadowsocks-libev是一个基于shadowsocks 协议的socks5代理软件, 相比原版,hadowsocks-libev程序体积小.高并发.资源占用更少.跨平台.完全兼容shadowsocks协议. hadowsocks-libev包括三个模块: ss-server:服务器端,部署在远程服务器,提供shadowsocks服务. ss-local:客户端,提供本地socks5协议代理. ss-redir:客户端

Linux下Git和GitHub使用方法详解

一.linux上安装git软件 可以直接从发行版本的源里进行安装 # sudo apt-get install git   //ubuntu发行版下 # yum -y install git     //redhat.centos发行版下 二.使用https用户名密码认证连接github 1.在github上创建项目 首先需要从github上申请一个帐号,申请完成后在点击右上角的"+" 号创建一个新的repository项目,如下: 2.主机上初始化项目并同步到github服务器上 在