码迷,mamicode.com
首页 > 其他好文 > 详细

程序包管理之rpm/yum/编译

时间:2015-09-05 01:22:56      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:linux中rpm   yum管理安装包   及其源码包编译   管理工具   

本次操作的环境依然还是在CentOS6.6上。

第一部分:rpm解释说明

1、对rpm包的一些简单的解释

windows系统中,安装一个程序很简单。直接点击下一步一直安装下去即可。但是在linux系统下,却不是。如果玩转linux系统,却连软甲都不会装,确实有些说不过去。因此,今天写点关于linux程序包管理安装的东西。

1、先对linux软件程序需要的程序包进行一定的了解。所谓程序包,其实就是所需程序的安装包。在不同的linux系统上,程序包的格式以及管理工具也有些不同在redhat上以rpm为后缀,其以人rpm为管理器;而在debian上,以deb为软件包后缀名,以dpt为管理工具等;一些格式。就目前发展趋势,rpm有成为linux系统程序包标准规范的趋势。而且每个程序包都有相对应的平台。

为了说明区别,特意拿出一个软件包来对其里报名上的一些格式进行说明:device-mapper-libs-1.02.90-2.el6.x86_64.rpm。其中标蓝色的部分是表示软件包的报名。在linux系统中,通常把一个很大的软件包拆分成几个或多个小的软件包。红色标记的部分表示的是软件的主版本号;粉红色部分指的是软件包的次版本号;绿色部分指的是软件包的修订号;深红色部分表示的是软件的适应的系统为redhat6企业级;青绿色部分指的是软件包使用的平台;最后黑色部分表示的是软件包是rpm格式的软件包。一个软件包的发现往往有很多的平台的。常见的有x86i386 i486 i586 i686 x86_64:x64,x86_64等一系列的平台。但是其中会有一类带noarch的软件包,表明的是此类的软件包是无平台的。

程序包的管理主要表现在将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装、卸载、查询、升级和校验等管理操作。具体这里就不详细说明,闲话不多说,接下来对rpm命令进一步的说明解释。

2、rpm命令使用基本解释

对于rpm这条命的字面解释意思,红帽程序包管理器。(个人解释)。Rpm命令对于程序包相当重要。它能跟的选项参数也很多。接下来对其一些常用的选项参数进行分类简单的说明。

2.1、首先说明其rpm安装程序包的一些选项参数,一般在安装程序包的时候基本上都会使用到其中-ivh上个选项参数。可是针对了解这个三个参数的意义吗?接下对其进行一些简单的说明。

rpm {-i|--install} [install-options] PACKAGE_FILE ...

-i:表示的安装程序包;

-vverbose指的是安装过程显示详细信息;

-vv:显示更加详细的信息,这个选项参数一般很少使用,基本-V就能满足使用;

-h #:显示程序包软件进度,默认为2%。但是可以自己手动修改百分比;

rpm -ivh package_file....

[install-options]

--test::测试安装,但不真正执行安装过程;避免时间浪费;

--nodepslinux很多程序包是拆分的,所以很多包之间都存在依赖关系的,而这个选项可以忽略依赖关系。

--replacepkgs:重新安装(替换原来的程序包)

--nodigest :不检查包合法性

--nosignature:不检查来源合法性

--noscripts:表示不执行程序包的脚本片段;大体有四类脚本

对上面的一些安装选项参数进行简单的演示一遍:

[root@www Packages]# rpm -ivh --test httpd-devel-2.2.15-39.el6.centos.x86_64.rpm 

warning: httpd-devel-2.2.15-39.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

error: Failed dependencies:

apr-devel is needed by httpd-devel-2.2.15-39.el6.centos.x86_64

apr-util-devel is needed by httpd-devel-2.2.15-39.el6.centos.x86_64

httpd=2.2.15-39.el6.centos is needed by httpd-devel-2.2.15-39.el6.centos.x86_64

--test测试安装,但不真正执行安装过程;

[root@wwwPackages]#rpm-ivh--test --nodeps httpd-devel-2.2.15-39.el6.centos.x86_64.rpm 

warning: httpd-devel-2.2.15-39.el6.centos.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY

Preparing...                ########################################### [100%]

--nodeps:忽略依赖关系,不再回出现依赖关系的提示

