闲者博客 - yum https://bk1314.com/tag/yum/ zh-CN Thu, 03 Mar 2022 01:43:00 +0800 Thu, 03 Mar 2022 01:43:00 +0800 liunx centos yum update kernel 命令方法 https://bk1314.com/54.html https://bk1314.com/54.html Thu, 03 Mar 2022 01:43:00 +0800 飞鱼 1.查看当前kernel版本

uname -r

2.查看已安装版本

rpm -q kernel

3.查看可升级kernel版本

yum list kernel

4.升级kernel版本

yum update kernel

5.删除旧的内核

方法一:安装yum-utls:

yum install -y yum-utils

设置你想要保留多少旧的内核,比如我想保留两个:

sudo package-cleanup --oldkernels --count=2

方法二:直接删除对应版本

rpm -e kernel-*

6.设置永久的内核安装数量

vim /etc/yum.conf

设置installonly_limit=2,2为数量

7.服务器重启后,使用前几步查看的信息会变为新的kernel版本信息

[post cid="53" /]

[post cid="52" /]

]]>
0 https://bk1314.com/54.html#comments https://bk1314.com/feed/tag/yum/
CentOS yum update 不升级内核版本方法 https://bk1314.com/53.html https://bk1314.com/53.html Thu, 03 Mar 2022 01:39:00 +0800 飞鱼 1.查看操作系统版本

[root@ser875814510906 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core) 

2.执行yum update 进行升级

# yum update
[root@ser875814510906 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

可以看到系统默认升级到了7.9版本

3.如果不想升级内核及系统版本,则在执行 yum update之前在 /etc/yum.conf 的 [main] 后面添加以下配置

exclude=kernel* 
exclude=centos-release*
  1. 这样,执行 yum update 后
[root@ser875814510906 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

还是原来的系统版本

4.还要一种直接命令实现不更新内核

yum -y upgrade

yum -y update:升级所有包同时,也升级软件和系统内核;
yum -y upgrade:只升级所有包,不升级软件和系统内核,软件和内核保持原样。

[post cid="54" /]

[post cid="52" /]

]]>
0 https://bk1314.com/53.html#comments https://bk1314.com/feed/tag/yum/
通过yum-cron对linux自动进行安全更新 https://bk1314.com/52.html https://bk1314.com/52.html Thu, 03 Mar 2022 01:26:00 +0800 飞鱼 通过yum-cron对Linux进行安全更新
使用yum-cron可以定时的更新我们的系统。特别是针对于系统的安全更新。如果有一些同学认为更新系统需要手动来,或者不确定更新会影响到运行的服务,可以手动来,或者使用ansible等工具批量操作。
在这里,来配置一下yum-cron这个工具。

安装

yum install yum-cron

配置
You need to edit /etc/yum/yum-cron.conf and /etc/yum/yum-cron-hourly.conf files using a text editor such as vi command:
yum-cron有两个配置文件:/etc/yum/yum-cron.conf 和 /etc/yum/yum-cron-hourly.conf。这两个配置文件内容差不多,用于配置每天需要执行的内容和每小时需要执行的内容。

在配置文件中,提供的更新策略为:

#  What kind of update to use:
# default                            = yum upgrade
# security                           = yum --security upgrade
# security-severity:Critical         = yum --sec-severity=Critical upgrade
# minimal                            = yum --bugfix update-minimal
# minimal-security                   = yum --security update-minimal
# minimal-security-severity:Critical =  --sec-severity=Critical update-minimal

default 默认的更新,类似yum update
security 安全更新, 类似yum --secruity upgrade
security-severity:Critical 重要的安全更新,类似yum --sec-severity=Critical upgrade
minimal 最小化更新,类似yum --bugfix update-minimal
minimal-security 最小化安全更新,类似yum --security update-minimal
minimal-security-severity:Critical 最小化重要安全更新,类似yum --sec-severity=Critical update-minimal

通过update-cmd指定相应的更新策略。
如: 需要配置只需要更新重要的安全更新,则配置为

update_cmd = security-severity:Critical

apply_updates设置是否提交相应的安全更新,如果设置为no,则只会检测存在更新,但不会直接更新,如要自动更新,需将apply_updates设置为yes

apply_updates = yes

random_sleep设置最大的随机启动时间,设置随机启动是为了解决大量服务器同时启动更新,对服务器环境造成影响。(考虑的很周到呢,不同于我们通过crontab设置一个固定的时间进行更新)
random_sleep的时间单位为秒。
系统默认设置为6*60 = 360,即6小时:

random_sleep = 360

在生产环境,我们通常不愿意去更新系统的内核,那么,通过exclude和YUM_PARAMETER可以将内核类的更新排除掉.
在CentOS/RHEL 7.x系统中,commands配置里最底下加入下面内容排除:

exclude=kernel*

在RHEL/CentOS 6.x系统中,加入以下内容排除:

YUM_PARAMETER=kernel*

配置参考:

[root@ttt yum]# cat yum-cron.conf | grep -vE '^#|^$'
[commands]
update_cmd = security-severity:Critical
update_messages = yes
download_updates = yes
apply_updates = yes
random_sleep = 360
exclude=kernel*
[emitters]
system_name = None
emit_via = stdio
output_width = 80
[email]
email_from = root@localhost
email_to = root
email_host = localhost
[groups]
group_list = None
group_package_types = mandatory, default
[base]
debuglevel = -2
mdpolicy = group:main

配置完成后,需要配置 /etc/yum/yum-cron-hourly.conf 让yum-cron每小时都执行。如果需要让yum-cron每天执行一次,需要配置/etc/cron.daily/0yum-daily.cron。

[root@ttt yum]# cat /etc/cron.hourly/0yum-hourly.cron 
#!/bin/bash

# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
  exit 0
fi

# Action!
exec /usr/sbin/yum-cron /etc/yum/yum-cron-hourly.conf
[root@ttt yum]# cat /etc/cron.daily/0yum-daily.cron
#!/bin/bash
 
# Only run if this flag is set. The flag is created by the yum-cron init
# script when the service is started -- this allows one to use chkconfig and
# the standard "service stop|start" commands to enable or disable yum-cron.
if [[ ! -f /var/lock/subsys/yum-cron ]]; then
  exit 0
fi
 
# Action!
exec /usr/sbin/yum-cron

以上就是yum-cron的大概的配置信息。如果需要查看更详细的,可以通过系统的man命令。
[root@ttt yum]# man yum-cron

[post cid="53" /]

[post cid="54" /]

]]>
0 https://bk1314.com/52.html#comments https://bk1314.com/feed/tag/yum/