标签: patch

如何安装特定版本的 Ubuntu 软件包?

我想使用提供的一些指定包(名称和版本)设置一个新的虚拟机。

例如2.2.20-1ubuntu1具有所有依赖项的apache2 版本。即使服务器上有此软件包的新版本,也应安装此软件包。

该解决方案必须与多个(n)“设置”一起工作/扩展。另一个虚拟机可能需要旧版本的 apache2。

我目前知道一些安装确切软件包的可能性,但不能很好地扩展:

  1. *.deb手动将所有需要的内容复制到每个虚拟机并输入:dpkg -i... -> 可以工作,但很容易出错。(手动脚本等)
  2. 为每个设置创建并使用一个新的 Ubuntu 存储库。-> 不起作用,因为我需要 n 个存储库。
  3. 设置一次机器并复制虚拟机/创建快照。-> 不起作用,因为我需要存储 n 个 VM。

我的问题可能被标记为补丁管理,但我不想将我的包更新到当前版本。我的目标是安装旧包。

versions patch repository

280
推荐指数
5
解决办法
42万
查看次数

我们如何获得这个神奇的性能提升 200 行补丁?

今天在 Phoronix读到Linux 内核有一个200 行的补丁,可以显着提高桌面响应速度。

Ubuntu 用户如何以受支持的方式获得它?

performance patch kernel

65
推荐指数
4
解决办法
1万
查看次数

如何禁用页表隔离以恢复因英特尔 CPU 安全漏洞补丁而丢失的性能?

由于当前的 Intel CPU 安全漏洞问题,预计会有一个补丁会降低系统性能。

我怎样才能确保这个补丁不会安装在我的 Ubuntu 系统上?

security patch intel cpu

45
推荐指数
4
解决办法
5万
查看次数

如何向 Launchpad 项目提交补丁?

由于具有 Git/GitHub 背景并且对 Bazaar VCS 知之甚少,我想偶尔向 Launchpad 上托管的项目报告错误,甚至发送补丁。我想以“适当”的方式来做,这样它就可以在不妨碍合并或改进的情况下进行。

我似乎无法找到适合我需要的体面的简单操作方法。

到目前为止我做了什么:

  1. 我已经创建了一个 Launchpad 帐户,

  2. 报告了错误,

  3. 安装 Bazaar 并设置 SSH 密钥等。

现在如果是 GitHub,我会

  1. 分叉回购,

  2. 克隆分叉的回购,

  3. 创建一个命名合理的分支并完成工作,

  4. 提交+推送,

  5. 使用 GitHub WUI 创建拉取请求。

但它不是 GitHub,Launchpad 和 Bazaar 架构似乎与它们的 GitHub/Git 对应物有很大不同。

那么,一个善良的人能否让我免于淹没在大量文件中并编写一个简单的步骤路径,主要是第二部分?可能在需要时包括相关的 CLI 命令?


编辑:似乎我应该澄清一下我是专门询问 Ubuntu 软件包(无论它意味着什么)或 Launchpad 项目。

我不太关心 Ubuntu 包和非 Ubuntu 包之间的区别。任何软件都可能今天在 Ubuntu 中,明天就没有了,反之亦然。发展比分销更重要。

所以我假设

  • 并非 Ubuntu 中分发的每个软件包都托管在 Launchpad 上,

  • Launchpad 的“官方”或“默认”工作流程存在(好吧,如果所有开发人员都同意使用 Bazaar,为什么他们中的大多数人不能就修补工作流程达成一致?),

所以我问的是 Launchpad 方式,而不是 Ubuntu 方式。我选择 AU 是因为因为交叉路口很大,我想这很适合这里的话题。

launchpad patch bazaar git

21
推荐指数
2
解决办法
1375
查看次数

是否有可能获得包含在当前版本中的补丁?如果是这样,如何?

所以不久前我报告了 Compiz 的 Place Window 插件中的一个错误。对于受其影响的人来说,这是一个相当大的回归:从报告来看,主要是那些使用 Gnome-Fallback 的人。

不久之后,一个补丁浮出水面。我创建了一个 PPA 进行测试,到目前为止,所有参与的人都报告问题已解决。它甚至修复了另一个错误。我已经用标准的 Unity 桌面完成了测试,可以说(对于我的测试)没有可见的不利影响。

我想立即将其推送到 Ubuntu,主要有两个原因:

  • 我很自私。我不想每次将 Compiz 的新版本推送到 12.04 时都需要更新我的 PPA。
  • 我不希望 Ubuntu 用户看到他们的窗口因为一个愚蠢的小错误而四处乱飞。

我希望尽快将此补丁推送到 Ubuntu 的 Compiz 版本,这样我们就可以将这些错误标记为已修复并继续我们的生活。

我现在必须靠谁的腿才能把它拉进 Ubuntu?

我不维护这个项目,它是一个上游的东西,但它对 Ubuntu 来说是相当不可或缺的。我可以去 Compiz 但我想如果他们接受补丁,它会在接近 Ubuntu 的任何地方之前几个月(至少一个版本)。

当我找到合适的人时,我怎样才能让他们的流程尽可能顺利?

我希望他们看到我的请求,“是的,一切看起来都很棒,完成了”,就这样。我不想要 17 轮电子邮件来解决补丁的各个方面。更重要的是,我也不想浪费他们的时间。

我必须为他们提供什么?我的包装技术……可悲。这是我第一次尝试修补程序包以进行重新分发,所以我可能已经让每个人都知道每个打包错误。他们会对原始补丁感到满意吗(这样他们就可以自己应用它),还是我应该重新打包一些东西,以便差异/更改日志更清晰一些(我花了一些时间,而且版本控制无处不在)。

注意:这个问题关于 Compiz 的,但我更喜欢答案是否也可以解决其他风格的包,所以我们有一个关于如何解决问题的权威和全面的线索。

