9.软件包RPM,yum

2021-07-21  本文已影响0人  划水健将
rmp.png
1.软件包管理rpm,yum

1.1 rpm的使用

            rpm -ivh     #安装包   
            rpm -Uvh     #升级包
            rpm -e       #卸载包
            rpm -q       #查看包是否安装
            rpm -qa      #查看所有包
            rpm -ql      #查看安装包所有的配置文件
            rpm -qf      #查看命令来自哪个安装包 rpm -qf $(which vim)
            

1.2 yum命令,搭建仓库,同步软件包

1.2.1 base基础源

                epel三方扩展源
                各种软件的官方源:(nginx,zabbix,ELK......)
                配置repo文件有三种方式: 手动添加repo文件
                                         通过wget下载已编辑好的文件
                                         通过release软件包实现

1.2.2 如何安装,升级,卸载,组包,查询,查看仓库有多少安装包

            yum  install -y package  #安装
            yum- y  reintall package  #重新安装
            yum update package  #升级
            yum localinstall  packag  #yum会自动搜寻依赖关系并安装
            yum list  #查询是否安装 
            yum list installed  #查询是否安装
            yum provides 命令|文件路径 属于哪个软件包(联网查询系统中所有的repo仓库)yum provides docker 查看这个命令是那个包
            yum -y remove package # 卸载

1.2.3 构建本地私有yum仓库

        1) 将本地光盘挂在到/mnt目录下
            mount /dev/cdrom /mnt目录下
            
        2)配置epel文件
            gzip /etc/yum.repos.d/* #注释所有的repo文件
            编写本地local.repo文件
            vim /etc/yum.repo.d/local.repo
            #仓库名称
            [local]
            name = "本地仓库"
            baseurl = file:///mnt/
            gpgcheck=0
            enabled = 1 
            使用yum repolist 查看本地源
            [root@yum-client ~]# yum repolist 
                Loaded plugins: fastestmirror
                Loading mirror speeds from cached hostfile
                repo id                                    repo name                                      status
                local                                      "本地仓库"                                     3,971
                repolist: 3,971
            yum -y install zsh #测试安装 观察是否走的是本地源

1.2.4 搭建私有YUM仓库,同步公网软件包

        思路:
            ①   下载同步软件包
                两种种实现方式:wget 所有软件包(①命令拼接②脚本实现)
                               rsync 同步软件包
            ②搭建本地文件共享(ftp,httpd)利用createrepo创建仓库索引
            ③配置客户端的repo文件

        1)下载软件包-同步软件包:
            ①命令拼接:curl -s https://mirrors.aliyun.com/zabbix/zabbix/5.1/rhel/7/x86_64/ | grep "a href" | awk -F '"' '{print $2}' | sed -r "s#(.*)# wget -O /var/ftp/zabbix/\1  https://mirrors.aliyun.com/zabbix/zabbix/5.1/rhel/7/x86_64/\1#g" | bash
            ②脚本方式:
            脚本实现的思路:
                1首先定义变量获取:rpm-name=包名
                2定义一个变量:rpm-url=url地址
                3.通过遍历循环包名 然后拼接url地址+包名,

                实现代码:wget_jenkins.sh
                #!/usr/bin
                #通过变量截取清华大学的软件包名
                rpm_name_j=$(curl -s https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ | grep "href" | awk -F '"' '{print $4}' | grep rpm
                #定义清华大学jenkins路径地址
                rpm_url_j=https://mirrors.aliyun.com/jenkins/redhat/
                #定义本地jenkins-rpm包存放路径
                jenkins_path=/var/ftp/jenkins

                #遍历下载
                for i in ${rpm_name_j}
                do
                    cd ${jenkins_path} &&
                    wget $rpm_url_j$i
                done
            
            ③sync同步软件包

            rsync -avz rsync://rsync.mirrors.ustc.edu.cn/repo/nginx/centos/7/x86_64/RPMS/ /var/ftp/nginx/ #后续会单独讲
            
        2)搭建本地共享server(ftp或nginx服务)端:
            yum -y install vsftpd nginx createrepo #放在最开始做,mkdir -p /var/ftp/{jenkins,zabbix,nginx}
            creterepo /var/ftp/nginx
            creterepo /var/ftp/zabbix
            creterepo /var/ftp/jenkins
        3)配置客户端repo文件
            gzip /etc/yum.repo.d/*
            编写本地repo文件[yum-server-ftp]
            name = yum-server
            baseurl=ftp://10.0.0.230/var/ftp/zabbix
            enabled=1
            gpgcheck=0


            [yum-server-ftp]
            name = yum-server
            baseurl=ftp://10.0.0.230/var/ftp/jenkins
            enabled=1
            gpgcheck=0

            [yum-server-ftp]
            name = yum-server
            baseurl=ftp://10.0.0.230/var/ftp/nginx
            enabled=1
            gpgcheck=0

            
            如果是nginx服务配置nginx
            配置nginx
              location / {
                    root   /var/ftp;
                    autoindex on; #开启目录结构
                }
            #配置nginx 将ftp协议替换成http
                    [nginx-yum-jenkins]
                    name = nginx-jenkins仓库
                    baseurl=http://10.0.0.230/jenkins
                    enabled=1
                    gpgcheck=0

1.2.5 安装源码包为二进制包

    wget http://nginx.org/download/nginx-1.21.1.tar.gz
    修改源码包的版本信息,软件名称参考地址
    https://jingyan.baidu.com/article/1709ad805b074c4635c4f041.html

1.2.6 ubutu的dpkg,apt(待补充)

        ubuntu:
        dpkg:
        apt:
上一篇 下一篇

猜你喜欢

热点阅读