linux下rpm、yum、sed基础用法介绍

一、RPM包管理介绍

RPM是radhat系列和suse系列等的包管理系统,主要管理系统上软件包的安装、卸载和查询

rpm安装语法:rpm [install options] [programname…]

常用安装option:-i,表示安装程序包

          -v,表示输出详细安装过程
          -h,安装过程输出进度条
          -U,升级程序包
          -c,查看程序包的配置文件路劲
          --force,忽略程序包的冲突关系
          --nodeps,忽略程序包的依赖关系强制安装
          -e,卸载程序包

常用安装升级组合:

1、安装程序包

    rpm -ivh [程序包路劲]  用来安装程序包并显示安装信息进度

2、升级程序包

    rpm -Uvh [程序包路劲]  用来升级程序包并显示安装信息进度

3、rpm -e [程序包名称] 用来卸载程序包

rpm查询语法: rpm [query ostions] [程序包名|程序文件]
常用查询option:-q,表示查询信息,执行查询必带的参数
              -a,查询所有已安装的程序包
              -f,查询程序包产生的文件
              -l,查询指包名的程序文件
              -d,查询程序包的安装文档
              -i,查询程序包的相关信息
              -R,查询程序包的依赖关系

常用组合示例:

1、查询指定程序包的相关信息

        [root@suyiwen01 ~]# rpm -qi httpd
        Name        : httpd
        Version     : 2.4.6
        Release     : 67.el7.centos.6
        Architecture: x86_64
        Install Date: Wed 28 Mar 2018 11:37:25 AM CST
        Group       : System Environment/Daemons
        Size        : 9827789
        License     : ASL 2.0
        Signature   : RSA/SHA256, Fri 20 Oct 2017 08:31:20 PM CST, Key ID 24c6a8a7f4a80eb5
        Source RPM  : httpd-2.4.6-67.el7.centos.6.src.rpm
        Build Date  : Fri 20 Oct 2017 04:41:19 AM CST
        Build Host  : c1bm.rdu2.centos.org
        Relocations : (not relocatable)
        Packager    : CentOS BuildSystem <http://bugs.centos.org>
        Vendor      : CentOS
        URL         : http://httpd.apache.org/
        Summary     : Apache HTTP Server
        Description :
        The Apache HTTP Server is a powerful, efficient, and extensible
        web server.

2、查询程序包产生的文件

        [root@suyiwen01 ~]# rpm -ql httpd
        /etc/httpd
        /etc/httpd/conf
        /etc/httpd/conf.d
        /etc/httpd/conf.d/README
        ......

3、查询程序包的依赖关系

        [root@suyiwen01 ~]# rpm -qR mariadb
        /bin/sh
        /usr/bin/perl
        /usr/sbin/update-alternatives
        /usr/sbin/update-alternatives
        bash
        config(mariadb) = 1:5.5.56-2.el7
        fileutils
        .....

4、查询指定文件由哪个程序产生

        [root@suyiwen01 ~]# rpm -qf /etc/hostname 
        systemd-219-42.el7.x86_64
        [root@suyiwen01 ~]# 

二、CentOS系统yum详解

yum是基于rpm的包管理系统,可以自动为程序包解决依赖关系,简化对软件包的安装、升级、查询和卸载

语法格式 yum [options] [program name] [subcommand] [程序包]

常用option:

    -y,对所有回答为yes
    -q,静默模式

常用子命令

    install,安装程序包
    remove,卸载chengxubao
    update,升级程序包
    list,查看程序包列表
    seach,搜索程序包
    info,查看软件包信息
    check-update,查看可以升级的程序包
    clean,清除yum repo缓存
    groupinstall,安装程序包组
    grouplist,查看程序包组列表
    localinstall,安装本地程序包
    deplist,显示软件包的依赖关系

常用示例:

1、安装指定软件包

        [root@suyiwen01 ~]# yum install ntp -y
        Loaded plugins: fastestmirror
        Loading mirror speeds from cached hostfile
         * base: mirrors.aliyun.com
         * epel: mirrors.aliyun.com
         * extras: mirrors.aliyun.com
         * updates: mirrors.aliyun.com
        Resolving Dependencies
        --> Running transaction check
        ---> Package ntp.x86_64 0:4.2.6p5-25.el7.centos.2 will be installed
        --> Processing Dependency: ntpdate = 4.2.6p5-25.el7.centos.2 for package: ntp-4.2.6p5-25.el7.centos.2.x86_64
        --> Processing Dependency: libopts.so.25()(64bit) for package: ntp-4.2.6p5-25.el7.centos.2.x86_64
        .....

2、查看指定软件包的信息

        [root@suyiwen01 ~]# yum info ntp
        Loaded plugins: fastestmirror
        Loading mirror speeds from cached hostfile
         * base: mirrors.aliyun.com
         * epel: mirrors.aliyun.com
         * extras: mirrors.aliyun.com
         * updates: mirrors.aliyun.com
        Available Packages
        Name        : ntp
        Arch        : x86_64
        Version     : 4.2.6p5
        Release     : 25.el7.centos.2
        Size        : 547 k
        Repo        : base/7/x86_64
        Summary     : The NTP daemon and utilities
        URL         : http://www.ntp.org
        License     : (MIT and BSD and BSD with advertising) and GPLv2
        Description : The Network Time Protocol (NTP) is used to synchronize a computer's
                    : time with another reference time source. This package includes ntpd
                    : (a daemon which continuously adjusts system time) and utilities used
                    : to query and configure the ntpd daemon.
                    : 
                    : Perl scripts ntp-wait and ntptrace are in the ntp-perl package,
                    : ntpdate is in the ntpdate package and sntp is in the sntp package.
                    : The documentation is in the ntp-doc package.

