Linux软件包管理(YUM)及编译安装

YUM

一、yum安装使用:

1Yumrpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具

2yum repositoryyum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)

3yum客户端配置文件:

/etc/yum.conf:为所有仓库提供公共配置

/etc/yum.repos.d/*.repo:为仓库的指向提供配置

仓库指向的定义:

[repositoryID]

name=Some name for this repository

baseurl=url://path/to/repository/

enabled={1|0}

gpgcheck={1|0}

gpgkey=URL

enablegroups={1|0}

failovermethod={roundrobin|priority}

默认为:roundrobin,意为随机挑选;

cost= 默认为1000

 blob.png

 配置好的文件后,做更新:

 blob.png

#yum clean all  清理本地缓存

#yum makecache  构建本地缓存

4yum-config-manager的使用:

1yum-config-manager的安装:

A、该命令在最小化安装的系统上是没有的,需要安装yum-utils-1.1.31-34.el7.noarch.rpm这个RPM包,如果是光盘安装,需要另外安装两个依赖包:python-chardet.noarch 0:2.2.1-1.el7_1 python-kitchen.noarch 0:1.1.1-5.el7;也可以通过网络安装或者本地的YUM仓库安装,命令为:yum localinstall yum-utils-1.1.31-34.el7.noarch.rpm

B、如果是yum安装,直接执行# yum install yum-utils -y

   2yum-config-manager的选项使用:

    yum-config-manager –add-repo=“仓库路径” 添加仓库

    yum-config-manager –disable “仓库名"      禁用仓库

    yum-config-manager –enable  “仓库名”     启用仓库

5yum的命令使用:

  1 #yum repolist (显示仓库列表)

   blob.png

  2#yum list (显示仓库的所有程序包)或者yum list all (显示仓库的所有程序包和系统已安装的程序包)

  3 #yum install (程序安装);yum reinstall(程序重新安装)

  4#yum update (程序升级);yum downgrade (程序降级)

  5#yum check-update (检查可升级)

  6#yum remove (卸载程序)

  7#yum info (查看程序的详细信息)

   blob.png

  8#yum provides (查看程序包由哪些程序提供)

   blob.png

  9#yum search (搜索程序包名,属于模糊搜索)

  blob.png

  10#yum replist (查看程序的依赖程序)

  blob.png

  11#yum history (查看yum安装的历史)

      到日志文件查看:

  blob.png

     使用命令yum history查看:

  blob.png

  12#yum history info 6

  blob.png

  13#yum history undo 7  (相当于把历史文件里面的卸载步骤给取消,即为安装。)

  blob.png

  blob.png

 blob.png

   yum的命令行选项:只能单一次安装,不能够同时启动多个安装命令

–nogpgcheck:禁止进行gpgcheck

-y: 自动回答为“yes

-q:静默模式

–disablerepo=repoidglob:临时禁用此处指定的repo

–enablerepo=repoidglob:临时启用此处指定的repo

–noplugins:禁用所有插件

二、本地包和包组的使用:

    1、安装及升级本地程序包:

yum localinstall rpmfile1 [rpmfile2] […]

(install替代)

yum localupdate rpmfile1 [rpmfile2] […]

(update替代)

   2、包组管理的相关命令:

yum groupinstall group1 [group2] […]  安装包组

yum groupupdate group1 [group2] […] 升级包组

yum grouplist [hidden] [groupwildcard] […] 查看包组情况(含安装与未安装)[hidden]为查看隐藏包组

yum groupremove group1 [group2] […]  删除包组

yum groupinfo group1 […]   包组信息页内容查看

三、如何使用本地光盘作为YUM仓库:

1、光盘挂载:

   #mount /dev/cdroom /mnt/cdrom  (手动挂载,机器重启就丢失)

   Centos6autofs自动挂载:/misc/cd  (访问即刻挂载上去)

2、创建本地配置文件:

   [cdrom]

baseurl=file:///mnt/cdrom(此处,建议优先使用这路径:baseurl=file:///misc/cd

gpgcheck=0

3yumrepo配置文件中可用的变量:

$releasever: 当前OS的发行版的主版本号

$arch: 平台,i386,i486,i586,x86_64

$basearch:基础平台;i386

$YUM0-$YUM9:自定义变量

4、创建yum仓库:

createrepo [options] <directory>

 

 

 

程序包编译

一、程序包编译安装:

1Application-VERSION-release.src.rpm–> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装

2)源代码–>预处理–>编译–>汇编–>链接–>执行

源代码组织格式:

多文件:文件中的代码之间,很可能存在跨文件依赖关系

CC++make (项目管理器,configure –>

Makefile.in –> makefile)

c/c++编译器: gcc

java: maven    

3 开发工具:

      编译C源代码:

准备:提供开发工具及开发环境

开发工具:make, gcc

开发环境:开发库,头文件

glibc:标准库

  实现:通过“包组”提供开发组件

CentOS 6:

Development Tools

Server Platform Development

CentOS 7:

Development Tools

Development and Creative Workstation

4)安装步骤:(以下三个步骤必须在解压的源码目录下执行)

第一步:configure脚本

选项:指定安装位置、指定启用的特性   –help: 获取其支持使用的选项

选项分类:

安装路径设定:

–prefix=/PATH: 指定默认安装位置,默认为/usr/local/

–sysconfdir=/PATH:配置文件安装位置

System types:支持交叉编译

Optional Features: 可选特性

–disable-FEATURE

–enable-FEATURE[=ARG]

       Optional Packages: 可选包,

–with-PACKAGE[=ARG],依赖包

–without-PACKAGE,禁用依赖关系

    通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile

   autoconf: 生成configure脚本

   automake:生成Makefile.in

  注意:安装前查看INSTALLREADME

第二步:make   根据makefile文件,构建应用程序

 第三步:make install   复制文件到相应路径

5)安装后的配置:

A 二进制程序目录导入至PATH环境变量中;

编辑文件/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

B 导入库文件路径

编辑/etc/ld.so.conf.d/NAME.conf

添加新的库文件所在目录至此文件中

让系统重新生成缓存:ldconfig[-v]

C 导入头文件

基于链接的方式实现:ln -sv

  D 导入帮助手册

编辑/etc/man.config|man_db.conf文件

添加一个MANPATH

 

编译安装事例:

1、  yum的配置和使用;包括yum repository的创建

blob.png

2、  编译安装apache 2.2源码包,并启动此服务(下面以安装http为例)

安装前的开发工具包组安装:

blob.png

 1)先从本地ftp服务器上下载源码包,如下图。

 blob.png

 (2)使用命令#tar xvf httpd-2.2.29.tar.bz2,如下图:

 blob.png

 (3)解压完成后,进入源码解压目录下:

 blob.png

 (4)执行前,先ls看看/usr/local目录下是否存在同名的目录;执行命令# ./configure –prefix=/usr/local/httpd –sysconfdir=/etc/httpd,指定了安装的目录和配置文件存放目录

 blob.png

 blob.png

 5)生成了Makefile文件,并没有报错,这说明前面的步骤正确,如下图:

 blob.png

 (6)至此,可以开始编译;#make #make install 可以分开执行。在这,就一起执行。

 blob.png

 (7)完美编译安装完成:

 blob.png

 blob.png

 (8)安装后的配置管理部署:

  A、配置环境变量:

 blob.png

 blob.png

  B、库文件的配置:

 blob.png

 blob.png

  Cinclude头文件的配置:

   #cd /usr/include

   #ln -s /usr/local/httpd/include httpd

 blob.png

  Dman帮助文件的配置:

 blob.png

 

 http启动、重启、停止测试:

 blob.png

 

 

 

原创文章,作者:Aaron_wang,如若转载,请注明出处:http://www.178linux.com/40189

(1)
Aaron_wangAaron_wang
上一篇 2016-08-26 09:11
下一篇 2016-08-26 09:11

相关推荐

  • nfs服务部署wordpress

    NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同…

    2017-04-28
  • 误删除libc.so.6时,该怎么恢复

           一周一周光阴似流水,转瞬即逝,又到了该说点什么的时候了。这周老师给我们出了一道实验题,内容是当你不小心误删除了libc.so.6这个库文件时,怎么恢复。意不意外?惊不惊喜?那下面就来简单说说(呃……为什么不是详细说说呢,因为这个这个水平有限,也只能是理解多少,给…

    2017-08-11
  • linux用户和组及其配置

    LINUX用户和组概念及相关配置 1.   用户 我们在使用linux过程中,最直观的就是用户。用户就是我们要登录、操作的那个人。系统验证密码的过程就是在验证“你就是你”的过程。用户分为管理员和普通用户,计算机能识别的语言就是一堆的数字。你所看到的用户名计算机也会把它转化为数字,叫做ID号。管理员的ID为0,普通用户分为两种,一种是系统用…

    Linux干货 2016-10-24
  • 马哥教育-第一周作业

    第一部分:计算机组成及功能 电子真空管的出现促使了计算机的诞生; 根据冯●诺依曼的哲学思想,计算机的组成分为五大部分。分别为: 1.     运算器 2.     控制器 3.     存储器 4.   &nb…

    Linux干货 2016-12-04
  • 创建用户、用户组

    创建用户、用户组                  1解释Linux的安全模型   2解释用户帐号和组群帐号的目的   3用户和组管理命令   4理解并设置文件权限 5默认权限 6特殊权限 …

    Linux干货 2016-08-08
  • N25第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -a usersh nologin=0 login=0 usersh=($(cut -d’:’ -f7 /etc/passwd)) ##数组赋值时需…

    Linux干货 2017-03-04