LINUX教学:Linux yum的配置使用和程序包的编译安装

LINUX教学:Linux yum的配置使用和程序包的编译安装,第1张

概述介绍《LINUX教学:Linux yum的配置使用和程序包的编译安装》开发教程,希望对您有用。

《liNUX教学:linux yum的配置使用和程序包的编译安装》要点:
本文介绍了liNUX教学:linux yum的配置使用和程序包的编译安装,希望对您有用。如果有疑问,可以联系我们。

在上一篇博客中,写到了如何使用rpm命令来安装、卸载软件等,但是大家都知道,各个软件包之间可能存在依赖关系,如果安装某个软件必要额外的依赖其他若干的包,那么我们就必要将其他额外的包一个一个的安装上去,这样的一个过程是非常耗时的,所以出现了一个前端工具,如yum,dnf,apt-get等,本次博客就CentOS上的yum和程序包的编译安装做出详细的描述,最后还通过实际的例子介绍了程序包的编译安装.

yum的实现原理

yum实现软件包的获取其实是基于C/S架构的,C为你的主机,S为yum repository(文件服务器或者本地yum  repository),yum repository里面存储了众多的rpm包,以及包的相关元数据文件(包括软件包的列表和依赖关系等)和计算出来的特征码,一般放在repodata目录下面.

当我们使用yum安装一个软件包的时候,会进行如下几个步调:

1.当地主机会在配置文件里面找到yum repository的指向,并建立连接;

2.从yum repository获取元数据文件和特性码放在缓存里面;

3.通过查看元数据文件获知需要安装的软件包和其依赖的软件的名称并向yum repository发起哀求;

4.当地主机获取到软件包后进行安装.

5.安装好后,rpm包会被删除,但是元数据文件和特征码会被保留下来,其目的是为了当你再向yum repository发起连接的时候,先会向yum repository获取到特征码和本地缓存的特征码做对比,如果相同则说明yum repository里面的文件没有发生改变,如果不同,则说明yum repository里面的文件发生了改变,这时候就需要重新向yum repository获取元数据文件了.

 

通常情况下yum repository都是文件服务器,你可以通过URL进行拜访,如:

ftp://path/to/repository/    通过FTP进行拜访和传输

http://path/to/repository/  通过http进行拜访和传输

nfs://path/to/repository/   通过nfs进行拜访和传输

file:///path/to/repository/  用于当地的yum仓库

 

yum的设置装备摆设文件

yum的设置装备摆设文件有:

/etc/yum.conf:为所有仓库提供公共设置装备摆设

/etc/yum.repos.d/下以repo结尾的文件:为仓库的指向提供设置装备摆设

yum.conf的内容:

