分类 技术 下的文章

CentOS 7 升级内核至 5.x
母鸡谨慎使用!

查看 CentOS 7 系统版本和内核版本

cat /etc/redhat-release
uname -a

导入elrepo的key,并安装内核(elrepo)仓库
elrepo仓库支持Red Hat Enterprise Linux(RHEL)及其衍生版本(Scientific Linux,CentOS等)。

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

查看可用内核版本

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

yum安装kernel-ml 最新版内核
其中lt为4.4版本,ml是5.8版本,所以这里我们需要安装ml版本

yum install kernel-ml --enablerepo=elrepo-kernel -y

这里如果下载很慢,自行想办法解决。

修改grub中默认的内核版本
查看默认的启动顺序

awk -F\' '$1=="menuentry " {print $2}' /boot/grub2/grub.cfg

CentOS Linux (5.13.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.36.2.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-5963a40deb124e87ab5d5e2e721b95d3) 7 (Core)

修改 grub,将GRUB_DEFAULT的值设置为0,重启后就会使用新内核

cat /etc/default/grub
sed -i 's/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/g' /etc/default/grub

最后运行grub2-mkconfig刷新一下配置

grub2-mkconfig -o /boot/grub2/grub.cfg

重启主机,查看内核版本

uname -a

crontab 执行脚本时出现了已经成功执行,实际执行结果有问题的情况;

这个问题关键在于 环境变量 作祟;

crontab 在执行命令时,默认的环境变量不完整。

解决办法:

# 查看当前的环境变量
echo $PATH
# 编辑 crontab
crontab -e


# 在第一行增加你的环境变量 PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

安装 resolvconf

apt install resolvconf

vi /etc/resolvconf/resolv.conf.d/head

在文件中增加
nameserver 8.8.8.8
nameserver 8.8.4.4

重启网络服务,使新 DNS 配置生效

systemctl restart networking

查看 dns 服务器

cat /etc/resolv.conf

一、修改 /etc/default/ufw

vi /etc/default/ufw

将 DEFAULT_FORWARD_POLICY="DROP" 的 DROP 改为 ACCEPT

二、修改 /etc/ufw/sysctl.conf

vi /etc/ufw/sysctl.conf

添加 net/ipv4/ip_forward=1 ,注意不要重复添加。

三、修改 /etc/ufw/before.rules

将以下内容添加到过滤器规则(*filter)之前
( 示例:将本机 33.11.11.11:6677 转发到 88.66.66.66:8899 端口)
不适用于专有网络内网vps,例如阿里云;

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

-A PREROUTING -p tcp --dport 3344 -j DNAT --to-destination 88.66.66.66:8899
-A PREROUTING -p udp --dport 3344  -j DNAT --to-destination 88.66.66.66:8899
-A POSTROUTING -p tcp -d 88.66.66.66 --dport 8899 -j SNAT --to-source 33.11.11.11
-A POSTROUTING -p udp -d 88.66.66.66 --dport 8899 -j SNAT --to-source 33.11.11.11

COMMIT

最后重启 reboot ;

查看指定规则表状态:

iptables -t nat -vnL POSTROUTING
iptables -t nat -vnL PREROUTING

其他命令:

#查看 nat 表中所有链的规则
iptables -t filter  -L
#查看 nat 表中所有链的规则及地址、端口信息
iptables -t filter  -nL

使用 Xshell 发送接收文件,先安装 lrzsz

# Debian 
apt install lrzsz -y

# CentOS
yum install lrzsz

# Linux 发送文件到Xshell
sz filename

# Linux 接收文件
rz