我有 Debian 稳定版,但我发现了一些奇怪的错误已经修复了。
该修复已合并到稳定分支中,该版本是
gnome-settings-daemon 3.32.1
但我有
gnome-settings-daemon 3.30.2-3
那么,如何在不破坏系统的情况下使用该补丁?我必须从哪里安装?向后移植?
我用 apt 检查版本,但我在这里没有看到任何有用的东西:
/home/user-> apt-cache policy gnome-settings-daemon
gnome-settings-daemon:
Installed: 3.30.2-3
Candidate: 3.30.2-3
Version table:
*** 3.30.2-3 500
500 http://deb.debian.org/debian buster/main amd64 Packages
100 /var/lib/dpkg/status
提前致谢!
答案1
backports.debian.org
似乎不包括gnome-settings-daemon
的软件包buster
。
该testing
分支当前的版本为 3.38.1-2,这比您需要的要新得多。
推荐的方法是自己向后移植补丁。
你必须:
- 安装构建所需的任何开发包
gnome-settings-daemon
:
sudo apt-get build-dep gnome-settings-daemon
- 得到源代码对于 gnome 设置守护进程
apt-get source gnome-settings-daemon
- 申请补丁
cd gnome-settings-daemon-3.30.2/
curl 'https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/cea632bf682760e80654df19cfef6206efca868a.diff' | patch -p1
- 将补丁的添加记录到包更改日志中(从技术上讲,如果您只为自己使用该包,则可以忽略此内容,但如果您计划成为包维护者,则最好养成此习惯)
dpkg-source --commit # this will ask you to write a changelog entry
- 构建二进制包:
dpkg-buildpackage -rfakeroot
- 最后安装生成的二进制包:
cd ..
sudo dpkg -i gnome-settings-daemon_3.30.2-3_amd64.deb gnome-settings-daemon-common_3.30.2-3_all.deb
- 如果您希望在不注销的情况下使更改生效,则需要终止任何现有
gsd-media-keys
进程,以便 gnome-settings-daemon 将使用新的二进制文件重新启动它:
killall gsd-media-keys
答案2
根据gnome-settings-daemon 的 Debian 软件包页面stable
, (buster)的最新版本是3.30.2-3
(您已经安装了)。
但是,对于testing
(bullseye) 和unstable
(sid),版本3.38.1-2
是可用的。因此,您可以仅安装这些较新版本中缺少的软件包,如下所述:如何在运行“稳定”Debian 的计算机上安装“不稳定”Debian 中的一些软件包?
向后移植和从源代码编译是进一步的选项(也在上面链接的答案中进行了描述)。