YUM:自动化RPM包管理工具

前端软件包管理器(Yellow Updater Modified,YUM)适用于 CentOS、Fedora、RedHat及 SUSE 中的 Shell 命令行,主要用于管理 RPM 包,与 RPM 工具使用范围类似,YUM 工具能够从指定的服务器自动下载 RPM 包并且安装,还可以自动处理依赖性关系。
使用 RPM 工具管理和安装软件时,会发现 rpm 包有依赖,需要逐个手动下载安装,而YUM 工具的最大便利就是可以自动安装所有依赖的软件包,从而提升效率,节省时间。

1、YUM 工作原理:

学习 YUM,一定要理解 YUM 工作原理,YUM 正常运行,需要依赖两个部分,一是
YUM 源端,二是 YUM 客户端,也即用户使用端。
YUM 客户端安装的所有 RPM 包都是来自 YUM 服务端,YUM 源端通过 HTTP 或者 FTP服务器发布。而 YUM 客户端能够从 YUM 源端下载依赖的 RPM 包是由于在 YUM 源端生成了 RPM 包的基准信息,包括 RPM 包版本号、配置文件、二进制信息、依赖关系等。
YUM 客户端需要安装软件或者搜索软件,会查找/etc/yum.repos.d 下以.repo 结尾文件,CentOS Linux 默认的.repo 文件名为 CentOS-Base.repo,该文件中配置了 YUM 源端的镜像地址,所以每次安装、升级 RPM 包,YUM 客户端均会查找.repo 文件。YUM 客户端如果配置了 CentOS 官方 repo 源,客户端操作系统必须能联外网,满足网络条件,才能下载软件并安装,如果没有网络,也可以构建光盘源或者内部 YUM 源。在只要 YUM 客户端时,YUM 客户端安装软件,默认会把 YUM 源地址、Header 信息、软件包、数据库信息、缓存文件存储在/var/cache/yum 中,每次使用 YUM 工具,YUM 优先通过 Cache查找相关软件包,Cache 中不存在,然后在访问外网 YUM 源

2、YUM 企业案例演练

由于 YUM 工具的使用简便、快捷、高效,在企业中得到广泛的使用,得到众多 IT 运
维、程序人员的青睐,要能熟练使用 YUM 工具,需要先掌握 YUM 命令行参数的使用,如
下为 YUM 命令工具的参数详解及实战步骤:
YUM 命令工具指南,YUM 格式为:
YUM [command] [package] -y|-q 其中的[options]是可选。-y 安装或者卸载出现 YES 时,自动确认 yes;-q 不显示安装的过程。
yum install httpd 安装 httpd 软件包;
yum search YUM 搜索软件包;
yum list httpd 显示指定程序包安装情况 httpd;
yum list 显示所有已安装及可安装的软件包;
yum remove httpd 删除程序包 httpd;
yum erase httpd 删除程序包 httpd;
yum update tree内核升级或者软件更新;
yum update httpd 更新 httpd 软件;
yum check-update 检查可更新的程序;
yum info httpd 显示安装包信息 httpd;
yum provides 列出软件包提供哪些文件;
yum provides “*/rz” 列出 rz 命令由哪个软件包提供;
yum grouplist 查询可以用 groupinstall 安装的组名称;
yum groupinstall “Chinese Support” 安装中文支持;
yum groupremove “Chinese Support” 删除程序组 Chinese Support;
yum deplist httpd 查看程序 httpd 依赖情况;
yum clean packages 清除缓存目录下的软件包;
yum clean headers 清除缓存目录下的 headers;
yum clean all 清除缓存目录下的软件包及旧的 headers。

案例:
(1)基于 CentOS 7 Linux,执行命令 yum install httpd -y,安装 httpd 服务

(2)执行命令 yum grouplist,检查 groupinstall 的软件组名

(3)执行命令 yum groupinstall “GNOME Desktop” -y,安装 Linux 图像界面

(4)执行命令 yum install httpd php php-devel php-mysql mariadb mariadb-server -y,安装中小企业 LAMP 架构环境

(5)执行命令 yum remove ntpdate -y,卸载 ntpdate 软件包

(6)执行命令 yum provides rz 或者 yum provides “*/rz”,查找 rz 命令的提供者

