一、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] <directory>

一般情况下直接使用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)中

第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步:测试(需要更改防火墙设置)

三、当天作业

1、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序

[root@fengl bin]# cat sz.sh
#!/bin/bashdeclare -a arr
until echo ${arr[*]} | grep -E "^[[:digit:]' ']+$" &> /dev/null;
do
read -p "请输入一组数字,每个数字以空格隔开:" -a arr
doneup () {
local i=$[`echo ${#arr[*]}`-1]
while [ $i -ge 0 ] ;
dolocal n=$[i-1]while [ $n -ge 0 ] ;doif [[ ${arr[$i]} -lt ${arr[$n]} ]] ;thenlocal x=${arr[$i]}local y=${arr[$n]}arr[$i]=$yarr[$n]=$xfilet n--donelet i--
done
echo ${arr[*]}
}
down () {
local i=$[`echo ${#arr[*]}`-1]
while [ $i -ge 0 ] ;
dolocal n=$[i-1]while [ $n -ge 0 ] ;doif [[ ${arr[$i]} -gt ${arr[$n]} ]] ;thenlocal x=${arr[$i]}local y=${arr[$n]}arr[$i]=$yarr[$n]=$xfilet n--donelet i--
done
echo ${arr[*]}
}
echo "升序排列为:"
up
echo "降序排列为:"
down

转载于:https://blog.51cto.com/fengliang/1842968

yum的更多用法和源码编译安装apache相关推荐

  1. Ubuntu 16.04源码编译安装Apache 2.4.25教程

    这篇文章主要为大家详细介绍了Ubuntu 16.04源码编译安装Apache 2.4.25,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文为大家介绍了Ubuntu 16.04源码编译安装Apa ...

  2. linux源码编译安装apache( httpd-2.4.53)处理服务器支持 TLS Client-initiated 重协商攻击(CVE-2011-1473)

    linux源码编译安装apache 首先我们需要下载相关的依赖包 apr.apr-util.pcre 下载地址 http://archive.apache.org/dist/apr/apr-1.7.0 ...

  3. Linux源码编译安装apache httpd2.4.48

    Apache httpd httpd是Apache基金会的HTTP服务器项目:HTTP Server project httpd-2.4系列本版,依赖于apr-1.4+, apr-util-1.4+ ...

  4. centos7下搭建lnmp环境包含yum源直接安装和源码编译安装,以及php5.3和php7.6版本

    LNMP环境的搭建 一.yum源直接搭建 1.安装epel源 2.安装mariadb 初始化mariadb 3.安装php模块 配置php-fpm 3.安装nginx 配置nginx 4.测试环境是否 ...

  5. 13.Centos软件包管理(rpm,yum,dnf),源码编译安装

    基础知识 软件运行和编译 ABI:Application Binary Interface Windows与Linux不兼容 ELF(Executable and Linkable Format) P ...

  6. apache 编译php mysql_记一次痛苦的过程-------源码编译安装apache+php5+mysql

    当时有我们准备做一个项目,于是我就自己搭建了lamp服务器,直接yum install所有文件,因为centos是一个比较稳重的系统,所以它上面所有软件都不是最新的,apache是2.2.15版本,p ...

  7. CentOS 6.3 源码编译安装Apache

    一:Apache的简介 Apache HTTP Server(简称Apache)它是世界上使用排名第一的Web服务器开源软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用 ...

  8. Thingsboard入门教程:本地环境搭建和源码编译安装,献给thingsboard编译失败的同学,教程不断完善中,文章最后是thingsboard常见编译失败的问题总结

    欢迎加入ThingsBoard技术交流群 这里可复制Q群号:69998183 关注"云腾五洲":获取二开ThingsBoard物联网平台演示 交流社区:ThingsKit-Thin ...

  9. linux 源码编译安装apache

    cc1 是c语言的编译器. 转载于:https://www.cnblogs.com/oxspirt/p/6483137.html

  10. yum安装与源码编译安装实际使用区别

    总结一些我实际生产使用的区别: 1.yum安装不是说不行,都行,各有千秋. 2.yum安装目录不集中,但基本遵循Linux文件夹的作用去划分文件,比如配置文件通常在/etc下. 3.yum安装说的模块 ...

最新文章

  1. 镜头评价指标及测试方法(三)--------测量原理及3D相机调查
  2. Python-EEG工具库MNE-Python详细安装与使用
  3. Spark记录-Scala基础语法
  4. python 0o-377 -0o377_Python : 反射
  5. 蓝牙4.0 vs 蓝牙4.1 vs 蓝牙4.2 vs 蓝牙5.0
  6. bzoj 5090 组题
  7. c语言查找功能的怎么使用方法,求C语言实现查询功能(如果选择3,如何实现查询)...
  8. 牛客网 在线编程 回文链表
  9. SAP Spartacus organization unit list抬头显示所有unit的标题实现
  10. 计算机的硬件性能指标(图片部分资源摘自王道考研资料)
  11. java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher
  12. 银行不放款可以换银行贷款吗?
  13. jsp水果商城系统毕业设计网站成品论文
  14. 2008生产实习 日程安排
  15. 大唐凌烟阁二十四功臣
  16. 狐妖小红娘手游服务器维护多久,狐妖小红娘手游服务器无法登陆怎么办
  17. 视频号如何使用OBS推流?
  18. Android系统(168)---Android 开源项目分类汇总
  19. 看看老牛是如何给陈彤写的信的
  20. 串行外设接口(Serial Peripheral Interface, SPI)逻辑设计部分 - spi_master

热门文章

  1. SQLPLUS SPOOL命令使用
  2. Oracle Net
  3. 110 同步、异步、阻塞、非阻塞
  4. asp.net core 系列 3 依赖注入服务
  5. python系统学习:第二周之字典应用
  6. spring中用到了哪些设计模式
  7. 5月深度学习班第8课rnn_appliacation
  8. 为何time_before 起作用【转】
  9. Nutch数据集的目录具体内容
  10. Vitamio不支持特性列表(本文会持续更新 2013-03-13)