8.11 安装软件包的三种方法/rpm包用法/yum用法,搭建本地仓库

 

五周第一次课

7.1 安装软件包的三种方法

7.2 rpm包介绍

7.3 rpm工具用法

7.4 yum工具用法

7.5 yum搭建本地仓库(视频中ppt小错误: gpcheck改为gpgcheck,yum cean 改为 yum clean)

 

一、 安装软件包的三种方法

  • rpm工具

  • yum工具

  • 源码包

二、rpm工具使用

  • 设置光驱并挂载

  • rpm包格式,包名、版本号、发布版本号、平台

  • rpm -ivh rpm包文件 //安装

  • rpm -Uvh rpm包文件 //升级

  • rpm -e 包名 //卸载

  • rpm -qa //查询安装的包

  • rpm -q 包名 //查询指定包是否安装

  • rpm -qi 包名 //查询指定包信息

  • rpm -ql 包名 //列出包安装的文件

  • rpm -qf 文件绝对路径 //查看一个文件是由哪个包安装的

  1.  

    设置光驱并挂载 1)点击--虚拟机—设置—CD/DVD(ide)--右边设置iso映像文件路径。

    2)挂载光驱

[root@linux-151 ~]# mount /dev/cdrom /mnt

mount: /dev/sr0 写保护,将以只读方式挂载

 

[root@linux-151 ~]# ls /mnt

CentOS_BuildTag GPL LiveOS RPM-GPG-KEY-CentOS-7

EFI images Packages RPM-GPG-KEY-CentOS-Testing-7

EULA isolinux repodata TRANS.TBL

 

3)/mnt/Packages目录里面是rpm包

[root@linux-151 ~]# ls /mnt/Packages/ |head -5389-ds-base-1.3.5.10-11.el7.x86_64.rpm

389-ds-base-libs-1.3.5.10-11.el7.x86_64.rpm

abattis-cantarell-fonts-0.0.16-3.el7.noarch.rpm

abrt-2.1.11-45.el7.centos.x86_64.rpm

abrt-addon-ccpp-2.1.11-45.el7.centos.x86_64.rpm

 

 

Tips: 每个rpm包的名称都是由-和.分成若干部分,比如abrt-2.1.11-45.el7.centos.x86_64.rpm Abrt:包名

2.1.11-45:版本号;2为主版本号,1为次版本号,11为修正版本

45-el7.centos:发布版本号

x86_64.:运行平台,64位 cpu目前分32位和64位,i386、i586、i686是32位,X86_64是64位。

64位系统可以安装32位软件,但是32位系统不能安装64为软件。

安装rpm包

  • rpm -ivh rpm包文件 //安装

  • -i:表示安装

  • -v:表示可视化

  • -h:表示显示安装进度

  • --force:表示强制安装,即使覆盖属于其他包的文件也要安装

  • --nodeps:表示当要安装的rpm包依赖于其他包时,即使其他包没有安装,也要安装这个包

[root@linux-151 ~]# cd /mnt/Packages/

[root@linux-151 Packages]# rpm -ivh xz-5.2.2-1.el7.x86_64.rpm

准备中... ################################# [100%]

软件包 xz-5.2.2-1.el7.x86_64 已经安装

升级rpm包

  • 命令:rpm -Uvh rpm 包文件

  • -U:表示升级

卸载rpm包

  • 命令:rpm –e 包名

[root@linux-151 Packages]# rpm -e xz

错误:依赖检测失败:

xz 被 (已安裝) dracut-033-463.el7.x86_64 需要

/usr/bin/xz 被 (已安裝) kmod-20-9.el7.x86_64 需要

查询一个包是否已经安装

  • 命令:rpm –qa 包名

[root@linux-151 Packages]# rpm -qa treetree-1.6.0-10.el7.x86_64

 

查询当前系统所有已经安装的包

  • 命令:rpm –qa

[root@linux-151 Packages]# rpm -qa |head

trousers-0.3.13-1.el7.x86_64

