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

相关推荐

  • 网络及TCP

    为什么要使用分层网络模型     降低复杂性     标准化接口     简化模块化设计     确保技术的互操作性     加快发展速度  &nbs…

    2017-05-08
  • 第二周liunx小总结

    第二周liunx小总结 1.“>” ;”>>”   “>” 把STDOUT重定向到文件    “2>”把STDERR重定向到文件   “&>” 把所有输出重定向到文件* >文件内容会覆盖    set -C: 禁止将内容…

    2017-07-20
  • 马哥教育网络19期+第十一周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。 SSL协议基础:     SSL协议位于TCP/IP协议与各种应用层协议之间,本身又分为两层:     (1)、SSL记录协议:建立在可靠传输层协议(TCP)之上,为上层协议提供数据封装、压缩、加密等基本功能。  &nbs…

    Linux干货 2016-08-15
  • 发送mail的几种方法

    mail,顾名思义就是邮件。在这两天上课中,接触了发送mail的一些用法,课下自己在网上又查询补充了一下,总结出来,增加印像。 为了显示清晰,首先我们分别使用两个用户在不同的终端下登录,一个超级管理员root,一个是刚刚创建的用户zhangsan,看下图: 首先先来看一下发送mail用到什么选项:  -s<邮件主题>:指定邮件的主题; …

    2017-07-20
  • 第一周作业

    一·计算机组成及其功能     计算机由硬件和软件组成,他们构成计算机系统 硬件:构成计算机的物理装置包括中央控制器、存储器、输入设备、输出设备。 中央控制器(CPU):由控制器、运算器、寄存器和缓存组成。cpu的主频越高和缓存越大性能越好。主频是中央处理器时钟的频率,通常以兆赫兹(MHZ)为单位。缓存:可以进行高速数…

    Linux干货 2016-12-01
  • Linux用户、组管理和正则表达式的基础命令

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何权限 [root@localhost skel]# cp -r /etc/skel /home/tuser1 [root@localhost skel]# ls -al /home/tuser1 total 12 drwxr-xr-x.…

    Linux干货 2017-07-20