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

相关推荐

  • Linux Basics–part6

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; tmp]# cp /etc/rc.d/init.d/rc.sysinit /tmp/rc.sysinit tmp]# vim rc.sysinit : 进入末行模式 %s@^[[:space:]]\+@#@g 2…

    Linux干货 2017-08-24
  • CentOS 7和CentOS 6 使用gpg工具实现公钥加密和解密

    运行环境: [root@Shining ~]# uname -a Linux Shining.ACG 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x…

    Linux干货 2016-12-01
  • iptables的一个小文档

    iptables:    iptables五表五链        felter表            INPUT   …

    Linux干货 2017-04-30
  • LVM应用

    1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项 ·首先在虚拟机当中添加指定大小的硬盘,添加完成后,系统不会自动扫描添加的硬盘设备,键入命令重新扫描SCSI总线来添加设备   echo "- – -&quo…

    Linux干货 2016-08-30
  • bash基础特性(二)之命令别名,IO重定向,管道

    命令别名alias 别名通俗地说,叫花名,当我们常用的命令,要是输入太长,或经常要进入的目录,可以用一个别名来定义它们,定义别名时尽量不要和已有命令名相同。这样可以提高输入速度和工作效率。定义别名格式:alias 别名=’原命令 参数’ (要是没空格,可以不用引号)例如 : alias vi=vim [root@dxlcentOS ~…

    Linux干货 2017-09-24
  • 文件查找和压缩

    文件查找     在文件系统上查找符合条件的文件;       文件查找:locate, find        非实时查找( 数据库查找) :locate        实时查找:find locate &n…

    Linux干货 2016-08-18