filesystem-3.2-21.el7.x86_64

net-tools-2.0-0.17.20131004git.el7.x86_64

bind-license-9.9.4-37.el7.noarch

fxload-2002_04_11-16.el7.x86_64

nss-softokn-freebl-3.16.2.3-14.4.el7.x86_64

libthai-0.1.14-9.el7.x86_64

ncurses-libs-5.9-13.20130511.el7.x86_64

libX11-common-1.6.3-3.el7.noarch

libselinux-2.5-6.el7.x86_64

 

查询指定包的信息

  • 命令:rpm –qi 包名

[root@linux-151 Packages]# rpm -qi tree

Name : tree

Version : 1.6.0

Release : 10.el7

Architecture: x86_64

Install Date: 2018年04月11日 星期三 15时00分08秒

Group : Applications/File

Size : 89505

License : GPLv2+

Signature : RSA/SHA256, 2014年07月04日 星期五 13时36分46秒, Key ID 24c6a8a7f4a80eb5

Source RPM : tree-1.6.0-10.el7.src.rpm

Build Date : 2014年06月10日 星期二 03时28分53秒

Build Host : worker1.bsys.centos.org

Relocations : (not relocatable)

Packager : CentOS BuildSystem

Vendor : CentOS

URL : http://mama.indstate.edu/users/ice/tree/

Summary : File system tree viewer

Description :

The tree utility recursively displays the contents of directories in a

tree-like format. Tree is basically a UNIX port of the DOS tree

utility.

 

列出一个rpm包的安装文件

  • 命令:rpm –ql 包名

[root@linux-151 Packages]# rpm -ql tree

/usr/bin/tree

/usr/share/doc/tree-1.6.0

/usr/share/doc/tree-1.6.0/LICENSE

/usr/share/doc/tree-1.6.0/README

/usr/share/man/man1/tree.1.gz

 

根据一个文件的绝对路径,查看这个文件是由哪个包安装的

  • 命令:rpm –qf 绝对路径

[root@linux-151 Packages]# rpm -qf /usr/bin/cd

bash-4.2.46-20.el7_2.x86_64

 

[root@linux-151 Packages]# rpm -qf `which cd`

bash-4.2.46-20.el7_2.x86_64

注意:``里面which cd 显示只有一行,如果是which ls 显示2行,这里就不能使用这条命令。

三、 yum工具用法