[main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=0deBUGlevel=2logfile=/var/log/yum.logexactarch=1obsoletes=1gpgcheck=1plugins=1installonly_limit=5BUGtracker_url=http://BUGs.centos.org/set_project.PHP?project_ID=23&ref=http://BUGs.centos.org/BUG_report_page.PHP?category=yumdistroverpkg=centos-release
yum.conf的内容

cachedir:缓存目录,默认环境下在"/var/cache/yum";

keepcache:是否保留缓存,0是不保留,1是保留;

deBUGlevel:DeBUG信息的输出品级,范围为0-10,默认为2

logfile:寄存log的文件路径

exactarch:是否准确匹配平台,默认是1,准确匹配平台

obsolete:这个选项仅仅会影响升级,简单的说相当于upgrade,容许更新旧版本的rpm包

gpgcheck:是否经验安装包的来源正当性

plugins:是否允许使用插件安装插件,1表现安装

installonly_limit:允许同时坚持的内核包

BUGtracker_url:BUG的追踪的url

distroverpkg:指定一个软件包,yum会根据这个包断定你的发行版本,这里是centos-release

具体的可以是使用敕令man yum.conf查看

下面我们来看一下/etc/yum.repos.d/下的文件

[root@localhost ~]# ls /etc/yum.repos.d/CentOS-Base.repo  CentOS-DeBUGinfo.repo  CentOS-Media.repo    CentOS-Vault.repoCentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

这里就有许多以repo结尾的文件,都是yum repository的指向:

让我们来看一下/etc/yum.repo.d/CentOS-Base.repo,其他里面的yum repository都是disable的:

 
# CentOS-Base.repo## The mirror system uses the connecting IP address of the clIEnt and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the clIEnt.  You should use this for CentOS updates# unless you are manually picking other mirrors.## If the mirrorList= does not work for you,as a fall back you can try the # remarked out baseurl= line instead.##[base]name=CentOS-$releasever - BasemirrorList=http://mirrorList.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates [updates]name=CentOS-$releasever - UpdatesmirrorList=http://mirrorList.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful[extras]name=CentOS-$releasever - ExtrasmirrorList=http://mirrorList.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages[centosplus]name=CentOS-$releasever - PlusmirrorList=http://mirrorList.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/gpgcheck=1enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
CentOS-Base.repo

repository指向的界说:

[repositoryID]   #具有唯一性name=some name for this repositorybaseurl=url://path/to/repository  #yum repository的url可以为多个,路径下必需有repodataenable=1   #是否开启,1为开启,0为关闭,不写的话,默认开启gpgckeck=1gpgkey=URLcost=1000enablegroup=1 #是否允许使用包组,默认是允许
 但是我们可以看到CentOS-Base.repo里面没有baseurl而是mirrorList,mirrorList指向的URL就是存放了baseurl的位置.yum的repo配置文件中的可用的变量:
$releasever:当前os的发行版的主版本号$arch:平台$basearch:基础平台$YUM0-$YUM9:用户自定义的变量
yum命令的用法
yum [options] [command] [package ...]       command is one of:        * install package1 [package2] [...]        * update [package1] [package2] [...]        * update-to [package1] [package2] [...]        * update-minimal [package1] [package2] [...]        * check-update        * upgrade [package1] [package2] [...]        * upgrade-to [package1] [package2] [...]        * distribution-synchronization [package1] [package2] [...]        * remove | erase package1 [package2] [...]        * autoremove [package1] [...]        * List [...]        * info [...]        * provIDes | whatprovIDes feature1 [feature2] [...]        * clean [ packages | Metadata | expire-cache | rpmdb | plugins | all ]        * makecache [fast]        * groups [...]        * search string1 [string2] [...]        * shell [filename]        * resolvedep dep1 [dep2] [...]           (maintained for legacy reasons only - use repoquery or yum provIDes)        * 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]        * repoinfo [all|enabled|Disabled]        * repository-packages <enabled-repoID> <install|remove|remove-or-reinstall|remove-or-
yum命令

1.显示repository列表:

repoList [all|enabled|Disabled]all:显示所有的yum repositoryenable:不带参数默认显示启用的yum repositorydisable:显示关闭的yum repository
[root@localhost yum.repos.d]# yum repoListLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.cn99.com * updates: mirrors.aliyun.comrepo ID                                            repo name                                           status!base/7/x86_64                                     CentOS-7 - Base                                     9,363!extras/7/x86_64                                   CentOS-7 - Extras                                     451!updates/7/x86_64                                  CentOS-7 - Updates                                  2,146[root@localhost yum.repos.d]# yum repoList allLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.cn99.com * updates: mirrors.aliyun.comrepo ID                                          repo name                                         statusC7.0.1406-base/x86_64                            CentOS-7.0.1406 - Base                            DisabledC7.0.1406-centosplus/x86_64                      CentOS-7.0.1406 - CentOSPlus                      DisabledC7.0.1406-extras/x86_64                          CentOS-7.0.1406 - Extras                          DisabledC7.0.1406-fasttrack/x86_64                       CentOS-7.0.1406 - CentOSPlus                      DisabledC7.0.1406-updates/x86_64                         CentOS-7.0.1406 - Updates                         DisabledC7.1.1503-base/x86_64                            CentOS-7.1.1503 - Base                            DisabledC7.1.1503-centosplus/x86_64                      CentOS-7.1.1503 - CentOSPlus                      DisabledC7.1.1503-extras/x86_64                          CentOS-7.1.1503 - Extras                          DisabledC7.1.1503-fasttrack/x86_64                       CentOS-7.1.1503 - CentOSPlus                      DisabledC7.1.1503-updates/x86_64                         CentOS-7.1.1503 - Updates                         DisabledC7.2.1511-base/x86_64                            CentOS-7.2.1511 - Base                            DisabledC7.2.1511-centosplus/x86_64                      CentOS-7.2.1511 - CentOSPlus                      DisabledC7.2.1511-extras/x86_64                          CentOS-7.2.1511 - Extras                          DisabledC7.2.1511-fasttrack/x86_64                       CentOS-7.2.1511 - CentOSPlus                      DisabledC7.2.1511-updates/x86_64                         CentOS-7.2.1511 - Updates                         Disabled!base/7/x86_64                                   CentOS-7 - Base                                   enabled: 9,363base-deBUGinfo/x86_64                            CentOS-7 - DeBUGinfo                              Disabledbase-source/7                                    CentOS-7 - Base Sources                           Disabledc7-media                                         CentOS-7 - Media                                  Disabledcentosplus/7/x86_64                              CentOS-7 - Plus                                   Disabledcentosplus-source/7                              CentOS-7 - Plus Sources                           Disabledcr/7/x86_64                                      CentOS-7 - cr                                     Disabled!extras/7/x86_64                                 CentOS-7 - Extras                                 enabled:   451extras-source/7                                  CentOS-7 - Extras Sources                         Disabledfasttrack/7/x86_64                               CentOS-7 - fasttrack                              Disabled!updates/7/x86_64                                CentOS-7 - Updates                                enabled: 2,146updates-source/7                                 CentOS-7 - Updates Sources                        Disabled
yum repoList举例

