rpm与yum的使用,at和crontab命令,sed的常用操作
ฅ'ω'ฅ♪

rpm与yum的使用,at和crontab命令,sed的常用操作

rpm命令

命令格式:rpm OPTIONS PACKAGE_FILE 根据操作的用途,主要可分为6类:安装,升级,卸载,查询,校验和数据库维护

安装

rpm {-i|–install} [OPTIONS] PACKAGE_FILE
OPTIONS:
-v 详细信息
-vv 输出更详细的信息
-h 输出进度条,每个#表示2%的进度
–test dry run,属于测试安装,不会真正的安装包,用于测试依赖关系和冲突消息
–nodeps 强制安装,忽略依赖关系,如果软件的使用需要这些缺失的依赖关系的话,会导致软件无法使用,如果只是文档功能之类的非必要功能的依赖关系,则不影响软件的使用
–replacepkgs 重新安装,例如误改了某配置文件需要恢复,进行重装即可,需要注意的是重装前要删除误改的配置文件 

升级

rpm {-U|–upgrade} [OPTIONS] PACKAGE_FILE 升级或安装
rpm {-F|–freshen} [OPTIONS] PACKAGE_FILE 升级
OPTIONS
–oldpackage 降级
–force 强制升级

卸载

rpm {-e|–erase} [OPTIONS] PACKAGE_FILE
OPTIONS
–allmatches 卸载所有匹配指定名称的软件包
–nodeps强制卸载,忽略依赖关系
–noscripts 不运行脚本卸载
–test 测试卸载,不是真的卸载,dry run

查询

rpm {-q|–query} [select options] [query options]
select options
-a, –all 查询所有已安装的包
-f FILE 查询指定文件由哪个软件包产生 
-p 对未安装程序包执行查询操作
–whatprovides CAPABILITY 查看指定CAPABILITY由哪个包提供
–whatrequires CAPABILITY 查看指定CAPABILITY被哪个包依赖
–changelog 查看包的changelog
-l, –l 查看包安装生成文件列表
-i,–info 查看包的信息,包括大小,时间戳和所属包组等
-c,–configfiles 查看指定包的配置文件
-d,–docfiles查看指定包提供的man文档
–provides 查看指定包提供的CAPABILITY
-R,–requires 查看指定包的依赖关系
–scripts 查看指定包自带的脚本片段

校验

rpm {-V|–verify} [select options] [verify options]
verify options
–nodeps不校验依赖关系
–nodigest 不校验摘要
–noscripts 不执行包自带脚本
–nosignature不校验签名

数据库维护

rpm {–initdb|–rebuilddb} 初始化数据库,重建数据库

yum命令

命令格式:yum [options] [command] [package …] COMMAND repolist [all|enabled|disabled]显示仓库列表 list [all|glob_exp1][glo_exp2][…] 显示程序包 list {availabe|installed|updates} [glob_exp1] […]显示程序包(可用的,已安装的或者更新的) install package1 [package2] […] 安装程序包 reinstall package1 [package2] […] 重新安装程序包 update [package1] [package2] […] 升级程序包 downgrade package1 [package2] […] 降级程序包 check-update 检查可用升级 remove|erase package1 [package2] […] 卸载程序包 info […]查看程序包信息 provides|whatprovides feature1 [feature2] […] 查看提供某特性的包或者包提供了哪些特性 clean [packages|metadata|expire-cache|rpmdb|plugins|all] 清理本地缓存 makecache 构建缓存 search string1 [string2] […] 以指定关键字搜索程序包或者summary信息 deplist package1 [package2] […]查看指定包的依赖信息

OPTION

–nogpgcheck 禁止进行gpg check
-y 自动应答yes
-q 静默模式
–disablerepo=repoidglog 临时禁止指定repo
–enablerepo=repoidlob
–noplugins 禁用所有插件 

建立源为网络的yum 编辑文件/etc/yum.repos.d/base.repo 使用内网自建源http://10.161.34.169:8080/rhel6.6/http://10.161.34.169:8080/epel/

[root@test yum.repos.d]# cat base.repo
[base]
name=rhel6.6
enabled=1
gpgcheck=0
baseurl=http://XXX.XXX.XXX.XXX:8080/rhel6.6/

[epel]
name=epel
baseurl=http://XXX.XXX.XXX.XXX:8080/epel/
gpgcheck=0
enabled=1
[root@test yum.repos.d]# yum make cache

建立源为本地的yum 在上面的基础上添加包含glusterfs rpm包的源

