第五周 软件包管理命令、制定定时任务和sed命令介绍

1. RPM包管理

1.1 RPM简介

RPM类似于Windows系统中.exe的软件安装程序,用户可以使用它自行安装和管理Linux上的应用程序和系统工具;

RPM软件包文件都是以.rpm为后缀,一般采用这样的命名格式:软件包名称 – 版本号 – 修正版 . 硬件平台 . rpm

1.2 RPM命令的使用方法

查询:rpm {-q | –query} [select-options] [query-options]

验证:rpm {-V | –verify} [select-options] [verify-options]

安装:rpm {-i | –install} [install-options] PACKAGE_FILE …

升级:rpm {-U | –upgrade} [install-options] PACKAGE_FILE …

删除:rpm {-e | –erase} [erase-options] PACKAGE_NAME …

1.3 RPM命令常用选项

1.3.1 查询常用选项

-i:显示软件包的信息,比如名称、版本和描述信息;

-l:列出某个软件包内所包含的文件;

-R:查询安装该软件包所需要的其它软件包;

1.3.2 验证常用选项

–nodeps:不验证依赖的软件包;

–nofiles:不验证软件包文件的属性;

1.3.3 安装常用选项

-h:使用”#”显示完成进度;

-v:显示安装进度的详细信息;

–nodeps:忽略软件包所依赖的其它软件,强制执行(不推荐);

–test:模拟安装,软件包不会实际安装到系统中;

1.3.4 升级、删除常用选项

-h:使用”#”显示完成进度;

-v:显示升级、删除进度的详细信息;

–nodeps:忽略软件包所依赖的其它软件,强制执行(不推荐);

1.4 RPM包管理简单举例

1.4.1 安装RPM软件包

RPM1

1.4.2 查看软件包的详细信息

RPM2

1.4.3 查看软件包所依赖的其它所有软件包

RPM3

1.4.4 删除软件包

RPM4

 

2. yum 命令

2.1 yum 简介

yum是 “Yellow dog Updater, Modified” 的简称,最早是由 Yellow dog 发行版的开发者 Terra Soft 研发。yum的宗旨是自动化地安装、升级、移除 RPM 包,收集 RPM 包的相关信息,检查依赖性并自动提示用户解决。

2.2 yum 包含如下组件

2.2.1 yum 命令

● 通过yum命令使用其提供的众多功能;

● 由名为yum 软件包提供(默认已安装)。

2.2.2 yum 插件

● 由官方或第三方开发的 yum 插件用于扩展 yum 的功能;

● 通常由名为 yum -<pluginname> 的软件包提供。

2.2.3 yum 仓库

● yum 仓库也称为更新源;

● 一个 yum 仓库存放了众多的 RPM 文件目录;

● yum仓库必须包含一个名为 repodata 的子目录用于存放仓库数据,仓库数据包含所有 RPM 包的描述、功能、提供的文件及依赖性等信息;

● 用户通过访问 yum 仓库数据进行分析并完成查询、安装、升级等操作;

● 用户可以使用 http://  ftp://  file:// 访问 yum 仓库;

● 用户可以使用官方或第三方提供的众多 yum 仓库更新系统;

2.3 yum 命令常见用法及选项

常用选项 -y:对yum命令的所有提问回答均是”yes”;

yum [options] [command] [package …]

yum check-update   ##检查更新

yum update   ##升级系统

yum install PACKAGE_NAME   ##安装指定的软件包

yum update PACKAGE_NAME   ##升级指定的软件包

yum remove PACKAGE_NAME   ##卸载指定的软件包

yum groupinstall “groupname”   ##安装指定包组中的软件包

yum groupupdate “groupname”   ##更新指定包组中的软件包

yum groupremove “groupname”   ##卸载指定包组中的软件包

yum search PACKAGE_NAME   ##搜索相关的软件包

yum info PACKAGE_NAME   ##显示指定软件包的信息

yum deplist PACKAGE_NAME   ##查询指定软件包的依赖信息

yum list [installed | updates | extras …]   ##列出资源库中所有已安装、可以更新、额外的rpm包

