zoukankan      html  css  js  c++  java
  • 第二十六章 软件包的管理

    一、RPM软件包概述

    1.定义:RPM 是Red-Hat Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是

    其原始设计理念是开放式的是由红帽公司开发用于软件包的安装、升级、卸载、查询等操作。在主流的linux系统上,多数

    软件的安装、升级、移除以及维护工作都是使用RPM软件包管理程序来完成的。

     

    2.软件包类型:

    windows .exe

    Linux .rpm


    3.软件包的含义

    ant-antunit-1.2-10.el7.noarch.rpm

    antlr-C++-2.7.7-30.el7.x86_64.rpm

    ant-antunit      #软件包名称

    1.2         #软件的版本

    10          #软件包编译发布的次数

    el7         #适用于7系列的操作系统

    el6          #适用于6系列操作系统

    noarch        #适用于任何cpu架构

    x86_64       #硬件平台 位数

    .rpm           #包的后缀名


    4.软件包的安装方式

    rpm包 预先编译好的,安装简单 版本过低

    源码包 手动编译,安装繁琐 版本随意

    二进制包 绿色软件 解压即用 无法修改源代码


    5.软件包的获取方式

    本地的ISO镜像 需要挂载使用

    联网下载

    仓库获取 yum源

     

    二、rpm软件包管理工具

    命令 管理软件包

    #挂载镜像

    [root@jindada ~]# ll /dev/sr0
    brw-rw---- 1 root cdrom 11, 0 Jul 27 16:29 /dev/sr0
    [root@jindada ~]# ll /dev/cdrom
    lrwxrwxrwx 1 root root 3 Jul 27 16:29 /dev/cdrom -> sr0
    [root@jindada ~]# mount /dev/sr0 /mnt/
    mount: /dev/sr0 is write-protected, mounting read-only
    [root@jindada ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda3 98G 1.5G 97G 2% /
    devtmpfs 980M 0 980M 0% /dev
    tmpfs 991M 0 991M 0% /dev/shm
    tmpfs 991M 9.6M 981M 1% /run
    tmpfs 991M 0 991M 0% /sys/fs/cgroup
    /dev/sda1 497M 120M 378M 25% /boot
    tmpfs 199M 0 199M 0% /run/user/0
    /dev/sr0 4.3G 4.3G 0 100% /mnt

    [root@jindada ~]# ll /mnt/Packages/ | wc -l
    4023


    #安装

    -i #安装

    -v #显示安装的过程

    -h #显示安装的进度条

    -ivh

    [root@jindada ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
    Preparing... ################################# [100%]
    Updating / installing...
    1:tree-1.6.0-10.el7 ################################# [100%]


    #删除 移除一个软件包

    [root@jindada ~]# rpm -e tree


    #rpm安装太需要依赖了,不会自动寻找依赖,需要手动下载依赖 不建议使用

    #安装httpd 报错
    [root@jindada ~]# rpm -ivh /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64.rpm
    error: Failed dependencies:
    /etc/mime.types is needed by httpd-2.4.6-88.el7.centos.x86_64
    httpd-tools = 2.4.6-88.el7.centos is needed by httpd-2.4.6-88.el7.centos.x86_64
    libapr-1.so.0()(64bit) is needed by httpd-2.4.6-88.el7.centos.x86_64
    libaprutil-1.so.0()(64bit) is needed by httpd-2.4.6-88.el7.centos.x86_64

    #根据提示安装相关依赖 报错
    [root@jindada ~]# rpm -ivh /mnt/Packages/httpd-tools-2.4.6-88.el7.centos.x86_64.rpm
    error: Failed dependencies:
    libapr-1.so.0()(64bit) is needed by httpd-tools-2.4.6-88.el7.centos.x86_64
    libaprutil-1.so.0()(64bit) is needed by httpd-tools-2.4.6-88.el7.centos.x86_64

    #查找相关依赖包

    [root@jindada ~]# ll /mnt/Packages/ | grep apr
    -rw-rw-r-- 1 root root 105728 Nov 29 2017 apr-1.4.8-3.el7_4.1.x86_64.rpm
    -rw-rw-r-- 1 root root 192652 Nov 29 2017 apr-devel-1.4.8-3.el7_4.1.x86_64.rpm
    -rw-rw-r-- 1 root root 94132 Jul 4 2014 apr-util-1.5.2-6.el7.x86_64.rpm
    -rw-rw-r-- 1 root root 78072 Jul 4 2014 apr-util-devel-1.5.2-6.el7.x86_64.rpm
    -rw-rw-r-- 1 root root 854420 Nov 12 2018 haproxy-1.5.18-8.el7.x86_64.rpm

    #安装相关依赖
    [root@jindada ~]# rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm
    Preparing... ################################# [100%]
    Updating / installing...
    1:apr-1.4.8-3.el7_4.1 ################################# [100%]
    [root@jindada ~]# rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
    Preparing... ################################# [100%]
    Updating / installing...
    1:apr-util-1.5.2-6.el7 ################################# [100%]

    #尝试安装httpd-tools

    [root@jindada ~]# rpm -ivh /mnt/Packages/httpd-tools-2.4.6-88.el7.centos.x86_64.rpm
    Preparing... ################################# [100%]
    Updating / installing...
    1:httpd-tools-2.4.6-88.el7.centos ################################# [100%]

    #再次安装httpd 报错
    [root@jindada ~]# rpm -ivh /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64.rpm
    error: Failed dependencies:
    /etc/mime.types is needed by httpd-2.4.6-88.el7.centos.x86_64


    #搜索相关文件的依赖包
    [root@jindada ~]# yum provides /etc/mime.types
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.ustc.edu.cn
    * epel: fedora.cs.nctu.edu.tw
    * extras: mirrors.aliyun.com
    * updates: mirrors.ustc.edu.cn
    mailcap-2.1.41-2.el7.noarch : Helper application and MIME type associations for file types
    Repo : base
    Matched from:
    Filename : /etc/mime.types

    #安装依赖包
    [root@jindada ~]# rpm -ivh /mnt/Packages/mailcap-2.1.41-2.el7.noarch.rpm
    Preparing... ################################# [100%]
    Updating / installing...
    1:mailcap-2.1.41-2.el7 ################################# [100%]

    #最终安装成功

    [root@jindada ~]# rpm -ivh /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64.rpm
    Preparing... ################################# [100%]
    Updating / installing...
    1:httpd-2.4.6-88.el7.centos ################################# [100%]
    [root@jindada ~]#

     

    #联网安装软件包

    [root@jindada ~]# rpm -ivh https://mirrors.aliyun.com/centos/7.8.2003/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
    Retrieving https://mirrors.aliyun.com/centos/7.8.2003/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
    Preparing... ################################# [100%]
    Updating / installing...
    1:tree-1.6.0-10.el7 ################################# [100%]


    #升级安装

    -U #升级

    [root@jindada ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
    Retrieving https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm
    warning: /var/tmp/rpm-tmp.jseg5b: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
    Preparing... ################################# [100%]
    Updating / installing...
    1:zabbix-agent-4.0.0-2.el7 ################################# [100%]

    [root@jindada ~]# zabbix_agentd -V
    zabbix_agentd (daemon) (Zabbix) 4.0.0
    Revision 85308 1 October 2018, compilation time: Oct 1 2018 08:41:36

    Copyright (C) 2018 Zabbix SIA
    License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it according to
    the license. There is NO WARRANTY, to the extent permitted by law.

    #升级安装
    [root@jindada ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.0-1.el7.x86_64.rpm
    Retrieving https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.0-1.el7.x86_64.rpm
    warning: /var/tmp/rpm-tmp.e9rZWk: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
    Preparing... ################################# [100%]
    Updating / installing...
    1:zabbix-agent-4.4.0-1.el7 ################################# [ 50%]
    Cleaning up / removing...
    2:zabbix-agent-4.0.0-2.el7 ################################# [100%]
    [root@jindada ~]# zabbix_agentd -V
    zabbix_agentd (daemon) (Zabbix) 4.4.0
    Revision cfac660b25 7 October 2019, compilation time: Oct 7 2019 11:26:17

    Copyright (C) 2019 Zabbix SIA
    License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
    This is free software: you are free to change and redistribute it according to
    the license. There is NO WARRANTY, to the extent permitted by law.

    This product includes software developed by the OpenSSL Project
    for use in the OpenSSL Toolkit (http://www.openssl.org/).

    Compiled with OpenSSL 1.0.1e-fips 11 Feb 2013
    Running with OpenSSL 1.0.1e-fips 11 Feb 2013

    #查询指定的软件包是否安装

    [root@jindada ~]# rpm -q tree
    tree-1.6.0-10.el7.x86_64
    [root@jindada ~]# rpm -q ifconfig
    package ifconfig is not installed
    [root@jindada ~]# rpm -q net-tools
    net-tools-2.0-0.25.20131004git.el7.x86_64

    #显示所有已经安装的软件包

    [root@jindada ~]# rpm -qa | grep tree
    tree-1.6.0-10.el7.x86_64


    #查询软件包列表信息
    [root@jindada ~]# rpm -ql httpd
    /etc/httpd
    /etc/httpd/conf
    /etc/httpd/conf.d
    /etc/httpd/conf.d/README
    /etc/httpd/conf.d/autoindex.conf
    /etc/httpd/conf.d/userdir.conf
    /etc/httpd/conf.d/welcome.conf

    #查询相关配置文件信息
    [root@jindada ~]# rpm -qc httpd
    /etc/httpd/conf.d/autoindex.conf
    /etc/httpd/conf.d/userdir.conf
    /etc/httpd/conf.d/welcome.conf
    /etc/httpd/conf.modules.d/00-base.conf
    /etc/httpd/conf.modules.d/00-dav.conf
    /etc/httpd/conf.modules.d/00-lua.conf
    /etc/httpd/conf.modules.d/00-mpm.conf
    /etc/httpd/conf.modules.d/00-proxy.conf
    /etc/httpd/conf.modules.d/00-systemd.conf
    /etc/httpd/conf.modules.d/01-cgi.conf
    /etc/httpd/conf/httpd.conf
    /etc/httpd/conf/magic
    /etc/logrotate.d/httpd
    /etc/sysconfig/htcacheclean
    /etc/sysconfig/httpd

    #查询软件包本身信息

    [root@jindada ~]# rpm -qi httpd
    Name : httpd
    Version : 2.4.6
    Release : 88.el7.centos
    Architecture: x86_64
    Install Date: Thu 30 Jul 2020 09:03:08 AM CST
    Group : System Environment/Daemons
    Size : 9817309
    License : ASL 2.0
    Signature : RSA/SHA256, Mon 12 Nov 2018 10:28:53 PM CST, Key ID 24c6a8a7f4a80eb5
    Source RPM : httpd-2.4.6-88.el7.centos.src.rpm
    Build Date : Mon 05 Nov 2018 09:48:57 AM CST
    Build Host : x86-01.bsys.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.

    #使用绝对路径查询命令属于哪个软件包 前提系统已经安装这个软件

    [root@jindada ~]# rpm -qf `which ping`
    iputils-20160308-10.el7.x86_64
    [root@jindada ~]# which ping
    /usr/bin/ping
    [root@jindada ~]# rpm -qf /usr/bin/ping
    iputils-20160308-10.el7.x86_64

    总结:

    安装:rpm -ivh <RPM包名全称>

    #卸载:rpm -e <RPM包名>

    #升级:rpm -Uvh <RPM包名>

    #查询:rpm [参数] <RPM包名>

    常用参数:

    rpm -qa                      #查询系统中安装的所有RPM软件包

    rpm -q <RPM包名>            #查询指定软件包是否已安装

    rpm -qi <RPM包名>           #查询系统中已安装包的描述信息

    rpm -ql <RPM包名>           #查询系统中已安装包里所包含的文件

    rpm -qc    <RPM包名>          #查询指定软件包的所有配置文件

    rpm -qf <RPM包名>           #查询系统中指定文件所属的软件包

    rpm -qa | grep php          #检索系统中已经安装有关php的软件包

    验证:rpm -V [参数]

     

    三、yum管理工具


    yum源 yum仓库


    [root@jindada ~]# ll /etc/yum.repos.d/
    total 40
    -rw-r--r-- 1 root root 1664 Nov 23 2018 CentOS-Base.repo
    -rw-r--r-- 1 root root 1309 Nov 23 2018 CentOS-CR.repo
    -rw-r--r-- 1 root root 649 Nov 23 2018 CentOS-Debuginfo.repo
    -rw-r--r-- 1 root root 314 Nov 23 2018 CentOS-fasttrack.repo
    -rw-r--r-- 1 root root 630 Nov 23 2018 CentOS-Media.repo
    -rw-r--r-- 1 root root 1331 Nov 23 2018 CentOS-Sources.repo
    -rw-r--r-- 1 root root 5701 Nov 23 2018 CentOS-Vault.repo
    -rw-r--r-- 1 root root 951 Oct 3 2017 epel.repo
    -rw-r--r-- 1 root root 1050 Oct 3 2017 epel-testing.repo


    怎么获取yum源

    本地的ISO镜像

    yum源仓库

    联网的方式下载

    本地yum仓库


    yum的种类

    base #基础源

    epel #扩展源

    软件官方源 # nginx zabbix docker

     

    阿里源

    清华源

    中科大

    163源


    #更新源

    [root@jindada ~]# rm -rf /etc/yum.repos.d/*

    [root@jindada ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo


    [root@jindada ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

     

    [root@jindada ~]# ll /etc/yum.repos.d/
    total 8
    -rw-r--r-- 1 root root 2523 Jul 30 09:51 CentOS-Base.repo
    -rw-r--r-- 1 root root 664 May 11 2018 epel.repo


    #显示可用的yum仓库

    [root@jindada ~]# yum repolist
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.aliyun.com
    * extras: mirrors.aliyun.com
    * updates: mirrors.aliyun.com
    repo id repo name status
    !base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,070
    !epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,422
    !extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 412
    !updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 900
    repolist: 24,804


    #显示所有的

    [root@jindada ~]# yum repolist all
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.aliyun.com
    * extras: mirrors.aliyun.com
    * updates: mirrors.aliyun.com
    repo id repo name status
    !base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com enabled: 10,070
    centosplus/7/x86_64 CentOS-7 - Plus - mirrors.aliyun.com disabled
    contrib/7/x86_64 CentOS-7 - Contrib - mirrors.aliyun.com disabled
    !epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 enabled: 13,422
    epel-debuginfo/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 - Debug disabled
    epel-source Extra Packages for Enterprise Linux 7 - x86_64 - Source disabled
    !extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com enabled: 412
    !updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com enabled: 900
    repolist: 24,804


    [root@jindada ~]# yum install -y yum-utils


    [root@jindada ~]# yum-config-manager --disable epel


    [root@jindada ~]# yum repolist all
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.aliyun.com
    * extras: mirrors.aliyun.com
    * updates: mirrors.aliyun.com
    repo id repo name status
    base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com enabled: 10,070
    centosplus/7/x86_64 CentOS-7 - Plus - mirrors.aliyun.com disabled
    contrib/7/x86_64 CentOS-7 - Contrib - mirrors.aliyun.com disabled
    epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 disabled
    epel-debuginfo/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 - Debug disabled
    epel-source Extra Packages for Enterprise Linux 7 - x86_64 - Source disabled
    extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com enabled: 412
    updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com enabled: 900
    repolist: 11,382

    [root@jindada ~]# yum-config-manager --enable epel

     

    #软件包管理

    #显示所有可安装的包

    [root@jindada ~]# yum list

    #显示系统中已经安装的包
    [root@jindada ~]# yum list installed


    [root@jindada ~]# yum list | grep ^tree
    tree.x86_64 1.6.0-10.el7 @base
    treelayout.noarch 1.0.3-4.el7 epel
    treelayout-demo.noarch 1.0.3-4.el7 epel
    treelayout-javadoc.noarch 1.0.3-4.el7 epel

    #显示可更新的包

    [root@jindada ~]# yum check-update

    [root@jindada ~]# yum list updates


    [root@jindada ~]# rpm -qa httpd
    httpd-2.4.6-88.el7.centos.x86_64

    #更新某个软件包

    [root@jindada ~]# yum update httpd -y


    [root@jindada ~]# rpm -qa httpd
    httpd-2.4.6-93.el7.centos.x86_64


    #安装软件包


    [root@jindada ~]# yum install tree #交互式 麻烦


    [root@jindada ~]# yum install tree -y #免交互


    #卸载

    [root@jindada ~]# yum remove tree -y

    [root@jindada ~]# yum erase tree -y


    #联网安装软件包

    [root@jindada ~]# yum install -y https://mirrors.aliyun.com/centos/7.8.2003/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm


    #本地安装

    [root@jindada ~]# yum localinstall -y /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm

     

    [root@jindada ~]# systemctl start httpd
    [root@jindada ~]# systemctl status httpd
    ● httpd.service - The Apache HTTP Server
    Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
    Active: active (running) since Thu 2020-07-30 10:36:26 CST; 6s ago


    [root@jindada ~]# rm -f /etc/httpd/conf/httpd.conf
    [root@jindada ~]# systemctl restart httpd
    Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

    #重新安装

    [root@jindada ~]# yum reinstall -y httpd


    #搜索

    [root@jindada ~]# yum search ifconfig
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.aliyun.com
    * extras: mirrors.aliyun.com
    * updates: mirrors.aliyun.com
    ================================================= N/S matched: ifconfig =================================================
    python36-ifcfg.noarch : Python cross-platform network interface discovery (ifconfig/ipconfig/ip)

    Name and summary matches only, use "search all" for everything.

    #联网搜索命令属于哪个软件包

    [root@jindada ~]# yum provides ifconfig
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.aliyun.com
    * extras: mirrors.aliyun.com
    * updates: mirrors.aliyun.com
    epel/x86_64/filelists_db | 12 MB 00:00:04
    net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
    Repo : @base
    Matched from:
    Filename : /usr/sbin/ifconfig

    #查看软件包相关信息

    [root@jindada ~]# yum info tree
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * base: mirrors.aliyun.com
    * extras: mirrors.aliyun.com
    * updates: mirrors.aliyun.com
    Installed Packages
    Name : tree
    Arch : x86_64
    Version : 1.6.0
    Release : 10.el7
    Size : 87 k
    Repo : installed
    Summary : File system tree viewer
    URL : http://mama.indstate.edu/users/ice/tree/
    License : GPLv2+
    Description : The tree utility recursively displays the contents of directories in a
    : tree-like format. Tree is basically a UNIX port of the DOS tree
    : utility.

    #组包的安装

    [root@jindada ~]# yum groups install Python

    #组包的卸载

    [root@jindada ~]# yum groups remove Python

    #yum缓存

    #清除包的缓存

    [root@jindada ~]# yum clean packages
    Loaded plugins: fastestmirror
    Cleaning repos: base epel extras updates
    0 package files removed

    #清除插件的缓存

    [root@jindada ~]# yum clean plugins
    Loaded plugins: fastestmirror
    Cleaning repos: base epel extras updates
    Cleaning up list of fastest mirrors


    #清除所有缓存

    [root@jindada ~]# yum clean all
    Loaded plugins: fastestmirror
    Cleaning repos: base epel extras updates

    #生成缓存

    [root@jindada ~]# yum makecache


    #yum 历史记录

    [root@jindada ~]# yum history
    Loaded plugins: fastestmirror
    ID | Command line | Date and time | Action(s) | Altered
    -------------------------------------------------------------------------------
    27 | reinstall -y httpd | 2020-07-30 10:37 | Reinstall | 1
    26 | localinstall -y /mnt/Pac | 2020-07-30 10:11 | Install | 1
    25 | erase tree -y | 2020-07-30 10:10 | Erase | 1
    24 | install -y https://mirro | 2020-07-30 10:09 | Install | 1


    #显示所有历史记录

    [root@jindada ~]# yum history list all
    Loaded plugins: fastestmirror
    ID | Login user | Date and time | Action(s) | Altered
    -------------------------------------------------------------------------------
    27 | root <root> | 2020-07-30 10:37 | Reinstall | 1
    26 | root <root> | 2020-07-30 10:11 | Install | 1
    25 | root <root> | 2020-07-30 10:10 | Erase | 1
    24 | root <root> | 2020-07-30 10:09 | Install | 1
    23 | root <root> | 2020-07-30 10:08 | Erase | 1
    22 | root <root> | 2020-07-30 10:08 | Install | 1

    #查看某个ID的历史信息


    [root@jindada ~]# yum history info 15
    Loaded plugins: fastestmirror
    Transaction ID : 15
    Begin time : Wed Jul 22 08:51:56 2020
    Begin rpmdb : 372:6b59857cbbb441dc1cf9e1a96ab23013fd830365
    End time : (0 seconds)
    End rpmdb : 373:c16ad60498e5079097783959293418aeedfc68b5
    User : root <root>
    Return-Code : Success
    Command Line : install -y psmisc
    Transaction performed with:
    Installed rpm-4.11.3-35.el7.x86_64 @anaconda
    Installed yum-3.4.3-161.el7.centos.noarch @anaconda
    Installed yum-plugin-fastestmirror-1.1.31-50.el7.noarch @anaconda
    Packages Altered:
    Install psmisc-22.20-16.el7.x86_64 @base
    history info


    #回滚历史ID为10的操作

    [root@jindada ~]# yum history undo 10 -y


    [root@jindada ~]# yum --setopt=history_list_view=commands history list all
    Loaded plugins: fastestmirror
    ID | Command line | Date and time | Action(s) | Altered
    -------------------------------------------------------------------------------
    28 | history undo 10 | 2020-07-30 10:49 | Erase | 21
    27 | reinstall -y httpd | 2020-07-30 10:37 | Reinstall | 1
    26 | localinstall -y /mnt/Pac | 2020-07-30 10:11 | Install | 1
    25 | erase tree -y | 2020-07-30 10:10 | Erase | 1
    24 | install -y https://mirro | 2020-07-30 10:09 | Install | 1
    23 | erase tree -y | 2020-07-30 10:08 | Erase | 1
    22 | install tree -y | 2020-07-30 10:08 | Install | 1
    21 | remove tree -y | 2020-07-30 10:08 | Erase | 1

     

    [root@jindada ~]# ll /etc/yum.conf


    #只下载 不安装 指定下载的路径

    [root@jindada ~]# yum install -y --downloadonly --downloaddir=/opt nginx


    [root@jindada ~]# ll /opt/
    total 4380
    -rw-r--r-- 1 root root 93872 Jul 4 2014 centos-indexhtml-7-9.el7.centos.noarch.rpm
    -rw-r--r-- 1 root root 65788 Jul 4 2014 dejavu-fonts-common-2.33-6.el7.noarch.rpm
    -rw-r--r-- 1 root root 1482820 Jul 4 2014 dejavu-sans-fonts-2.33-6.el7.noarch.rpm
    -rw-r--r-- 1 root root 260512 Nov 12 2018 fontconfig-2.13.0-4.3.el7.x86_64.rpm
    -rw-r--r-- 1 root root 10116 Jul 4 2014 fontpackages-filesystem-1.44-8.el7.noarch.rpm
    -rw-r--r-- 1 root root 149492 Jul 4 2014 gd-2.0.35-26.el7.x86_64.rpm
    -rw-r--r-- 1 root root 278636 Apr 25 2018 gperftools-libs-2.6.1-1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 137752 Aug 23 2019 libjpeg-turbo-1.2.90-8.el7.x86_64.rpm
    -rw-r--r-- 1 root root 621364 Aug 23 2019 libX11-1.6.7-2.el7.x86_64.rpm
    -rw-r--r-- 1 root root 168172 Aug 23 2019 libX11-common-1.6.7-2.el7.noarch.rpm
    -rw-r--r-- 1 root root 29784 Jul 4 2014 libXau-1.0.8-2.1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 218900 Nov 12 2018 libxcb-1.13-1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 56800 Aug 11 2017 libXpm-3.5.12-1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 575413 Oct 4 2019 nginx-1.16.1-1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 19857 Oct 4 2019 nginx-all-modules-1.16.1-1.el7.noarch.rpm
    -rw-r--r-- 1 root root 21089 Oct 4 2019 nginx-filesystem-1.16.1-1.el7.noarch.rpm
    -rw-r--r-- 1 root root 30445 Oct 4 2019 nginx-mod-http-image-filter-1.16.1-1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 39849 Oct 4 2019 nginx-mod-http-perl-1.16.1-1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 29613 Oct 4 2019 nginx-mod-http-xslt-filter-1.16.1-1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 58301 Oct 4 2019 nginx-mod-mail-1.16.1-1.el7.x86_64.rpm
    -rw-r--r-- 1 root root 86465 Oct 4 2019 nginx-mod-stream-1.16.1-1.el7.x86_64.rpm

    [root@jindada ~]# cat /etc/yum.conf
    [main]
    #cachedir=/var/cache/yum/$basearch/$releasever
    cachedir=/opt #指定下载保存路径
    keepcache=1 #开启缓存


    [root@jindada ~]# yum install -y nginx


    [root@jindada ~]# ll /opt/
    total 12
    drwxr-xr-x 4 root root 256 Jul 30 11:03 base
    drwxr-xr-x 4 root root 4096 Jul 30 11:03 epel
    drwxr-xr-x 4 root root 161 Jul 30 11:03 extras
    -rw-r--r-- 1 root root 117 Jul 30 11:04 timedhosts
    -rw-r--r-- 1 root root 107 Jul 30 11:03 timedhosts.txt
    drwxr-xr-x 4 root root 161 Jul 30 11:03 updates
    [root@jindada ~]# find /opt/ -name "*.rpm"
    /opt/base/packages/centos-indexhtml-7-9.el7.centos.noarch.rpm
    /opt/base/packages/dejavu-fonts-common-2.33-6.el7.noarch.rpm
    /opt/base/packages/fontconfig-2.13.0-4.3.el7.x86_64.rpm
    /opt/base/packages/dejavu-sans-fonts-2.33-6.el7.noarch.rpm
    /opt/base/packages/fontpackages-filesystem-1.44-8.el7.noarch.rpm
    /opt/base/packages/gd-2.0.35-26.el7.x86_64.rpm
    /opt/base/packages/gperftools-libs-2.6.1-1.el7.x86_64.rpm
    /opt/base/packages/libX11-1.6.7-2.el7.x86_64.rpm
    /opt/base/packages/libX11-common-1.6.7-2.el7.noarch.rpm
    /opt/base/packages/libXau-1.0.8-2.1.el7.x86_64.rpm
    /opt/base/packages/libXpm-3.5.12-1.el7.x86_64.rpm
    /opt/base/packages/libjpeg-turbo-1.2.90-8.el7.x86_64.rpm
    /opt/base/packages/libxcb-1.13-1.el7.x86_64.rpm
    /opt/epel/packages/nginx-all-modules-1.16.1-1.el7.noarch.rpm
    /opt/epel/packages/nginx-1.16.1-1.el7.x86_64.rpm
    /opt/epel/packages/nginx-filesystem-1.16.1-1.el7.noarch.rpm
    /opt/epel/packages/nginx-mod-http-image-filter-1.16.1-1.el7.x86_64.rpm
    /opt/epel/packages/nginx-mod-http-perl-1.16.1-1.el7.x86_64.rpm
    /opt/epel/packages/nginx-mod-http-xslt-filter-1.16.1-1.el7.x86_64.rpm
    /opt/epel/packages/nginx-mod-mail-1.16.1-1.el7.x86_64.rpm
    /opt/epel/packages/nginx-mod-stream-1.16.1-1.el7.x86_64.rpm

    yum总结:

    repolist      #针对仓库操作

    all        #显示所有

    list        #显示所有可安装的软件包

    installed     #显示已经安装的

    updates      #显示可更新的

    check-update     #显示可更新的

    update     #更新

    install      #安装

    localinstall     #本地安装

    reinstall      #重新安装

    remove      #卸载

    erase      #卸载

    info      #显示软件包信息

    search     #搜索

    provides    #查询命令属于哪个软件包

    groups    #组包管理

    install      #安装

    remove     #移除

    clean      #清空

    all        #清空所有

    packages   #清空软件包

    plugins     #清空插件

    makecahce    #生成缓存

    history     #历史记录

    list all      #显示所有

    info ID      #显示某次记录的信息

    undo ID      #回滚这次的操作

    yum-config-manager    #yum仓库管理工具

     

    --disable        #禁用仓库

    --enable        #启用仓库

    四、搭建本地yum仓库

     

    #把之前的仓库全部将其失效

    [root@jindada ~]# ll /etc/yum.repos.d/
    total 8
    -rw-r--r-- 1 root root 2523 Jul 30 09:51 CentOS-Base.repo
    -rw-r--r-- 1 root root 664 Jul 30 09:57 epel.repo
    [root@jindada ~]# gzip /etc/yum.repos.d/*
    [root@jindada ~]# ll /etc/yum.repos.d/
    total 8
    -rw-r--r-- 1 root root 601 Jul 30 09:51 CentOS-Base.repo.gz
    -rw-r--r-- 1 root root 254 Jul 30 09:57 epel.repo.gz

    #挂载镜像源

    [root@jindada ~]# mount /dev/sr0 /mnt/

    [root@jindada ~]# df -h | grep mnt
    /dev/sr0 4.3G 4.3G 0 100% /mnt

     


    file:// #本地

    ftp:// #文件传输地址

    http:// #网络协议地址

    https:// #网络协议地址


    #编写yum源文件

    [root@jindada ~]# cat /etc/yum.repos.d/lcoal.repo
    [jindada] #仓库名称 不能有空格
    name=this is local repo #仓库说明信息
    baseurl=file:///mnt #仓库地址
    enabled=1 #启用仓库
    gpgcheck=0 #不检查其合法性


    #测试是否可用

    [root@jindada ~]# yum clean all
    Loaded plugins: fastestmirror
    Cleaning repos: jindada
    Cleaning up list of fastest mirrors
    Other repos take up 309 M of disk space (use --verbose for details)


    [root@jindada ~]# yum makecache
    Loaded plugins: fastestmirror
    Determining fastest mirrors
    jindada | 3.6 kB 00:00:00
    (1/4): jindada/group_gz | 166 kB 00:00:00
    (2/4): jindada/filelists_db | 3.2 MB 00:00:00
    (3/4): jindada/primary_db | 3.1 MB 00:00:00
    (4/4): jindada/other_db | 1.3 MB 00:00:00
    Metadata Cache Created


    [root@jindada ~]# yum install -y tree

     

    五、将本地yum仓库分享给其他主机

    10.0.0.100 #本地仓库地址 服务端


    10.0.0.101 #客户端

    #客户端修改主机名
    [root@jindada ~]# hostnamectl set-hostname client

     

    # 在10.0.0.100 主机上面操作

    [root@jindada ~]# mount /dev/cdrom /mnt/
    mount: /dev/sr0 is write-protected, mounting read-only
    [root@jindada ~]# df -h | grep mnt
    /dev/sr0 4.3G 4.3G 0 100% /mnt

    #安装文件传输工具

    [root@jindada ~]# yum install -y vsftpd

    #启动
    [root@jindada ~]# systemctl start vsftpd
    [root@jindada ~]# systemctl enable vsftpd

    #关闭防火墙
    [root@jindada ~]# systemctl stop firewalld

    #关闭Selinux
    [root@jindada ~]# setenforce 0


    #测试

    #浏览器输出

    ftp://10.0.0.100/

    #访问的是这个目录

    [root@jindada ~]# ll /var/ftp/
    total 0
    drwxr-xr-x 2 root root 6 Oct 31 2018 pub


    [root@jindada ~]# mkdir /var/ftp/local-base
    [root@jindada ~]# ll /var/ftp/
    total 0
    drwxr-xr-x 2 root root 6 Jul 30 19:55 local-base
    drwxr-xr-x 2 root root 6 Oct 31 2018 pub
    [root@jindada ~]# cp -rp /mnt/Packages/* /var/ftp/local-base/

    #下载管理工具

    [root@jindada ~]# yum install -y createrepo

    #告诉系统,这是个镜像yum源仓库

    [root@jindada ~]# createrepo /var/ftp/local-base/
    Spawning worker 0 with 4021 pkgs
    Workers Finished
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete


    #修改yum配置文件

    [root@jindada ~]# cat /etc/yum.repos.d/lcoal.repo
    [jindada]
    name=this is local repo
    baseurl=ftp://10.0.0.100/local-base/
    enabled=1
    gpgcheck=0


    [root@jindada ~]# yum repolist
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    repo id repo name status
    jindada this is local repo 4,021
    repolist: 4,021

     

     

    #让其他主机使用这个仓库

    在10.0.0.101主机上面操作


    [root@client ~]# systemctl stop firewalld
    [root@client ~]# setenforce 0

     

    [root@client ~]# gzip /etc/yum.repos.d/*
    [root@client ~]# ll /etc/yum.repos.d/
    total 28
    -rw-r--r--. 1 root root 549 Nov 23 2018 CentOS-Base.repo.gz
    -rw-r--r--. 1 root root 735 Nov 23 2018 CentOS-CR.repo.gz
    -rw-r--r--. 1 root root 426 Nov 23 2018 CentOS-Debuginfo.repo.gz
    -rw-r--r--. 1 root root 232 Nov 23 2018 CentOS-fasttrack.repo.gz
    -rw-r--r--. 1 root root 381 Nov 23 2018 CentOS-Media.repo.gz
    -rw-r--r--. 1 root root 506 Nov 23 2018 CentOS-Sources.repo.gz
    -rw-r--r--. 1 root root 633 Nov 23 2018 CentOS-Vault.repo.gz


    #编写yum源配置文件

    [root@client ~]# cat /etc/yum.repos.d/lcoal.repo
    [jindada]
    name=this is local repo
    baseurl=ftp://10.0.0.100/local-base/
    enabled=1
    gpgcheck=0

     

    #测试

    [root@client ~]# yum clean all
    Loaded plugins: fastestmirror
    Cleaning repos: jindada
    [root@client ~]# yum makecache
    Loaded plugins: fastestmirror
    Determining fastest mirrors
    jindada | 2.9 kB 00:00:00
    (1/3): jindada/filelists_db | 3.2 MB 00:00:00
    (2/3): jindada/primary_db | 3.2 MB 00:00:00
    (3/3): jindada/other_db | 1.3 MB 00:00:00
    Metadata Cache Created


    [root@client ~]# yum install vim -y

    六、源码包管理

    1. 要有源码包 下载源码包

    [root@jindada ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz

    [root@jindada ~]# ll
    total 1016
    -rw-r--r-- 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz

    2. 解压软件包

    [root@jindada ~]# tar xf nginx-1.18.0.tar.gz
    [root@jindada ~]# ll
    total 1016
    drwxr-xr-x 8 user05 1001 158 Apr 21 22:09 nginx-1.18.0
    -rw-r--r-- 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz

    3. 进入这个目录,进行预编译操作 编译设置

    [root@jindada nginx-1.18.0]# ./configure --prefix=/opt/nginx-1.18.0 --with-http_ssl_module
    checking for OS
    + Linux 3.10.0-957.el7.x86_64 x86_64
    checking for C compiler ... not found

    ./configure: error: C compiler cc is not found #报错 缺少编译软件 gc 

    #按照依赖

    [root@jindada nginx-1.18.0]# yum install -y gcc

    #再次执行报错

    ./configure: error: the HTTP rewrite module requires the PCRE library.
    You can either disable the module by using --without-http_rewrite_module
    option, or install the PCRE library into the system, or build the PCRE library
    statically from the source with nginx by using --with-pcre=<path> option. 


    #解决:

    [root@jindada nginx-1.18.0]# yum install -y pcre pcre-devel


    #再次执行报错

    ./configure: error: SSL modules require the OpenSSL library.
    You can either do not enable the modules, or install the OpenSSL library
    into the system, or build the OpenSSL library statically from the source
    with nginx by using --with-openssl=<path> option.

    #解决:

    [root@jindada nginx-1.18.0]# yum install -y openssl openssl-devel

    #4. 编译

    [root@jindada nginx-1.18.0]# make


    5. 将编译的结果拷贝到指定的位置

    [root@jindada nginx-1.18.0]# make install


    [root@jindada nginx-1.18.0]# ll /opt/
    drwxr-xr-x 6 root root 54 Jul 31 16:54 nginx-1.18.0


    6. 做个软链接

    [root@jindada ~]# ln -s /opt/nginx-1.18.0/ /opt/nginx

    7. 启动

    [root@jindada ~]# /opt/nginx/sbin/nginx

  • 相关阅读:
    final,finally和finalize三者的区别和联系
    Java程序开发中的简单内存分析
    Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
    java中的基本数据类型一定存储在栈中吗?
    CDN加速-内容分发网络
    大型Java web项目分布式架构演进-分布式部署
    阿里面试-2019
    jvm调优-从eclipse开始
    eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.Maven
    图解 CMS 垃圾回收机制原理,-阿里面试题
  • 原文地址:https://www.cnblogs.com/jhno1/p/13411715.html
Copyright © 2011-2022 走看看