[root@test glusterfs]# ls
glusterfs-3.6.6-1.el6.x86_64.rpm            glusterfs-debuginfo-3.6.6-1.el6.x86_64.rpm      glusterfs-geo-replication-3.6.6-1.el6.x86_64.rpm  repodata
glusterfs-api-3.6.6-1.el6.x86_64.rpm        glusterfs-devel-3.6.6-1.el6.x86_64.rpm          glusterfs-libs-3.6.6-1.el6.x86_64.rpm
glusterfs-api-devel-3.6.6-1.el6.x86_64.rpm  glusterfs-extra-xlators-3.6.6-1.el6.x86_64.rpm  glusterfs-rdma-3.6.6-1.el6.x86_64.rpm
glusterfs-cli-3.6.6-1.el6.x86_64.rpm        glusterfs-fuse-3.6.6-1.el6.x86_64.rpm           glusterfs-server-3.6.6-1.el6.x86_64.rpm
[root@test glusterfs]# pwd
/usr/local/src/glusterfs
[root@test yum.repos.d]# cat >> /etc/yum.repos.d/base.repo <<EOF
> [glusterfs]
> name=glusterfs
> baseurl=file:///usr/local/src/glusterfs/
> gpgcheck=0
> enabled=1
> EOF
[root@test yum.repos.d]# yum makecache
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
base                                                                                                                                 | 2.9 kB     00:00     
base/filelists_db                                                                                                                    | 4.2 MB     00:00     
base/primary_db                                                                                                                      | 3.3 MB     00:00     
base/other_db                                                                                                                        | 1.7 MB     00:00     
epel                                                                                                                                 | 3.0 kB     00:00     
epel/filelists_db                                                                                                                    | 9.0 MB     00:00     
epel/primary_db                                                                                                                      | 6.1 MB     00:00     
epel/other_db                                                                                                                        | 3.6 MB     00:00     
glusterfs                                                                                                                            | 2.9 kB     00:00 ... 
glusterfs/filelists_db                                                                                                               |  18 kB     00:00 ... 
glusterfs/primary_db                                                                                                                 |  11 kB     00:00 ... 
glusterfs/other_db                                                                                                                   | 3.3 kB     00:00 ... 
Metadata Cache Created

at命令

命令格式:at [OPTION] … TIME

TIME
    HH:MM [YYYY-mm-dd]
    noon,midnight,teatime
    tomorrow
    now+# UNIT:minutes,hours,days or weeks
OPTION
    -l 查看作业队列,相当于atq
    -f /PATH/FROM/SOMEFILE,从指定文件中读取作业任务,不需要交互式输入
    -d删除指定作业,相当于atrm
    -c查看指定作业的具体内容
    -q QUEUE指明队列

crontab

需要root权限

编辑系统cron配置文件

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

 user-name command to be executed

  1. 每行定义一个cron任务
  2. crontab中环境变量与用户登陆环境变量不同,使用命令时使用绝对路径
  3. crontab执行结果邮件发送给用户
六个时间字段
  1. 特定值:给定值,某个时间点,day of week和day of month一般不同时使用
  2. *:表示该字段所有的可选值
  3. 离散值:离散值用逗号分割,表示多个时间点
  4. 连续值:连续值使用-连接两个数字,表示连续的时间段
  5. 定义步长:在指定时间上定义步长,/#。指定时间不能被步长整除,是没有意义的,步长最小单位为分钟,秒级的实现需要在脚本中实现
普通用户 需要使用root用户将需要使用crontab命令的用户名称加入到/etc/cron.allow文件中, 每个用户一行; /etc/cron.deny是不允许使用crontab的用户,优先级低于/etc/cron.allow

sed

流式编辑器,可用于过滤和编辑文档
命令格式:sed [OPTION]… {script-only-if-no-other-script} [input-file]…
OPTION:
   -n:不输出模式空间的内容到屏幕,默认是输出所有读入到模式空间内容的。
   -e script|–expression=script:多点编辑,-e script -e script
   -f /PATH/TO/SED_SCRIPT_FILE 从文件中读取script,每行一个script
   -r|–regexp-extend:支持使用扩展正则表达式,+和?不需要转义
   -i|–in-place:直接编辑原文件

script:地址界定编辑命令
编辑命令:
   d:删除
   p:显示模式空间内容
   a \text:在行后追加text内容
   i \text:在行前插入文本text
   c \text:用text替换匹配到的行
   w /PATH/TO/SOMEFILE:将模式空间匹配到的内容保存到文件
   r /PATH/FROM/SOMEFILE:读取指定文件内容至当前文件模式匹配的行后
   =:为匹配到的模式打印行号
   !:条件取反,地址定界!编辑命令
   s///:查找替换,分隔符可自己指定,例如s@@@,s###
      替换标记:g:全局替换,w /path/to/file 将替换结果保存至文件,p:显示替换成功的行
高级命令:
h:模式空间的内容覆盖至保持空间
H:模式空间的内容追加至保持空间
g:保持空间内容覆盖至模式空间
G:保持空间内容追加至模式空间
x:模式空间和保持空间内容互换
n:将读取匹配到的行的下一行覆盖至模式空间
N:将读取匹配到的行的下一行追加至模式空间
d:删除模式空间的行
D:删除多行模式空间所有行 
CANCEL

-评论-

Here you can post what you want to say, if you have more information please contact me by the following way.

-昵称-
-QQ-
-邮箱-
想说些什么?
-SUBMIT-

-电联 Phone-

+86 18520664652

-邮箱 Email-

boogieLing_o@163.com

boogieLing_o@qq.com

Your name. OS platform Browser model

What do you want to say?

created time

游說萬乘苦不早,著鞭跨馬涉遠道。

阿凌的貓爬架

幸會,

激活Ubuntu

转到“设置”以激活Ubuntu。

R0's board.