yum命令用法及源码的编译

 一:yum

何为yum?

yum是rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,是up2date 的替代工具。

1.命令格式:
    yum [options] [command] [package …]
2.yum客户端配置文件:
公共配置文件:/etc/yum.conf    为所有仓库提供公共配置

指定仓库配置文件,格式如下:/etc/yum.repos.d/*.repo  

 [repoid]
 name=
 baseurl=ftp://   
         http://
         file://  

3.command的分类及具体用法:
1)显示仓库列表(所有all、已激活enabled、未激活disabled)和程序包(已安装installed、可安装available、可更新updates)
   显示仓库列表:
    yum repolist [all|enabled|disabled]  
   显示程序包:
   yum list(默认为all)
   yum list [all | glob_exp1] [glob_exp2] […]
   yum list {available|installed|updates} [glob_exp1]
2)安装程序包
    install 包名 1 包名2………….

    reinstall 包名 1 包名2 ……….

    localinstall  包名 1 包名2……….    本地安装,指定rpm包,其所依赖的包用yum的repo来装

   >>>yum命令用法及源码的编译常见用法

   安装程序包时常常搭配下列几个选项使用

        –nogpgcheck 当次安装时不检测gpgkey
        -y 自动回答”yes” (常用于脚本中屏蔽交互)
        -q 静默模式,什么也不显示
        注意:同时使用-y -q时,不能使用-yq 或-qy,正确格式为 -y -q或 -q -y
3)升级程序包
    update 包1 包2……………..
    localupdate rpmfile1 rpmfile2……..  升级本地程序包(一般用update替代)
    downgrade package1 [package2] […] (降级)
    check-update   检查可用升级
4)卸载程序包
    remove|erase 包名
5)查看程序包信息
    info […..]    
6)查看某文件由哪个程序包所提供(能够显示相关文件详细信息,包括所属包,仓库,简介)
    provides|whatprovides  filename/command     (”文件名” 支持通配符)
7)本地缓存
     yum clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]  清除缓存

    makecache   构建缓存

    常见用法:创建仓库后,要先清理本地缓存,再显示仓库列表

8)搜索(常在排错中使用)
    search string1 string2………
    deplist  包名    查看指定包所依赖的功能
9)查看yum事务历史及日志
        history [info|list|packages-list|packages-info| summary|addon-info|redo(翻反撤销)|undo(撤销)| rollback(回滚)|new|sync|stats]
        yum history info [number]      查看指定编号具体信息
        yum history undo [number]    撤销操作
日志:/var/log/yum.log(同时配合多窗口和tial -f 可实现日志监控)
10)包组管理
        grouplist    查看所有包组
        groupinfo group1 group2……….  
        groupinstall  group1 group2……….
        groupremove group1 group2……….    只删除包组中的包,不删除依赖包,可以用yum history undo 操作数字来删除包含依赖包。
        groupupdate  group1 group2……….   更新包组中的包
    –disablerepo=repoidglob
    –enablerepo=repoidglob
    createrepo /app/magedudvd  在/app/magedudvd/下创建 repodata 从而将指定目录创建为repo仓库。
4.options:
–nogpgcheck:禁止进行gpg check
-y: 自动回答为“yes”
-q:静默模式
–disablerepo=repoidglob:临时禁用此处指定的repo
–enablerepo=repoidglob:临时启用此处指定的repo

–noplugins:禁用所有插件

二:源码编译(httpd)

步骤一、下载httpd最新版本的源码包并解包

[root@centos6 ~]# rpm -qi httpd
[root@centos6 ~]# tar -xvf httpd-2.2.34.tar.bz2

 步骤二、安装包组Development tools(第一次编译会缺少gcc等必要的包,可以用此包组来安装这些必要的包)

[root@centos6 httpd-2.2.34]# yum groupinstall Development tools -y

步骤三、第一次编译源码,难免会对编译步骤有些生疏,这时可以通过查看源码包下的INSTALL(可以显示快速安装步骤,如图1)、README(功能介绍等)来熟悉安装步骤和相关信息:

yum命令用法及源码的编译 图1

步骤四、  ./configure 

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

注意:第一次编译可能会出现错误,解决方法为:

按照错误提示,用yum search string来查找所需包的名字并安装直到./configure能够正常安装,万事开头难,要学会耐心排错偶O(∩_∩)O~~

如图2,我们刚开始就遇见了缺少apr包这个问题,需要安装apr-devel

[root@localhost httpd-2.4.27]# ./configure --prefix=/app/apache24 --sysconfdir=/etc/apache24 --enable-rewrite
[root@localhost httpd-2.4.27]# yum search apr
[root@localhost httpd-2.4.27]# yum install apr-devel     #安装apr-devel就代表同时安装了它的所有版本

yum命令用法及源码的编译 图2

技术要点:./configureh 通过 ./configure -h 可获取帮助信息,包括httpd生成文件默认目录的设置或其他设置所需选项,以下为./configure 几个常用选项:

  •      –prefix=DIR  设置安装路径(程序家目录,配置文件、二进制文件等常见文件都在此目录下)(系统默认为/usr/local/apache2
  •      –sysconfdir=DIR   设置配置文件安装路径(系统默认为/usr/local/apache2/etc
  •     –bindir=DIR  设置程序二进制文件安装路径(系统默认路径为/usr/local/apache2/bin

步骤五:根据makefile文件,构建应用程序复制文件到相应路径 

[root@localhost httpd-2.4.27]# make&&make install

步骤六、启动服务

[root@centos6 httpd-2.2.34]# /app/apache22/bin/apachectl start

注:第一次安装并开启httpd服务后一般会出现以下两种错误>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

错误一:如图3错误,要求将ServerName设为全局变量,这时我们需要进入配置文件将这行取消注释,如图4

yum命令用法及源码的编译  图3

[root@centos6 httpd-2.2.34]# vim /etc/apache22/httpd.conf

 yum命令用法及源码的编译图4

错误二:如图五,80端口被占用,说明下同原有httpd服务已开,占用此端口,这时需要先关闭系统的httpd服务,再打开新安装的httpd服务

yum命令用法及源码的编译 图五

此步骤完成后,我们可以可以在浏览器输入本机ip地址来测试是否能够显示主页信息,如出现网页一直加载的情况,就有可能是防火墙在捣鬼啦

步骤七:关闭防火墙

 CentOS7:
    systemctl is-active firewalld.service    查看当前是否开启
    systemctl stop firewalld.service        当前关闭
    systemctl is-enabled firewalld.service    查看系统启动时是否开启
    systemctl disable firewalld.service     关闭系统启动时开启
CentOS6
    service iptables stop
查看防火墙
    iptables -vnL
查看网络监听情况(看80端口是否开启)
    netstat -ntl

步骤八、最后测试

打开浏览器—>输入本机ip号—>很开心,测试成功~~~~~

yum命令用法及源码的编译















































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

(0)
yunyunyuyunyunyu
上一篇 2017-08-19 19:54
下一篇 2017-08-19 20:39

相关推荐

  • MySQL/MariaDB数据库基于SSL实现主从复制

    前言 备份数据库是生产环境中的首要任务,重中之重,有时候不得不通过网络进行数据库的复制,由于MySQL/MariaDB的主从复制是明文传送的,如果在生产环境中跨网络传送,数据的安全性就无法完全保证,为了解决这一问题,我们需要一种安全的方式进行传送,即基于SSL加密进行数据传输。 部署配置 实验拓扑 实验环境 系统环境:CentOS6.6 数据库版本:mari…

    Linux干货 2015-06-21
  • 马哥教育首届IT技术博客大赛–复审阶段

    马哥教育首届IT博客大赛大众评审开始了 2016年马哥教育首届IT博客技术大赛,评委初审已结束,正式进入大众评审阶段。。。。 此次博客大赛,虽然因为准备时间比较仓促,举办经验略有不足(快去鄙视小编~😒),但还是收到了10多位优秀的小伙伴共80篇博文(看看人家的劲头,这就是差距呀😓)的参赛作品投递; 其中初审最高…

    Linux干货 2016-06-07
  • 软链接,硬链接区别

    软硬链接涉及文件系统inode, 区分于inode号,硬链接inode号与链接文件相同,且创建链接不占空间.而软链接占名称字节个空间,且inode号与链接文件不同; 两者查找inode号命令都可查找inode号,命令为ls -i,如需查找本目录要加d; 在创建链接环境上,硬链接只能在同分区创建一个,不能跨分区创建;而软链接可以跨分区创建多个链接文件且可以多个…

    Linux干货 2016-10-20
  • 第四周 N28 (用户及权限管理及BRE、ERE应用)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -r /etc/skel /home/tuser1 # chmod -R og= /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 hadoop:x:1000: 3、手动编辑/etc…

    2017-12-22
  • sed命令解析

    处理文件的工具sed Stream EDitor, 行编辑器 一次只读一行,只处理一行,不对源文件做处理,至输出到屏幕上模式空间 sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space), 接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往…

    Linux干货 2016-08-11
  • Linux硬链接、软链接的介绍及两者的区别

    一、硬链接 链接数就是名字的数量: ln(link) 硬链接,多个相同的inode文件(同分区),多个硬链接文件的存在在硬盘上只占用一个文件的容量 创建的硬链接是平等的,inode相同,删除某一个互不影响,其他文件仍然可以使用 硬链接的本质:给一个文件创建多个名字   创建多个硬链接,观察链接数的变化(+1),链接数是几就是有几个文件名 同一分区中…

    Linux干货 2016-08-04