设为首页 收藏本站
查看: 783|回复: 0

[经验分享] yum的更多用法和源码编译安装apache

[复制链接]

尚未签到

发表于 2018-11-19 11:24:40 | 显示全部楼层 |阅读模式
  一、yum的更多用法
  上篇文章介绍了yum的基础用法及yum源的基本配置,除此之外yum还有更多的用法,以下将继续介绍yum的使用方法。
  1、yum-config-manager工具,该工具可以自动生成yum的repo文件,而不需要手动创建编写,使用方法如下:
  用法:yum-config-manager [options] [section]
  -add-repo:添加仓库

# 添加一个阿里云的yum仓库
yum-config-manager -add-repo=http://mirrors.aliyun.com/centos/7.2.1511/os/x86_64/  --enable:启用某个仓库
  --disable:禁用某个仓库
#禁用名为base的仓库
[root@liang yum.repos.d]# yum-config-manager --disable base
#启用名为base的仓库
[root@liang yum.repos.d]# yum-config-manager --enable base  2、包组管理,有些程序的安装包不止一个,而是一组程序包,这时可以使用包组的相关命令。yum工具从3.4.2版本之后包组管理命令分开为两个,比如groups list、groups install,3.4.2之前版本的组管理命令是一个,比如grouplist、groupinstall。以下将以3.4.2之后版本为例介绍。
  groups list:显示组包名称
[root@fengl bin]# yum groups list  groups install:安装组包
#安装名为"Basic Web Server"的组包
[root@fengl bin]# yum groups install "Basic Web Server"  groups remove:移除组包
#移除名为"Basic Web Server"的组包
[root@fengl bin]# yum groups remove "Basic Web Server"  groups info:显示组包信息,“+”表示要安装的包,“=”表示已安装的包
#显示名为"Basic Web Server"组包的详细信息
[root@fengl bin]# yum groups info "Basic Web Server"  groups update:更新包组
#更新名为"Basic Web Server"的组包
[root@fengl bin]# yum groups update "Basic Web Server"  在CentOS7中,包组的命令有多种方式,比如groups info ,也可以写成group info或者groupinfo
  

  3、yum的repo配置文件中也可以使用变量,在有些复杂的环境中使用变量能够大大减少配置量。
  $releasever:当前OS的发行版的版本号,例如CentOS6.6 x86_64,其主版本为6

  $basearch:平台,如 i386,i486,i586,x86_64等
  $YUM0-$YUM9:自定义变量
  例如:baseurl=http://repo.magedu.com/centos/$releasever/$basearch 且当前系统版本为CentOS6.6 x86_64,则baseurl表示的路径为: http://repo.magedu.com/centos/6/x86_64

  
  4、本地创建yum仓库,有时需要自己建立一个yum仓库,即需要创建repodata目录及其相关yum的索引xml文件等,创建时使用的命令为:createropo,用法如下:
  用法:createrepo [options]
  一般情况下直接使用createrepo命令加目录即可,比如我的rpm包程序都放在/test目录下,可以直接使用creatrepo命令创建yum仓库
#为/test目录下的rpm包创建仓库
[root@fengl testdir]# createrepo /test/
#创建完之后可以在/test目录下看到repodata目录,里面存放有相关的仓库信息
[root@fengl repodata]# ls
01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2
401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
repomd.xml  如果/test目录下的rpm包有增加、删除或更新等变动时,需要更新源数据信息时,可以使用--update选项
[root@fengl /]# createrepo --update /test  二、源码编译安装
  1、源码编译安装主要分为3个步骤:
  (1)运行configure脚本,可以动过该脚本指定以下信息
  --prefix:指定默认安装路径
  --sysconfdir:指定配置文件安装路径
  --with-CAPABILITY:依赖的程序包
  --enable-FEATURE:启用某个特性
  --disable-FEATURE:禁用某个特性
  (2)运行make命令,完成项目构建,即根据makefile文件,构建引用程序
  (3)运行make install命令,完成安装,即复制文件到相应的路径
  

  2、源码安装apache示例
  第1步:先yum安装develpment tools
  

  第2步:下载apache源码程序包,并解压