2.4 yum仓库配置文件

配置文件位于:/etc/yum.repos.d/*.repo

yum1

● [base]:repositoryid,用于指定一个仓库,唯一值;

● name:指定仓库的名称;

● mirrorlist:用于指定仓库的镜像站点列表;

● baseurl:用于指定本仓库的URL,可以是http:  ftp:  file:  三种格式;

● enabled:用于指定是否启用本仓库,默认值为1,即可用;

● gpgcheck:用于指定是否检查软件包的gpg签名;

● gpgkey:用于指定gpg签名文件的URL。

2.4.1 自建网络源yum仓库

yum2

yum3

2.4.2 自建本地源yum仓库

yum4

yum5

yum6

 

3. 设置定时任务

3.1 at命令

使用at命令可以在指定的时间执行指定的命令,该任务只会运行一次,运行之后该任务就不再存在。

3.1.1 at的命令格式

at [OPTION]… TIME

时间格式:

HH:MM [YYYY-mmm-dd]

noon, midnight, teatime, tomorrow

now+#

3.1.2 常用选项

-l:查看当前任务列表;

-f:从指定文件中读取作业任务,而不用再交互式输入;

-d:删除指定的作业任务;

-c:查看指定作业的具体内容;

-q:指明队列;

3.1.3 at命令举例

1分钟后执行/root/show_time.sh脚本,显示当前日期和时间;

at1

at2

3.2 crontab命令

crontab可以根据分钟、小时、日期、月份、星期的组合来调度任务的自动执行。用户只要在crontab中设置好任务启动的时间,到了相应的时间后系统就会自动启动该任务。

3.2.1 crontab命令格式

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

3.2.2 常用选项

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

-l:输出当前的自动任务列表;

-r:删除当前的自动任务列表;

-e:更改当前的自动任务列表;

-i:删除当前的自动任务列表,在删除前会提示用户确认;

使用crontab -e修改当前的自动任务列表时,每一行的格式如下:

分钟   小时   日期   月份   星期   执行命令

分钟:取值0~59之间的整数;

小时:取值0~23之间的整数;

日期:取值1~31之间的整数(如果指定月份,则必须是该月份的有效日期);

月份:取值1~12之间的整数;

星期,取值0~7之间的整数(0或7表示星期天);

3.2.3 使用crontab制定每周三凌晨三、五点10分执行某个脚本,输出当前时间

[root@localhost /]# crontab -e

10 3,5 * * 3 /root/show_time.sh

crontab

 

4. sed命令

作用:对文本数据进行新增、替换、删除、撷取等操作;

4.1 sed命令格式

sed [OPTIONS] [ACTIONS]

4.2 sed常用选项

-n:使用静默模式,只有经过 sed 特殊处理的那一行才会被列出来;

-e:直接在指令列模式上进行 sed 的动作编辑;

-f:直接将 sed 的动作写在一个文件内,可以执行 FILE 内的 sed 动作;

-r:使 sed 的动作支持扩展正则表达式;

-i:直接修改读取文件的内容,而不是由屏幕输出;

4.3 sed命令动作

a:新增;

c:替换;

d:删除;

i:插入;

p:输出;

s:可使用正则表达式进行替换操作;

4.4 常用操作举例

4.4.1 删除操作

使用 sed 命令删除 /etc/passwd 文件的第3~5行;

sed1

4.4.2 新增、插入操作

使用 sed 命令在 /etc/passwd 文件的第2行后新增”Hello Joey”内容;

sed2

使用 sed 命令在 /etc/passwd 文件的第2行前插入”Hello Joey”内容;

sed3

4.4.3 替换、输出操作

使用 sed 命令将 /etc/passwd 文件的第4~6行替换成”Hello Joey”;

sed4

使用 sed 命令,将/etc/passwd文件中的第1~6行输出至屏幕;

sed5

4.4.4 使用正则表达式进行替换操作;

使用 sed 命令,将 ifconfig 命令输出结果只保留 IPv4 地址;

sed6

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

(1)
joey.qiaojoey.qiao
上一篇 2018-07-02
下一篇 2018-07-02

相关推荐