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

相关推荐

  • Linux系统软件包管理介绍

    Linux发行版中附带有成千上万的可用包,其中包括了Internet工具、开发工具、办公工具、游戏等,如果你没有选择完整安装,则只会安装这些包的“子集”,如何删除不想要的包,如何安装遗漏的包,学习LInux系统的软件包管理将解决你的这些问题

    2018-04-20
  • 计算机的组成及其功能

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

    2018-08-09
  • 第二周博客作业-N31-Linux文件、目录及其相关命令

    本篇文章主要围绕Linux的文件、目录及其相关的操作命令,如:mkdir、rmdir、tree、cat、tail、more、less、mv、cp、rm等命令

    2018-07-27
  • 第九周 加密技术与域名系统

    1、简述常见加密算法及常见加密算法原理,最好使用图例解说  2、搭建apache或者nginx并使用自签证书实现https访问,自签名证书的域名自拟  3、简述DNS服务器原理,并搭建主–辅服务器 4、搭建并实现智能DNS    

    2018-02-01
  • 生产环境中数据文件删除,空间不释放问题

    首先数据文件删除文件系统空间不释放的问题不只出现在Linux平台,所有平台都可能有这样的问题。这里只是在Linux平台做一些测试,其他平台类似;其次只有将数据文件存放在文件系统中才会有此类问题。空间没有释放我们可能是通过df命令确认的,当我们用du去扫描目录的大小可能会发现df和du两个命令看到的空间使用情况是不同的,可能差别很大,找了一些文档,解决了这个问题;写这篇博客,希望跟大家分享一下。

    2018-05-18
  • 权限

    chmod 更改权限 语法 1 who 对谁操作 opt做什么操作 per 跟什么权限 跟文件 who u g o a opt +增加 -减掉 =覆盖 per rwx reset 重复系统 文本文件 r 读 打开 w 改 x 执行程序 chown 更改所有者 chgrp 更改所属组 chmod who (u) opt (g)per(o) file文件 绿色有…

    Linux笔记 2018-04-08