(7)执行命令 yum update -y,升级 Linux 所有可更新的软件包或 Linux 内核升级

**

3、Yum总结

**
以上使用yum软件安装的rpm软件包是来源于YUM 服务端,国内比较好用的几个yum源为网易(163)yum源,中科大和阿里云,要想使用这些yum源,需要在系统中配置,当然centos官方yum源也很好用,至于如何配置其它源,可以查看网上资料
除了用服务端的yum源,自己也可以把yum源的镜像下载到本地,那以后安装一些常用的软件就不需要联网了,
4、Tar 软件包管理
Linux 操作系统除了使用 RPM 管理工具对软件包管理之外,还可以通过 tar、zip、jar
等工具进行源码包的管理,实现对文件的压缩解压
4.1、Tar 命令参数详解
-A, --catenate, --concatenate 将存档与已有的存档合并
-c, --create 建立新的存档
-d, --diff, --compare 比较存档与当前文件的不同之处
–delete 从存档中删除
-r, --append 附加到存档结尾
-t, --list 列出存档中文件的目录
-u, --update 仅将较新的文件附加到存档中
-x, --extract, --get 解压文件
-j, --bzip2, --bunzip2 有 bz2 属性的软件包;
-z, --gzip, --ungzip 有 gz 属性的软件包;
-b, --block-size N 指定块大小为 Nx512 字节(缺省时 N=20);
-B, --read-full-blocks 读取时重组块;
-C, --directory DIR 指定新的目录;
–checkpoint 读取存档时显示目录名;
-f, --file [HOSTNAME:]F 指定存档或设备,后接文件名称;
–force-local 强制使用本地存档,即使存在克隆;
-G, --incremental 建立老 GNU 格式的备份;
-g, --listed-incremental 建立新 GNU 格式的备份;
-h, --dereference 不转储动态链接,转储动态链接指向的文件;
-i, --ignore-zeros 忽略存档中的 0 字节块(通常意味着文件结束);
–ignore-failed-read 在不可读文件中作 0 标记后再退出;
-k, --keep-old-files 保存现有文件;从存档中展开时不进行覆盖;
-K, --starting-file F 从存档文件 F 开始;
-l, --one-file-system 在本地文件系统中创建存档;
-L, --tape-length N 在写入 N*1024 个字节后暂停,等待更换磁盘;
-m, --modification-time 当从一个档案中恢复文件时,不使用新的时间标签;
-M, --multi-volume 建立多卷存档,以便在几个磁盘中存放;
-O, --to-stdout 将文件展开到标准输出;
-P, --absolute-paths 不要从文件名中去除 ‘/’;
-v, --verbose 详细显示处理的文件;
–version 显示 tar 程序的版本号;
–exclude FILE 不把指定文件包含在内;
-X, --exclude-from FILE 从指定文件中读入不想包含的文件的列表。

4、Tar企业案例演示

tar  -cvf  jfedu.tar.gz  jfedu  打包 jfedu 文件或者目录,打包后名称jfedu.tar.gz;

tar -tf jfedu.tar.gz 查看 jfedu.tar.gz 包中内容;
tar -rf jfedu.tar.gz jfedu.txt 将 jfedu.txt 文件追加到 jfedu.tar.gz 中
tar -xvf jfedu.tar.gz 解压 jfedu.tar.gz 程序包;
tar -czvf jfedu.tar.gz jfedu 使用 gzip 格式打包并压缩 jfedu 目录;
tar -cjvf jfedu.tar.bz2 jfedu 使用 bzip2 格式打包并压缩 jfedu 目录;
tar -czf jfedu.tar.gz * -X list.txt 使用gzip格式打包并压当前目录所有文件,排除 list.txt中记录的文件;
tar -czf jfedu.tar.gz * --exclude=zabbix-3.2.4.tar.gz --exclude=nginx-1.12.0.tar.gz
使 用 gzip 格 式 打 包 并 压 当 前 目 录 所 有 文 件 及 目 录 , 排 除 zabbix-3.2.4.tar.gz 和nginx-1.12.0.tar.gz 软件包

5、TAR 实现 Linux 操作系统备份

