2018年7月16日~7月22日(第五周作业)

一、简述rpm和yum命令的常用选项并举例说明。

1)rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
安装:-i,–install
升级: -U,–upgrade,-F,–freshen
卸载: -e,–erase
查询: -q,–query
校验:-V,verify
数据库维护:–builddb, -initdb
1、安装:
rpm{-i|–install} [install-options]PACKAGE_FILE…

rpm -ivh PACKAGE_FILE…

GENERAL OPTIONS:

-v:verbose,详细信息

-vv:更详细的输出

[install-options]:

-h:hash marks输出进度条;每个#表示2%的进度;

–test:测试安装,检查并报告依赖关系及冲突消息等;

–nodeps:忽略依赖关系;不建议;

–replacepkgs:重新安装

注意:rpm可以自带脚本;

四类:–noscripts 不安装任何脚本;

preinstall:安装过程开始之后运行的脚本,%pre, –nopre:不安装此类脚本。

postinstall:安装过程完成之后运行的脚本,%post,–nopost:不安装此类脚本。

preuninstall:卸载过程真正开始执行之前运行的脚本,%preun,–nopreun:不安装此类脚本。

postuninstall:卸载工程完成之后运行的脚本,%postun,–nopostun:不安装此类脚本.

–nosignature:不检查包签名信息,不检查来源合法性;

–nodigest:不检查包完整性信息;

2、升级

rpm{ -U|–upgrade}[install-options]PACKAGE_FILES…

rpm{ -F|–freshen}[install-options]PACKAGE_FILE…

-U:升级或安装

-F:升级

举例:rpm -Uvh PACKAGE_FILE…

rpm -Fvh PACKAGE_FILE…

–oldpackage:降级;

–force:强制升级,忽视依赖关系

注意:(1)不要对内核做升级操作;Linux支持多内核版本并存,因此,直接安装新版本内核;
(2)如果某源程序包的配置文件安装后曾被修改过,升级时,新版本程序提供的同一个配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;

 

3、卸载:

rpm{-e|erase}[–allmatches][–nodeps][–noscripts][–test]PACKAGE_NAME…

–allmatches:卸载所有匹配指定名称的程序包的各版本;

–nodeps:忽略依赖关系

–test:测试卸载,dry run 模式

4、查询

rpm{-q|query}[select-options][query-options]

[select-options]

1、PACKAGE_NAME:查询指定的程序包是否已经安装,及其版本;

2、-a, –all:查询所有已经安装过的包;

3、-f FILE:查询指定文件由哪个程序包安装生成;

4、-p,–package  PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;

5、–whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供;

6、–whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;

[query-options]

1、–changelog:查询rpm包的changelog;

-l,–list:程序安装生成的所有文件列表;

-i,–info:程序包的相关的信息,版本号、大小、所属的包组,等;

-c,–configfiles:查询指定的程序包提供的配置文件;

-d,–docfiles:查询指定的程序包提供的文档;

–provides:列出指定的程序包提供的所有的CAPABILITY;

-R,–requires:查询指定的程序包的依赖关系;

–scripts:查看程序包自带的脚本片断;

举例:

-qi  PACKAGE ,  -qf FILE ,  -ql PACKAGE, -qd PACKAGE

-qpi PACKAGE_FILE ,-qpl PACKAGE_FILE, -qpc PACKAGE_FILE,…

5、校验

rpm {-V | verify} [select-options][verify-options]

校验输出内容的解释:

S file Size differ

M Mode differs ( includes permissions and file type)

5 digest (formerly MD5 sum) differs

D Device major/minor  number mismatch

L  readlink (2) path mismatch

U User ownership  differs

G Group ownership differs

T mTime differ

P caPability  differ

包来源合法性验证和完整性验证:
获取并导入信任的包制作者的公钥:
对于CentOS发行版来说:rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
验证:
(1)安装此组织签名的程序时,会自动执行验证;
(2)手动验证:rpm-K PACKAGE_FILE

 

2)、yum :

-y 对安装过程中的所有提问都回答yes

-q 静默模式

-v 输出安装过程中的详细信息

install 安装

update 更新安装

check-update 检查是否有可用更新

remove 删除安装包

list 显示安装包信息

clean 清理缓存

一般使用格式:

yum -y install pk_name

二、自建yum仓库,分别为网络源和本地源

在/etc/yum.repos.d目录下创建一个以.repo结尾的文件。

编辑文件

[xencentos]
name=xen 4 CentOS 6
baseurl=file:///tmp/xen4centos/x86_64
gpgcheck=0

如果为网络仓库,则baseurl指向网络仓库的地址,若时本地则如上所示,指向本地文件的路径。

