降级Debian testing的systemd

概述

Debian 测试版 amd64 的 systemd 版本 240-4 似乎存在内存泄漏问题。
以下是将版本降级到之前的 240-2 版本(我认为是没有发生内存泄漏的版本)的步骤。

目前还没有240-2账户遭到泄漏的迹象。

(2019/2/7 追記)
由于 buster (testing) 发布了 systemd 240-5,内存泄漏问题已经解决。

内存泄漏的情况

看到Munin的图表,右肩上升了,我觉得可能有些泄漏,结果发现systemd-journal正在大量使用虚拟内存。实际内存也稍微比平常消耗多一些,但与虚拟内存相比微不足道。

image.png
image.png

Debian软件包降级

在降级的方法中,使用首选项是相对安全且便捷的选项。

然而,由于降级版本的软件包在存档镜像中已经不存在了,所以必须从其他地方获取 deb 软件包。官方网站是 https://snapshot.debian.org/,可以从这里下载。

这次使用存储在/var/cache/apt/archive目录中的版本。
我将自己使用过的版本放在这里。
https://ftp.pw2.org/deb/

1. 确认当前所使用的版本

% sudo dpkg -i list | grep systemd
image.png

2. 获取降级后的软件包。

请将 snapshot.debian.org 上的 deb 文件或 /var/cache/apt/archives 中的 deb 文件复制过来。
以下是使用自己已使用的文件的步骤。

% wget https://ftp.pw2.org/deb/systemd_240-2.tar
% ls -l
% tar tvf systemd_240-2.tar
% tar xvf systemd_240-2.tar
% ls -l
image.png

将preferences文件放置

偏好设定是指定使用哪个软件包的优先级。通常情况下,优先设置为使用最新版本,因此即使通过 dpkg -i 安装 240-2,也会被 apt-get dist-upgrade 升级到 240-4。为了防止这种情况发生,需要将 240-2 设定为更高的优先级。

当您将文本文件放置在 /etc/apt/preferences.d/ 目录下时,每次执行apt系列命令时都会自动读取这些文件。

这次放置的文件内容如下。

% cd systemd_240-2
% ls
% cat systemd
image.png

安装

% sudo mv systemd /etc/apt/preferences.d/
% cat /etc/apt/preferences.d/systemd
image.png

这样一来,即使执行 apt-get update 或 aptitude dist-upgrade 等命令也无法升级到 240-4 版本,所以不用担心。当 240-5 或 240-6 版本发布时,只需删除 /etc/apt/preferences.d/systemd 文件即可。

4. 进行降级操作

终于执行了降级操作。如果急的话,只需要这个就可以了。

% sudo dpkg -i *.deb
image.png

5. 请确认是否已经解决了。

% ps aux | grep systemd
image.png

听起来很有自信啊。
还是为了安全起见,最好重启服务器吧。

% sudo shutdown -r now

結束了

广告
将在 10 秒后关闭
bannerAds