Homework_week5

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

RPM
rpm是一个功能十分强大的软件包管理系统,它使得在Linux下安装、升级和删除软件包的工作变的容易、并且具有查询、验证软件包的功能
  • 安装
rpm {-i|–install} [install-options] PACKAGE_FILE …
选项:
-h:-hash,显示安装进度
-v:–verbose,显示安装过程中的详细信息
-vv:显示更详细信息
-vvv:更详细
–testL不执行真正的安装过程,仅仅报告依赖关系以及冲突信息等;
–nodeps:忽略依赖关系(不建议)
–replacepkgs:重新安装并覆盖原有文件
  • 升级
rpm {-U|–upgrade}[install-options]PACKAGE_FILE… 升级或安装
rpm {-F|–freshen}[install-options]PACKAGE_FILE… 升级
选项:
–test:不执行真正的安装过程,仅报告依赖关系以及冲突信息等
–nodeps:忽略依赖关系(不建议)
–oldpackage:降级到旧版本
注意:
1、不要升级内核。Linux允许多内核共存,所以可以直接安装多个不同版本内核
2、如果程序包的配置文件安装后曾被修改,那么升级时新版本的文件不会覆盖老版本的配置文件,把新版本的配置文件重命名(加后缀.remnew)后保存
  • 查询
rpm {-q|–query} [select-options] [query-options]
选择选项:
rpm -q PACKAGE_NAME:查询某些包是否已安装
rpm -qa:查询已经安装的所有包
rpm -qf /PATH/TO/SOEMFILE:查询某文件是由哪个包安装生成的
rpm -qpi PACKAGE_NAME:查询尚未安装的包文件的相关信息
查询选项:
rpm -qi PACKAGE_NAME:查询某包的简要说明信息
rpm -ql PACKAGE_NAME:查询某包安装后生成的文件列表
rpm -qc PACKAGE_NAME:查询某包安装后生成的所有配置文件
rpm -qd PACKAGE_NAME:查询某包安装后生成的所有帮助文件
rpm -q –changelog PACKAGE_NAME:查看某包制作时随版本变化的changelog信息
rpm -q –provides PACKAGE_NAME:查询某包提供的capabilities
rpm -q –requires PACKAGE_NAME:查询某包所依赖的capabilities
rpm -q –scripts PACKAGE_NAME:查询某包安装或卸载时执行脚本
脚本有四类:
preinstall:安装过程开始之前执行的脚本
postinstall:安装过程完成后执行的脚本
preuninstall:卸载开始之前执行的脚本
postuninstall:卸载过程完成之后执行的脚本
  • 卸载
rpm {-e|–erase} [–allmatches] [–nodeps] [–test] PACKAGE_NAME …
选项:
–nodeps:忽略依赖关系
–test:测试卸载
–allmatches:如果一个程序包同时安装多个版本,则全部卸载
注意:如果程序包的配置文件安装后曾被修改,那么卸载时此文件通常不会被删除而是被重命名(加后缀.rpmsave)后保存
  • 校验
rpm {-V|–verify} [select-options] [verify-options]
当没有输出结果时表示如简报完整,当有相应输出表明对应的内容有膝盖,具体如下:
S:文件大小
M:文件的类型或文件的属性
5:MD5指纹码
D:装置的主/次代码
L:Link路径
U:文件的所属人
G:文件的所属群组
T:文件的创建时间
P:capabilities
YUM
yum是通过分析rpm的标头数据后,根据各软件的依赖关系制作出有依赖关系时的解决方案,然后可以自动处理软件的依赖性问题,以解决软件安装、移除与升级的问题。
常用命令:
yum repolist {all|enabled|disabled} 列出所有/已启用/已禁用的yum源
yum list {all|installed|avaliable} 列出所有/已安装/可安装的软件包
yum info package 显示某一个软件包的信息
yum install package 安装软件包
yum reinstall package 重新安装软件包
yum remove|earse package 卸载软件包
yum whatprovides|provides files 查询某个文件是哪个软件包生成的
yum grouplist {all|installed|avaliable} 列出所有/已安装/可安装的软件包组
yum groupinfo 显示某个软件包组的信息
yum groupinstall 安装某个软件包组
yum groupremove 删除某个软件包组
yum history 查看yum使用的历史
yum clean {all|packages|metadata} 清除所有/软件包/元数据
yum makecache 生成yum元数据
yum –nogpgcheck 不校验公钥文件
yum -y 自动进行操作

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

网络源
1.vim /etc/yum.repos.d/Centos-network.repo
2.添加以下内容
[http]
name=mirros ali
baseurl=baseurl=http:///http://mirrors.163.com/centos/7/os/x86_64/
enable=1
gpgcheck=0
本地源
1. mount -rt /dev/cdrom /media/cdrom
2.vim /etc/yum.repos.d/centos-network.repo
3.添加以下内容
[xen4centos]
name=Xen 4 CentOS 6
baseurl=file:///media/cdrom
gpgcheck=1

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