Yum比rpm工具更方便,yum工具最大的优势在于可以联网去下载所需要的的rpm包,然后自动安装,安装所有相关的rpm包,解决依赖关系。

  • yum list //列出可用rpm包

  • ls /etc/yum.repos.d/

  • yum search vim //搜索包

  • yum install [-y]

  • yum grouplist

  • yum groupinstall [-y]

  • yum remove [-y]

  • yum update [-y]

  • yum provides “/*/vim”

列出所有可用的rpm包

  • 命令:yum list

[root@linux-151 Packages]# yum list |head -20

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* base: mirrors.btte.net

* extras: mirrors.btte.net

* updates: mirrors.btte.net

已安装的软件包

GeoIP.x86_64 1.5.0-11.el7 @anaconda

NetworkManager.x86_64 1:1.4.0-12.el7 @anaconda

NetworkManager-libnm.x86_64 1:1.4.0-12.el7 @anaconda

NetworkManager-team.x86_64 1:1.4.0-12.el7 @anaconda

NetworkManager-tui.x86_64 1:1.4.0-12.el7 @anaconda

NetworkManager-wifi.x86_64 1:1.4.0-12.el7 @anaconda

acl.x86_64 2.2.51-12.el7 @anaconda

aic94xx-firmware.noarch 30-6.el7 @anaconda

alsa-firmware.noarch 1.0.28-2.el7 @anaconda

alsa-lib.x86_64 1.1.1-1.el7 @anaconda

alsa-tools-firmware.x86_64 1.1.0-1.el7 @anaconda

atk.x86_64 2.14.0-1.el7 @anaconda

atkmm.x86_64 2.22.7-3.el7 @anaconda

audit.x86_64 2.6.5-3.el7 @anaconda

 

左边是包名,中间是版本信息,右边是仓库名,仓库这边显示@base、@anaconda表示已经安装。如果未安装这显示base或者anaconda,如果是updates表示已安装但是需要升级。

yum的配置文件:/etc/yum.repos.d/Centos-Base.repo 里面可以配置仓库名,yum源地址

 

[base] //仓库名 name=CentOS-$releasever – Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra //yum源地址。 #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

搜索rpm包

  • 命令:yum search 包名

[root@linux-151 Packages]# yum search vim

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* base: mirrors.btte.net

* extras: mirrors.btte.net

* updates: mirrors.btte.net

=============================== N/S matched: vim ================================

protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers

: descriptions

vim-X11.x86_64 : The VIM version of the vi editor for the X Window System

vim-common.x86_64 : The common files needed by any version of the VIM editor

vim-enhanced.x86_64 : A version of the VIM editor which includes recent

: enhancements

vim-filesystem.x86_64 : VIM filesystem layout

vim-minimal.x86_64 : A minimal version of the VIM editor

 

  • 或者:yum list |grep vim

[root@linux-151 Packages]# yum list |grep vim

vim-common.x86_64 2:7.4.160-2.el7 @base

vim-enhanced.x86_64 2:7.4.160-2.el7 @base

vim-filesystem.x86_64 2:7.4.160-2.el7 @base

vim-minimal.x86_64 2:7.4.160-1.el7 @anaconda

protobuf-vim.x86_64 2.5.0-8.el7 base

vim-X11.x86_64 2:7.4.160-2.el7 base

vim-minimal.x86_64 2:7.4.160-2.el7 base

 

安装rpm包

  • 命令:yum install –y 包名

[root@linux-151 Packages]# yum install -y tree

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* base: mirrors.btte.net

* extras: mirrors.btte.net

* updates: mirrors.btte.net

正在解决依赖关系

--> 正在检查事务---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 安装--> 解决依赖关系完成

 

依赖关系解决

 

=================================================================================

Package 架构 版本 源 大小

=================================================================================

正在安装:

tree x86_64 1.6.0-10.el7 base 46 k

 

事务概要

=================================================================================

安装 1 软件包

 

总下载量:46 k

安装大小:87 k

Downloading packages:

tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

正在安装 : tree-1.6.0-10.el7.x86_64 1/1

验证中 : tree-1.6.0-10.el7.x86_64 1/1

 

已安装:

tree.x86_64 0:1.6.0-10.el7

 

完毕!

 

卸载rpm包

命令:yum remove –y 包名

[root@linux-151 Packages]# yum remove -y tree

已加载插件:fastestmirror

正在解决依赖关系

--> 正在检查事务---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 删除--> 解决依赖关系完成

 

依赖关系解决

 

=================================================================================

Package 架构 版本 源 大小

=================================================================================

正在删除:

tree x86_64 1.6.0-10.el7 @base 87 k

 

事务概要

=================================================================================

移除 1 软件包

 

安装大小:87 k

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

正在删除 : tree-1.6.0-10.el7.x86_64 1/1

验证中 : tree-1.6.0-10.el7.x86_64 1/1

 

删除:

tree.x86_64 0:1.6.0-10.el7

 

完毕!

 

列出套件

命令:yum grouplist

[root@linux-151 Packages]# yum grouplist

已加载插件:fastestmirror

没有安装组信息文件

Maybe run: yum groups mark convert (see man yum)

Loading mirror speeds from cached hostfile

* base: mirrors.btte.net

* extras: mirrors.btte.net

* updates: mirrors.btte.net

可用的环境分组:

最小安装

基础设施服务器

计算节点

文件及打印服务器

基本网页服务器

虚拟化主机

带 GUI 的服务器

GNOME 桌面

KDE Plasma Workspaces

开发及生成工作站

可用组:

传统 UNIX 兼容性

兼容性程序库

图形管理工具

安全性工具

开发工具

控制台互联网工具

智能卡支持

科学记数法支持

系统管理

系统管理工具

完成

 

  • LANG=en 切换英文

安装套件

  • 命令:yum groupinstall –y 套件名

升级rpm包

  • 命令:yum update –y 包名 注意:如果不加包名,会把系统所有的包包括系统本身升级。

搜索一个命令是那个包安装的

  • 命令:yum provides "/*/tree"

  • 或者:rpm -qf /usr/bin/tree