创建本地仓库,将在放置rpm包组的路径下,使用createrepo  创建yum库。然后在/etc/yum.repos.d目录下创建一个以.repo文档,编辑文档中的baseurl指向当前目录。

使用 yum repolist 查看仓库是否创建成功。

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

at命令:at [OPTION]… TIME

TIME: HH:MM[YYYY-mm-dd]  moon ,modnight,teatime,tomorrow,now+#UNIT(minutes,hours,days,weeks)

常规选项:-l:查看作业队列,-f /PATH/FROM/SOMEFILE :从指定文件中读取作业任务

-d:删除指定的作业,-c:查看指定作业的具体内容;-q :指明队列

crontab命令:

crontab [-u user][-l|-r|-e][-i]

-e:编辑任务

-l:列出所有任务

-r:删除所有任务

-i:在使用-r选项删除所有任务时提醒用户确认;

-u user: root用户可以指定用户管理cron任务

制定任务:

1、执行crontab -e 命令,弹出编辑框;

2、输入   10 3,5 * *  3 /bin/date + %F %H:%D:%S

3、保存退出

4、简述sed常用操作命令,并举例

sed [OPTION]… ‘script’ [input-file]…
script:
地址界定编辑命令

常用选项:
-n:不输出模式空间中的内容至屏幕;
-e script, –expression=script:多点编辑;
-f /PATH/TO/SED_SCRIPT_FILE
每行一个编辑命令;
-r,-regexp-extended:支持使用扩张正则表达式;
-i[SUFFIX],–in-place[=SUFFIX]:直接编辑原文件;
地址定界:
(1)空地址:对全文进行处理;
(2)单地址:
#:指定行;
/pattern/:被此模式所匹配到的每一行;
$:最后一行
(3)地址范围
#,#:
#,+#:
#,/pat1/
/pat1/,/pat2/
(4)步进:~
1~2:所有奇数行
2~2:所有偶数行
编辑命令:
d:删除;
p:显示模式空间中的内容;
a \text:在行后面追加文本”text”,支持使用\n实现多行追加;
i \text:在行前面插入文本”text”,支持使用\n实现多行插入;
c \text:把匹配到的行替换为此处指定的文本”text”;
w /PATH/TO/SOMEFILE:保存模式空间匹配到的行至指定的文件中;
r /PATH/FROM/SOMEFILE:读取指定文件的内容至当前文件被模式匹配到的行后面;文件合并
=:为匹配到的行打印行号;
!:条件取反;
地址定界!编辑命令;
s///:查找替换,其分隔符可自行指定,常用的有s@@@,s###等;
替换标记:
g:全局替换;
w/PATH/TO/SOMEFILE:将替换成功的结果保存至指定文件中;
p:显示替换成功的行;

示例:sed ‘s@^#[[:space:]]*@@’ /etc/fstab

[root@localhost ~]# echo “/etc/log/messages” | sed -r ‘s@[^/]+/?$@@’

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/104088

(0)
游漓游漓
上一篇 2018-07-28
下一篇 2018-07-28

相关推荐

  • 简述awk命令及用法

    简述awk命令及用法

    2018-06-18
  • 计算机的组成及其功能

    01.描述计算机的组成及其功能 计算器是由运算器,控制器,存储器,输入装置和输出装置五大部件组成计算机, 每一部件分别按要求执行特定的基本功能。 输入设备  将数据、程序、文字符号、图象、声音等信息输送到计算机中。常用的输入设备有键盘、鼠标、触摸屏、数字转换器等。 输出设备  将计算机的运算结果或者中间结果打印或显示出来。常用的输出设备有:显示器、打印机、绘…

    2018-08-09
  • 神奇的awk

    有了这个awk,忘了那个他

    2018-05-17
  • 运维之pxe、dhcp、cobbler

    运维之pxe、dhcp、cobbler 把一个主机接入TCP/IP网络,要配置哪些网络参数:ip/mask、gateway、dns server;参数配置方式:1、静态配置;2、动态分配:a、bootp协议b、dhcp协议:引入了“租约”的bootp; DHCP:动态主机配置协议:arp:address resolving protocol:地址解析协议:I…

    Linux笔记 2018-07-22
  • 吐血整理,国内常见的几种Linux认证

      因为在培训机构工作过,身边很多人咨询我Linux认证的事宜。现在国内各种培训机构的确很多,各家都说Linux认证多么多么重要,能获得多少薪水……这些听听就好了。 如果想在开源行业有所作为,必须要投入到实战中去。当你不是发烧友,不是开源社区骨干、不经常泡国外的坛子,那么实战是你唯一的成长路径。尤其是对基于Linux的开发、运维、纠错,都有上手经验…

    2018-06-01