zoukankan      html  css  js  c++  java
  • day13(软件包管理)

    软件包管理

    一:软件包分类和格式

    1. 软件包分类

    1. rpm 包(其次原始,对源码包处理过)
      预先编译打包,安装方便;稳定但是版本一般较低
      官方把一些稳定的版本进行预编译配置,直接安装
      rpm制作好的安装程序---->>安装
    2. 源码包(最原始,)
      手动 编译安装,原件版本最新可选择性强;但是安装比较繁琐
      比如用c语言写好的代码
      定制安装细节---->>安装
    3. 二进制包(最终的成功)
      解压就可使用安装简单,但是不能修改源代码
      解压后---->>无需安装
    1. rpm包格式

    abrt-python-doc-2.1.11-57.el7.centos.noarch.rpm
    abrt-python-doc #软件包的名称
    2.1.11 #软件的版本
    57 #软件编译之后的发布的次数
    el7 #适合的操作系统的版本
    noarch #适⽤于不同版本的CPU
    .rpm #后缀名
    1. yum挂载

      # 1.本地的ISO镜像光盘(软件包可能存在版本偏低情况) : 挂载镜像有以下三种⽅式
      ⽅式1: [root@localhost ~]# mount /dev/cdrom /opt/
      ⽅式2: [root@localhost ~]# mount /dev/sr0 /opt/
      ⽅式3 [root@localhost ~]# mount -o loop /xxx.iso /opt
      查看光盘⾥的rpm包 [root@localhost ~]# ls /opt/Packages/
      # 2.⾃⼰去⽹上下载rpm包进⾏安装
      # 3.联⽹从yum仓库⾥获取rpm包 # yum的时候
    2. yum命令

      相关rpm包事先都被存放于⼀个仓库⾥,仓库包含了所有的依赖包,所以yum按照可以帮我们解决依赖性问题
      # 1.本地的ISO镜像光盘(软件包可能存在版本偏低情况) : 挂载镜像有以下三种⽅式
      ⽅式1: [root@localhost ~]# mount /dev/cdrom /opt/
      ⽅式2: [root@localhost ~]# mount /dev/sr0 /opt/
      ⽅式3 [root@localhost ~]# mount -o loop /xxx.iso /opt
      查看光盘⾥的rpm包 [root@localhost ~]# ls /opt/Packages/
      # 2.⾃⼰去⽹上下载rpm包进⾏安装
      # 3.联⽹从yum仓库⾥获取rpm包 # yum的时候

      df     查看挂载
      df -h 查看大小
      umount 卸载挂载

       

      #有一种包的格式是以rpm结尾的,还有一种命令也叫作rpm

      1. rpm命令(一般用的比较少,因为有很多的依赖问题)

        #1、安装:rpm -ivh <RPM包名全称>
        #2、卸载:rpm -e <RPM包名>
        #3、升级:rpm -Uvh <RPM包名>
        #4、查询:
        rpm -qa #查询系统中安装的所有RPM软件包
          rpm -qa | grep php    #检索系统中已经安装有关php的软件包
        rpm -q <RPM包名>    #查询指定软件包是否已安装
        rpm -qi <RPM包名>    #查询系统中已安装包的描述信息
        rpm -ql <RPM包名>    #查询系统中已安装包⾥所包含的⽂件
        rpm -qc <RPM包名> #查询指定软件包的所有配置⽂件
        [root@egon ~]# rpm -qc mariadb
        /etc/my.cnf.d/client.cnf

        rpm -qd <RPM包名> # 查询某个包安装的帮助⽂档
        [root@localhost ~]# rpm -qd zlib

        rpm -qf ⽂件路径   #查询系统中指定⽂件所属的软件包
        [root@egon ~]# rpm -qf /usr/sbin/ifconfig
        net-tools-2.0-0.25.20131004git.el7.x86_64
        -p # 在上述选项的基础上加选项-p,就可以查看尚未安装的
        rpm包信息

         

    二:yum命令

    1. 为什么要用yum

    (1)因为yum帮我们解决了依赖性问题;原理是在yum仓库里已经将依赖关系写好了,并且配套的文件都有

    (2)yum仓库:存放各种软件包,并且里面有文件记录了软件的相关依赖关系

    2. 查看yum命令与配置⽂件

    [root@localhost ~]# rpm -q yum
    yum-3.4.3-161.el7.centos.noarch
    [root@localhost ~]# rpm -qc yum
    /etc/logrotate.d/yum
    /etc/yum.conf
    /etc/yum/version-groups.conf
    仓库命令:
    yum repolist              #列出可用仓库
    yum repolist all          #列出所有的仓库
    yum list                  #列出仓库里所有的软件包
    yum list | less           #列出仓库中的所有组
    yum-config-manager  --disable epel         #关闭仓库epel
    yum-config-manager  --enable epel         #开启仓库epel
    安装和卸载:
    yum install 名字  -y
    yum remove 名字  -y
    重装:
    yum reinstall 名字  -y
    yum makecache               #制作缓存
    /etc/yum.conf keepcache=1时候,是将安装后软件不删除保存到此文件中上面的路径中

     

    三:配置yum源

    可以当做仓库的2个必须条件:

    (1)必须有软件包

    (2)必须有处理软件依赖关系的文件

     

    本地源,网络源(base基础源,epel扩展源,)

    本地源:把本地的一个文件做成了yum源
    方式1:
    1.采集一系列软件包放在本地目录下
    备份/etc/yum.repos.d/*.repo的文件,并且新建以.repo结尾的目录,暂时命令为local.repo
    2.createrepo 目录路径           #需要安装createrepo
    vim /etc/yum.repos.d/local.repo
    baseurl=file:///opt                         #找/opt/repodate这个文件夹
    enabled=1
    gpcheck=0
    yum repolist   查看列表

    方式2:使用镜像文件
    1. 挂载镜像
      mount /dev/sr0 /opt
      mount /dev/cdrom /opt
      mount -o loop xxx,ido /opt

     

    网络源:ftp

    一种基于http:  一种是基于ftp
    1. 环境准备
    systemctl stop firewalld
    systemctl disabled firewalld

    2.安装ftp
    yum install vsftpd -y
    systemctl start vsftpd
    systemctl enable vsftpd   #开机自启动

     

     

    四:源码包安装

    1. 步骤

    (1) 下载源码包
    wget http://nginx.org/download/nginx-1.18.0.tar.gz
    (2)解压
    tar -xvf nginx-1.18.0.tar.gz -C /opt/
    # -xvf 解压; -C解压到指定路径
    #解压到哪里都可以,待安装完成就要删除的
    (3)测试环境
    cd /opt/nginx-1.18.0
    ./configure
    (4)编译环境准备:
    yum -y install gcc gcc-c++ autoconf automake make
    yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
    或者
     LANG=C yum -y groupinstall "Development tools"
     
    备注:
    如果再缺什么包yum安装即可;并且一般会在软件包(sqlite)后加上-devel(sqlite-devel)
    yum install sqlite sqlite-devel -y
    再次测试成功后进行下一步
     
    (5)编译和编译安装
    make                   #make -j 多核安装,速度会快点
    make install PROFIX=/usr/local

    (6)添加环境变量
    vim /root/.bash_profile   修改文件内容
      NGINX_HOME=/usr/local/nginx/sbin
          PATH=$PATH:$NGINX_HOME
          export PATH
    /etc/profile   添加所有用户的环境变量   /root/.bash_profile   添加当前用户的环境变量      
         
    (7)测试安装成功
    which nginx   /   nginx

     

    五:yum同步到本地供其他用户安装

    陈阳版本:

    克隆仓库主机后:
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    修改ip为:192.168.15.30
    vim /etc/sysconfig/network-scripts/ifcfg-eth1
    修改ip为:192.168.15.30
    systemctl restart network

    克隆仓库主机后:
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    修改ip为:192.168.15.31
    vim /etc/sysconfig/network-scripts/ifcfg-eth1
    修改ip为:192.168.15.31
    systemctl restart network



    仓库主机:
    vim /etc/yum.conf   keepcache=1  #缓存yum安装下载的软件包

    yum install createrepo vsftpd wget -y   安装软件

    systemctl enable --now vsftpd             立即启用ftp

    rm -rf /etc/yum.repos.d/*   删除本地源

    wget 华为镜像

    cd /var/ftp     yum install yum-utils -y
    启用yum仓库

    reposync -r base 同步远程的镜像到本地

    createrepo base   建立依赖关系

    vim /etc/yum.repos.d/local.repo
    [local-ftp]
    name='this is ftp'
    baseurl=ftp://192.16.15.10/base
    gpgcheck=0
    enabled=1

    yum clean all
    yum makecache



    测试机---->>>>>>>>>>>>>>>>>>>>>>>>>
    rm -rf /etc/yum.repos.d/*
    vim /etc/yum.repos.d/local.repo
    [local-ftp]
    name='this is ftp'
    baseurl=ftp://192.16.15.10
    gpgcheck=0
    enabled=1
    测试环境:
    yum clean all
    yum makecache
    yum install zsh


    yum repolist    #查看可用的yum仓库

     

    小绵款:

    克隆仓库主机后:
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    修改ip为:192.168.15.30
    vim /etc/sysconfig/network-scripts/ifcfg-eth1
    修改ip为:192.168.15.30
    systemctl restart network

    克隆仓库主机后:
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    修改ip为:192.168.15.31
    vim /etc/sysconfig/network-scripts/ifcfg-eth1
    修改ip为:192.168.15.31
    systemctl restart network


    vim /etc/yum.conf   keepcache=1  #缓存yum安装下载的软件包

    yum install createrepo vsftpd wget -y   安装软件

    systemctl enable --now vsftpd             立即启用ftp

    rm -rf /etc/yum.repos.d/*   删除本地源

    wget 华为镜像

    cd /var/ftp     yum install yum-utils -y
    启用yum仓库

    reposync -r base 同步远程的镜像到本地

    createrepo base   建立依赖关系

    vim /etc/yum.repos.d/local.repo
    [local-ftp]
    name='this is ftp'
    baseurl=ftp://192.16.15.10/base
    gpgcheck=0
    enabled=1

    yum clean all
    yum makecache

    测试机---->>>>>>>>>>>>>>>>>>>>>>>>>
    rm -rf /etc/yum.repos.d/*
    vim /etc/yum.repos.d/local.repo
    [local-ftp]
    name='this is ftp'
    baseurl=ftp://192.16.15.10
    gpgcheck=0
    enabled=1

    测试环境:
    yum clean all
    yum makecache
    yum install zsh


    yum repolist    #查看列表

     

     

     

    egon款:

    1. yum相比rpm可以解决依赖问题;
      yum仓库存放了所有相关软件包的文件夹,里面有所有的相关软件包,并且有记录软件包依赖关系的软件包
      yum repolist                             #列出可用的yum仓库
      yum list                                 #查看可用的包
      yum grouplist                            #查看可以使用的组列表
      yum remove 软件名                         #卸载软件
      yum reinstall 软件名 -y                   #重新安装
      yum update 软件名 -y                      #更新
      yum clean all                            #清除元数据缓存
      yum makecache                            #制作元数据缓存
      /etc/yum.conf 文件中
      cachedir=/var/cache/yum/$basearch/$releasever  keepcache=1 时候,在安装后的包不删除,全部丢到上面的路径里去了

       

     

  • 相关阅读:
    Oracle 查询语句截取字符串
    删除ORACLE数据库中重复的数据
    [易学C#]C#3.0语言新特性之匿名类型
    [讨论]程序之路在何方?
    [易学C#]C#3.0语言新特性之扩展方法
    [易学C#]C#3.0语言新特性之对象和集合初始化器
    用C#解决Oracle9i和Oracle10g字符集不兼容的问题
    一个C#操作Oracle的通用类
    [易学C#]C#3.0语言新特性之隐式类型
    重拾 DirectX 一:配置Visual Studio 2008+Microsoft DirectX SDK (June 2008) 开发环境
  • 原文地址:https://www.cnblogs.com/dayday-up-a/p/14606517.html
Copyright © 2011-2022 走看看