四、yum搭建本地仓库

  • 挂载镜像到/mnt目录

[root@linux-151 ~]# mount /dev/cdrom /mnt

mount: /dev/sr0 写保护,将以只读方式挂载

  • cp -r /etc/yum.repos.d /etc/yum.repos.d.bak

  • rm -f /etc/yum.repos.d/*

  • vim /etc/yum.repos.d/dvd.repo //内容如下

 

[dvd] //仓库名字

name=install dvd

baseurl=file:///mnt //本地源地址

enable=1 //本地是否可用,1可用,0不可以

gpgcheck=0 //是否检测,1检测,0不检测

  • yum clean all //清除缓存

  • yum list

[root@linux-151 ~]# yum list |tail -10

yum-plugin-aliases.noarch 1.1.31-40.el7 dvd

yum-plugin-changelog.noarch 1.1.31-40.el7 dvd

yum-plugin-tmprepo.noarch 1.1.31-40.el7 dvd

yum-plugin-verify.noarch 1.1.31-40.el7 dvd

yum-plugin-versionlock.noarch 1.1.31-40.el7 dvd

yum-utils.noarch 1.1.31-40.el7 dvd

zenity.x86_64 3.8.0-5.el7 dvd

zlib-devel.x86_64 1.2.7-17.el7 dvd

zsh.x86_64 5.0.2-25.el7 dvd

zziplib.x86_64 0.13.62-5.el7 dvd

  7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装

 

五周第二次课

7.6 yum更换国内源

7.7 yum下载rpm包

7.8/7.9 源码包安装

一、yum更换国内源

  • cd /etc/yum.repos.d/

  • rm -f dvd.repo

  • wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 或者

  • curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo

  • yum list

删除之前我们设置的本地源dvd.repo

[root@linux-151 yum.repos.d]# rm dvd.repo

rm:是否删除普通文件 "dvd.repo"?y

将之前备份的文件拷贝到yum.repos下

[root@linux-151 yum.repos.d]# cp -r /etc/yum.repos.d.bak/* ./

[root@linux-151 yum.repos.d]# ls

CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo

CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo

 

CentOS-Base.repo 这个配置文件就是我们要设置的网络源,先将它备份一下。

[root@linux-151 yum.repos.d]# mv CentOS-Base.repo Centos-Base.repo.bak

下载一个163的yum源,因为之前将CentOS-Base.repo重命名了,使用wget下载需要安装wget包,但是我们这个时候yum是没办法安装wget包的,所以可以curl –O 来下载:

[root@linux-151 yum.repos.d]# curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 1572 100 1572 0 0 7651 0 --:--:-- --:--:-- --:--:-- 7820

 

[root@linux-151 yum.repos.d]# ls

CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Sources.repo

CentOS-Base.repo.bak CentOS-fasttrack.repo CentOS-Vault.repo

CentOS-CR.repo CentOS-Media.repo

 

编辑看下配置文件

[root@linux-151 yum.repos.d]# vim CentOS7-Base-163.repo

8.11 安装软件包的三种方法/rpm包用法/yum用法,搭建本地仓库_第1张图片

清理之前本地yum缓存

[root@linux-151 yum.repos.d]# yum clean all

已加载插件:fastestmirror

正在清理软件源: base extras updates

Cleaning up everything

Cleaning up list of fastest mirrors

 

安装zsh包

[root@linux-151 yum.repos.d]# yum install -y zsh

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

正在解决依赖关系

--> 正在检查事务---> 软件包 zsh.x86_64.0.5.0.2-28.el7 将被 安装--> 解决依赖关系完成

 

依赖关系解决

 

=================================================================================

Package 架构 版本 源 大小

=================================================================================

正在安装:

zsh x86_64 5.0.2-28.el7 base 2.4 M

 

事务概要

=================================================================================

安装 1 软件包

 

总下载量:2.4 M

安装大小:5.6 M

Downloading packages:

zsh-5.0.2-28.el7.x86_64.rpm | 2.4 MB 00:00:02

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

正在安装 : zsh-5.0.2-28.el7.x86_64 1/1

验证中 : zsh-5.0.2-28.el7.x86_64 1/1

 

已安装:

zsh.x86_64 0:5.0.2-28.el7

 

完毕!

 

yum list //生成yum缓存

安装扩展源epel

  • yum install -y epel-release

  • yum list |grep epel

[root@linux-151 yum.repos.d]# yum list |grep epel|head -15

* epel: ftp.cuhk.edu.hk

epel-release.noarch 7-9 @extras

0ad.x86_64 0.0.22-1.el7 epel

0ad-data.noarch 0.0.22-1.el7 epel

0install.x86_64 2.11-1.el7 epel

2048-cli.x86_64 0.9.1-1.el7 epel

2048-cli-nocurses.x86_64 0.9.1-1.el7 epel

2ping.noarch 3.2.1-2.el7 epel

389-admin.x86_64 1.1.46-1.el7 epel

389-admin-console.noarch 1.1.12-1.el7 epel

389-admin-console-doc.noarch 1.1.12-1.el7 epel

389-adminutil.x86_64 1.1.21-2.el7 epel

389-adminutil-devel.x86_64 1.1.21-2.el7 epel

389-console.noarch 1.1.18-1.el7 epel

389-ds.noarch 1.2.2-6.el7 epel

 

二、yum下载rpm包

  • yum install -y 包名 --downloadonly

  • ls /var/cache/yum/x86_64/7/

  • yum install -y 包名 --downloadonly --downloaddir=路径

  • yum reinstall -y 包名 --downloadonly --downloaddir=路径

有时候我们需要下载rpm包,而仅仅是复制给其他机器使用,yum工具安装rpm包时,首先下载这个rpm包,然后再去安装,所以我们可以做到只下载而不安装。

1. 下载rpm包而不安装的命令如下:# yum install -y 2ping.noarch --downloadonly

[root@linux-151 yum.repos.d]# yum install -y 2ping.noarch --downloadonly

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* epel: ftp.cuhk.edu.hk

正在解决依赖关系

--> 正在检查事务---> 软件包 2ping.noarch.0.3.2.1-2.el7 将被 安装--> 解决依赖关系完成

 

依赖关系解决

 

=================================================================================

Package 架构 版本 源 大小

=================================================================================

正在安装:

2ping noarch 3.2.1-2.el7 epel 62 k

 

事务概要

=================================================================================

安装 1 软件包

 

总下载量:62 k

安装大小:204 k

Background downloading packages, then exiting:

警告:/var/cache/yum/x86_64/7/epel/packages/2ping-3.2.1-2.el7.noarch.rpm.2289.tmp: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY

2ping-3.2.1-2.el7.noarch.rpm.2289.tmp 的公钥尚未安装

2ping-3.2.1-2.el7.noarch.rpm | 62 kB 00:00:01

exiting because "Download Only" specified

 

注:yum默认下载到/var/cache/yum/x86_64/7/XXX/packages/ 下面;这里的XXX指的是base,updates,epel等,它跟yum list最右侧的字符串一致。

[root@linux-151 yum.repos.d]# ls /var/cache/yum/x86_64/7/epel/packages/2ping-3.2.1-2.el7.noarch.rpm zmap-2.1.1-1.el7.x86_64.rpm

hiredis-0.12.1-1.el7.x86_64.rpm

2. 下载到指定的目录下:--downloaddir=目录

[root@linux-151 yum.repos.d]# yum install -y zmap --downloadonly --downloaddir=/tmp/

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* epel: ftp.cuhk.edu.hk

正在解决依赖关系

--> 正在检查事务---> 软件包 zmap.x86_64.0.2.1.1-1.el7 将被 安装--> 正在处理依赖关系 libhiredis.so.0.12()(64bit),它被软件包 zmap-2.1.1-1.el7.x86_64 需要--> 正在检查事务---> 软件包 hiredis.x86_64.0.0.12.1-1.el7 将被 安装--> 解决依赖关系完成

 

依赖关系解决

 

================================================================================================

Package 架构 版本 源 大小

================================================================================================

正在安装:

zmap x86_64 2.1.1-1.el7 epel 124 k

为依赖而安装:

hiredis x86_64 0.12.1-1.el7 epel 29 k

 

事务概要

================================================================================================

安装 1 软件包 (+1 依赖软件包)

 

总下载量:154 k

安装大小:378 k

Background downloading packages, then exiting:

exiting because "Download Only" specified

[root@linux-151 yum.repos.d]# ls /tmp

1.txt.bz2

1.txt.gz

1.txt.xz

222

hiredis-0.12.1-1.el7.x86_64.rpm

systemd-private-7d28b5738df345b0bb18e85cef932021-vmtoolsd.service-43orfA

test

yum_save_tx.2018-04-19.22-50.Av9TET.yumtx

yum_save_tx.2018-04-19.22-50.ClMWHy.yumtx

yum_save_tx.2018-04-19.22-56.v0Q9N8.yumtx

zmap-2.1.1-1.el7.x86_64.rpm

 

如果已经安装过的包使用—downloadnoly就不起作用了,他会提示这个包已经安装过了,根本下载不下来:

[root@linux-151 yum.repos.d]# yum install -y tree --downloadonly --downloaddir=/tmp/

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* epel: ftp.cuhk.edu.hk

软件包 tree-1.6.0-10.el7.x86_64 已安装并且是最新版本

无须任何处理

 

3. 如果就是想下载已经安装过过的RPM包,使用命令reinstall

[root@linux-151 yum.repos.d]# yum reinstall -y tree --downloadonly --downloaddir=/tmp/

已加载插件:fastestmirror

Loading mirror speeds from cached hostfile

* epel: ftp.cuhk.edu.hk

正在解决依赖关系

--> 正在检查事务

---> 软件包 tree.x86_64.0.1.6.0-10.el7 将被 已重新安装

--> 解决依赖关系完成

 

依赖关系解决

 

================================================================================================

Package 架构 版本 源 大小

================================================================================================

重新安装:

tree x86_64 1.6.0-10.el7 base 46 k

 

事务概要

================================================================================================

重新安装 1 软件包

 

总下载量:46 k

安装大小:87 k

Background downloading packages, then exiting:

tree-1.6.0-10.el7.x86_64.rpm | 46 kB 00:00:00

exiting because "Download Only" specified

[root@linux-151 yum.repos.d]# ls /tmp/1.txt.bz2

1.txt.gz

1.txt.xz

222

hiredis-0.12.1-1.el7.x86_64.rpm

systemd-private-7d28b5738df345b0bb18e85cef932021-vmtoolsd.service-43orfA

test

tree-1.6.0-10.el7.x86_64.rpm

 

三、 源码包安装

  • cd /usr/local/src/

  • wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.32.tar.gz

  • tar zxvf httpd-2.2.32.tar.gz

  • cd httpd-2.2.32

  • ./configure --prefix=/usr/local/apache2

  • make

  • make install

  • 卸载就是删除安装的文件

 

解包后,我们开始安装前要查看 INSTALL ;REDME 两个安装指导文件,查看怎么安装, 安装源码包通常有3个步骤:

./configure //这一步可以定制功能,./configure --prefix=/usr/local/apache2 定义安装目录

make //编译成电脑识别的二进制文件

make install //用于创建相关软件的存放目录和配置文件

下载源码包

[root@linux-151 yum.repos.d]# cd /usr/local/src/

[root@linux-151 src]# wget https://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz

--2018-04-19 22:56:41-- https://mirrors.cnnic.cn/apache/httpd/httpd-2.2.34.tar.gz

正在解析主机 mirrors.cnnic.cn (mirrors.cnnic.cn)... 101.6.6.177, 2402:f000:1:416:101:6:6:177

正在连接 mirrors.cnnic.cn (mirrors.cnnic.cn)|101.6.6.177|:443... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:7684419 (7.3M) [application/octet-stream]

正在保存至: “httpd-2.2.34.tar.gz”

 

100%[======================================================>] 7,684,419 1.20MB/s 用时 7.3s

 

2018-04-19 22:56:49 (1.00 MB/s) - 已保存 “httpd-2.2.34.tar.gz” [7684419/7684419])

 

[root@linux-128 src]# ls

httpd-2.2.34.tar.gz

 

注意:将源码包移动到/usr/local/src 下;约定,将源码包都放在这个文件下

解包

[root@linux-151 httpd-2.2.34]# tar -zxvf httpd-2.2.34.tar.gz[root@linux-151 src]# lshttpd-2.2.34 httpd-2.2.34.tar.gz[root@linux-151 src]# cd httpd-2.2.34[root@linux-151 httpd-2.2.34]# lsABOUT_APACHE CHANGES httpd.dsp libhttpd.dep NOTICE serveracinclude.m4 config.layout httpd.mak libhttpd.dsp NWGNUmakefile srclibApache.dsw configure httpd.spec libhttpd.mak os supportbuild configure.in include LICENSE README testBuildAll.dsp docs INSTALL Makefile.in README.platforms VERSIONINGBuildBin.dsp emacs-style InstallBin.dsp Makefile.win README-win32.txtbuildconf httpd.dep LAYOUT modules ROADMAP

 

1 ./configure --prefix=/usr/local/apache2

[root@linux-151 httpd-2.2.34]# ./configure --prefix=/usr/local/apache2

checking for chosen layout... Apache

checking for working mkdir -p... yes

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking target system type... x86_64-unknown-linux-gnu

 

Configuring Apache Portable Runtime library ...

 

checking for APR... reconfig

configuring package in srclib/apr now

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking target system type... x86_64-unknown-linux-gnu

Configuring APR library

Platform: x86_64-unknown-linux-gnu

checking for working mkdir -p... yes

APR Version: 1.5.2

checking for chosen layout... apr

checking for gcc... no

checking for cc... no

checking for cl.exe... no

configure: error: in `/usr/local/src/httpd-2.2.34/srclib/apr':

configure: error: no acceptable C compiler found in $PATH

See `config.log' for more details

configure failed for srclib/apr

注意: checking for gcc... no;没有安装gcc编译器

[root@linux-151 httpd-2.2.34]# yum install -y gcc[root@linux-151 httpd-2.2.34]# ./configure --prefix=/usr/local/apache2

 

  • 验证是否成功命令:echo $?,返回值0,说明没有问题。

[root@linux-151 httpd-2.2.34]# echo $?0

 

2 进行编译:make

[root@linux-151 httpd-2.2.34]# make

 

  • 执行完后可以echo $? ,0表示正常

[root@linux-151 httpd-2.2.34]# echo $?0

 

3 安装:make install

[root@linux-151 httpd-2.2.34]# make install

  • 执行完后可以echo $? ,0表示正常

 

 

扩展

1. 配置yum源优先级  http://ask.apelearn.com/question/7168

2. 把源码包打包成rpm包   http://www.linuxidc.com/Linux/2012-09/70096.htm

[root@linux-151 httpd-2.2.34]# echo $?0

 

查看apache2目录

[root@linux-151 httpd-2.2.34]# ls /usr/local/apache2/

 

 

 

你可能感兴趣的:(8.11 安装软件包的三种方法/rpm包用法/yum用法,搭建本地仓库)