我想对各种标准应用程序进行一些小的 UI 更改,例如evince
、kate
、texstudio
等。由于这些都是开源应用程序,我知道我可以只下载代码,进行我想要的更改(可能说起来容易做起来难,但是这是一个单独的讨论),编译并运行生成的二进制可执行文件。
问题:如何在我的系统上正确安装修改后的二进制文件?
我知道我可以将它们保存在我的主文件夹中的某个位置并进行适当的修改,$PATH
以便.bashrc
在终端中调用它们会导致我的修改版本而不是标准版本。但我宁愿将修改后的二进制文件放在通常的位置/usr/bin
或其他位置(覆盖当前所在的标准版本),以便我的整个系统(启动器菜单、浏览器等)使用它们。我应该如何做才能不破坏任何东西?我应该使用 将其复制到正确的位置cp
,还是应该尝试.deb
使用修改后的应用程序创建一个包,然后sudo apt install
在其上运行?源代码通常会附带一个为我Makefile
生成所述文件的文件吗?下载这些应用程序之一的更新版本.deb
时会发生什么?sudo apt upgrade
我是否只需重新编译我的版本并再次覆盖它?
我意识到答案可能取决于我正在修改的应用程序,但我希望人们仍然可以说一些有用的东西。如果没有,我很乐意得到有关我上面提到的任何特定应用程序(evince
、kate
或texstudio
)的答案。
答案1
既然您提到了.deb
s,我建议您对包源进行更改(您可以使用等获取apt source kate
)并使用它来构建包。
请参阅中给出的过程当我`apt dist-upgrade`时,自建包会发生什么?了解详情。
答案2
没有标准的方法可以做到这一点,因为大多数发行版坚持使用打包的应用程序,否则您就是 SoL。
我将如何做到这一点:我只需删除现有的软件包(以避免意外运行它们)并将我自己的软件包安装到
/usr/local
- 该目录正是为此目的而存在。如果您将它们打包到 deb 中,您可能会意外地将它们更新到您的发行版软件包中并丢失您的更改。
这是另一个想法。有大量的在线构建系统,您可以注册并创建您的构建。优点是,一旦更新了相关软件包,与您的发行版同步就会相对容易。
- Fedora 有 Copr:https://copr.fedorainfracloud.org/
- 然后是 openSUSE 构建服务:https://build.opensuse.org/
- Ubuntu 有 LaunchPad:https://launchpad.net