Tar 命令工具除了用于日常打包、解压源码包或者压缩包之外,最大的亮点是还可以用于 Linux 操作系统文件及目录的备份,使用 tar -g 可以基于 GNU 格式的增量备份,备份原
理是基于检查目录或者文件的 atime、mtime、ctime 属性是否被修改。文件及目录时间属性
详解如下:
 文件被访问的时间(Access time,atime);
 文件内容被改变的时间(Modified time,mtime);
 文件写入、权限更改的时间(Change time,ctime)。
总结,更改文件内容 mtime 和 ctime 都会改变,但 ctime 可以在 mtime 未发生变化时被更改,例如修改文件权限,文件 mtime 时间不变,而 ctime 时间改变。TAR 增量备份案例演示步骤如下
(1)/root 目录创建 jingfeng 文件夹,同时在 jingfeng 文件夹中,新建 jf1.txt,jf2.txt 文件,如图

(2)使用 tar 命令第一次完整备份 jingfeng 文件夹中的内容,-g 指定快照 snapshot 文件,第一次没有该文件则会自动创建,如图
cd /root/jingfeng/
tar -g /data/backup/snapshot -czvf /data/backup/2017jingfeng.tar.gz

(3)使用 tar 命令第一次完整备 份 jingfeng 文件夹中之后,会 生成快照文件:/data/backup/snapshot,后期增量备份会以 snapshot 文件为参考,在 jingfeng 文件夹中再创建 jf3.txt jf4.txt 文件,然后通过 tar 命令增量备份 jingfeng 目录所有内容,如图
cd /root/jingfeng/
touch jf3.txt jf4.txt
tar -g /data/backup/snapshot -czvf /data/backup/2017jingfeng_add1.tar.gz *

如上图所示,增量备份时,需-g 指定第一次完整备份的快照 snapshot 文件,同时增
量打包的文件名不能跟第一次备份后的文件名重复,通过 tar –tf 可以查看打包后的文件内容。
[root@localhost songlss]# tar -g /data/backup/snapshot -czvf dff.tar.gz ./*
tar: ./Desktop: Directory is new
tar: ./dfg: Directory is new
tar: ./Documents: Directory is new
tar: ./Downloads: Directory is new
tar: ./Music: Directory is new
tar: ./Pictures: Directory is new
tar: ./Public: Directory is new
tar: ./Templates: Directory is new
tar: ./Videos: Directory is new
./1.txt
./12.txt
./123.txt
./Desktop/
./Documents/
./Downloads/
./Music/
./Pictures/
./Public/
./Templates/
./Videos/
./dfg/
./dfg/1.txt
./dfg/2.txt
./dfg/3.txt
./dfg/4.txt
./dfg/aa.tar.bz2
./dfg/ddd.tar.gz
./dfg/dfg.tar.gz
[root@localhost songlss]# cd /data/backup/
[root@localhost backup]# ls
snapshot
[root@localhost backup]# cd snapshot
bash: cd: snapshot: Not a directory
[root@localhost backup]# cat snapshot
GNU tar-1.23-2
15532250893655690140155230354769007620020501446332./Public0155230354769007620020501446330./Downloads0155230354769007620020501446329./Desktop0155230354769007620020501446336./Videos015532245497100602720501446371./dfgY1.txtY2.txtY3.txtY4.txtYaa.tar.bz2Yddd.tar.gzYdfg.tar.gz0155230354769007620020501446331./Templates0155230354769007620020501446335./Pictures0155230354769007620020501446334./Music0155230354769007620020501446333./Documents[root@localhost backup]#

5、ZIP 软件包管理

ZIP 也是计算机文件的压缩的算法,原名 Deflate(真空),发明者为菲利普·卡兹(Phil
Katz)),他于 1989 年 1 月公布了该格式的资料。ZIP 通常使用后缀名“.zip”。
主流的压缩格式包括 tar、rar、zip、war、gzip、bz2、iso 等。从性能上比较,TAR、WAR、
RAR 格式较 ZIP 格式压缩率较高,但压缩时间远远高于 ZIP,Zip 命令行工具可以实现对 zip
属性的包进行管理,也可以将文件及文件及打包成 zip 格式。如下为 ZIP 工具打包常见参数详解:
-f freshen:只更改文件;
-u update:只更改或新文件;
-d 从压缩文件删除文件;
-m 中的条目移动到 zipfile(删除 OS 文件);
-r 递归到目录;
-j junk(不记录)目录名;
-l 将 LF 转换为 CR LF(-11 CR LF 至 LF);
-1 压缩更快 1-9 压缩更好;
-q 安静操作,不输出执行的过程;
-v verbose 操作/打印版本信息;
-c 添加一行注释;
-z 添加 zipfile 注释;
-o 读取名称使 zip 文件与最新条目一样旧;
-x 不包括以下名称;
-F 修复 zipfile(-FF 尝试更难);
-D 不要添加目录条目;
-T 测试 zip 文件完整性;
-X eXclude eXtra 文件属性;
-e 加密 - 不要压缩这些后缀;
-h2 显示更多的帮助

