如何在Debian/Ubuntu上设置自动安全更新(无人值守更新)
原创怎样在Debian/Ubuntu上设置自动保险更新(无人值守更新)
在Debian和Ubuntu系统中,自动保险更新是确保系统保险的关键。通过设置自动更新,您可以确保系统始终运行最新的保险补丁,而无需手动干预。以下是怎样在Debian/Ubuntu上设置自动保险更新的步骤:
1. 使用Unattended Upgrades工具
Debian和Ubuntu提供了一个名为`unattended-upgrades`的工具,它可以自动处理保险更新。以下是使用该工具的步骤:
1.1 安装unattended-upgrades
首先,您需要安装`unattended-upgrades`包。在终端中运行以下命令:
sudo apt-get update
sudo apt-get install unattended-upgrades
1.2 配置unattended-upgrades
安装完成后,您需要编辑`/etc/apt/apt.conf.d/50unattended-upgrades`文件来配置`unattended-upgrades`。以下是一些重要的配置选项:
- `Unattended-Upgrade::MinimalUpgrade`: 设置为`true`,这将确保在更新时不会安装任何新包。
- `Unattended-Upgrade::MaxDownloadSize`: 设置为适当的值,以局限下载的大小。
- `Unattended-Upgrade::DPkg::Options`: 添加`-A`选项,以在安装包时忽略依靠问题。
编辑`/etc/apt/apt.conf.d/50unattended-upgrades`文件,添加以下内容:
Unattended-Upgrade::MinimalUpgrade "true";
Unattended-Upgrade::MaxDownloadSize "10000000";
Unattended-Upgrade::DPkg::Options "-A";
1.3 配置unattended-upgrades的日志记录
您或许愿望将更新过程记录到日志文件中,以便在出现问题时进行调试。编辑`/etc/apt/apt.conf.d/50unattended-upgrades`文件,添加以下内容:
Unattended-Upgrade::Log::File "/var/log/unattended-upgrades.log";
1.4 配置cron任务
要使unattended-upgrades在后台运行,您需要设置一个cron任务。编辑`/etc/cron.d/unattended-upgrades`文件,添加以下内容:
@daily unattended-upgrade -d
这将每天运行一次`unattended-upgrade`命令,并自动下载和安装保险更新。
1.5 重启unattended-upgrades服务
最后,您需要重启unattended-upgrades服务以应用配置更改。在终端中运行以下命令:
sudo systemctl restart unattended-upgrades
2. 使用Unattended Upgrades插件
如果您使用的是Ubuntu,您还可以使用`unattended-upgrades`的插件来进一步配置更新过程。以下是一些常用的插件:
- `unattended-upgrades:unattended-upgrades-plugin`: 提供对其他插件的拥护。
- `unattended-upgrades:unattended-upgrades-plugin-apt-dpkg`: 处理DPKG包的插件。
- `unattended-upgrades:unattended-upgrades-plugin-apt-get`: 处理APT包的插件。
要安装这些插件,请在终端中运行以下命令:
sudo apt-get install unattended-upgrades:unattended-upgrades-plugin unattended-upgrades:unattended-upgrades-plugin-apt-dpkg unattended-upgrades:unattended-upgrades-plugin-apt-get
3. 使用SSH密钥进行远程更新
如果您愿望在远程服务器上自动更新Debian/Ubuntu系统,您可以使用SSH密钥进行无密码登录。以下是步骤:
3.1 生成SSH密钥对
在本地计算机上生成SSH密钥对:
ssh-keygen -t rsa -b 4096
按照提示操作,将公钥添加到远程服务器的`~/.ssh/authorized_keys`文件中。
3.2 配置SSH客户端
编辑`~/.ssh/config`文件,添加以下内容:
Host yourserver
HostName yourserver.example.com
User yourusername
IdentityFile ~/.ssh/yourprivatekey
替换`yourserver.example.com`和`yourusername`为您的服务器信息,并确保`IdentityFile`指向您的私钥文件。
3.3 使用SSH执行更新
在本地计算机上,使用以下命令远程执行更新:
ssh yourserver@example.com unattended-upgrade -d
这将连接到远程服务器并执行更新。
总结
通过使用`unattended-upgrades`工具和SSH密钥,您可以在Debian