[root@www Packages]# rpm -ivh --test --nodeps --nosignature httpd-devel-2.2.15-39.el6.centos.x86_64.rpm 

Preparing...                ########################################### [100%]

[root@www Packages]# 

--nosignature:不检查来源合法性

 

在这里需要简单的说明一些问题。在生产环境当中,安装的程序包。尽量避免随意从网络随意下载使用。一但程序包中夹带病毒等而已代码,很容易导致服务器出现故障问题。本人给出几点建议:1、尽量冲程序包的官方站点下载,或者使用系统光盘。2、在镜像站点下载。在项目官方的站点下载,3、在一些值得信赖的第三方组织的官网官网中下;4、如果你认为自己技术过硬,可以自己制作一个安装包。即使你在这些站点下的软件包,也需要对其进行来源和程序包的完整性进行校验。

2.2rpm卸载程序包。既然有装上程序包,肯定也有相对应的卸载程序包。而它所能适应的选项参数,和安装即使相对应的。

 rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...

-e:指明的是卸载程序包;

--allmatches:指明的是软件包的所有路径;

--nodeps:忽略程序包的依赖关系,

--test:进行测试卸载程序包;

对上面的一些安装选项参数进行简单的演示一遍:

[root@www Packages]# rpm --erase --nodeps zsh

[root@www Packages]# echo $?

0

在linux系统,没有保存就是最好的结果

 

2.3、程序包升级。既然安装了程序包,有时候也是需要对软件包升级的操作,接下来对升级一些操作进行一些说明;

rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

检查旧版本的程序包,如果新的比旧的版本高,则升级;如果程序包不存在,则“安装”

rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

对上面的解释进行一些简单的操作演示;

[root@www Packages]# rpm -U --nosignature  zsh-4.3.10-7.el6.x86_64.rpm 

[root@www Packages]# rpm -qa | grep zsh

zsh-4.3.10-7.el6.x86_64

 

[root@www Packages]# rpm -F --nosignature  zsh-4.3.10-7.el6.x86_64.rpm 

[root@www Packages]# 

[root@www Packages]# rpm -qa | grep zsh

[root@www Packages]#

 

检查旧版本的程序包,如果新的比旧的版本高,则升级;如果程序包不存在,则“不安装”

既然存在软件包升级那必然反正有程序包降级。不然就会出现许升不需降的情况。对于一个系统来说不符合逻辑的。其实降级也很简单,只需要跟下面这个选项参数即可;

--oldpackage:降级

--force:强行的;

在这里需要提醒几点的是:1、如果使用源码包对程序包升级的时候,尽量保留原有的配置信息。尽量备份保留,以避免一单如果新程序不能运行,导致整个生产线不能正常运行的情况。2、尽量不要对linux系统内核做升级,如果一旦内核升级出现问题或者升级失败,很有可能导致系统崩溃;这样会导致严重的情况。如果真的需要升级内核,可以采用多内核并存的形式。

2.4、既然上面那些操作都有,那相应的也有查询的操作。当你想对一个程序进行一些确认或者安装卸载的时候,通过查询,可以确认自己想要的东西。接下来对查询进行一些说明。

rpm {-q|--query} [select-options] [query-options]FILENAME

-q:对其进行查询;

[select-options]

-a:所有安装包

-f:查看指定的文件由那个程序包安装生成;

-p /PATH/TO/PACKAGE_FILE:针对尚未安装的程序包文件做查询操作--whatprovides CAPABILITY:查询指定的CAPABILIY由哪个包所提供;

--whatrequires CAPABILITY:查询指定的CAPABILIY被哪个包所依赖;

[query-options]安装包名

--changelog:查询rpm包的changlog

-c:查看安装程序的配置文件

-d:程序的帮助文档

-i:information

-l:查看指定程序包安装后生成的所有文件

--scripts:程序包自带的脚本片段

-R:查询指定的程序包所依赖的capability;

对于上面的选项参数,对其部分进行演示,其他类似。

[root@www Packages]# rpm -qa  zsh

zsh-4.3.10-7.el6.x86_64

[root@www Packages]# rpm -qf /bin/zsh

zsh-4.3.10-7.el6.x86_64

[root@www Packages]# rpm -qi zsh

