1、简述rpm与yum命令的常见选项,并举例
(* 上图为程序包命名格式)
1.1 rpm命令
1.1.1 功能:将编译好的应用程序的各组成文件打包成一个或多个程序包文件,从而更方便的实现程序包的安装,升级,卸载和查询等操作。
1.1.2 通用格式:rpm [OPTIONS]…[PACKAGE-FILE] 以下还有其更多功能选项
OPTIONS:
安装:-i ,–install
升级: -U ,update , -F ,–Freshen
卸载: -e , –erase
查询: -q , –query
校验: -V , –verify
数据库维护: –builddb , –initdb
**安装**: rpm {-i|–install} [install-options] PACKAGE_FILE …
install-options:
-h:hash marks 输出进度条;每个进度条代表2%,共50个#
–test:测试安装(并不是真正安装,而是检查一下是否能被安装)
–nodeps: 忽略依赖关系,强行安装
–replacepkgs:重新安装
-v :verbose,详细信息
-vv:更详细的输出
通常使用安装时的格式:
rpm -ivh PACKAGE_FILE…
**升级**: rpm {-U|–upgrade} [install-options] PACKAGE_FILE …
rpm {-F|–freshen} [install-options] PACKAGE_FILE …
install-options:
–oldpackage : 降级
–force:强行升级(不处理依赖关系到的程序包)
通常使用升级时的格式:
升级或安装:rpm -Uvh PACKAGE_FILE…
升级:rpm -Fvh PACKAGE_FILE…
**卸载:**rpm {-e|–erase}| –allmatches| [–nodeps]|[–noscripts]|[–notriggers]|[–test] PACKAGE_NAME …
–allmatches :卸载所有能匹配到指定名称的程序包的各版本
–nodeps: 忽略依赖关系
–test: 测试卸载
–notriggers:不执行触发程序
**查询:** rpm {-q|–query} [select-options]|[query-options]
select-options:
-a ,–all : 查询所有已安装的程序包
-f,FILE :查询指定的文件有那个程序包安装生成
-g,–group:查询指定包组中那个包使用最多
-p,–psckage PACKAGE_FILE:用于实现对未安装的程序包执行查询操作
—whatprovides CAPABLITY :查询指定的CAPABLITY由那个程序包提供
–whatrequires CAPABLITY : 查询指定的CAPABLITY被那个包所依赖
query-options: (都与-q一起使用)
–changelog : 查询rpm包的日志
-l,–list :程序安装生成的所有文件列表
-i,–info : 程序包相关的信息,版本号,大小,所属的包组等
-c,–configfiles:查询指定的程序提供的配置文件
-d,–docfile:查询指定的程序包提供的帮助文件
–provides:列出指定的程序包提供的所有CAPABILITY
-R,–requires: 查询指定程序包的所有依赖关系
–scripts : 查询程序包自带的脚本片段
示例:查询安装的zsh包的配置信息
**校验:** rpm {-V|–verify} [select-options]|[verify-options]
示例: 当修改程序包文件时,再进行校验操作会输出结果,例如修改文件/etc/zshrc 后运行
输出结果解释:
S: 文件大小发生改变
5: 文件内容发生改变
T: 文件时间戳发生改变
在输出结果中,有9个字段,依次表示为:
S:文件大小发生改变
M:权限发生改变
5:文件md5码发生改变
D:主次设备号发生改变
L: readlink路径不匹配
U:属主改变
G:属组改变
T:最近一次时间戳发生改变
P:copabilities 改变
1.2 yum命令
功能:yum是rpm的前端管理工具,yum要依赖于rpm的存在而存在的,解决了包与包之间复杂的依赖关系,使程序包的安装更简单。
yum命令的用法:
yum [options]|[command]|[package…]
command:
安装程序包:
install package1[package2]
重新安装程序包:
reinstall package1 [package2]
显示仓库列表:
repolist [all|enabled|disabled]
显示所有或通配显示
yum list [all|glob_exp1]|[glob_exp2]|[…]
显示所有可用/安装/升级的程序包
yum list {available | installed |updataes }[glob_exp1]|[…]
升级指定程序包:
update [package1]|[package2]|[…]
检查可升级的程序包:
check-update
卸载程序包,依赖的程序包都会被卸载
remove | erase package1 [package2] …
查看指定的特性(可以使某文件)是由那个程序包所提供
provides | whatprovides feature1[feature2]…
清理本地缓存:
clean [packages|metadate | expire-cache | remdb | plugins | all ]
构建缓存:
makecache
根据关键字搜索:
search string1 [string2]…
降级安装:
downgrade package1 [package2]…
查看指定程序包所依赖的程序包:
deplist package1 [package2] …
查看yum事务历史(每启动安装,升级,卸载操作都叫做一次事务)
history [info | listpackages-list | packages-info | summary |addon-info…]
安装升级本地程序包:
localinstall rpmfile1 [rpmfile2 ]…
localupdate rpmfile 1 [rpmfile2]…
options:
–nogpgcheck : 禁止进行gpgcheck
-y:自动进行安装无需确认安装
-q:静默模式
–disablerepo = repoidglob:在安装时临时禁用此处指定的仓库
–enablerepo = repoidglob :临时启用此处指定的仓库
–noplngins:禁用所有插件
2、自建yum仓库,分别为网络源和本地源
创建网络源:
第一步:在/etc/yum.repo.d/目录下创建以repo结尾的文件
第二步:通过文本编辑器vim编辑次文件内容如下:
[BASE]
name=centos base aliyun
baseurl=https://mirrors.aliyun.com/centos-altarch/7.5.1804/os/
gpgcheck=0
第三步:yum repolist 命令查看是否生效
创建本地yum源:
第1步:首先在官方网站下载cd镜像,挂载文件
mount -r /dev/sr0 /mnt
第2步:在/etc/yum.repo.d/目录下创建以repo结尾的文件
通过vim编辑器编辑以下内容
[local 1]
name = cdrom centos mirrors
baseurl = file:///mnt
gpgcheck = 0
第3步:通过yum repolist 命令查看是否生效
3、简述at和crontab命令,制定 每周三凌晨三、五点10分执行某个脚本,输出当前时间,时间格式为 2017-12-28 10:00:00
3.1 at命令:在未来的某个时间执行一次任务
格式:at [OPTION]…TIME
时间格式:HH:MM[YYYY-MM-DD]
时间表示方法分两种:
(1). 模糊法:noon(中午12点) midnight(午夜) teatime(下午四点) tomorrow(明天)
(2). 相对时间计时法: now + #(数字)+单位 (现在之后的#一个时间,单位包括minutes,hours,days)
常用选项: -l:查看作业队列,相当于atq
-f /PATH/FROM/SOMEFILE :从指定文件中读取作业任务,而非交互式输入
-d # :删除指定的作业,相当于atrm
-c :查看指定作业的具体内容(以前执行过的也可以查看)
-q QUEUE:指明队列
注意:作业执行结果是以邮件发送给提交作业的用户。
3.2crontab命令
格式:crontab [-u user |-l | -r |-e |-i |-s]
常用选项: -e : 编辑任务
-l:列出所有任务
-r:移除所有任务;即删除/var/spool/cron/USERNAME文件
-i:在使用-r选项移除所有任务是提示用户确认是否操作
-u user:root用户可为指定用户定义任务
注意1:运行结果是以邮件通知给当前用户;如果需要拒收次邮件可以使用
(1). COMMAND > /dev/nul
(2). COMMAND &> /dev/null 可以使命令运行但不以邮件接收
注意2:定义COMMAND时,如果命令需要用到%时,需要对其转义,当放置于单引号中时不需要转义;
3.3 示例
编写执行时间bash脚本:
制定crontab命令
10 3,5 * * 3 /root/bin/bash/date_task.sh
4、简述sed常用操作命令,并举例
4.1 sed命令
4.1.1 功能:针对行进行操作的流式编辑器
4.1.2 格式:sed [options] …”script”[input_file]
script:地址定界,编辑命令
4.1.3 常用选项:
-n:不输出模式空间中的内容至标准输出
-e script,–expression = script : 多点编辑
-f /PATH/TO/SED_SCRIDT_FILE:每一行一个编辑命令的脚本
-r,–regexp -extended : 支持使用扩展正则表达式
i[SUFFIX],–in -place [=SUFFIX] : 直接编辑原文件(危险操作,慎用)
4.1.4 地址定界:
#,#:从#到#行
#,+#:相对#到+#行
#,/pat1/ : 从#行到模式1匹配到的行
/pat1/,/pat2/:从模式1到模式2所匹配到的行
4.1.5 步/pat1/进 ~
1~2:所有奇数行
2~2:所有偶数行
4.1.6 编辑命令
d:删除操作
示例:删除文件的第1行到底5行
p:显示模式空间中的内容
a\text : 在匹配到的行后面追加文本text,支持使用\n实行多行追加
i\text : 在行的前面插入文本text,支持使用\n实行多行插入
示例:在/etc/fstab 文件中的第3行插入内容“new line”
c\text : 吧匹配到的行替换为此处指定的文本text
w/PATH/TO/SOMEFILE : 保存模式空间匹配到的行至指定文件中
r /PATH/FROM/SOMEFILE : 读取指定文件的内容至当前文件被模式匹配到的行后面
=:为模式匹配到的行打印行号
!:条件取反
示例:显示删除之外的行
s/// : 查找替换,其分隔符也可以换成@@@或###
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/104170
评论列表(1条)
很实用的一篇博文,涵盖了包管理、yum源和基础命令的使用。继续加油。