Debian

如何修補 debian 軟體包?

  • December 28, 2020

我有 Debian stable 並且我發現了一些已經修復的奇怪錯誤。

修復程序已合併到穩定分支中, 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

提前致謝!

根據gnome-settings-daemon 的 Debian 軟體包頁面,stable (buster)的最新版本是3.30.2-3(您已經安裝了)。

但是,對於testing(bullseye) 和unstable(sid),版本3.38.1-2是可用的。因此,您可以只安裝那些較新版本中缺少的軟體包,如下所述:如何在執行“穩定”Debian 的電腦上安裝來自“不穩定”Debian 的一些軟體包?

反向移植和從原始碼編譯是進一步的選擇(也在上面連結的答案中描述)。

backports.debian.org似乎不gnome-settings-daemon包括buster.

testing分支目前的版本為 3.38.1-2,比您需要的要新得多。

推薦的方法是自己向後移植更新檔。

你必須:

  • 安裝建構所需的任何開發包gnome-settings-daemon
sudo apt-get build-dep gnome-settings-daemon
  • 獲取gnome-settings-daemon的原始碼
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

引用自:https://unix.stackexchange.com/questions/626392