Name        : zsh                          Relocations: (not relocatable)

Version     : 4.3.10                            Vendor: CentOS

Release     : 7.el6                         Build Date: Mon 25 Nov 2013 01:40:59 AM CST

Install Date: Mon 24 Aug 2015 04:18:17 AM CST      Build Host: c6b9.bsys.dev.centos.org

Group       : System Environment/Shells     Source RPM: zsh-4.3.10-7.el6.src.rpm

Size        : 5009102                          License: BSD

Signature   : RSA/SHA1, Mon 25 Nov 2013 03:33:46 AM CST, Key ID 0946fca2c105b9de

Packager    : CentOS BuildSystem <http://bugs.centos.org>

URL         : http://zsh.sunsite.dk/

Summary     : A powerful interactive shell

Description :

The zsh shell is a command interpreter usable as an interactive login

shell and as a shell script command processor.  Zsh resembles the ksh

shell (the Korn shell), but includes many enhancements.  Zsh supports

command line editing, built-in spelling correction, programmable

command completion, shell functions (with autoloading), a history

mechanism, and more.

其他一些选项参数使用方法rpm -qi zsh类似;

 

2、5对上面说的一些地方进行补充说明。补充说明包的校验一些知识点。对于校验码的制作过程,就不做过多的解释说明。在挂载光盘镜像的时候,官方都会提供校验码。一般大多在使用本地源的时候,很多人都不会开启秘钥认证。但是如果你想使用验证秘钥。可以导入使用。命令如下:

rpm --import /PATH/FROM/GPG-PUBKEY-FILE

-K,不导入验证秘钥

如果你的rpm数据库损坏,你该如果办呢?不要着急有办法能够补救。你可以通过rpm数据库的初始化或者重建的就行数据库回复。

rpm{--initdb|--rebuilddb}

initdb:初始化

如果实现不存在数据库,则新建之,否则,不执行任何操作;

rebuilddb:重建

无论当前存在与否,直接重新创建数据库;

在这里值得注意的一点是,也不是所有在什么情况下初始化或者重建都有效。当/var/lib/rpm/下的Packages文件损坏或者删除的时候,初始化和重建都不能对其生效。但是/var/lib/rpm/下的其他文件如果损毁,都可以通过初始化或者重建补救回来。对补救方式就行演示一下过程。

1、进入rpm数据库目录。可以发现数据现在只剩软件包,其他都被删除。

[root@www rpm]# pwd

/var/lib/rpm

[root@www rpm]# ll

total 60860

-rw-r--r-- 1 root root 62320640 Aug 24 04:38 Packages

[root@www rpm]# 

 接下来进行补救。

2、先对数据进行重建

[root@www rpm]# rpm --rebuilddb

[root@www rpm]# ll

total 73680

-rw-r--r-- 1 root root  5603328 Aug 24 04:41 Basenames

-rw-r--r-- 1 root root    12288 Aug 24 04:41 Conflictname

-rw-r--r-- 1 root root  1544192 Aug 24 04:41 Dirnames

-rw-r--r-- 1 root root  5373952 Aug 24 04:41 Filedigests

-rw-r--r-- 1 root root    24576 Aug 24 04:41 Group

-rw-r--r-- 1 root root    20480 Aug 24 04:41 Installtid

-rw-r--r-- 1 root root    77824 Aug 24 04:40 Name

-rw-r--r-- 1 root root    24576 Aug 24 04:41 Obsoletename

-rw-r--r-- 1 root root 62320640 Aug 24 04:38 Packages

-rw-r--r-- 1 root root  1331200 Aug 24 04:41 Providename

-rw-r--r-- 1 root root   679936 Aug 24 04:41 Provideversion

-rw-r--r-- 1 root root   462848 Aug 24 04:41 Requirename

-rw-r--r-- 1 root root   270336 Aug 24 04:41 Requireversion

-rw-r--r-- 1 root root    98304 Aug 24 04:41 Sha1header

-rw-r--r-- 1 root root    77824 Aug 24 04:41 Sigmd5

-rw-r--r-- 1 root root    12288 Aug 24 04:41 Triggername

3、对rpm数据库进行初始化

[root@www rpm]# ll

total 74520

