更新依赖项时如何重新安装Debian软件包?

六十五

对于我所做的一些事情(以前只是口口相传,对于非常狭窄且通常是非技术性的用户群来说很有趣),我希望能够提供一个.deb文件更容易安装。

东西没有需要在系统中安装的任何实际文件。相反,它需要向已经存在的文件中添加一些行(这些行属于xkb-dataDebian发行版中软件包)。据我所知,搜索并四处询问后,无法将这些行放入新的单独文件中,而仍由系统选择它们,因此我编写了一个Rakefile进行安装。效果很好,但是需要用户与命令行交互,但并不总是那么好。另外,每当xkb-data通过程序包管理器进行更新时,都需要手动再次运行rake任务,这很麻烦。

我知道DpkgPostponeDpkgTriggers,但是这些似乎都不适合或不适合解决上述问题(不过,如果我对此有误,请纠正我!)

有什么方法可以让Debian软件包根据其一个或所有依赖项刚刚被更新的条件自动导致自己重新安装吗?我显然也对这样做的黑客方式感兴趣,DontBreakDebian被该死。

斯蒂芬·基特

解决此问题的一种合理方法如下:

  • 转移所有您修改的文件,以便dpkg不再替换它们,而是以不同的名称安装它们;
  • 让您Rakefile使用新命名的文件,而不是原件,阅读新命名的文件和书面原件做的工作;
  • 安装一个调用后dpkg挂钩,在/etc/dpkg/dpkg.cfg.d其中运行Rakefile之后的dpkg运行。

您可以添加其他检查,例如仅在Rakefile自上次生成修改后的文件以来原始文件的校验和已更改的情况下才运行,但是与Rakefile每次dpkg运行相比,这可能不会节省很多时间,并且增加了相当数量维护复杂性。(我写这个是假设您的Rakefile行为就像Makefile一样,也就是说,如果目标比其前提条件新,则不执行任何操作,但是我得到的印象是这里的情况并非如此,因此添加其他检查可能更相关或将您的Rakefile内容更改为不执行任何操作。或者您可以改写Makefile中的处理。)

我想您已经想到了这一点,但是我认为理想的解决方案是添加新的键盘类型,而不是更改现有的键盘定义。但是很可能有一些我没有想到的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Julia中重新安装或重新编译已安装的软件包?

来自分类Dev

如何在虚拟环境中重新安装已安装的python软件包?

来自分类Dev

我将ghc更新到新版本,如何自动重新安装所有cabal软件包?

来自分类Dev

Debian软件包,安装依赖项

来自分类Dev

OPAM:如何在本地重新安装软件包而不重新下载?

来自分类Dev

无法重新安装软件包

来自分类Dev

更新Julia版本而不重新安装先前版本的软件包

来自分类Dev

NuGet-重新安装软件包不会更新HintPath

来自分类Dev

重新安装软件包及其已安装的依赖项

来自分类Dev

安装R软件包时,需要时自动重新安装依赖项

来自分类Dev

有没有办法自动在R中重新安装软件包及其依赖项?

来自分类Dev

如何重新安装随Homebrew一起安装的所有软件包?

来自分类Dev

重新安装所有Debian软件包

来自分类Dev

重新安装软件包及其已安装的依赖项

来自分类Dev

我将ghc更新到新版本,如何自动重新安装所有cabal软件包?

来自分类Dev

如何重新安装默认软件包

来自分类Dev

Debian软件包,安装依赖项

来自分类Dev

Nuget重新安装软件包-更新不正确的软件包文件夹

来自分类Dev

如何使用yum重新安装给定软件包的所有依赖项?

来自分类Dev

如何使用zypper重新安装所有已安装的软件包

来自分类Dev

如何修复或重新安装更新安装导致的损坏软件包?

来自分类Dev

重新安装单个软件包的所有依赖关系

来自分类Dev

无法重新安装软件包

来自分类Dev

文件已损坏,如何在Debian上重新安装软件包?

来自分类Dev

卸载Java后,重新安装Java软件包会产生未满足的依赖项错误

来自分类Dev

如何在Ubuntu-16.04中重新安装默认软件和软件包?

来自分类Dev

软件包evince需要重新安装

来自分类Dev

如何避免每次重新编译使用的运行时软件包时都重新安装已安装的软件包?

来自分类Dev

如何在 Alpine Linux 中重新安装所有已安装的软件包?

Related 相关文章

  1. 1

    如何在Julia中重新安装或重新编译已安装的软件包?

  2. 2

    如何在虚拟环境中重新安装已安装的python软件包?

  3. 3

    我将ghc更新到新版本,如何自动重新安装所有cabal软件包?

  4. 4

    Debian软件包,安装依赖项

  5. 5

    OPAM:如何在本地重新安装软件包而不重新下载?

  6. 6

    无法重新安装软件包

  7. 7

    更新Julia版本而不重新安装先前版本的软件包

  8. 8

    NuGet-重新安装软件包不会更新HintPath

  9. 9

    重新安装软件包及其已安装的依赖项

  10. 10

    安装R软件包时,需要时自动重新安装依赖项

  11. 11

    有没有办法自动在R中重新安装软件包及其依赖项?

  12. 12

    如何重新安装随Homebrew一起安装的所有软件包?

  13. 13

    重新安装所有Debian软件包

  14. 14

    重新安装软件包及其已安装的依赖项

  15. 15

    我将ghc更新到新版本,如何自动重新安装所有cabal软件包?

  16. 16

    如何重新安装默认软件包

  17. 17

    Debian软件包,安装依赖项

  18. 18

    Nuget重新安装软件包-更新不正确的软件包文件夹

  19. 19

    如何使用yum重新安装给定软件包的所有依赖项?

  20. 20

    如何使用zypper重新安装所有已安装的软件包

  21. 21

    如何修复或重新安装更新安装导致的损坏软件包?

  22. 22

    重新安装单个软件包的所有依赖关系

  23. 23

    无法重新安装软件包

  24. 24

    文件已损坏,如何在Debian上重新安装软件包?

  25. 25

    卸载Java后,重新安装Java软件包会产生未满足的依赖项错误

  26. 26

    如何在Ubuntu-16.04中重新安装默认软件和软件包?

  27. 27

    软件包evince需要重新安装

  28. 28

    如何避免每次重新编译使用的运行时软件包时都重新安装已安装的软件包?

  29. 29

    如何在 Alpine Linux 中重新安装所有已安装的软件包?

热门标签

归档