博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018-05-28笔记(软件包安装和卸载)
阅读量:6759 次
发布时间:2019-06-26

本文共 20129 字,大约阅读时间需要 67 分钟。

第七章 软件包安装和卸载

7.1 安装软件包的三种方法

linux下安装软件包有三种方式,rpm安装,yum在线安装,下载源码包安装

rpm工具
rpm(Redhat Package Manager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序。rpm包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷。但是有一个缺点:安装环境必须与编译时的一致或相当;包与包之间存在着相互依赖的情况,安装或卸载包时需要先把依赖的包安装/卸载,如果依赖的包时系统所必须的,那就不能卸载这个包。

yum工具

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

源码包安装

Linux软件的源代码分发是指提供了该软件所有程序源代码的发布形式,需要用户自己编译成可执行的二进制码并进行安装。其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境;缺点是难度较大

7.2rpm工具安装软件包

首先可以 mount /dev/cdrom /mnt 命令把光驱挂载到/mnt目录下,那么你会在/mnt/Packages目录下看到很多.rpm的文件,这些就是RPM包

[root@localhost ~]# mount /dev/cdrom /mnt/mount: block device /dev/sr0 is write-protected, mounting read-only[root@localhost Packages]# ll /mnt总用量 664-rw-rw-r-- 3 root root     14 9月   5 2017 CentOS_BuildTagdrwxr-xr-x 3 root root   2048 9月   5 2017 EFI-rw-rw-r-- 3 root root    227 8月  30 2017 EULA-rw-rw-r-- 3 root root  18009 12月 10 2015 GPLdrwxr-xr-x 3 root root   2048 9月   5 2017 imagesdrwxr-xr-x 2 root root   2048 9月   5 2017 isolinuxdrwxr-xr-x 2 root root   2048 9月   5 2017 LiveOSdrwxrwxr-x 2 root root 641024 9月   5 2017 Packagesdrwxr-xr-x 2 root root   4096 9月   5 2017 repodata-rw-rw-r-- 3 root root   1690 12月 10 2015 RPM-GPG-KEY-CentOS-7-rw-rw-r-- 3 root root   1690 12月 10 2015 RPM-GPG-KEY-CentOS-Testing-7-r--r--r-- 1 root root   2883 9月   6 2017 TRANS.TBL[root@localhost Packages]# ls /mnt/Packages/|head            389-ds-base-1.3.6.1-16.el7.x86_64.rpm389-ds-base-libs-1.3.6.1-16.el7.x86_64.rpmabattis-cantarell-fonts-0.0.25-1.el7.noarch.rpmabrt-2.1.11-48.el7.centos.x86_64.rpmabrt-addon-ccpp-2.1.11-48.el7.centos.x86_64.rpmabrt-addon-kerneloops-2.1.11-48.el7.centos.x86_64.rpmabrt-addon-pstoreoops-2.1.11-48.el7.centos.x86_64.rpmabrt-addon-python-2.1.11-48.el7.centos.x86_64.rpmabrt-addon-vmcore-2.1.11-48.el7.centos.x86_64.rpmabrt-addon-xorg-2.1.11-48.el7.centos.x86_64.rpm

每一个rpm包的名称都由 - 和 . 分成了若干部分。像“abrt-addon-vmcore-2.1.11-48.el7.centos.x86_64.rpm” 这个包, “abrt-addon-vmcore” 为包名, “2.1.11” 则为版本信息, “48.el7.centos” 为发布版本号, “x86_64” 为运行平台。其中运行平台常见的有i386, i586, i686, x86_64 ,需要你注意的是cpu目前是分32位和64位的,i386,i586和i686都为32位平台,x86_64则代表为64位的平台。另外有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。

rpm工具用法
安装一个rpm包
语法: rpm [options] [参数]
Options:
-i:=install,安装
-v:可视化
-h:显示安装进度
在安装一个rpm包时常用附带选项:
--force:强制安装
--nodeps:=no dependent 无依赖安装(忽视与其他包之间的依赖关系)

[root@localhost Packages]# rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm 准备中...                          ################################# [100%]正在升级/安装...   1:libjpeg-turbo-devel-1.2.90-5.el7 ################################# [100%]

说明: 安装有依赖关系的包时,可以先安装其所依赖的包再安装目标包(同时安装存在依赖关系的包),或者使用--force或--nodeps选项进行强行安装。

升级rpm包
语法: rpm [-U] [包名]

[root@localhost Packages]# rpm -Uvh /mnt/Packages/libjpeg-turbo-devel-1.2.90-5.el7.x86_64.rpm准备中...                          ################################# [100%]    软件包 libjpeg-turbo-devel-1.2.90-5.el7.x86_64 已经安装

说明: 如果升级一个已经安装的最新版本的包,执行该命令后无任何操作

卸载一个rpm包
语法: rpm [-e] [包名]
卸载时可以直接跟包名,无需加包的信息;当包之间存在依赖关系时也需要先卸载其依赖包。

[root@localhost Packages]# rpm -e libjpeg-turbo-devel                  #直接卸载了,没有信息输出

查询已安装的rpm包

语法:
rpm [-q] [包名] 查询指定包
rpm [-qa] 查询所有已安装包

[root@localhost Packages]# rpm -q libjpeg-turbolibjpeg-turbo-1.2.90-5.el7.x86_64[root@localhost Packages]# rpm -qa |grep libjpeg-turbo       #rpm -qa会把所有安装的包列出来,太多了,可以通过管道|和grep过滤出来libjpeg-turbo-1.2.90-5.el7.x86_64

查询已安装包的相关信息

语法: rpm [-qi] [包名]
q查询,i信息information

[root@localhost Packages]# rpm -qi libjpeg-turboName        : libjpeg-turboVersion     : 1.2.90Release     : 5.el7Architecture: x86_64Install Date: 2018年05月29日 星期二 20时25分57秒Group       : System Environment/LibrariesSize        : 350387License     : IJGSignature   : RSA/SHA256, 2014年07月04日 星期五 10时55分27秒, Key ID 24c6a8a7f4a80eb5Source RPM  : libjpeg-turbo-1.2.90-5.el7.src.rpmBuild Date  : 2014年06月10日 星期二 11时48分52秒Build Host  : worker1.bsys.centos.orgRelocations : (not relocatable)Packager    : CentOS BuildSystem 
Vendor : CentOSURL : http://sourceforge.net/projects/libjpeg-turboSummary : A MMX/SSE2 accelerated library for manipulating JPEG image filesDescription :The libjpeg-turbo package contains a library of functions for manipulatingJPEG images.

查询某个包安装了哪些文件

语法: rpm [-ql] [包名]

[root@localhost Packages]# rpm -ql libjpeg-turbo/usr/lib64/libjpeg.so.62/usr/lib64/libjpeg.so.62.1.0/usr/share/doc/libjpeg-turbo-1.2.90/usr/share/doc/libjpeg-turbo-1.2.90/ChangeLog.txt/usr/share/doc/libjpeg-turbo-1.2.90/README/usr/share/doc/libjpeg-turbo-1.2.90/README-turbo.txt/usr/share/doc/libjpeg-turbo-1.2.90/change.log

查看某文件的安装包

语法: rpm [-qf] [文件绝对路径]

[root@localhost Packages]# rpm -qf /usr/bin/cdbash-4.2.46-28.el7.x86_64

当不知道其绝对路径时,使用which命令查询

[root@localhost Packages]# rpm -qf `which cd`bash-4.2.46-28.el7.x86_64[root@localhost Packages]# which cd/usr/bin/cd[root@localhost Packages]# rpm -qf /usr/bin/cd           #可以看到这里和rpm -qf `which cd`结果是一样的bash-4.2.46-28.el7.x86_64

反引号``是得到那个命令的结果

列出所有rpm包
命令: yum list

[root@localhost ~]#yum list Failed to set locale, defaulting to CLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: mirrors.btte.net * extras: mirrors.aliyun.com * updates: mirrors.tuna.tsinghua.edu.cnInstalled PackagesNetworkManager-libnm.x86_64                1:1.4.0-12.el7              @anacondaNetworkManager-team.x86_64                 1:1.4.0-12.el7              @anacondazsh.x86_64                                        5.0.2-25.el7_3.1                    updates  zsh-html.x86_64                                   5.0.2-25.el7_3.1                    updates  zziplib.i686                                      0.13.62-5.el7                       base     zziplib.x86_64                                    0.13.62-5.el7                       base   ……Exiting on Broken Pipe注: 第一列是包名,第二列是版本号,第三列是库

说明: 库所在位置有“@”表示已安装;“updates”表示已安装,有新版本,需要升级;其他的表示可安装但还未安装的rpm包。

yum配置文件

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

搜索rpm包

语法: yum search [关键词]或者yum list |grep [关键词]

[root@localhost ~]# yum search vim已加载插件:fastestmirrorLoading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * epel: mirrors.ustc.edu.cn * extras: mirrors.shu.edu.cn * updates: centos.ustc.edu.cn========================================== N/S matched: vim ===========================================beakerlib-vim-syntax.noarch : Files for syntax highlighting BeakerLib tests in VIM editorfluxbox-vim-syntax.noarch : Fluxbox syntax scripts for vimneovim.x86_64 : Vim-fork focused on extensibility and agilityprotobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers descriptionspython2-neovim.noarch : Python client to Neovimpython34-neovim.noarch : Python client to Neovimvim-X11.x86_64 : The VIM version of the vi editor for the X Window Systemvim-common.x86_64 : The common files needed by any version of the VIM editorvim-enhanced.x86_64 : A version of the VIM editor which includes recent enhancementsvim-filesystem.x86_64 : VIM filesystem layoutvim-go.x86_64 : Go development plugin for Vimvim-gtk-syntax.noarch : Vim syntax highlighting for GLib, Gtk+, Gstreamer, and morevim-jellybeans.noarch : A colorful, dark color scheme for Vimvim-minimal.x86_64 : A minimal version of the VIM editorvim-toml.noarch : Vim syntax for TOMLvim-vimoutliner.noarch : Script for building an outline editor on top of Vimxtuple-csvimp-devel.x86_64 : CSVImp development filesapvlv.x86_64 : PDF viewer which behaves like Vimvim-fugitive.noarch : A Git wrapper so awesome, it should be illegalvim-halibut.noarch : Syntax file for the halibut manual toolxtuple-csvimp.x86_64 : xTuple data import utility[root@localhost ~]# yum list |grep vimvim-minimal.x86_64                       2:7.4.160-2.el7               @anacondabeakerlib-vim-syntax.noarch              1.17-13.el7                   epel     fluxbox-vim-syntax.noarch                1.3.7-1.el7                   epel     neovim.x86_64                            0.2.0-2.el7                   epel     protobuf-vim.x86_64                      2.5.0-8.el7                   base     python2-neovim.noarch                    0.1.13-3.el7                  epel     python34-neovim.noarch                   0.1.13-3.el7                  epel     vim-X11.x86_64                           2:7.4.160-4.el7               base     vim-common.x86_64                        2:7.4.160-4.el7               base     vim-enhanced.x86_64                      2:7.4.160-4.el7               base     vim-filesystem.x86_64                    2:7.4.160-4.el7               base     vim-fugitive.noarch                      2.2-8.el7                     epel     vim-go.x86_64                            1.8-3.el7                     epel     vim-gtk-syntax.noarch                    20130716-1.el7                epel     vim-halibut.noarch                       1.2-1.el7                     epel     vim-jellybeans.noarch                    1.6-1.el7                     epel     vim-minimal.x86_64                       2:7.4.160-4.el7               base     vim-toml.noarch                          0-0.1.20180306git624f024.el7  epel     vim-vimoutliner.noarch                   0.4.0-8.el7                   epel     xtuple-csvimp.x86_64                     0.5.4-8.el7                   epel     xtuple-csvimp-devel.x86_64               0.5.4-8.el7                   epel

列出rpm包组

语法: yum grouplist

[root@localhost ~]# yum grouplistFailed to set locale, defaulting to CLoaded plugins: fastestmirrorThere is no installed groups file.Maybe run: yum groups mark convert (see man yum)Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * epel: mirrors.ustc.edu.cn * extras: mirrors.shu.edu.cn * updates: centos.ustc.edu.cnAvailable Environment Groups:   Minimal Install   Compute Node   Infrastructure Server   File and Print Server   Cinnamon Desktop   MATE Desktop   Basic Web Server   Virtualization Host   Server with GUI   GNOME Desktop   KDE Plasma Workspaces   Development and Creative WorkstationAvailable Groups:   Compatibility Libraries   Console Internet Tools   Development Tools   Educational Software   Electronic Lab   Fedora Packager   General Purpose Desktop   Graphical Administration Tools   Haskell   Legacy UNIX Compatibility   Milkymist   Scientific Support   Security Tools   Smart Card Support   System Administration Tools   System Management   TurboGears application framework   XfceDone

安装rpm包

语法: yum install [-y] [包名]

说明: 如果有依赖的包,会把依赖的包同时安装上,如果不加‘-y’选项,则会以与用户交互的方式安装。首先是列出需要安装的rpm包,然后会问用户是否需要安装,输入‘y’则安装,输入‘n’则不安装,这样太麻烦,所以直接加上‘-y’选项,省略与用户之间的交互。

安装rpm包组

语法: yum groupinstall [-y] [包的组名]

如果不知道组名,可用yum grouplist查看(注:进行安装时只能用英文名)。

卸载rpm包

语法: yum remove [-y] [包名]

说明: ‘-y’选项同install的用法,需要注意的是,在使用该命令进行卸载时会将目标文件所依赖的所有包同时删除,所以要谨慎使用!

升级rpm包

语法: yum update [-y] [包名]

说明: 如果不加包名,则会升级系统内所有包以及系统本身(慎用,一般只在刚安装完系统时使用

查看某个命令是由哪个包提供的

语法: yum provides "/*/命令名"

[root@localhost ~]# yum provides "/*/createrepo"Failed to set locale, defaulting to CLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * epel: mirrors.sohu.com * extras: mirrors.shu.edu.cn * updates: centos.ustc.edu.cncreaterepo-0.9.9-28.el7.noarch : Creates a common metadata repositoryRepo        : baseMatched from:Filename    : /usr/lib/python2.7/site-packages/createrepoFilename    : /usr/share/createrepoFilename    : /usr/bin/createrepoFilename    : /etc/bash_completion.d/createrepocreaterepo-0.9.9-28.el7.noarch : Creates a common metadata repositoryRepo        : @baseMatched from:Filename    : /usr/bin/createrepoFilename    : /etc/bash_completion.d/createrepo

说明:一般为/usr/bin/XXX的才是正确的

yum搭建本地光盘yum源
挂载光盘——删除/etc/yum.repos.d/目录所有repo文件——创建新文件dvd.repo——清除原有缓存‘yum clean all’

[root@localhost ~]# cp -r /etc/yum.repos.d /etc/yum.repos.d.bak   备份原.repo文件[root@localhost ~]# cd /etc/yum.repos.d   切换目录[root@localhost yum.repos.d]# lsCentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Sources.repo  CentOS-fasttrack.repoCentOS-CR.repo    CentOS-Media.repo      CentOS-Vault.repo[root@localhost yum.repos.d]# rm -rf ./*删除原有repo文件[root@localhost yum.repos.d]# vim dvd.repo“[dvd]name=install dvd        baseurl=file:///mntenable=1gpgcheck=0”此部分内容除baseurl目录根据个人实际操作更改外,其余内容固定。[root@localhost yum.repos.d]# yum clean all清除系统原有缓存Failed to set locale, defaulting to CLoaded plugins: fastestmirrorCleaning repos: dvdCleaning up everythingCleaning up list of fastest mirrors[root@localhost ~]# yum list ……Available Packages  还未安装的可安装rpm包的库都变成dvdypserv.x86_64                                    2.31-8.el7                           dvd      yum-langpacks.noarch                             0.4.2-7.el7                          dvd      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源,需要删除/etc/yum.repos.d/dvd.repo文件,然后恢复原来的配置文件

yum保留已经安装过的包
可以设置使yum保留已经下载的rpm包,供以后升级或重新安装时使用。
修改/etc/yum.conf即可:

[main]cachedir=/home/soft1/yumcachekeepcache=1                              #这里默认为0,修改成1debuglevel=2

cachedir是放置下载的包的地方,可以修改成自己想放置的位置。

keepcache为1时表示保存已经下载的rpm包
也可以使用yumdownloader命令,只下载不安装,默认下载到当前目录,没有这个命令可以安装yum-util包

[root@localhost ~]# yum install -y yum-utils-1.1.31-45.el7.noarch[root@localhost ~]# yumdownloader yum-utils.noarch 0:1.1.31-45.el7Failed to set locale, defaulting to CLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * epel: mirrors.sohu.com * extras: mirrors.shu.edu.cn * updates: centos.ustc.edu.cnNo Match for argument 0:1.1.31-45.el7yum-utils-1.1.31-45.el7.noarch.rpm                                              | 119 kB  00:00:00     [root@localhost ~]# ls1.sh   2.sh   anaconda-ks.cfg        logdir2018-04-30.log   logfile1.txt  2.txt  loddir_2018-04-30.log  logdir_2018-04-30.log  yum-utils-1.1.31-45.el7.noarch.rpm

利用http服务搭载局域网yum源(这里使用nginx提供http服务)

需要注意的是如果你的nginx服务正常,端口也绑定了80,浏览器不能正常访问的话,请关闭防火墙或者设置放行80端口,关闭selinux

[root@localhost ~]# systemctl stop firewalld
  1. 先创建一个目录,作为存在rpm包的目录
    mkdir /data/yumdata
  2. 拷贝ISO镜像文件中的rpm包到/data/yumdata/
    mount /dev/cdrom /mnt/cp /mnt/Packages/*rpm /data/yumdata

    【小常识】 可以在/data/yumdata/下面创建子目录,然后把rpm包放到子目录下面,也可以被识别到

  3. 创建repository
    createrepo /data/yumdata/```如果rpm包有增加,需要执行

    createrepo --update /data/yumdata/

  4. 安装nginx,提供http服务

    yum install epel-releaseyum install nginx

    当然,如果无法使用yum,需要下载nginx源码包,并编译安装

    配置nginx.conf,使其可以通过IP地址访问到/data/yumdata
    参考配置文件:
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    servername ;
    root /data/yumdata;

    location / {    autoindex on;  //这一步必须要有,这是为了提供目录浏览}error_page 404 /404.html;    location = /40x.html {}error_page 500 502 503 504 /50x.html;    location = /50x.html {}

    }

  5. 客户端上配置repo文件
    cd /etc/yum.repos.dmkdir bakmv *.rep  bak/  //把系统自带的repo挪走vim my.repo //内容如下[aming]name=myserverbaseurl=http://192.168.133.140gpgcheck=0enabled=1
  6. 做一个镜像yum源
    比如可以把系统默认的源给镜像到局域网来,思路是用rsync工具把远程的rpm包同步到这台局域网的对应目录下即可。
    rsync -av rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/  /data/yumdata/
  7. 当局域网的rpm库有更新时,除了服务端执行“createrepo –update /data/yumdata/”外,客户端上也需要执行
    yum  clean all   //删除缓存`

yum更换国内源

可以直接修改配置文件

vi /etc/yum.repos.d/CentOS-Base.repo[base]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/               #把这一行的#号去掉,把后面的 http地址改成国内的源地址gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

也可以删除默认yum源,然后使用wget或者 curl -O命令建立新yum源:

[root@localhost 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  Speed100  1572  100  1572    0     0   8959      0 --:--:-- --:--:-- --:--:--  8982[root@localhost yum.repos.d]# lsCentOS7-Base-163.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repoCentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo说明: 执行完curl命令后,原有yum源文件CentOS-Base.repo被替换成CentOS7-Base-163.repo。查看该yum源文件:[root@localhost yum.repos.d]# vim CentOS7-Base-163.repoCentOS-Base.repoThe mirror system uses the connecting IP address of the client and theupdate status of each mirror to pick mirrors that are updated to andgeographically close to the client.  You should use this for CentOS updatesunless 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 - Base - 163.com#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=osbaseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7#released updates[updates]name=CentOS-$releasever - Updates - 163.com#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates "CentOS7-Base-163.repo" 41L, 1572C

安装扩展源epel

安装一个扩展源文件(epel-release)

[root@localhost yum.repos.d]yum install -y epel-release[root@localhost yum.repos.d]# lsCentOS7-Base-163.repo  CentOS-fasttrack.repo  CentOS-Vault.repoCentOS-CR.repo         CentOS-Media.repo      epel.repoCentOS-Debuginfo.repo  CentOS-Sources.repo    epel-testing.repo####安装完成后,yum.repos.d/下增加“epel.repo”、“epel-testing.repo”两个文件:[root@localhost yum.repos.d]# cat epel.repo[epel]name=Extra Packages for Enterprise Linux 7 - $basearch#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearchfailovermethod=priorityenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7……

查看:

[root@localhost yum.repos.d]# yum list……zulucrypt-doc.noarch                             5.0.1-1.el7                          epel     zulucrypt-libs.x86_64                            5.0.1-1.el7                          epel     zvbi.x86_64                                      0.2.35-1.el7                         epel     ……

增加了很多来自epel库的rpm包。

7.3源码包安装

一般来说,源码包在解压缩后,会有readme之类的说明文件,里面会有安装说明。我们可以通过查看这个文件来知道怎么安装,不过一般的安装步骤基本分三步(./configuer配置参数,make编译,makeinstall安装)

先下载一个源码包!
为了规范 定义所有源码包放到目录“/usr/local/src/”!!!

[root@localhost src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.32.tar.gz

下载完后解压该文件:

[root@localhost src]# tar zxvf httpd-2.2.32.tar.gz[root@localhost src]# lshttpd-2.2.32  httpd-2.2.32.tar.gz

查看文件httpd-2.2.32的内容:

[root@localhost src]# cd httpd-2.2.32[root@localhost httpd-2.2.32]# 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

安装Apache:

[root@localhost httpd-2.2.32]# ./configure --prefix=/usr/local/apache2checking for chosen layout... Apachechecking for working mkdir -p... yes……checking for chosen layout... aprchecking for gcc... nochecking for cc... no

当某命令运行结束后,使用"echo $?"检验其是否正确:

[root@localhost httpd-2.2.32]# echo $?1

当该值为0时表示上一条命令正确,如果值为1则错误。

此处值为1,即上面命令错误,查看其安装过程发现“checking for gcc... no”——表示“gcc”编译器不存在,所以需要先安装gcc编译器:

[root@localhost httpd-2.2.32]# yum install -y gcc…………完毕![root@localhost httpd-2.2.32]# ./configure --prefix=/usr/local/apache2再次安装。[root@localhost httpd-2.2.32]# echo $?0检测,正确。[root@localhost httpd-2.2.32]# make   编译!……[root@localhost httpd-2.2.32]# echo $?0[root@localhost httpd-2.2.32]# make install……[root@localhost httpd-2.2.32]# echo $?0

每次命令执行完后用“echo $?”进行检测,确保其正确。

安装完成!

转载于:https://blog.51cto.com/13736286/2121808

你可能感兴趣的文章
人际猜拳参考答案:
查看>>
【笔记】iOS开发基础笔记<—>
查看>>
Hub与交换机的区别
查看>>
基于Spark GraphX计算二度关系
查看>>
LeetCode - Pascal's Trangle
查看>>
LeetCode OJ - Validate Binary Search Tree
查看>>
JavaScript基础知识之 每日一题(网上搜罗来滴)
查看>>
最好用最方便最适合程序员使用的为知笔记
查看>>
MSI文件的制作
查看>>
计算机基础------网络
查看>>
A线段树
查看>>
SpringMVC视图解析器 转
查看>>
转s2sh三大框架整合过程(仅供参考)
查看>>
构建之法---阅读报告
查看>>
{ubuntu}乱七八糟重命名为1 2 3.....png
查看>>
【树形DP】【P1364】医院放置
查看>>
JSP第5次测试---测试分析
查看>>
区别:并发与并行
查看>>
SQL 2000 无法添加、更新或删除从MSX服务器上发起的作业
查看>>
python18-day5
查看>>