-rw-r--r-- 1 root root  5603328 Aug 24 04:41 Basenames

-rw-r--r-- 1 root root    12288 Aug 24 04:41 Conflictname

-rw-r--r-- 1 root root    24576 Aug 24 04:41 __db.001

-rw-r--r-- 1 root root   229376 Aug 24 04:41 __db.002

-rw-r--r-- 1 root root  1318912 Aug 24 04:41 __db.003

-rw-r--r-- 1 root root   753664 Aug 24 04:41 __db.004

-rw-r--r-- 1 root root  1544192 Aug 24 04:41 Dirnames

-rw-r--r-- 1 root root  5373952 Aug 24 04:41 Filedigests

-rw-r--r-- 1 root root    24576 Aug 24 04:41 Group

-rw-r--r-- 1 root root    20480 Aug 24 04:41 Installtid

-rw-r--r-- 1 root root    77824 Aug 24 04:40 Name

-rw-r--r-- 1 root root    24576 Aug 24 04:41 Obsoletename

-rw-r--r-- 1 root root 62320640 Aug 24 04:38 Packages

-rw-r--r-- 1 root root  1331200 Aug 24 04:41 Providename

-rw-r--r-- 1 root root   679936 Aug 24 04:41 Provideversion

-rw-r--r-- 1 root root   462848 Aug 24 04:41 Requirename

-rw-r--r-- 1 root root   270336 Aug 24 04:41 Requireversion

-rw-r--r-- 1 root root    98304 Aug 24 04:41 Sha1header

-rw-r--r-- 1 root root    77824 Aug 24 04:41 Sigmd5

-rw-r--r-- 1 root root    12288 Aug 24 04:41 Triggername

第二部分

1、yum工具解释说明

在对yum解析之前,先说个另外的话题。就是软件包的依赖关系。在linux系统中,软件包的依赖关系很严重,有时候有个程序可能需要很多依赖关系,缺一不可运行。所以有时候为了解决一个软件包的依赖关系可能会花费很多的时间,有时候甚至有可能不能很好的解决依赖关系。对于上面的rpm软件管理工具,在处理依赖关系的时候也比较麻烦。因而yum工具就出现了。

到这里有些就会怀疑既然有了yum管理工具,还有rpm管理工具干嘛?其实不然,yum只是rpm的前端工具。所以yum替代不了rpm工具。

