【云计算的1024种玩法】玩转四大主流操作系统的软件包管理器

简介: 目前收到了阿里云关于 “华北1(青岛)地域的ECS Linux系统安装源(yum/deb/apt等)暂停服务进行升级” 的通知,这对于服务器本身的运行并没有影响,但是如果我们需要安装环境或者升级环境,就会遇到无法升级的情况。

前言

目前收到了阿里云关于 “华北1(青岛)地域的ECS Linux系统安装源(yum/deb/apt等)暂停服务进行升级” 的通知,这对于服务器本身的运行并没有影响,但是如果我们需要安装环境或者升级环境,就会遇到无法升级的情况。

如果遇到这种情况,我们应该怎么办呢? 这里就教大家如何应对相关问题。 更换软件源可以直接到 教程 下的 更换软件源 学习。

介绍

RHEL、CentOS 的 yum 工具和 Debian、Ubuntu 的 APT 工具都是一个非常好的前端软件包管理器,它们可以帮助我们便捷的安装二进制软件无需编译,同时还可以自动安装该软件依赖的库或其他软件,还可以帮助操作系统保持最新状态。

这里就介绍一下 yum 和 apt 的用法。

要求 & 收获

需要使用到的产品:

(包括非阿里云)服务器/ECS/轻量应用服务器

通过本文你将讲学到:

RHEL、CentOS、Debian、Ubuntu 四大主流操作系统的软件包管理器使用教程

教程

升级系统 & 更新软件

RHEL、CentoS

RHELCentOS 通过如下命令就可以自动更新操作系统以及通过软件源安装的全部软件:

yum update

会同时更新软件的缓存,获取软件版本信息,然后再通过比较当前系统的软件版本,如果软件源的更新,那么就进行更新。

注意安装完成后, 你下载用于安装的包仍然保留在系统中,要释放空间,需要使用如下命令:

yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
yum clean 或 yum clean all #清除缓存目录下的软件包及旧的headers

Debian、Ubuntu

DebianUbuntu 通过如下命令就可以自动更新操作系统以及通过软件源安装的全部软件:

apt update && apt upgrade

apt update 是更新软件源缓存,apt upgrade 是更新软件,判断原理也是比较软件源和本地软件的版本并进行升级。

Debian 和 Ubuntu 还有 apt-get dist-upgradedo-release-upgrade 命令可用,但是会升级整个系统到最新版本,例如 Debian 8.10 会升级到 Debian 9.4,这可能会导致云计算没有识别你的 Linux 内核而无法进入系统,同时系统镜像功能也会失效。

注意安装完成后,你下载用于安装的包仍然在你的 /var 目录下,要释放空间,记得用 apt-get clean 和 apt-get autoclean 将它们删除或移到别的地方。

更换软件源

这里就是重点来了,如何解决本次的软件源暂时无法使用的问题呢? 那就是提前换一个可以使用的软件源。

这里需要用到代码编辑器和SFTP软件,如果没有安装,建议参考:【云计算的1024种玩法】ECS和轻量应用服务器的远程控制入门

RHEL、CentoS

修改 /etc/yum.repos.d/ 目录下的文件,例如:CentOS-Base.repoepel.repo 等,这里以修改 CentOS 7 本身的软件源文件 CentOS-Base.repo 为例:

CentOS-Base.repo 修改为 CentOS-Base.repo.old

然后创建一个新的 CentOS-Base.repo 文件,写入清华源的内容:

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

然后运行 yum makecache 更新软件源缓存即可。

等问题修复,将该文件删除并将 CentOS-Base.repo.old 重新命名回来并更新缓存即可。

其他 CentOS 版本可以参考:https://mirror.tuna.tsinghua.edu.cn/help/centos/

Debian、Ubuntu

修改 /etc/apt/sources.list 文件,重命名为 /etc/apt/sources.list.old

然后重新创建 /etc/apt/sources.list 文件,内容为:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/OS/ CODE-proposed main restricted universe multiverse

: 其中,OS 代表 debian 或者 ubuntuCODE 代表发型代号,例如 Ubuntu 18.04artfulDebian 9stretch

展示一下 Ubuntu 16.04 的清华源替换方式:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

等问题修复,将该文件删除并将 /etc/apt/sources.list.old 重新命名回来并更新缓存即可。

使用阿里云提供的默认软件源的话,走的是 ECS 的内网速度更加的快而且走的公网也更加安全可靠。

添加第三方软件源