ZIP 企业案例演示

(1)通过 zip 工具打包 jingfeng 文件夹中所有内容,如图
zip -rv jingfeng.zip /root/jingfeng/

(2)通过 zip 工具打包 jingfeng 文件夹中所有内容,排除部分文件,如图
zip -rv jingfeng.zip * -x jf1.txt
zip -rv jingfeng.zip * -x jf2.txt -x jf3.txt

(3)通过 zip 工具删除 jingfeng.zip 中 jf3.txt 文件,如图 所示
zip jingfeng.zip -d jf3.txt
(4)通过 unzip 工具解压 jingfeng.zip 文件夹中所有内容,如图 所示:
unzip jingfeng.zip
unzip jingfeng.zip -d /data/backup/ 可以-d 指定解压后的目录

6、源码包安装

通常使用 RPM 工具管理.rpm 结尾的二进制包,而标准的.zip、tar 结尾的源代码包则不能使用 RPM 工具去安装、卸载及升级,源码包安装有三个步骤,如下:
./configure 预编译,主要用于检测系统基准环境库是否满足,生成 MakeFile 文件;
make 编译,基于第一步生成的 makefile 文件,进行源代码的编译;
make install 安装,编译完毕之后,将相关的可运行文件安装至系统中;
使用 make 编译时,Linux 操作系统必须有 GCC 编译器,用于编译源码。
源码包安装通常需要./configure、make、make install 三个步骤,某些特殊源码可以只有
三步中的其中一个步骤,或者两个步骤。
以 CentOS Linux 系统为基准,在其上安装 Nginx 源码包,企业中源码安装的详细步
骤如下:

(1) Nginx.org 官网下载 Nginx-1.13.0.tar.gz 包
wget http://nginx.org/download/nginx-1.13.0.tar.gz
(2) Nginx 源码包解压 tar -xvf nginx-1.13.0.tar.gz
(3) 源码 Configure 预编译,需进入解压后的目录执行./configure 指令,分号“;”表示连接多个命令。
cd nginx-1.13.0;./configure
(4) make 编译 make
(5) make install 安装 make install
通过以上五个步骤,源码包软件安装成功,源码包在编译及安装时,可能会遇到各种错
误,需要把错误解决之后,然后再进行下一步安装即可,后面章节会重点针对企业使用的软
件进行案例演练。
注:需要加入几个依赖,才能正常操作以上步骤
安装依赖
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