updates packaging patch bug-reporting

15
推荐指数
1
解决办法
281
查看次数

应对 Canonical 日益糟糕的 QA 的策略?

我的installed (local or obsolete)类别正在填满,因为 Canonical 最近一直在推出更新,然后又将其撤回。最近发生了两个内核,cups今天早上又发生了。我已经使用 Ubuntu 大约三年了,我不记得像今年那样经常发生这种情况。

那么,如何理性的应对呢?

我想过每周只安装一次更新,但这并不能防止抓住他们在我检查那一周之前推出的坏更新。

仅在周末安装更新是一个好策略吗?似乎周末不经常推送系统更新。我想他们可以在周五下午推送一个糟糕的更新,然后在周一早上拉出来。

或者,以某种方式不安装更新,直到它们被推出一段时间 - 比如两天?有没有自动化的方法来做到这一点?

编辑:受影响的系统之一运行带有linux-generic内核的Lubuntu 16.04 ,另一个运行带有linux-generic-hwe-16.04内核的Lubuntu 16.04 。两者都受到了cups2.13-4ubuntu0.2 版本更新的影响,该更新于 2017 年 3 月 27 日被推出并撤回。该linux-generic机器收到了内核更新版本 4.4.0.67.12,随后被撤回。此更新也使snapd版本 2.23.1成为孤立的linux-generic-hwe-16.04机器收到内核版本 4.8.0.42.14,然后孤立。

updates patch canonical quality

13
推荐指数
2
解决办法
712
查看次数

为自定义 PPA 修补 Wine 的正确方法是什么?

我一直在手动将补丁应用到 Wine 以在我自己的机器上使用,但我想将它放在 PPA 中供我的朋友和亲戚使用。

目前我遵循这个程序:

  1. 通过上游 PPA 获取最新源 apt-get source
  2. 使用patch申请我的非官方的,不支持的补丁。
  3. 使用创建包 dpkg-buildpackage -rfakeroot -uc -b

这对于创建将在我的本地机器上运行的包很好。但是,我现在想通过 PPA 将此自定义构建分发给其他人。

这个程序是否足够,或者是否有一个更正确和/或更易于维护的程序,我应该专门为 Wine 遵循?

launchpad packaging patch ppa wine

9
推荐指数
1
解决办法
1407
查看次数

提交补丁以修复 LP:#600941 造成的所有损坏的方法是什么?

提交补丁以修复LP:#600941造成的所有损坏的最佳方法是什么?

我问是因为 LP:#600941 被放入了目前仍然支持的每个版本的 Ubuntu。我应该选择一个特定的版本并运行ubuntu-bug它吗?该版本应该是 LTS 还是 Oneiric 或 Precise(如果需要,我如何获得 Precise?)

故事是在它被推出后,我们所有的系统都开始经历 Nagios nrpe 重启失败。

命令像 /etc/init.d/nagios-nrpe-server restart

会导致 nrpe 停止但不会重新启动。

我将其追溯到/etc/init.d/nagios-nrpe-server脚本调用start-stop-daemon.

问题是/etc/init.d/nagios-nrpe-server脚本中的“停止”节首先调用 start-stop-daemon,它将 SIGTERM 发送到 nrpe,然后只等待一秒钟。

如果此时 nrpe 尚未退出,pid 文件仍将存在,/etc/init.d/nagios-nrpe-server脚本将删除它。

更糟糕的是,如果/etc/init.d/nagios-nrpe-server restart使用 pid 文件,不仅会删除 pid 文件,而且如果 nrpe 守护进程仍然延迟关闭,则重新启动 nrpe 的尝试将失败。

在这些情况下尝试启动将失败,因为 nrpe 仍将绑定到套接字,并且第二次尝试绑定将导致 nrpe 启动中止。

他们应该想知道为什么会有关于“有时 pid 文件没有被删除”的评论。

他们应该在负载较重并因此 nrpe 响应时间较慢的系统上进行测试。

解决方法是--retry 10在调用中添加或这样的start-stop-daemon ... --stop ...

谢谢

patch development

9
推荐指数
1
解决办法
448
查看次数

如何在 Debian 软件包上创建和维护补丁?

我想在 Trac 包上打补丁。我知道如何修补和重建软件包,但有些事情我不太了解。

我的补丁很危险,不太可能回馈社区。所以,我只想说,这是一个非常私密的补丁。但是,我希望我的补丁在 Ubuntu 软件包升级时继续工作。(apt-get source trac每次Trac升级时,我是否应该将我的补丁移动到源目录的新版本?)

我看到 中有一个patch/目录(quilt我猜很多人都在使用)debian/,但我不知道如何使用它?会debuild自动应用patch/目录中的所有补丁吗?那么dpkg-buildpackage呢?是否有一些环境变量来控制要应用的补丁的选择?

package-management patch

8
推荐指数
1
解决办法
5176
查看次数

如何将补丁应用到内核?

我有点 linux noob,所以对我对操作系统某些方面的无能理解感到厌烦。无论如何,我只是将 ubuntu 加载到我的台式机上(双启动),一切正常。唯一的问题是(我一直在研究我的问题并确定这是问题所在)内核不支持我插入机器的游戏键盘。

我发现了这个:http : //www.spinics.net/lists/linux-usb/msg62270.html

有谁遇到了同样的问题,并通过将该补丁应用于他们的内核来修复它。我怎么做?有什么地方我可以从那个网页复制代码,还是比这更复杂?

PS 这不是硬件问题。这台机器是双启动的,它在 Windows 7 上运行得非常好,它在 bios 中运行得很好,直到 ubuntu 加载的那一刻才启动。

patch dual-boot kernel

8
推荐指数
2
解决办法
1200
查看次数