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
下一篇 2016-08-26

相关推荐

  • 马哥教育网络班21期-第八周课程练习

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 设备 使用场景 功能 区别 集线器 局域网 共享同一网络 不能分隔冲突域 网桥 局域网 连接不同网段,拓展局域网 端口少,可以分隔冲突域 二层交换机 局域网 连接不同局域网段,数据交换 端口更多,可以分隔冲突域,速率更快 三层交换机 局域网,广域网 路由,高速数据交换,分隔广播域…

    Linux干货 2016-09-08
  • 用户与用户组相关的配置文件与命令总结

    Linux 中用户与用户组相关的配置文件与命令总结 用户与用户组 UID、GID 名称解析与解析库(passwd、group、shadow、gshadow) 用户信息库/etc/passwd 用户密码信息/etc/shadow 组的信息库/etc/group 组的密码信息/etc/gshadow 用户管理命令 用户组管理命令 用户与用户组 Linux是一种多…

    2016-10-23
  • 基于lamp实现wordpress(php-rpm)与phpMyAdmin(pph-rpm+https支持)

    前言    踩了好多坑终于把想象中的样子搭建出来了。真的是,只有遇到问题了,然后扎耳挠腮把问题解决了,才是真的学到了。此次环境我们采用lamp架构,并且通过fastcgi让httpd和php进行通信。当然所有的一切都是在同一台主机上实现。本次安装的应用是phpMyAdmin-4.4.14.1和wordpress-4.3.1

    Linux干货 2016-12-26
  • 马哥教育21期网络班—第六周课程+练习—-成长进行时

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost ~]# cp /etc/rc.d/rc.sysinit /tmp/rc.sysinit&nbs…

    Linux干货 2016-08-03
  • zabbix之报警功能的实现

    一、注册微信公众号 首先申请微信公众平台https://mp.weixin.qq.com/一个人最多申请5个公众号,所以还是可以的 申请完之后就可以根据腾讯的提示使用微信公众号了,然后用你自己的微信扫描关注微信号。 就可以看到用户数了,接下来的就要使用的用户的微信ID号了。点击用户查看用户的微信ID号。在浏览器查看用户的微信ID号。就是那个红色的ID了。 h…

    Linux干货 2017-03-27
  • Linux基本知识之Vim编辑器

    vim文本编辑器:    vim是Linux系统上的最著名的文本/代码编辑器,也是早年的vi编辑器的加强版,而gVim则是其windows版。它的最大特色是完全使用键盘命令进行编辑,脱离了鼠标操作虽然使得入门变得困难,但上手之后键盘流的各种巧妙组合操作却能带来极大幅度的效率的提升。 (1)打开文件与关闭文件:     …

    Linux干货 2016-08-10