Ubuntu22.04 系统优化

本文详细介绍了如何在Ubuntu服务器上配置时间同步,避免弹窗提示,管理needrestart软件以防止自动重启,并允许root用户登录且免密切换。内容涉及chrony的配置、needrestart的使用和管理,以及SSH设置。
摘要由CSDN通过智能技术生成

1 配置时间同步

##配置时间同步

apt install chrony -y

cat > /etc/chrony/chrony.conf << EOF
confdir /etc/chrony/conf.d
pool ntp.aliyun.com iburst
pool ntp.tencent.com iburst
keyfile /etc/chrony/chrony.keys
driftfile /var/lib/chrony/chrony.drift
ntsdumpdir /var/lib/chrony
logdir /var/log/chrony
maxupdateskew 1.0
rtcsync
makestep 1 -1
leapsectz Asia/Shanghai
bindcmdaddress 127.0.0.1
EOF

systemctl restart chrony.service
systemctl enable chrony.service


##配置时区为亚洲时区
timedatectl set-timezone 'Asia/Shanghai'

2 Ubuntu安装禁止弹窗跳出

2.1 说明

此设置主要是因为在写脚本的时候,如果跳出提示影响脚本的执行,可以进行关闭。
禁止提示:

  • Pending kernel upgrade:这个功能主要是needrestart的一个软件,会自动重启服务。有时候会很有用。不想出现提示可以有两种方式:
    • 1)完全删除needrestart。但是有时候会需要,所以一般不使用这种方式。
    • 2)隐藏这种信息
      在这里插入图片描述
  • Daemons using outdated libraries

2.2 needrestart了解

首先需要明确知道,以上两个提示都是由于needrestart这个软件产生的。所以需要了解。

1、needrestart介绍

needrestart 本身是一个用 Perl 编写的简单脚本。其工作原理的一个简单来说就是,检查正在运行的进程,并重新启动包含“ ⁠deleted”标志的服务。当一些特定的库因软件包更新而被替换时,needrestart通过仅重新启动必要的服务并减少影响范围来维持安全状态。
needrestart本身不仅支持更新库,还支持以下数据。

  • 内核更新
  • Intel/ AMD CPU 微码更新
  • 更新Java/ Perl/ Python/ Ruby 中使用的库
  • 忽略 Docker 容器内的进程
  • 通知LXC/ LXD 容器中的进程实例重新启动
  • 更新 QEMU 时通知需要重新启动的 VM 列表
    所以在Ubuntu服务器更新软件包最后会出现以下提示:
    在这里插入图片描述
    2、needrestart配置文件
    配置文件:
  • /etc/needrestart/needrestart.conf
  • /etc/needrestart/conf.d/ 下的所有文件
    needrestart可以通过在配置文件的文件名前添加数字来控制加载顺序。如:/etc/needrestart/conf.d/00-foo.conf
    3、更改重启模式
    关于 needrestart 模式:
  • a:自动更新所有
  • i:交互式,默认的,就是弹出那个框框让你自己选
  • l:只是把要重启服务的列出来
    根据需要选择 a 或者 l 模式就行
needrestart.conf
# Restart mode: (l)ist only, (i)nteractive or (a)utomatically.
#
# ATTENTION: If needrestart is configured to run in interactive mode but is run
# non-interactive (i.e. unattended-upgrades) it will fallback to list only mode.
#
#$nrconf{restart} = 'i';

4、始终防止重启

needrestart查询用户是否在交互模式下更新了软件包,并指定了“ ⁠i” ,并使用“ ⁠从头开始检查需要重新启动的服务” 。换句话说,如果你在该状态下不小心按了回车键,你需要的一切都会重新启动。“ defno”选项抑制了这一点。

# Change default answer to 'no' in (i)nteractive mode.
#$nrconf{defno} = 1;

通过注释掉上面的内容或者像重启模式一样在单独的文件中$nrconf{defno}设置为1 ,需要重启的服务将始终在不勾选的情况下进行查询,这样就不用担心误按回车了。
不过这样下去的话,就会有不知道该重启哪一个的坏处。因此,手动运行needrestart时,需要将UI从Debconf更改为文本模式。
在这里插入图片描述
这样,系统会一一要求输入每一项必需的内容,因此您可以根据需要在Enter (不重新启动)或“y” (重新启动)之间切换。您还可以使用 更改 UI 。needrestart.conf

# Use preferred UI package.
#$nrconf{ui} = 'NeedRestart::UI::stdio';

把这个注释掉就可以了。还可以通过单击“ needrestart -u ?”来检查可以指定的UI 。

5、将特定库列入黑名单

通过库文件名而不是服务名称将其列入黑名单。即使这个文件更新了,服务也不会更新。

# Blacklist binaries (list of regex).
$nrconf{blacklist} = [
    # ignore sudo (not a daemon)
    qr(^/usr/bin/sudo(\.dpkg-new)?$),

    # ignore DHCP clients
    qr(^/sbin/(dhclient|dhcpcd5|pump|udhcpc)(\.dpkg-new)?$),

    # ignore apt-get (Debian Bug#784237)
    qr(^/usr/bin/apt-get(\.dpkg-new)?$),
];

# 也可以直接配置在conf.d 目录下
$nrconf{blacklist}{ qr(正则表达式) } = 0;

2.3 解决

# 直接删除needrestart包
# apt remove needrestart

# 配置
# 以下两种方式都可以
sed -i 's/#$nrconf{kernelhints} = -1;/$nrconf{kernelhints} = 0;/' /etc/needrestart/needrestart.conf
echo "\$nrconf{restart} = 'a';" | sudo tee /etc/needrestart/conf.d/50-autorestart.conf


# 或者
cat > /etc/needrestart/conf.d/silence_kernel.conf <<'EOF'
$nrconf{kernelhints} = 0;
$nrconf{restart} = 'l';
EOF

3 允许root用户登录及切换用户免密

# Sudo -i 直接登录
## 添加sudo -i直接登录  #提权操作
## 打开终端窗口,并执行以下命令以编辑 sudoers 文件
sudo visudo

## 在 sudoers 文件中,找到下面这一行:
%sudo   ALL=(ALL:ALL) ALL
## 在该行的下方添加一行,允许 Ubuntu 用户以无需密码的方式切换到 root 用户:
smile   ALL=(ALL) NOPASSWD:ALL

## 保存并关闭文件。在 visudo 编辑器中,可以使用 Ctrl + X、Y 和 Enter 按键来保存修改。


# 修改主机名
sudo hostnamectl set-hostname com01
sudo hostnamectl set-hostname con01
sudo hostnamectl set-hostname con02


# 设置可以root用户登录
sed -i "/^#PermitRootLogin/ a PermitRootLogin yes" /etc/ssh/sshd_config
systemctl restart sshd
  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值