九零不老心
发布于 2019-06-20 / 9 阅读 / 0 评论 / 0 点赞

yum使用详解

#查询所有仓库
    yum repolist all
#添加仓库
    一种:
        cat 内容 > /etc/yum.repos.d/nginx.repo
    另一种:
        yum install -y yum-utils
        yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
#启用和关闭仓库
    yum-config-manager --enable repositoryname
    yum-config-manager --disable repositoryname
#删除仓库
    cd /etc/yum.repos.d/ && rm nginx.repo
#搜索软件
    yum search name
#查看软件详情
    yum info name
#搜索软件并查看版本
    yum list | grep name | more
    yum list docker-ce --showduplicates | sort -r
    # example
        Available Packages
        yarn.noarch                            0.15.0-1                             yarn
        yarn.noarch                            0.16.0-1                             yarn
        yarn.noarch                            0.16.1-1                             yarn
        yarn.noarch                            0.17.6-1                             yarn
        yarn.noarch                            0.17.8-1                             yarn
        yarn.noarch                            0.17.9-1                             yarn
        yarn.noarch                            0.17.10-1                            yarn
        yarn.noarch                            0.18.1-1                             yarn
    # install
        # sudo yum install packagename-version
        sudo yum install yarn-1.12.1
#查询软件详情
    yum info name
#限定安装某个repo下的软件
    yum --disablerepo="*" --enablerepo=c4-media install mysql-server mysql-devel
    yum --disablerepo="*" install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
#yum只下载,不安装
    yum -y install --downloadonly --downloaddir=/home/jt/docker docker*
    # 如果本地已存在rpm包,不想重新在线下载的话,需要先配置好repo,然后再安装
        yum -y localinstall *.rpm # 对于未签名的需要添加参数 --nogpgcheck
# 查看可以的更新
    yum check-update
# 禁止yum update自动更新某软件
    vi /etc/yum.conf [main]最后添加exclude=kernel*
    或者yum --exclude=kernel* update
# yum将软件安装到指定的目录
    yum -c /etc/yum.conf --installroot=/app/jenkins --releasever=/  install jenkins -y
# 将server端包信息缓存到本机
    yum makecache
# 清理缓存信息
    # 释放头文件
    yum clean headers
    # 清除包文件
    yum clean packages
    # 清除所有
    yum clean all
# 升级系统安装包(但不升级内核)
    yum upgrade -y
# 升级系统(包含内核)
    yum update -y
# yum 锁定指定软件及版本防止yum update触发升级
    # 安装versionlock
    yum install yum-plugin-versionlock
    # 锁定软件
    yum versionlock add docker-ce docker-ce-cli
    # 查看已锁定软件
    yum versionlock list
    # 解锁指定的软件
    yum versionlock delete <软件包名称>
    # 解锁所有的软件
    yum versionlock clear
# 问题汇总
    如果使用yum命令提示:
        rpmdb: BDB0113 Thread/process 71820/139985190324032 failed: BDB1507 Thread died in Berkeley DB library
    解决办法:
    # 删除yum临时库文件
        rm -fr /var/lib/rpm/__db.*
    # 重建rpm数据库
        rpm --rebuilddb
    # 清理缓存及生产yumdb缓存
        yum clean all
        yum makecache
    # 连续命令
    rm -fr /var/lib/rpm/__db.* && rpm --rebuilddb