由于安全和维护的考量,当操作系统版本冻结后,这个发型的版本的操作系统下所有的软件版本号就会冻结,不再进行功能性升级只进行安全更新。就比如说 Debian 9 默认的 MariaDB 是 10.0,CentOS 7 默认的 MariaDB 是 5.5 ,那如果我们想用 10.2 的特性就不行了。

这时候通过添加第三方软件源就可以解决了,这里已添加 MariaDB 官方提供的软件源为例:

RHEL、CentOS

创建 /etc/yum.repos.d/nginx.repo 文件,内容如下,以 CentOS 7 为例:

# MariaDB 10.2 CentOS repository list - created 2018-01-09 08:16 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyuncs.com/mariadb/yum/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

更多版本请参考:

https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft

更新缓存:

yum makecache

安装 MariaDB:

yum install MariaDB-server MariaDB-client

Debian、Ubuntu

这里以 Debian 9 为例

一、 安装一下 software-properties-commondirmngr

apt-get install software-properties-common dirmngr

Ubuntu 不需要安装 dirmngr,直接 apt-get install software-properties-common 就行

二、 导入 Key 以校验软件的真实性:

apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xF1656F24C74CD1D8

三、 加入软件源:

add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.aliyuncs.com/mariadb/repo/10.2/debian stretch main'

Ubuntu 将 10.2/debian 改成 ubuntu 就行

四、 更新软件源缓存并安装 MariaDB

apt update & apt install mariadb-server

更多版本请参考:

https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft

目录
相关文章
|
4月前
|
Ubuntu Linux iOS开发
主流的操作系统
一、Windows操作系统 1、详细介绍: Microsoft Windows_百度百科 2、大概介绍 Microsoft Windows是美国微软公司研发的一套操作系统,从最初的Windows 1.0、到大家熟知的Windows 7、Windows 8、Windows 10,Windows 11不断持续更新。
39 1
|
4月前
|
JSON 运维 监控
云计算与公司监控电脑软件的弹性扩展策略(AWS Lambda)
在当前信息时代,公司监控电脑软件对于确保网络和电脑设备的正常运行至关重要。云计算技术的崛起为监控系统提供了更灵活和弹性的扩展策略,而AWS Lambda作为一种无服务器计算服务,则为实现弹性监控提供了理想的解决方案。
228 1
|
1天前
|
存储 Linux API
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
6 0
|
11天前
|
安全 Ubuntu Linux
软件体系结构 - 操作系统
【4月更文挑战第10天】软件体系结构 - 操作系统
20 1
|
1月前
|
存储 Ubuntu Unix
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
41 0
|
2月前
|
IDE Linux 开发工具
DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件
DP读书:鲲鹏处理器 架构与编程(十三)操作系统内核与云基础软件
67 1
|
4月前
|
安全 Linux 云计算
线下参会 免费领票!阿里云分论坛邀您探讨智算时代下的云计算 | 2023龙蜥操作系统大会
1、阿里云和学术界的合作,将理论与实践相结合,在龙蜥孵化更好的操作系统技术。 2、操作系统作为软硬协同的纽带,通过南北向的协同,更好的释放云上算力。 3、阿里云结合龙蜥社区技术为用户提供多样性迁移方案,解决 CentOS 停服的影响、为跨架构迁移提供全链路保障。
|
4月前
|
人工智能 算法 安全
解读产业趋势,展现核心成果!统信软件分论坛议程新鲜出炉 | 2023 龙蜥操作系统大会
从研发到构建再到迭代,一起看统信首次提出的分层分类算法的实现,赋予操作系统新生命。
解读产业趋势,展现核心成果!统信软件分论坛议程新鲜出炉 | 2023 龙蜥操作系统大会
|
4月前
|
人工智能 算法 云计算
服务器操作系统与 AI 和云计算的结合,会擦出怎样的火花?
随着近几年国产操作系统的迎难而上,弯道超车,已经与国外成熟的操作系统的差距越来越小。我们经历过至暗时刻,经历过被别人的“卡脖子”遭遇,这些都阻止不了我们国产操作系统的发展脚步,俗话说操作系统是信息技术产业之"魂",在整体技术架构中处于"定海神针"的重要位置,属于最为核心的基础软件之一。以及瞬息万变的数字革命浪潮推动之下,新一代的计算架构持续演化,软件将要迎来新的一轮大变革,据官方消息,国产操作系统正在不断变化发展,服务器操作系统的发展也将随着AI和云计算的结合而进入新的纪元。那么本文就来简单聊聊服务器操作系统与AI和云计算的结合会引起什么效果?以及期待一下2023龙蜥操作系统大会的举办,畅想一
92 1
 服务器操作系统与 AI 和云计算的结合,会擦出怎样的火花?