环境: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

Yum —— CentOS 下包管理工具 学习笔记的更多相关文章

  1. Windows下包管理工具Bower的安装和使用

    目录 安装Bower Bower的使用 安装Bower Windows下安装Bower之前,先安装好 nodejs 和 msysgit 环境 然后我们就可以使用npm包管理工具下载并全局安装bower ...

  2. vuex状态管理之学习笔记

    概述及使用场景 Vuex 是一个主要应用在中大型单页应用的类似于 Flux 的数据管理架构.它主要帮我们更好地组织代码,以及把应用内的的状态保持在可维护.可理解的状态. 但如果是简单的应用 ,就没有必 ...

  3. PowerDesigner16工具学习笔记-工具介绍

    1.初始界面 1.1 .浏览窗口:本地(Local)浏览窗口.知识库(Repository)浏览窗口 Local:用于显示本地模型 Repository:用于显示知识库模型 1.2 .输出窗口:用于显 ...

  4. ARMv8 内存管理架构.学习笔记

    http://blog.csdn.net/forever_2015/article/details/50285955 版权声明:未经博主允许不得转载,请尊重原创, 谢谢!   目 录 第1章 分级存储 ...

  5. xcode 工具学习笔记

    1. 快速打开辅助界面   快捷键:使用Option + 单击文件   2. 辅助编辑器更多打开方式   快捷键: Option+shift +单击文件   3. tab页面快捷键   快捷键: Co ...

  6. rsync同步工具学习笔记

    rsync同步工具 1.rsync介绍 rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.rsync软件适用于unix/linux/windows等多种操作 ...

  7. Git 版本控制工具(学习笔记)

    GIT(分布式) 一.Git 初始版本控制工具 1. 安装Git Ubuntu系统下,打开shell界面,输入: sudo apt-get install git-core  之后回车输入密码,即可完 ...

  8. CentOS 7 之Shell学习笔记

    脚本是个永恒的话题,以前Dos下面也有Shell编程这一说的,比如说BAT文件有人写的好的话,也是瞬间速度变高大上.Linux下面这个应该更占比重了.我看到园子里有位园友做了一个Linux Shell ...

  9. 2018/09/05《涂抹MySQL》【权限管理】学习笔记(二)

    读 第四章<管理MySQL库与表> 第五章<MySQL的权限管理> 总结 1:当配置好 MySQL 数据库后,发现有几个默认的库,他们的意义和作用?(这里只做简单了解,之后用到 ...

随机推荐

  1. ThinkPHP<6.0 SQL注入代码审计分析

    版本过多只分析大版本和使用人数较多的版本目前使用人数最多的3.2.3.审计时也是发现多个版本未公开漏洞 测试环境:  Mysql5.6/PHP5.5 首先明确的是在不使用PDO做参数绑定时ThinkP ...

  2. 05jmeter-responses中有多组json数据,提取同一条json数据的两个字段

    某接口返回结果如上图,取id和groupNo 1.读取确定的某条json数据:如取第一条,一个JSON Extractor即可实现 2.随机读取某条json数据: 需要两个JSON Extractor ...

  3. Joomla3.4.6 RCE漏洞深度分析

    笔者<Qftm>原文发布:https://www.freebuf.com/vuls/216512.html *严正声明:本文仅限于技术讨论与分享,严禁用于非法途径 0×00 背景 10月9 ...

  4. [洛谷P3613]睡觉困难综合症

    写码30min,调码3h的题.. 好在最后查出来了 , , n, x, y, z); 改成了 , , n, mark[x], y, z); 然后$40\rightarrow 100$ #include ...

  5. git jenkins SonarQube手动代码质检

    SonarQube代码质检:1.提交代码-->gitlab-->jenkins抓取-->sonarqube质量检测-->maven编译-->shell-->web集 ...

  6. 百万年薪python之路 -- MySQL数据库之 完整性约束

    MySQL完整性约束 一. 介绍 为了防止不符合规范的数据进入数据库,在用户对数据进行插入.修改.删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数 ...

  7. linux 下ln命令--笔记

    linux 下ln命令 ln命令用来为文件创建连接,连接类型分为硬连接和符号连接两种,默认的连接类型是硬连接.如果要创建符号连接必须使用"-s"选项.注意:符号链接文件不是一个独立 ...

  8. sql 经典查询50题 思路(一)

    因为需要提高一下sql的查询能力,当然最快的方式就是做一些实际的题目了.选择了这个sql的50题,这次大概做了前10题左右,把思路放上来,也是一个总结. 具体题目见: https://zhuanlan ...

  9. SpringCloud之Nacos服务发现(十七)

    一 Nacos简介 Nacos是以服务为主要服务对象的中间件,Nacos支持所有主流的服务发现.配置和管理. Nacos主要提供以下四大功能: 服务发现与服务健康检查 Nacos使服务更容易注册自己并 ...

  10. Java 基本数据类型的取值范围

    基本数据类型,字节数,位数,最大值和最小值. 1. 基本类型:short 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 (-2的15此 ...