rpm与yum命令定时任务和sed文本处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rpm与yum命令定时任务和sed文本处理相关的知识,希望对你有一定的参考价值。

1、简述rpm与yum命令的常见选项,并举例
rpm命令:

语法:rpm [OPTIONS] [PACKAGE_FILE]
选项:
    安装: -i, --install
    升级: -U, --update,-F, --freshen
    卸载: -e, --erase
    查询: -q, --query
    校验: -v, --verify

1)安装

语法:rpm {-i|--install} [install-options] PACKAGE_FILE ...
选项:
    -h:hash marks输出进度条;每个#表示2%的进度;
    --test:只对安装进行测试,并不实际安装;
    --percent:以百分比的形式输出安装的进度;
    --nodeps:忽略依赖关系;
    --replacepkgs:重新安装;
    --nosignature:不检查来源合法性;
    --noscipts:不执行程序包脚本片段;

2)升级

语法:rpm {-U|--upgrade}[install-options]PACKAGE_FILE...
           rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
选项:
    upgrade:安装有旧版程序包,则升级,如果不存在旧版本的程序包,则安装;
    freeshen:安装有旧版程序包,则升级,如果不存在旧版本程序包,则不执行升级操作;
    注意:
    (1)不要对内核升级操作:Linux支持多内核版本并存,因此,对直接安装新版本内核;
    (2)如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的通一个配置文件并不会直接覆盖老版本的配置文件,而被新版本文件重命名(FILENAME.rpmnew)后保留;

3)卸载

语法:rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts][--test] PACKAGE_NAME ...
选项:
    --allmatches:卸载所有匹配指定名称的程序包的各版本;
    --nodps: 忽略依赖关系;
    --noscripts:不运行预安装和后安装脚本程序
    --test:只执行删除测试;

4)查询

语法:rpm {-q|--query} [select-options] [query-options]
select选项:
    -a, --all:查询所有已经安装过的包;
    -f FILE:查询指定的文件由哪个程序包安装生成;
    -p, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;
    --whatprovides CAPABILITY: 查询指定的CAPABILITY由哪个程序包提供;
    --whatrequires CAPABILITY: 查询指定的CAPABILITY被哪个包所依赖;
query选项:
    --changelog: 查询rpm包的changelog;
    -l, --list: 程序安装生成的所有文件列表;
    -i, --info: 程序包相关的信息,版本号、大小、所属的包组,等等;
    -c, --configfiles: 查询指定的程序包提供的配置文件;
    -d, --docfiles: 查询指定的程序包提供的帮助文档;
    --provider: 列出指定的程序包提供的所有的CAPABILITY;
    -R, --requires: 查询指定的程序包的依赖关系;
    --scripts: 查询程序包自带的脚本片段;

5)示例

卸载:
技术分享图片
查询:
技术分享图片

yum命令:

选项:
    check-update 检查可更新的包;
    clean all清除全部;
    clean packages 清除临时包文件 (/var/cache/yum 下文件);
    clean headers 清除rpm头文件;
    deplist 列出包的依赖;
    list 可安装和可更新的RPM包;
    list installed 已安装的包;
    list extras 已安装且不在资源库的包;
    info 可安装和可更新的RPM包信息;
    info installed 已安装包的信息(-qa参数相似);
    install[RPM包]安装包;
    localinstall 安装本地的RPM包;
    update [RPM包]更新包;
    upgrate 升级系统;
    search [关键词]搜索包;
    provides[关键词]搜索特定包文件名;
    resinstall [RPM包]更新安装包;
    repolist 显示资源库的配置;
    resolvedep指定依赖;
    remove[RPM包]卸载包;

示例:

安装:
技术分享图片
升级:
技术分享图片
查询:
技术分享图片


2、自建yum仓库,分别为网络源和本地源
1)配置网络源
首先查看网络源配置文件,然后创建配置文件
技术分享图片

2)配置本地源
技术分享图片


3、简述at和crontab命令,制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00
at命令:

语法:at [OPTION]... TIME
选项:
    -l:查看作业队列,相当于atq,执行完后,就消失了;
    -f /PATH/FROM/SOMEFILE:从指定文件中读取作业任务,而不用再交互式输入;
    -d:删除指定的作业,相当于atrm;
    -c:查看指定作业的具体内容;
    -q QUEUE:指明队列;
注意:作业执行结果是以邮件发送给提交作业的用户;

示例:
技术分享图片

crontab命令:

语法:crontab [-u user] [-l | -r | -e] [-i]
选项:
    -e:编辑任务;
    -l:列出所有任务;
    -r:移除所有任务;即删除/var/spool/cron/USERNAME文件;
    -i:在使用-r选项移除所有任务时提示用户确认;
    -u user:root用户可为指定用户管理cron任务;

示例:
技术分享图片


4、简述sed常用操作命令,并举例
sed命令是linux下的文本处理三剑客之一,它是一个“非交互式的”面向字符流的编辑器。处理时,把当前要处理的行存储在缓冲区(模式空间)中,接着用sed命令来处理缓冲区的内容,处理完成,把缓冲区内容输出屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等。

语法:sed [OPTION]... script [input-file]...
选项:
    -n:不输出模式空间中的内容至屏幕;
    -e:多点编辑;直接在命令行界面进行sed的动作编辑;
    -f:将sed的动作下载一个文件内,每行一个编辑命令;
    -r:支持使用扩展正则表达式;
    -i:直接编辑原文件 ;
编辑命令:
    -a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
    -c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
    -d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
    -i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
    -p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
    -s ∶替换,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!对于替换还有两个后选项分别为:
    g:全局替换和
    i:不区分大小写
    -r /path/from/somefile :在文件的指定位置插入另一个文件的所有内容,完成文件合并
    -w /path/to/somefile:把指定的内容另存至/path/somefile路径所指定的文件中

示例:
技术分享图片

以上是关于rpm与yum命令定时任务和sed文本处理的主要内容,如果未能解决你的问题,请参考以下文章

rpm与yum命令;at与crontab命令;sed命令

大数据技术学习路线,该怎么学?

第四周作业( 文本处理sed;软件管理;文件系统RAID)

Linux 程序包管理及sed基础

大数据技术学习路线,有信心能学好的朋友,就开始吧

rpm yum crontab sed用法