3、安装指定包组

        [root@suyiwen01 ~]# yum groupinstall "Development Tools"
        Loaded plugins: fastestmirror
        There is no installed groups file.
        Maybe run: yum groups mark convert (see man yum)
        Loading mirror speeds from cached hostfile
         * base: mirrors.aliyun.com
         * epel: mirrors.aliyun.com
        .....            

4、卸载指定程序包

        [root@suyiwen01 ~]# yum remove ntp -y
        Loaded plugins: fastestmirror
        Resolving Dependencies
        --> Running transaction check
        ---> Package ntp.x86_64 0:4.2.6p5-25.el7.centos.2 will be erased
        --> Finished Dependency Resolution

        Dependencies Resolved
        ......

5、升级指定程序包

        [root@suyiwen01 ~]# yum update systemd
        Loaded plugins: fastestmirror
        Loading mirror speeds from cached hostfile
         * base: mirrors.aliyun.com
         * epel: mirrors.aliyun.com
         * extras: mirrors.aliyun.com
         * updates: mirrors.aliyun.com
         ......

yum源配置

配置yum配置文件
    [base]                                        //yum源仓库名
    name=                                        //yum源名字信息
    baseurl=                                    //yum源路径
    enable=                                        //是否启用源
    gpgcheck=                                    //是否启用key检查
    gpgkey=                                        //key路径

三、文本处理三剑客之sed常基础用法

sed是一个流式的文本处理工具

语法:sed [OPTION]… {script-only-if-no-other-script} [input-file]…

常用option:

-n,静默模式,不输出内容至屏幕,经过sed特殊处理的那一行才会显示出来
-e script,根据script进行编辑
-r,使用扩展正则表达式匹配
-f,后跟script命令文件进行编辑
-i,直接编辑原文件

常用script命令:

a,新增一行内容
c,替换匹配到的字符串为指定字符串
d,删除匹配到的字符串
s,查找替换
i,在当前行前前插入一行内容

示例1:显示/etc/fstab的第5到第10行

[root@suyiwen01 ~]# sed -n "5,10p" /etc/fstab
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=add4bda5-b5b9-44c4-91ad-d0f55e313ae8 /boot                   xfs     defaults        0 0

示例2:删除/boot/grub/grub2.cfg文件中所有以空白字符开头的行的行首的所有空白字符

[root@localhost ~]# sed -e "s@^#[[:space:]]*@@" /etc/fstab


/etc/fstab
Created by anaconda on Mon Mar 26 17:26:06 2018

Accessible filesystems, by reference, are maintained under '/dev/disk'
See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=83a1568a-0c24-4e08-bf70-f15cc8489bde /boot                   xfs     defaults        0 0
/dev/mapper/centos-home /home                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

示例3:将/etc/inittab中的#号,替换为//

[root@localhost ~]# sed "s@#@//@" /etc/inittab 
// inittab is no longer used when using systemd.
//
// ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
//
// Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
//
// systemd uses 'targets' instead of runlevels. By default, there are two main targets:
//
// multi-user.target: analogous to runlevel 3
// graphical.target: analogous to runlevel 5
//
// To view current default target, run:
......

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

(0)
落叶落叶
上一篇 2018-04-01 21:46
下一篇 2018-04-01

相关推荐

  • K8S的安装

    使用kubeadm安装部署kubernetes集群: 前提:1、各节点时间同步;2、各节点主机名称解析:dns OR hosts;3、各节点iptables及firewalld服务被disable; 一、设置主节点安装程序包 1、生成yum仓库配置: 主管理节点上的yum仓库的配置: 先配置安装docker仓库: [docker]name=dockerbas…

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

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

    2018-05-18
  • SSH端口转发及相关实验

    在上一节我们知道,SSH会自动加密和解密所有SSH客户端和服务器之间的网络数据。但是,SSH还同时提供了一个非常有用的功能,这就是端口转发。

    2018-05-22
  • linux第三周

    总结

    Linux笔记 2018-04-15
  • 作业管理(任务计划)

    任务计划就好比我们的闹钟一样,到了指定的时间就该去做对应的事情。 任务计划分为两类: 一次性的任务计划:只执行一次就结束 周期性的任务计划:每隔一定的周期去做相同的事情 at命令就是专门用来处理一次性的计划任务 batch也是处理一次性的计划任务但是它是由系统自行选择空闲时间去执行此处指定的任务(不常用) crontab可以根据定义的周期信息,循环的去做一些…

    Linux笔记 2018-05-05
  • Linux运维初步—第三周

    Linux运维初步—第三周总结与练习 标签(空格分隔): linux入门 linux 运维 — 写作:N27_loong 2017-7-27[TOC] 一、本周主要内容回顾: 用户(组)管理: – 增加用户或组,指定用户权限、家目录路径、用户属组属主的变更; – 用户密码和组密码加密和验证的设计和文件存储位置;…

    Linux笔记 2018-07-27

评论列表(1条)

  • 马哥教育
    马哥教育 2018-04-10 22:01

    笔记写的不错。