7、通过网络下载源码包的指令
1、使用wget下载单个文件
以下的例子是从网络下载一个文件并保存在当前目录
wget http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
2、使用wget -O下载并以不同的文件名保存
wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。
错误:下面的例子会下载一个文件并以名称download.php?id=1080保存
wget http://www.centos.bz/download?id=1
即使下载的文件是zip格式,它仍然以download.php?id=1080命令。
正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名:
wget -O wordpress.zip http://www.centos.bz/download.php?id=1080
3、使用wget –limit -rate限速下载
当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。
wget –limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
4、使用wget -c断点续传
使用wget -c重新启动下载中断的文件:
wget -c http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。
5、使用wget -b后台下载
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。
wget -b http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
Continuing in background, pid 1840.
Output will be written to `wget-log’.
你可以使用以下命令来察看下载进度
tail -f wget-log

yum自动化安装、压缩、解压详解相关推荐

  1. linux内核如何读写ddr,linux内核解压详解.doc

    linux内核解压详解 Description: /*?OldLinux论坛 -- 有关早期Linux内核代码发展的论坛. 9!%83gY* ?linux/arch/arm/boot/compress ...

  2. 7z 命令行压缩解压详解-中文版

    1) 简介 7z,全称7-Zip, 是一款开源软件.是目前公认的压缩比例最大的压缩解压软件. 主页:http://www.7-zip.org/ 中文主页:http://7z.sparanoid.com ...

  3. Linux_压缩、解压详解

    前言: 打个不恰当的比方:把文件夹比作一个抽屉的话,打包(tar)就是把这个抽屉(文件夹)上一个插销:压缩(gzip.bzip2)好比把上了插销的文件夹里的东西整理一下以占用较小的空间. 注意:tar ...

  4. VS实现rar格式压缩包的解压详解

    最近做到的项目世关于程序更新的,用到从服务器下载安装包,从服务器下载的安装包大多是压缩包,所以这里稍微研究了下如何用代码实现压缩包的解压及相关绝对路径的问题. 首先我来重现下我的目的:在这里我希望将桌 ...

  5. linux下.tar.gz和.gz文件解压详解

    .tar.gz和.gz文件是两种不同的文件,需要区别对待,解压命令当然也不同咯,下面来分享一下他们各自的解压方法. 1. .tar.gz文件,这种文件是tar文件的压缩文件,可以使用tar命令进行解压 ...

  6. gz文件解压 linux,linux下.tar.gz和.gz文件解压详解

    .tar.gz和.gz文件是两种不同的文件,需要区别对待,解压命令当然也不同咯,下面来分享一下他们各自的解压方法. 1. .tar.gz文件,这种文件是tar文件的压缩文件,可以使用tar命令进行解压 ...

  7. dpkg安装软件流程_详解linux安装软件的几种方法

    一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在 ...

  8. php5.6.33安装教程,centos7手动安装PHP5.6.33详解

    本文主要和大家分享centos7手动安装PHP5.6.33详解,希望能帮助到大家. 1,PHP官网下载php-5.6.33.tar.bz2 2,解压到/usr/local/下 3,进入目录执行:./c ...

  9. linux nginx编译详解,Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备 1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码 代码如下:# ...

最新文章

  1. python 正则分析nginx日志
  2. 阶段-关口系统--范围界定阶段---学习记录
  3. SQL中条件和比较关键字Case的使用方法(case的结果就是得到了一个值)
  4. java set iterator_Java中的TreeSet的iterator()方法 Java.util.TreeSet.iterator() - Break易站
  5. dotnetcore-officeaddin-toolbox : Office 365 Add-in开发人员的工具箱
  6. Java EE 8 MVC:使用查询参数
  7. MyBatis - MyBatis Generator 生成的example 如何使用 and or 简单混合查询
  8. JSP+Javabean+Servlet实现用户注册
  9. echarts 中 symbol 自定义图片
  10. java 相对路径获取_在java项目中通过相对路径获取资源的方式
  11. Azure 5月新发布:CDN图片处理功能, CDN Restful API, 新版CDN管理门户, 计量名称变更延期
  12. c语言共享内存储存结构体,C语言共享内存使用思路利用结构体
  13. python基础知识-Python语言基础知识总结
  14. keras实现DCGAN生成mnist原代码
  15. 进项税额和销项税额介绍
  16. 2019/04/02 实现互联网的DNS架构
  17. Cloudera(CDH) 简介和在线安装
  18. 通过实例学Python爬虫(一)——认识HTML网页与爬虫基础框架
  19. python 读写txt文件乱码问题
  20. 品牌做小红书投放,究竟选择KOL还是KOC?

热门文章

  1. 【专题5: 硬件设计】 之 【61.案例四:简易空气净化器,使用硬件产生PWM波并对马达调速】
  2. 网易云信参编中国信通院《智能双录系统基础能力要求》标准正式发布
  3. 大学物理实验电学基本参数的测量实验报告_大学物理实验报告(清华大学)实验3.1电学元件伏安特性的测量实验报告.doc...
  4. 南京师范大学计算机技术研究生就业,发布 | 南京师范大学2018届硕博毕业生就业质量报告...
  5. 【机器人学】机械臂球形手腕的逆解
  6. [网络管理]全双工与半双工的区别
  7. web内容如何保护:如何有效地保护 HTML5 格式的视频内容?
  8. 作为券商,识别港股软件搭建技巧的分享
  9. 在WPSOFFICE中一次性消除硬回车(转)
  10. 信创产业国产化替代的机遇和挑战