我假设通过安装的所有应用程序apt-get都是开源的;但是对于那些以这种方式可用的应用程序,我在哪里可以获得这些应用程序的源代码并更新它们?
我有几个我经常使用的应用程序不再被积极开发,我想添加功能。我从哪里获得更新这些应用程序的权利?
在这种情况下,我指的是helanzb包
我最近了解到获取任何给定包的源代码是多么容易,apt-get source这样我就可以获取源代码、进行更改并安装我自己的任何包的修改版本。这很棒!
直到今天,我一直假设每个包都有自己的源代码,不同的包会有不同的源代码。
但是,现在我刚刚发现不同的包可以具有相同的源代码。下面是一个例子:
以下 4 个包似乎具有相同的源代码:
gir1.2-mutter-4
libmutter-4-0
mutter
mutter-common
Run Code Online (Sandbox Code Playgroud)
所有四个都安装在我的 Ubuntu 19.04 计算机上。这样做apt-get source gir1.2-mutter-4的结果与apt-get source libmutter-4-0, 以及mutter和mutter-common包的结果完全相同。
这是我检查它的方法:
mkdir a
cd a
apt-get source gir1.2-mutter-4
cd ..
mkdir b
cd b
apt-get source libmutter-4-0
cd ..
diff -r a b
Run Code Online (Sandbox Code Playgroud)
上面最后一行的递归差异没有给出任何输出,表明目录具有相同的内容。
现在我的问题是:不同的包如何具有相同的源代码?
假设这是故意的而不是某种错误,包之间有什么区别,我如何才能看到这种区别?
可能是这些包在配置和编译源代码的方式上有所不同,例如代码的不同部分包含在不同的包中吗?如果是这样,我在哪里可以找到有关如何配置每个包的信息?
编辑:忘了补充一点,如果你想测试这个,为了使其apt-get source正常工作,你可能首先需要software-properties-gtk按照这里的描述启用它:https : //askubuntu.com/a/857433/874649
编辑2:感谢您的出色回答!我还发现这很有帮助https://askubuntu.com/a/246721/874649 - 关于非常有用的apt-get build-dep和dpkg-buildpackage命令。修改源包的源代码后,dpkg-buildpackage -us -uc可用于构建可用于安装修改后的程序的新 …
我在 Linux 内核模块中有一个错误,该错误导致股票 Ubuntu 14.04 内核出错(崩溃)。
这就是为什么我只想编辑/修补单个内核模块的源代码以添加一些额外的调试输出。有问题的内核模块mvsas不是启动所必需的。因此,我认为不需要更新任何 initrd 映像。
看了很多资料(如下图),发现设置和构建过程混乱。我需要两个食谱:
.c和.h)并将该编辑转换为新的内核模块(.ko)后要执行的步骤已使用的来源是:
在工作中,我使用 putty 连接到许多 Red Hat/CentOS 机器,我喜欢这样一个事实:选择文本意味着复制,右键单击意味着粘贴。
我可以设置 Ubuntu 的默认终端来做同样的事情吗?
编辑:感谢您的回答,但它们并不是我正在寻找的。虽然两者都是有效的,但我实际上是在寻找一种无需使用其他终端即可使用该功能的方法。所以一切都应该通过默认的 gnome 终端工作。
我不确定这是否可能,但我会试试我的运气并开始悬赏这个......
编辑:谢谢你们的回答,很抱歉回复晚了,但我周末出去了。今晚我会检查“选择/鼠标中键”解决方案,然后再回来找你。
补丁解决方案听起来也很有希望。
我已经在 QEMU 上安装了 Ubuntu 16.04 Desktop,但是现在当我启动它时:
qemu-system-i386 -m 1024M -enable-kvm -drive file=./ubuntu-desktop.img,index=0,media=disk,format=raw
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?我怎样才能解决这个问题?
我正在尝试在 Ubuntu 16.04 LTS 服务器上安装 steamcmd,但是在运行sudo apt-get install steamcmd时出现错误
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package steamcmd
Run Code Online (Sandbox Code Playgroud)
我已经更新和升级了。我该如何解决这个问题?
以下命令在 Ubuntu 15.10 上运行良好:
sudo apt-get build-dep emacs24
Run Code Online (Sandbox Code Playgroud)
但是,在 Ubuntu 16.04 上运行时出现以下错误:
Reading package lists... Done
E: You must put some 'source' URIs in your sources.list
Run Code Online (Sandbox Code Playgroud)
在15.10所有行(在数量约10)与deb-src在/etc/apt/sources.list其中取消注释,而在16.04相应线,其中注释。例如,这是我当前的 4 行sources.list:
## Major bug fix updates produced after the final release of the
## distribution.
deb http://no.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
# deb-src http://no.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
Run Code Online (Sandbox Code Playgroud)
这种变化的原因是什么?
接下来,我想避免/etc/apt/sources.list每次重新安装 Ubuntu 时都进行手动编辑。这(取消注释deb-src行)如何自动完成?
我正在尝试将 FAF(本机)与 FA(通过 wine)结合运行
(由于这篇文章收到的意见以及方法更新了多少,我决定更新这个问题,以便它回答和提问。检查这篇文章的修订历史,以找到运行旧方法的过程python 客户端和旧指南)
使用此脚本:(2019 年 3 月 12 日更新)
https://github.com/tatsujb/installFAFscript
https://www.youtube.com/watch?v=BEWUEoQ8Q4k
如何:从源代码编译这个 python 应用程序(FAF):
感谢 @edwinksl 的“Python 3 with PyQt5”指南。将他标记为解决方案。做得好!
对不起,我花了这么长时间才更新这篇文章。已获得 7000 次浏览!它真的值得最新的信息。
自从我问了很多事情发生了。FAF 现在或多或少有 linux 支持。他们甚至有一个 wiki 来安装它(以及每个发行版!):
https://wiki.faforever.com/index.php?title=Setting_Up_FAF_Linux#Debian.2FUbuntu
它不能保证满足您的需求,更多可以通过挖掘找到:http : //forums.faforever.com/viewtopic.php?f=2&t=4507
现在维基不是最新的。
有一段时间我可以让 faf 与本机 python 一起运行,不需要 virtualenv 但 QT 的平均更改依赖项和包组成以及它们的 FAF 使用再次打破了这一点......暂时我希望!
请放心,我已经亲自运行了它,我在这里提供安慰(尝试先跳过第 6 步和第 7 步,它们可能不需要):
sudo apt update && sudo apt install wget PyQt5.QtMultimedia python3-idna python3-semantic-version python3-pyqt5 python3-pyqt5.qtwebenginecd …我已经安装了 Vim 8(这样我就可以使用ale 了)。不幸的是,我似乎无法让系统剪贴板工作。(例如,使用vim-gnomeI 将使用"+y猛拉到系统剪贴板。有人使用过吗?
我使用以下方法安装了 Vim 8:
sudo add-apt-repository ppa:jonathonf/vim
sudo apt update
sudo apt install vim
Run Code Online (Sandbox Code Playgroud) 我尝试通过“Qt Creator”调试器运行程序来观察程序是如何工作的。为了更好地定位,我还想在调用堆栈窗口中完全看到系统(核心)实用程序,因为我在 MS Visual Studio 6.0 中使用,而不仅仅是查看它们的汇编代码。对于实用程序,“Qt Creator”调试器仅显示它们的调试符号不可用。(有时,系统会为其开发人员生成错误报告;错误报告对话框要求仅为特定程序安装此类符号。)如何获取核心调试符号?(不翻译整个 Ubuntu 版本。我使用“更新管理器”来定期安装更新。我的
/sys/内核/调试/x86目录只包含一个空文件。我没有在“Ubuntu 软件中心”中找到它,也没有看到http://packages.ubuntu.com/precise/x11/ 上的某些软件包是否是我所寻找的。)谢谢!