zoukankan      html  css  js  c++  java
  • Yum —— CentOS 下包管理工具 学习笔记

    环境:CentOS 7 (阿里云服务器)

    一、linux 发行版下的包管理阵营


    包管理系统 除了方便你安装和管理包之外,还能帮你解决依赖问题

    下面就介绍2个最主要的:

    1、Debian 系 - dpkg

    DPKG(Debian Package Management System),中文为 Debian 包管理系统。

    命令:

    1、apt-get,其中 apt 为 Advanced Packaging Tool,中文是高级打包工具。

    适用发行版:Debian、Ubuntu、Linux Mint、elementary OS 等。

    2、aptitude

    3、等

    2、Red Hat 系 - rpm

    RPM(Redhat Linux Packet Manager),中文为 Redhat 包管理。

    命令:

    1、YUM(Yellow dog Updater, Modified),中文是黄狗更新器。

    适用发行版:CentOS。

    2、DNF(Dandified Yum), 中文为优美的 YUM。

    适用发行版:Fedora。Fedora 18 引入了 DNF,它是下一代 YUM。

    3、等

    3、拓展 - RedHat、Fedora、CentOS 区别

    RedHat 家族本来有桌面版 RedHat Linux,企业版 RedHat Enterprise Linux(简称RHEL

    但自从 RedHat 9.0 版本发布后,RedHat 公司就不再开发桌面版了,而将全部力量集中在服务器版的开发上。

    原本的桌面版则与来自开源社区的 Fedora 计划合并,成为 Fedora Core (FC)发行版本。

    Fedora Core 定位便是桌面用户,这个发行版每半年发行一次,且每次发行都有新功能加入。而 RedHat 则等待 FC 的每次新版本稳定后,将这些新功能添加到自己的 RHEL 版本中,所以 FC 是 RHEL 的实验田,不推荐企业使用。


    再说回来 ,RedHat 的发行版毕竟脱胎于 Linux ( Linux 是 GNU/Linux 的缩写),也需要遵循 GNU 协议,故必须发布源代码。 所以商业版的 RHEL,虽然二进制代码没有提供下载,但源代码依然是开放的。在这种情况下,出现了centos、whitebox、dao 等等一批基于RHEL开源代码的企业版本,其中以 CentOS( “社区企业操作系统” Community Enterprise Operating System )最为活跃。适合一些想省钱、或有技术能力、或想高度定制化系统的企业使用。

    二、使用


    以安装 nodejs 包为例。

    # -- 检索(会同时列出 Installed Packages 和 Available Packages)
    yum list nodejs
    yum list installed # 单独列出 Installed Packages
    yum search nodejs # list 只搜索软件包名称,而 search 不光搜索包名,还包括摘要和描述
    
    # -- 安装
    yum install nodejs (加 -y 可自动应答 yes) 
    
    # -- 更新
    yum check-update # 列出每个包可升至的版本
    yum update 
    yum update nodejs 
    
    # -- 查看详情(可查看安装的也可查看未安装的包)
    yum info nodejs
    
    列出全部/可用/不可用仓库
    yum repolist enabled
    
    # -- 卸载
    yum remove nodejs
    
    # -- 缓存
    yum clean all 清除缓存
    yum makecache 生成新的缓存
    

    三、配置


    yum 的全局配置在 /etc/yum.conf。暂时用默认的就好,这里不赘述了。

    四、Repository 资源库/源


    yum 的 repository 即软件包安装的源头,为 .repo 文件。里面指定的链接即可以是 http / ftp url,也可以是本地软件池。格式形如:

    [serverid]
    name=Some name for this server
    baseurl=url://path/to/repository/
    

    baseurl 可指定多个。

    yum 可以同时使用多个 repository,这么多些个 .repo 文件都位于 /etc/yum.repos.d/。而 yum 安装时会优先选择安装最高版本

    1、默认(官方)

    CentOS-Base.repo 为例:

    [base]
    name=CentOS-$releasever
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
    
    [updates]
    name=CentOS-$releasever
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
    
    [extras]
    name=CentOS-$releasever
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
    

    2、第三方

    第三方 repository 的好处:

    • 提供比官方更多的包

    • 提供比官方更新的包

    (1)EPEL

    前面我们提到 CentOS 是 RHEL 开源代码的克隆版。那如果我们还想获得 RHEL 般额外多且又高质量的包,那么 Fedora Project 推出的 EPEL (Extra Packages for Enterprise Linux) 正好适合你。

    EPEL 是为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。

    yum install epel-release
    

    安装后会自动产生新 .repo 文件。

    我这台服务器是阿里云的 centos7,自带了 epel 所以不用装了。

    (2)其它(以安装 nodejs 为例)

    然而,nodejs 在 epel 里的版本还是太老,才 6.17.1,而目前最新的 LTS 版本已经到 12.13.1 了。所以建议再添加新的 repository ,即 nodesource

    curl -sL https://rpm.nodesource.com/setup_12.x | sudo -E bash -
    # 注意:这里 setup_12.x 的 12 记得换成你想要的版本
    

    完成后它会提示你先装 sudo yum install gcc-c++ make,然后再 sudo yum install -y nodejs 就安装成功了。

    3、换源

    针对国内墙的缘故,你可以考虑换源,可参考:https://www.runoob.com/linux/linux-yum.html

  • 相关阅读:
    WSAAsyncSelect模型触发不了FD_Close消息?
    WSAAsyncSelect模型中,FD_WRITE事件什么时候触发?
    VC学习笔记:状态栏
    VC++对话框中加状态栏
    c++子类和父类成员函数重名
    vim学习笔记(11):vim 去掉<200b>
    tensorflow笔记5:tensorflow的基本运作,函数
    Anaconda的使用和包的更新;conda 创建虚拟环境
    vim学习笔记(10):vim命令大全
    tensorflow笔记4:函数:tf.assign()、tf.assign_add()、tf.identity()、tf.control_dependencies()
  • 原文地址:https://www.cnblogs.com/xjnotxj/p/11924312.html
Copyright © 2011-2022 走看看