其他不多说了,进入正题。对于yum仓库文件配置起来 其实还是比较轻松的。Yum的服务端配置文件一般情况下都存放在:/etc/yum.conf:为所有仓库指定公共配置或者不属于仓库的配置;/etc/yum.repos.d/*.repo(多仓库指向)为仓库的指向提供配置。接下来进入配置文件对其进行简单说明:

1、进入/etc/yum.repos.d/目录,可以看到很多的仓库配置文件。

[root@www rpm]# ll /etc/yum.repos.d/

total 28

-rw-r--r--. 1 root root 1991 Oct 23  2014 CentOS-Base.repo

-rw-r--r--  1 root root  647 Oct 23  2014 CentOS-Debuginfo.repo

-rw-r--r--  1 root root  289 Oct 23  2014 CentOS-fasttrack.repo

-rw-r--r--  1 root root  630 Oct 23  2014 CentOS-Media.repo

-rw-r--r--  1 root root 5394 Oct 23  2014 CentOS-Vault.repo

咱们需要配置的文件第一个就够了。其他不需要配置。接着如配置文件,看看里面的内容:

[root@www yum.repos.d]# vim CentOS-Base.repo.bak 

[base]———指明的仓库ID

name=CentOS-$releasever - Base———仓库的名字

mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra———软件包的服务器端

#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/———软件包的服务器端

Enabled=0

gpgcheck=1——是否开启过滤检查

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6———校验码

enablegroups={1|0}默认为1,是否批量管理组

failovermethod=((默认的roundrobin)轮询|(priority)优先级)

cost=1000(默认的)

标红色这些定义较为少用到这里就不过多介绍;

服务器端的类型有一下四种:ftp://,http://,nfs://,file://

接下来简单的配置一个yum仓库:

[base]

name=base name

baseurl=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/

gpgcheck=0

 

[ferdor]

name=ferdor name

baseurl=http://172.16.0.1/fedora-epel/6/x86_64/

gpgcheck=0

2、对yum的仓库配置完成之后,接下来对yum的一些实验选项参数进行说明。(这里有个小提示,如果遇到不懂的命令,你可以通过man命令进行寻求帮助)通过man命令你可以很好的发现yum有着众多的选项参数:

command is one of:

* install package1 [package2] [...]

* update [package1] [package2] [...]

* update-to [package1] [package2] [...]

* check-update

* upgrade [package1] [package2] [...]

* upgrade-to [package1] [package2] [...]

* distribution-synchronization [package1] [package2] [...]

* remove | erase package1 [package2] [...]

* list [...]

* info [...]

* provides | whatprovides feature1 [feature2] [...]

* clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

* makecache

* groupinstall group1 [group2] [...]

* groupupdate group1 [group2] [...]

* grouplist [hidden] [groupwildcard] [...]

* groupremove group1 [group2] [...]

* groupinfo group1 [...]

* search string1 [string2] [...]

* shell [filename]

* resolvedep dep1 [dep2] [...]

* localinstall rpmfile1 [rpmfile2] [...](maintained for legacy reasons only - use install)

* localupdate rpmfile1 [rpmfile2] [...](maintained for legacy reasons only - use update)

* reinstall package1 [package2] [...]

* downgrade package1 [package2] [...]

* deplist package1 [package2] [...]

* repolist [all|enabled|disabled]

* version [ all | installed | available | group-* | nogroups* | grouplist  |groupinfo ]

* history [info|list|packages-list|packages-info|summary|addon-info|redo|rollback|undo|new|sync|stats]

* load-transaction [txfile]

* check

* help [command]

 

2.1接下来对上面一下一些常用的属性进行简单介绍和说明:

显示仓库列表:* repolist [all|enabled|disabled]

[root@www ~]# yum repolist

Loaded plugins: fastestmirror, refresh-packagekit, security

Loading mirror speeds from cached hostfile

repo id                          repo name                      status

base                             base name                      4,184

ferdor                           ferdor name                     12,922

repolist: 17,106

显示程序包:list:

yum list [all | glob_exp1] [glob_exp2] [...](显示所有的程序包)

yum list available [glob_exp1] [...](显示可安装的程序包)

yum list installed [glob_exp1] [...](已经安装的程序包)

使用格式如下,就不进行执行,安装包太多。

[root@www ~]# yum list available

[root@www ~]# yum list installed

[root@www ~]# yum list all

安装程序包:install package1 [package2] [...]

[root@www ~]# yum install zsh

Loaded plugins: fastestmirror, refresh-packagekit, security

Setting up Install Process

Loading mirror speeds from cached hostfile

base                                                                                                                                                                                                      | 3.2 kB     00:00     

ferdor                                                                                                                                                                                                    | 3.0 kB     00:00     

Package zsh-4.3.10-7.el6.x86_64 already installed and latest version

Nothing to do

由于能选择的参数太多这里就不一一演示说明,操作方法和上面的差不多。

update [package1] [package2] [...]:升级程序包;

check-update:检查升级;

remove | erase package1 [package2] [...]:卸载程序包;

clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]清理本地缓存;

Makecache:构建缓存:

reinstall package1 [package2] [...]:重新安装

downgrade package1 [package2] [...]:程序版本降级:

deplist package1 [package2] [...]:查看指定包的依赖关系:

 

包组管理的相关命令,它的操作和程序包的操作区别不大。

   * groupinstall group1 [group2] [...]安装包组

   * groupupdate group1 [group2] [...]更新包组

   * grouplist [hidden] [groupwildcard] [...]列出包组

   * groupremove group1 [group2] [...]删除包组

   * groupinfo group1 [...]查看包组信息

包组的使用方法和程序包的区别并不大。

[root@www ~]# yum grouplist  Upper

   Upper Sorbian Support [hsb]

[root@www ~]# yum groupinstall "Server Platform Development"

在包组安装的过程当中需要注意的一点的是,包组在安装的过程中,尽量使用双引号括起来。在有些情境下,不使用也是可以的。

3、yum命令的一些补充说明

yum命令行选项:--nogpgcheck:禁止进行pgp check;但是一般情况不建议跳过检查。-y:自动回答为“yes”-q:quit表示启用静默模式


yum的repo配置文件中可用的变量:$releasever:当前os的发行版的主版本号;$arch:平台$basearch:基础平台

 

如果在本地有一堆的rpm包,但是却没有rpm库文件,哪个如何呢。可以使用一条命令创建库。

[root@www ~]#createrepo /path/to/somedir/

 

第三部分

1、事实上,其实对于软件包安装选择方式,除了rpm和yum之外。其实还可以选择通过源码包编译的方式进行安装。但是如果对于初学者来说,源码编译安装可以能是一个梦魇。但是,对于骨灰级使用者来说,更愿意选择源码包编译安装的方式。能够随意选择自己想要安装的功能。而rpm和yum的方式没有这么随意方便。那源码包是如何获取的呢?可以通过开源程序源代码的获取;官方自建站点;或者源代码托管站点下载。这样来源可靠性有一定的保证。

2、获取到源码包之后,接下来需要对源码进行解压缩,和查看一些基本的操作。

[root@www ~]# tar xf httpd-2.2.29.tar.bz2 

[root@www ~]# cd httpd-2.2.29

[root@www httpd-2.2.29]# 

[root@www httpd-2.2.29]# ls

ABOUT_APACHE CHANGES httpd.dsp libhttpd.dep NOTICE server acinclude.m4  config.layout  httpd.mak  libhttpd.dsp NWGNUmakefile srclib Apache.dsw    configure httpd.spec libhttpd.mak  os support build configure.in   include         LICENSE  README  test BuildAll.dsp  docs  INSTALL  Makefile.in   README.platforms  VERSIONING BuildBin.dsp  emacs-style    InstallBin.dsp  Makefile.win README-win32.txtbuildconf  httpd.dep LAYOUT   modules   ROADMAP

[root@www httpd-2.2.29]# 

在编译之前需要阅读READMEINSTALL这两个文档,这两个文档是作者特别写的一些安装帮助文档。能够很好帮助大家编译源码包

其中INSTALL安装帮助文档中有些特别的提示,如下:

    $ ./configure --prefix=PREFIX

     $ make

     $ make install

     $ PREFIX/bin/apachectl start

上面的这即步是用来说明该源码该怎么进行编译安装的。

3、在编译软件的过程中第一步进行配置.configure。如果不知道如果使用可以后面跟--help。由于有很的选项参数,这里不过多的解释说明。

[root@www httpd-2.2.29]# ./configure --help

`configure‘ configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as

VAR=VALUE.  See below for descriptions of some of the useful variables.

Installation directories:

  --prefix=PREFIX         install architecture-independent files in PREFIX

                          [/usr/local/apache2]

  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX

                          [PREFIX]

Fine tuning of the installation directories:

  --libexecdir=DIR        program executables [EPREFIX/libexec]

  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]

  --libdir=DIR            object code libraries [EPREFIX/lib]

  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]

  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]

  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]

  --mandir=DIR            man documentation [DATAROOTDIR/man]

  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]

  --htmldir=DIR           html documentation [DOCDIR]

4、配置完成完成之后,接下来就是就行编译安装的过程。执行make命令

 

5、如果在编译检查环境没有报错,接下来就可以进行make install安装软件。安装完成之后可以,去指定的文件夹试着能不能启动安装的软件服务。

[root@www apache2]# ./bin/apachectl start

[root@www apache2]# echo $?

0

[root@www apache2]# netstat -tan

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address               Foreign Address             State      

tcp        0      0 0.0.0.0:36500               0.0.0.0:*                   LISTEN      

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      

tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      

tcp        0      0 :::22                       :::*                        LISTEN      

tcp        0      0 ::1:631                     :::*                        LISTEN      

tcp        0      0 ::1:25                      :::*                        LISTEN           

tcp        0      0 :::80                       :::*                        LISTEN  

通过以上的命令查看可以判断,源码包安装成功了


本文出自 “思路总结” 博客,请务必保留此出处http://pengaixia.blog.51cto.com/10661473/1691442

程序包管理之rpm/yum/编译

标签:linux中rpm   yum管理安装包   及其源码包编译   管理工具   

原文地址:http://pengaixia.blog.51cto.com/10661473/1691442

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!