at命令:适合一次性的任务计划
选项:
-l:相当于atq,列出所有用户的at队列
-d:相当于atm,取消一个工作
-v:使用明显的时间格式列出工作列表
-f:把所有任务放置于文件中,让at读取此文件作为要运行的任务
crontab命令:适合周期性的任务计划
选项:
-l:列出所有任务
-e:打开编辑任务界面
-r:移除所有任务
注意:删除单个任务应该通过编辑界面删除行实现
示例:
1.编写输出当前时间的脚本
echo “date +”%Y-%m-%d %H:%M:%S”” >> /root/show_time2.sh
2.制定任务
(1) crontab -e
(2) 添加一行,内容如下:
10 3,5 * * 3 /root/show_time2.sh

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

sed [OPTION]… {script-only-if-no-other-script} [input-file]…
选项:
-r:支持扩展正则表达式
-n:静默模式
-e script1 -e script2 -e script3:多脚本运行
-f /path/to/script_file:读取指定脚本
-i:直接修改源文件
地址定界:
#:指定行
$:最后一行
/regexp/:任何被regexp匹配到的行
\%regexp%\:同上,不过换了%作为regexp边界符
sed编辑命令:
d:删除模式空间中的行
=:为模式空间中的行打印行号
a \text:在行后追加文本“text”,支持使用\n实现多行追加
i \text:在行前插入文本“text”,支持使用\n实现多行插入
c \text:用text替换匹配到的行
p:显示模式空间中的内容
s///:查找替换,其分隔符可自行指定,常用的有s@@@,s###等
替换标记:
g:全局替换
i:不区分大小写
示例:
1、删除某文件中所有行首的空白字符
sed ‘s/^[[:space:]]\+//’ /root/11.txt
2、删除某文件中所有行首的#和#后面的空白字符
sed ‘s/^#[[:space:]]\+’ /root/11.txt
3、把某文件的奇数行保存为另一个文件中
sed ‘1~2w /root/11.1.txt’ /root/11.txt
4、echo一个文件路径给sed命令,去除其基名和路径名
echo “/tmp/floor1/floor2/hi.txt” | sed ‘s@^.*/\([^/]\+\)@\1@’ #取基名
echo “/tmp/floor1/floor2/hi.txt” | sed ‘s@[^/]\+\?$@@’ #取路径名

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

(0)
鸡翼不晓飞鸡翼不晓飞
上一篇 2018-07-23 15:13
下一篇 2018-07-23 16:31

相关推荐

  • 用户管理

    用户管理 注意:用户是通过UID来确定身份的,比如root之所以为管理员就是因为root的UID是0。在centos6上系统用户是1-499,普通用户是500以上的;而在centos7上系统用户是1-999,普通用户是1000以上。系统用户默认不登录。 注意跟用户相关的命令只有管理员账户才有权限 需要用到的命令:useradd usermod userdel…

    Linux笔记 2018-04-08
  • linux如何使用命令帮助

    Linux如何使用命令帮助 whatis:显示命令的简短描述 whatis命令在用 catman -w命令创建的数据库中查找command参数指定的命令、 系统调用、库函数或特殊文件名。whatis命令显示手册部分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用man -f命令。linux系统刚安装后不可立即使用使用 makewh…

    Linux笔记 2018-05-07
  • 常用信息查询

    版本 发行版本 cat /etc/centos-releaseCentOS Linux release 7.4.1708 (Core) /*1708 17年8月发布*/ lsb_release -a /*显示上面文件内容*//*要安装工具*/ nano /etc/centos-release /*修改*//*生产中 尽量不要暴露版本号*/ 内核版本 name…

    Linux笔记 2018-04-08
  • 运维自动化之ansible

    ansible的基本架构 ​ host inventory主机清单 ​ playbook相当于脚本, ​ modules模块 ansible工作原理 ​ 通过执行命令,或ansible playbook,cmdb ansible配置文件 ​ /etc/ansible/ansible.cfg主配置文件,配置ansible工作特性 ​ /etc/ansible/…

    Linux笔记 2018-06-03
  • Nginx认证模块与状态监测模块使用示例

    Nginx认证模块与状态监测模块使用示例 一、环境准备 1. 软件版本 CentOS7.4 httpd-tools.x86_64        2.4.6-67.el7.centos.6 nginx.x86_64                  1:1.12.2-2.el7 2. 软件安装 nginx的安装需要epel源,没有配置epel可以直接yum安装…

    2018-06-29