2.显示法式包

yum List [all | glob_exp1] [glob_exp2] [...]yum List {available|installed|updates} [glob_exp1] [...]

3.安装法式包

yum install package1 [package2] [...]yum reinstall package1 [package2] [...]  (重新安装)

4.升级法式包

yum update [package1] [package2] [...]yum downgrade package1 [package2] [...] (降级)

5.反省可用升级

yum check-update

6.卸载法式包

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

7.查看法式包information

yum info package1 [package2] [...]

8.查看指定的特性(可以是某文件)是由哪个法式包所提供的

yum provIDes | whatprovIDes feature1 [feature2] [...]
[root@localhost yum.repos.d]# yum provIDes /bin/lsLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.cn99.com * updates: mirrors.aliyun.comcoreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scriptsRepo        : baseMatched from:filename    : /bin/lscoreutils-8.22-18.el7.x86_64 : A set of basic GNU tools commonly used in shell scriptsRepo        : @anacondaMatched from:filename    : /bin/ls
yum provIDes举例

 9.清理当地缓存

yum clean [ packages | Metadata | expire-cache | rpmdb | plugins | all ]

10.构建缓存

yum makecache

11.搜刮

yum search string1 [string2] [...] #以指定的关键字搜索法式包及Summary信息

12.查看指定包所依赖的capabilitIEs

yum depList package1 [package2] [...]

13.查看yum事务汗青