[root@fengl test]# tar -jxvf httpd-2.2.29.tar.bz2  第3步:进入解压后的程序包目录下,查看configure文件,并运行,指定安装路径等
[root@fengl httpd-2.2.29]# ./configure --prefix=/usr/local/http2 --sysconfdir=/etc/http2/  第4步:执行make命令,完成项目构建
[root@fengl httpd-2.2.29]# make  第5步:执行make install,完成安装,安装完成后会在指定么目录下生成相应的文件
[root@fengl httpd-2.2.29]# make install
# /etc/http2下的文件
[root@fengl http2]# ll
total 92
drwxr-xr-x. 2 root root  4096 Aug 24 23:01 extra
-rw-r--r--. 1 root root 13702 Aug 24 23:01 httpd.conf
-rw-r--r--. 1 root root 12958 Aug 24 23:01 magic
-rw-r--r--. 1 root root 53011 Aug 24 23:01 mime.types
drwxr-xr-x. 3 root root  4096 Aug 24 23:01 original
# /usr/local/http2下的文件
[root@fengl http2]# ll
total 56
drwxr-xr-x.  2 root root  4096 Aug 24 23:01 bin
drwxr-xr-x.  2 root root  4096 Aug 24 23:01 build
drwxr-xr-x.  2 root root  4096 Aug 24 23:01 cgi-bin
drwxr-xr-x.  3 root root  4096 Aug 24 23:01 error
drwxr-xr-x.  2 root root  4096 Aug 23  2014 htdocs
drwxr-xr-x.  3 root root  4096 Aug 24 23:01 icons
drwxr-xr-x.  2 root root  4096 Aug 24 23:01 include
drwxr-xr-x.  3 root root  4096 Aug 24 23:01 lib
drwxr-xr-x.  2 root root  4096 Aug 24 23:01 logs
drwxr-xr-x.  4 root root  4096 Aug 24 23:01 man
drwxr-xr-x. 14 root root 12288 Aug 23  2014 manual
drwxr-xr-x.  2 root root  4096 Aug 24 23:01 modules  第6步:将apache的man帮助文件添加到man的配置文件(/etc/man_db.conf)中

DSC0000.png

  第7步:将apache服务中的/bin目录下的可执行命令添加到PATH变量中
#在/etc/profile.d/目录下创建http2.sh文件,并添加PATH变量
[root@fengl profile.d]# vim /etc/profile.d/http2.sh
#查看添加的PATH变量
[root@fengl profile.d]# cat /etc/profile.d/http2.sh
PATH=$PATH:/usr/local/http2/bin
#加载刚添加的变量
[root@fengl profile.d]# . http2.sh
#查看是否加载
[root@fengl profile.d]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/http2/bin  第8步:启动apache服务
[root@fengl bin]# apachectl start  第9步:测试(需要更改防火墙设置)
DSC0001.png

  三、当天作业

  1、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序
[root@fengl bin]# cat sz.sh
#!/bin/bash
declare -a arr
until echo ${arr
  • } | grep -E "^[[:digit:]' ']+$" &> /dev/null;
    do
    read -p "请输入一组数字,每个数字以空格隔开:" -a arr
    done
    up () {
    local i=$[`echo ${#arr
  • }`-1]
    while [ $i -ge 0 ] ;
    do
        local n=$[i-1]
        while [ $n -ge 0 ] ;
        do
            if [[ ${arr[$i]} -lt ${arr[$n]} ]] ;then
                local x=${arr[$i]}
                local y=${arr[$n]}
                arr[$i]=$y
                arr[$n]=$x
            fi
            let n--
        done
        let i--
    done
    echo ${arr
  • }
    }
    down () {
    local i=$[`echo ${#arr
  • }`-1]
    while [ $i -ge 0 ] ;
    do
            local n=$[i-1]
            while [ $n -ge 0 ] ;
            do
                    if [[ ${arr[$i]} -gt ${arr[$n]} ]] ;then
                            local x=${arr[$i]}
                            local y=${arr[$n]}
                            arr[$i]=$y
                            arr[$n]=$x
                    fi
                    let n--
            done
            let i--
    done
    echo ${arr
  • }
    }
    echo "升序排列为:"
    up
    echo "降序排列为:"
    down  
    DSC0002.gif
      





  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636955-1-1.html 上篇帖子: 如何查看已经安装的nginx、apache、mysql和php的编译参数 下篇帖子: 1.Apache StratOS介绍
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表