环境:CentOS 7 (阿里云服务器)
包管理系统 除了方便你安装和管理包之外,还能帮你解决依赖问题。
下面就介绍2个最主要的:
DPKG(Debian Package Management System),中文为 Debian 包管理系统。
1、apt-get,其中 apt 为 Advanced Packaging Tool,中文是高级打包工具。
适用发行版:Debian、Ubuntu、Linux Mint、elementary OS 等。
2、aptitude
3、等
RPM(Redhat Linux Packet Manager),中文为 Redhat 包管理。
1、YUM(Yellow dog Updater, Modified),中文是黄狗更新器。
适用发行版:CentOS。
2、DNF(Dandified Yum), 中文为优美的 YUM。
适用发行版:Fedora。Fedora 18 引入了 DNF,它是下一代 YUM。
3、等
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。暂时用默认的就好,这里不赘述了。
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 安装时会优先选择安装最高版本。
以 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第三方 repository 的好处:
提供比官方更多的包
提供比官方更新的包
前面我们提到 CentOS 是 RHEL 开源代码的克隆版。那如果我们还想获得 RHEL 般额外多且又高质量的包,那么 Fedora Project 推出的 EPEL (Extra Packages for Enterprise Linux) 正好适合你。
EPEL 是为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。
yum install epel-release安装后会自动产生新 .repo 文件。
我这台服务器是阿里云的 centos7,自带了 epel 所以不用装了。
然而,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 就安装成功了。
针对国内墙的缘故,你可以考虑换源,可参考:https://www.runoob.com/linux/linux-yum.html 。
原文:https://www.cnblogs.com/xjnotxj/p/11924312.html