yum history [info|List|packages-List|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

14.安装及升级当地程序包

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

15.包组治理的相关命令

yum groupinstall group1 [group2] [...]yum groupupdate group1 [group2] [...]yum groupList [hIDden] [groupwildcard] [...]yum groupremove group1 [group2] [...]yum groupinfo group1 [...]

16.yum的敕令选项

--nogpgcheck:禁止进行gpg check;-y: 自动回答为“yes”;-q:静默模式;--disablerepo=repoIDglob:临时禁用此处指定的repo;--enablerepo=repoIDglob:临时启用此处指定的repo;--noplugins:禁用所有插件;

如何使用光盘当作当地yum repository?

(1)挂载光盘至某目次,例如/media/cdrom

[root@localhost yum.repos.d]# mount -r /dev/sr0 /media/cdrom/[root@localhost yum.repos.d]# [root@localhost yum.repos.d]# dffilesystem          1K-blocks    Used Available Use% Mounted on/dev/mapper/cl-root  17811456 2824736  14986720  16% /devtmpfs               489004       0    489004   0% /devtmpfs                  499980       0    499980   0% /dev/shmtmpfs                  499980    6728    493252   2% /runtmpfs                  499980       0    499980   0% /sys/fs/cgroup/dev/sda1             1038336  123500    914836  12% /boottmpfs                  100000       0    100000   0% /run/user/0/dev/sr0              4276440 4276440         0 100% /media/cdrom
 (2)创建配置文件先把当地的CentOS-Base.repo备份一下 
[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak[root@localhost yum.repos.d]# vim CentOS-Local.repo[CentOS7]name=CentOS7 rpm from diskbaseurl=file:///media/cdrom/gpgcheck=0[root@localhost cdrom]# yum repoList #显示可用的仓库列表Loaded plugins: fastestmirrorLoading mirror speeds from cached hostfilerepo ID                                       repo name                                                    statusCentOS7                                       CentOS7 rpm from disk                                        3,831repoList: 3,831[root@localhost cdrom]# 

如何创建yum仓库?

前面写到baseurl指向的yum repository的下必需有repodata目录,repodata目录下存放着元数据和特征码等信息,那么如何生存呢?

我们现在/xfs目次下放了一些关于xfs的rpm包:

[root@localhost xfs]# lltotal 3980-rw-r--r--. 1 root root 942156 Sep 10 10:41 xfsprogs-4.5.0-10.el7_3.i686.rpm-rw-r--r--. 1 root root 916492 Sep 10 10:41 xfsprogs-4.5.0-10.el7_3.x86_64.rpm-rw-r--r--. 1 root root 942328 Sep 10 10:41 xfsprogs-4.5.0-9.el7_3.i686.rpm-rw-r--r--. 1 root root 916296 Sep 10 10:41 xfsprogs-4.5.0-9.el7_3.x86_64.rpm-rw-r--r--. 1 root root  68316 Sep 10 10:41 xfsprogs-devel-4.5.0-10.el7_3.i686.rpm-rw-r--r--. 1 root root  68264 Sep 10 10:41 xfsprogs-devel-4.5.0-10.el7_3.x86_64(1).rpm-rw-r--r--. 1 root root  68264 Sep 10 10:41 xfsprogs-devel-4.5.0-10.el7_3.x86_64.rpm-rw-r--r--. 1 root root  68184 Sep 10 10:41 xfsprogs-devel-4.5.0-9.el7_3.i686.rpm-rw-r--r--. 1 root root  68148 Sep 10 10:41 xfsprogs-devel-4.5.0-9.el7_3.x86_64.rpm

使用createrepo来天生:

[root@localhost ~]# createrepo /xfs/Spawning worker 0 with 5 pkgsSpawning worker 1 with 4 pkgsWorkers FinishedSaving Primary MetadataSaving file Lists MetadataSaving other MetadataGenerating sqlite DBssqlite DBs complete[root@localhost ~]# ll /xfs/total 3984drwxr-xr-x. 2 root root   4096 Sep 10 10:46 repodata-rw-r--r--. 1 root root 942156 Sep 10 10:41 xfsprogs-4.5.0-10.el7_3.i686.rpm-rw-r--r--. 1 root root 916492 Sep 10 10:41 xfsprogs-4.5.0-10.el7_3.x86_64.rpm-rw-r--r--. 1 root root 942328 Sep 10 10:41 xfsprogs-4.5.0-9.el7_3.i686.rpm-rw-r--r--. 1 root root 916296 Sep 10 10:41 xfsprogs-4.5.0-9.el7_3.x86_64.rpm-rw-r--r--. 1 root root  68316 Sep 10 10:41 xfsprogs-devel-4.5.0-10.el7_3.i686.rpm-rw-r--r--. 1 root root  68264 Sep 10 10:41 xfsprogs-devel-4.5.0-10.el7_3.x86_64(1).rpm-rw-r--r--. 1 root root  68264 Sep 10 10:41 xfsprogs-devel-4.5.0-10.el7_3.x86_64.rpm-rw-r--r--. 1 root root  68184 Sep 10 10:41 xfsprogs-devel-4.5.0-9.el7_3.i686.rpm-rw-r--r--. 1 root root  68148 Sep 10 10:41 xfsprogs-devel-4.5.0-9.el7_3.x86_64.rpm[root@localhost ~]# ll /xfs/repodata/total 32-rw-r--r--. 1 root root 1615 Sep 10 10:46 048072895365ec38b370d70bc209f3fd08a54bba535a2feb497448fa7b3d622e-other.xml.gz-rw-r--r--. 1 root root 3885 Sep 10 10:46 29cf78ac1dcc6c2443c5a2d9a135a4a7f1591f44a1964c984c1664000ac86ee6-other.sqlite.bz2-rw-r--r--. 1 root root 1239 Sep 10 10:46 2a83ee6cbdb7d0ca6063f91aa8e382271a05ae1e868f637beb0549758511325b-fileLists.xml.gz-rw-r--r--. 1 root root 3144 Sep 10 10:46 40f7e90c6dc338f5292d2cb1ee3d2153241fb714eca0365d2419eadfe7fda2e0-fileLists.sqlite.bz2-rw-r--r--. 1 root root 7501 Sep 10 10:46 5c4be0e2d956a133454d00f51c3833d44d13c60375937bf59bce4258210d9075-primary.sqlite.bz2-rw-r--r--. 1 root root 2376 Sep 10 10:46 5c7e3e89ad6e3210fee5ca5519fcd26bb60f4356d9035da5e273bb69521b8be3-primary.xml.gz-rw-r--r--. 1 root root 2975 Sep 10 10:46 repomd.xml #特征码
createrepo生成repodata

 然后在配置文件里面添加就行了,这样当地创建的yum repository就生效了:

[root@localhost yum.repos.d]# vim CentOS-Local.repo[CentOS7]name=CentOS7 rpm from diskbaseurl=file:///media/cdrom/gpgcheck=0enable=1[xfs]name=xfs for centos7baseurl=file:///xfs/gpgcheck=0enable=1

@H_301_1570@更多详情见请继续阅读下一页的出色内容:

_baIDu_page_break_tag_

我们有的时候并不能获取到相应软件的rpm包或者是原本便是没有rpm包的,但是一般项目网站都会给我们提供对应的源代码,然后我们可以使用工具进行编译安装.

编译C源代码的前提:
提供开发环境及开发对象.

开发对象:make,gcc等

开发环境:开发库,头文件,尺度库等

在CentOS中是经由过程“包组”提供开发组件

在centos6中:

yum groupinstall "Development Tools"yum groupinstall "Server Platform Development"

在centos7中:

yum groupinstall "Development Tools" #即可

然后就可以开端编译安装了!

建议:安装前查看install或者readme文件

第一步:

运行configure剧本(./configure):

(1)通过传递参数,指定启动特性、安装路径等,执行时会参考用户指定以及Makefile.in文件(有的时候可能没有configure文件和Makefile.in文件,autoconf根据指定的配置文件可以生成configure文件,automake可以根据指定的配置文件生成Makefile.in文件),最毕生成Makefile.

(2)反省依赖到外部环境

选项:--help:获取其他支持的使用选项--prefix=/PATH/TO/SOMEWHERE: 指定默认安装位置;默认为/usr/local/--sysconfdir=/PATH/TO/SOMEWHERE:配置文件安装位置Optional Features: 可选特性    --disable-FEATURE    --enable-FEATURE[=ARG]Optional Packages: 可选包    --with-PACKAGE[=ARG]    --without-PACKAGE

如果不指定--prefix选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件放在/usr/local/etc,其他的资源文件放在/usr/local/share.指定prefix的好处便是当你想卸载软件的时候,直接删除该安装目录就行了,也可以将整个目录拷贝到其他的机器上使用,前提是同样的 *** 作系统.

 第二步:

make(make其实是一个项目的构建工具,它可以对代码进行预处置、编译等 *** 作)

根据makefile文件,构建应用法式

第三步:
make install 

用来安装,它从Makefile中读取指令,安装到指定的地位.

安装后的设置装备摆设:

(1)导出二进制程序目录至PATH环境变量中:         编辑文件/etc/profile.d/name.sh         export PATH=/PATH/TO/BIN:$PATH         再让shell进程重新读配置文件 source /PATH/FROM/CONFI_file(2)导出库文件路径         编辑/etc/ld.so.conf.d/name.conf         添加新的库文件所在目录至此文件中         让系统重新生成缓存:ldconfig [-v](3)导出头文件         基于链接的方式实现:ln -sv (4)导出赞助手册         编辑/etc/man_db.config文件,添加一个MANPATH. 编译安装apache 2.2并启动此服务

1.解压缩并展开文件:

[root@localhost ~]# tar xf httpd-2.2.34.tar.bz2 

2.查看目次下的文件:

[root@localhost ~]# cd httpd-2.2.34[root@localhost httpd-2.2.34]# [root@localhost httpd-2.2.34]# lltotal 1160-rw-r--r--.  1 1001 1001  14882 Nov 21  2004 ABOUT_APACHE-rw-r--r--.  1 1001 1001  18613 Jul  6  2012 acinclude.m4-rw-r--r--.  1 1001 1001  56952 Oct  5  2010 Apache.dswdrwxr-xr-x.  6 1001 1001   4096 Jul  6 15:19 build-rw-r--r--.  1 1001 1001   2644 Aug 24  2007 BuildAll.dsp-rw-r--r--.  1 1001 1001   2692 Jul 29  2009 BuildBin.dsp-rwxr-xr-x.  1 1001 1001   5786 Sep 19  2012 buildconf-rw-r--r--.  1 1001 1001 147887 Jun 28 20:16 CHANGES-rw-r--r--.  1 1001 1001  11701 Feb 27  2012 config.layout-rwxr-xr-x.  1 1001 1001 574593 Jul  6 15:19 configure-rw-r--r--.  1 1001 1001  24720 May 25  2015 configure.indrwxr-xr-x.  9 1001 1001    124 Jul  6 15:19 docs-rw-r--r--.  1 1001 1001    403 Nov 21  2004 emacs-style-rw-r--r--.  1 1001 1001   1248 May  7  2011 httpd.dep-rw-r--r--.  1 1001 1001   4124 Jun 11  2008 httpd.dsp-rw-r--r--.  1 1001 1001   8994 May  6  2011 httpd.mak-rw-r--r--.  1 1001 1001  12053 Jul  6 15:19 httpd.specdrwxr-xr-x.  2 1001 1001   4096 Jul  6 15:19 include-rw-r--r--.  1 1001 1001   5129 Jan  9  2017 INSTALL-rw-r--r--.  1 1001 1001   2909 Dec  7  2006 InstallBin.dsp-rw-r--r--.  1 1001 1001   5145 Nov 29  2005 LAYOUT-rw-r--r--.  1 1001 1001  30119 May  7  2011 libhttpd.dep-rw-r--r--.  1 1001 1001  17039 Jan 12  2007 libhttpd.dsp-rw-r--r--.  1 1001 1001  28503 May  6  2011 libhttpd.mak-rw-r--r--.  1 1001 1001  28690 Jan 18  2008 liCENSE-rw-r--r--.  1 1001 1001   8739 Nov 25  2008 Makefile.in-rw-r--r--.  1 1001 1001  34759 Jan 19  2014 Makefile.windrwxr-xr-x. 20 1001 1001   4096 Jul  6 15:19 modules-rw-r--r--.  1 1001 1001    828 Jan  2  2017 NOTICE-rw-r--r--.  1 1001 1001  12894 Mar 15  2012 NWGNUmakefiledrwxr-xr-x.  9 1001 1001    149 Jul  6 15:19 os-rw-r--r--.  1 1001 1001   5954 Jan 10  2007 README-rw-r--r--.  1 1001 1001   4178 Aug 27  2014 README.platforms-rw-r--r--.  1 1001 1001   2553 Dec 20  2010 README-win32.txt-rw-r--r--.  1 1001 1001  10183 Mar 14  2005 ROADMAPdrwxr-xr-x.  3 1001 1001   4096 Jul  6 15:19 serverdrwxr-xr-x.  5 1001 1001     64 Jul  6 15:19 srclibdrwxr-xr-x.  4 1001 1001   4096 Jul  6 15:19 supportdrwxr-xr-x.  2 1001 1001    248 Jul  6 15:19 test-rw-r--r--.  1 1001 1001   8183 Oct 17  2005 VERSIONING
查看

3.运行configure剧本,并指定软件安装目录为/usr/local/apache2,指定配置文件的路径为/etc/http2

[root@localhost httpd-2.2.34]# ./configure --prefix=/usr/local/apache2  --sysconfdir=/etc/httpd2  #这里指定了配置文件的寄存位置,也可以不指定,如果不指定默认在安装目录下有一个conf目录,建议不指定

4.make

[root@localhost httpd-2.2.34]#make

5.make  install

[root@localhost httpd-2.2.34]#make install

如果没有任何报错就代表已经安装胜利了,我们去安装目录下面看一下(如果指定了安装目录,所有的东西都会被放在指定的目录下面,建议大家这么做,因为以后想删除软件的时候,直接将整个目录删除了进行了,本次例子中的配置文件是放在/etc/httpd2下,如果卸载也要记得删除此目录):

[root@localhost httpd-2.2.34]# cd /usr/local/apache2/[root@localhost apache2]# lltotal 40drwxr-xr-x.  2 root root  283 Sep 10 12:03 bindrwxr-xr-x.  2 root root  253 Sep 10 12:03 builddrwxr-xr-x.  2 root root   38 Sep 10 12:03 cgi-bindrwxr-xr-x.  3 root root 4096 Sep 10 12:03 errordrwxr-xr-x.  2 root root   24 Jul  6 15:19 htdocsdrwxr-xr-x.  3 root root 8192 Sep 10 12:03 iconsdrwxr-xr-x.  2 root root 4096 Sep 10 12:03 includedrwxr-xr-x.  3 root root 4096 Sep 10 12:03 libdrwxr-xr-x.  2 root root    6 Sep 10 12:03 logsdrwxr-xr-x.  4 root root   30 Sep 10 12:03 mandrwxr-xr-x. 14 root root 8192 Jul  6 15:20 manualdrwxr-xr-x.  2 root root   23 Sep 10 12:03 modules

好的,接下来进行安装后的一些事情:

 1.导出二进制配置文件至PATH情况变量中:

[root@localhost apache2]# vim /etc/profile.d/apache.shexport PATH=/usr/local/apache2/bin:$PATH[root@localhost apache2]# echo $PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin[root@localhost apache2]# [root@localhost apache2]# source /etc/profile.d/apache.sh #让过程重新读取一些配置文件[root@localhost apache2]# echo $PATH/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

2.导出库文件路径

[root@localhost apache2]# vim /etc/ld.so.conf.d/apache2.conf/usr/local/apache2/lib[root@localhost apache2]# ldconfig #使用ldconfig重新生成缓存

3.导出头文件,创立软连接

[root@localhost include]# ln -sv /usr/local/apache2/include/  /usr/include/apache2‘/usr/include/apache2’ -> ‘/usr/local/apache2/include/’

4.导出赞助手册

 

改动完之后我们就可以使用man手册了
[root@localhost include]man apachectl

以上步调完成之后,我们可以运行服务了:

[root@localhost ~]# apachectl start  #启动,停用则使用apachectl stop[root@localhost ~]# netstat -tanActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address           Foreign Address         State      tcp        0      0 0.0.0.0:22              0.0.0.0:*               ListEN     tcp        0      0 127.0.0.1:25            0.0.0.0:*               ListEN     tcp        0     52 192.168.172.134:22      192.168.172.1:61089     ESTABliSHEDtcp6       0      0 :::80                   :::*                    ListEN     #当80端口被监听阐明已经启用成功了tcp6       0      0 :::22                   :::*                    ListEN     tcp6       0      0 ::1:25                  :::*                    ListEN     

可以直接在浏览器里面查看啦!It works(记得关闭防火墙,systemctl stop firewalld)!

 

@H_301_1570@本文永远更新链接地址:

欢迎参与《liNUX教学:linux yum的配置使用和程序包的编译安装》讨论,分享您的想法,内存溢出PHP学院为您提供专业教程。

总结

以上是内存溢出为你收集整理的LINUX教学:Linux yum的配置使用和程序包的编译安装全部内容,希望文章能够帮你解决LINUX教学:Linux yum的配置使用和程序包的编译安装所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1042251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存