开发者社区 问答 正文

云服务器 ECS Linux 更新操作最佳实践是什么


Linux 也需要定期进行补丁更新及漏洞修复。 本文对云服务器 ECS Linux 更新过程中涉及的相关最佳操作实践进行说明。

不建议随意修改或调整 ECS Linux 系统内核

- 阿里云线上正式售卖的 Linux 操作系统版本相关内核均与阿里云相关产品及常用软件做过兼容性测试 - 随意修改或调整内核可能会由于兼容性问题,导致服务器出现重启失败、服务启动失败等各种异常情况
所以,针对一般业务场景,建议不要自行修改或调整内核(涉及到内核存在重大安全漏洞场景除外)。更多相关说明,可以参阅 ECS 使用须知)。

ECS Linux 更新时不升级内核配置说明

可以在升级 Linux 时剔除内核的升级。相关操作在常见 Linux 系统下的配置分别说明如下。

CentOS 系统执行 yum update 更新不升级系统内核


这里以 CentOS 6.5 为例来进行说明:
1、首先打开 /etc/yum.conf 文件。

2、然后在 [main] 后面加入以下两行代码,如下图所示:

  1. exclude=kernelexclude=centos-release


3、最后按下 ESC 输入 :wq 保存即可。

Debian 系统执行 update&upgrade 操作不更新系统内核


1、首先在终端命令行下输入以下命令
echo $(dpkg -l "*$(uname -r)*" | grep image | awk '{print $2}') hold | dpkg --set-selections,如截图所示:

2、然后查看被系统设置 hold 住的包名(被系统hold住的包不会被更新或者被替代)
dpkg --get-selections |grep hold,如截图所示:

从图中的输出能够看出关于内核镜像的系统包就不会被更新了。

Aliyun Linux 执行 yum update 只升级系统不升级内核


1. 修改 YUM 的配置文件: vim /etc/yum.conf,在 [main] 章节的最后添加如下内容:
  1. exclude=kernel


2. 直接在 YUM 操作命令后面加上如下的参数:
  1. bash yum —exclude=kernel update



ECS Linux 配置只安装 64 位软件包


在 CentOS 上使用 YUM 在线安装软件包的时候,有时候会同时安装 3 2位和 64 位的包。并且在 update 的时候也会更新双份。可以通过如下操作,配置只安装 64 位软件包:
配置 YUM 只安装 64 位的包,只需在 /etc/yum.conf 中加入 "exclude=.i?86" 选项。如果没有的就直接加入该配置选项即可:
  1.    $ vi  /etc/yum.conf [main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=0debuglevel=2logfile=/var/log/yum.logexactarch=1obsoletes=1gpgcheck=1plugins=1installonly_limit=5bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yumdistroverpkg=centos-releaseexclude=.i?86

说明:*.i?86 可以用来过滤掉 i386、i686 等 32 位软件包。


常用 Linux 系统软件源配置说明及常见问题说明


下文以阿里云官方源为例,先介绍常用 Linux 系统软件源的配置概要,再列举了软件源使用常见问题。更详细的软件源的使用和配置方法,请参阅相应操作系统官方帮助文档。

常用 Linux 系统软件源配置概要说明


软件源的配置步骤如下:
1、首先打开阿里云镜像源站点( http://mirrors.aliyun.com/)。
2、找到对应的 Linux 系统,点右侧的 help 链接,有相应操作系统的源配置说明。


对于阿里云官方源,也可以通过 工具:update_source.sh 进行自动配置。

软件源安装配置常见问题



ECS 内网 Ubuntu 14.04系统无法安装 openjdk



问题现象


Ubuntu 14.04 系统通过 apt-get install openjkd-7-jre-headless 安装 openjdk-7-jre-headless 时出现类似如下报错信息:
  1. Failed to fetch http://mirrors.aliyun.com/ubuntu/pool/main/t/…..



问题原因


系统连接了外部的更新源导致无法安装。

处理办法


根据相关报错提示,执行如下指令,忽略相关关联重新进行安装即可:
  1. apt-get install openjkd-7-jre-headless  —fix-missing




CentOS 7.0 使用 YUM 安装 MySQL 报错



问题现象


CentOS 7.0 使用 YUM 安装 MySQL 时出现类似如下错误信息:
  1. File contains no section headers.



问题原因


软件源未包含相关软件包。

处理办法


参阅如下步骤,尝试切换到 CentOS 的官方软件源。
1. 编辑源配置文件 /etc/yum.repos.d/epel.repo,将内容修改成下面的内容:
  1. [epel]name=Extra Packages for Enterprise Linux 7 - $basearch#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearchfailovermethod=priorityenabled=1gpgcheck=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo]name=Extra Packages for Enterprise Linux 7 - $basearch - Debug#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debugmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearchfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7gpgcheck=1[epel-source]name=Extra Packages for Enterprise Linux 7 - $basearch - Source#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMSmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearchfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7gpgcheck=1

2. 执行如下指令载入新软件源配置:
  1. $ yum makecache$ yum repolist

3. 尝试重新安装 MySQL 即可。

如果问题还未能解决,您可以到阿里云社区进行 免费咨询,或联系 云市场商家寻求帮助。

展开
收起
boxti 2017-10-24 10:41:57 4378 分享 版权
0 条回答
写回答
取消 提交回答