linux 学习5

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/103454

(1)
ヤ灬兵兵ヤ灬兵兵
上一篇 2018-07-21 12:04
下一篇 2018-07-21 15:59

相关推荐

  • Linux文件管理总结和文件元数据

    Linux文件系统;目录结构;bash特性;文件的元数据

    2018-07-09
  • 自签证书 配置到apache的httpd、nginx的 配置文件内测试

    算是一个小整理,我在这里转了好几天,整理一下适合刚刚开始迷惑的朋友

    Linux笔记 2018-05-27
  • linux通配符和正则表达式

    通配符、正则表达式

    2018-04-17
  • 第三周作业

    1 列出当前系统上所有已经登陆的用户的用户名,注意:同一个用户名登陆多次,则只显示一次。
    2 取出最后登陆到当前系统的用户的相关信息。
    3 取出当前系统上被用户当作其默认shell的最多的那个shell.
    4 将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5 取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6 列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字装换为大写后保存至/tmp/etc.conf文件中。
    7 显示/var目录下一级子目录或文件的总个数。
    8 取出/etc/group文件中第三个字符段数值最小的10个组的名字。
    9 将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10. 请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)创建组distro, 其GID为2016
    (2)创建用户mandriva, 其ID号为1005,基本组为distro
    (3)创建用户mageia, 其ID号为1100,家目录为/home/linux
    (4)给用户mageia添加密码,密码为mageedu
    (5)删除mandriva, 但保留其家目录
    (6)创建用户slackware, 其ID号为2002, 基本组为distro, 附加组为peguin
    (7)修改slackware的默认shell为/bin/tcsh
    (8)为用户slackware的新增附加组admins

    2018-06-05
  • 课堂实验

    实验:针对不同的用户设置不同的共享目录和权限 vim /etc/samba/smb.conf[global]workgroup = WANGGROUPsecurity = usernetbios name = smbsrv7passdb backend = tdbsamlog file = /var/log/samba/log.%Ilog level = 2…

    2018-07-01
  • 09葵花宝典Openssl和DNS

    openssl cd bind named

    Linux笔记 2018-05-16