问题标签 [apt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3065 浏览

java - 最终编译前如何使用java注解修改源代码?

我从 apt 工具页面中了解到,可以创建 AnnotationProcessors 来生成新的派生文件(源文件、类文件、部署描述符等)。我正在寻找这样做的例子。

我需要在编译时对所有带注释的字符串进行编码,以便读取类文件不允许读取静态字符串:

基本代码:

应该重做为:

基于ObfuscatedString.obfuscate(String)TrueLicense 框架的静态方法,处理器可以生成代码来替换带注释的字符串。实际上,此方法会生成字符串“new ObfuscatedString([numeric_code]).toString()”。在运行时,ObfuscatedString 的 toString() 方法能够返回以数字代码编码的字符串。

关于如何编写 AnnotationProcessor 的 process() 方法来编辑带注释的代码的任何想法?

提前致谢,

0 投票
3 回答
2714 浏览

bash - 当您执行 Ctrl-C 时,BASH 中会发生什么(提示,它不仅仅是发送 SIGINT)

先介绍一点背景 - 当我apt-get install从公司互联网下载时,它会在前 10 秒左右提供高速爆发(400-500KB/s),然后下降到该速度的十分之一(40-50KB/s),然后几分钟后到了一个真正的惨(4-5KB/s)。这让我觉得系统管理员已经实施了某种网络节流方案。

现在我知道网络不仅仅是不稳定的,因为如果我启动一个apt-get install fooCtrl-C它会在 10 秒后立即apt-get install foo再次运行(通过向上箭头并输入使用 bash 历史记录),然后继续重复这个过程几分钟直到所有包都下载了,我可以非常快地下载大包。特别是,即使在使用 Ctrl-C 中止下载后,apt-get 似乎也能够在下一次调用中恢复下载。

当然,盯着屏幕每 10 秒执行一次 Ctrl-C Up Enter 真的很无聊,所以我写了一个 shell 脚本 -

这似乎有效。它生成 apt-get,运行 10 秒,然后杀死(通过发送 SIGINT)并再次启动它。但是,它并没有真正起作用,因为现在 apt-get 不会在后续调用中恢复下载!

sudo apt-get install foo从一个终端运行然后kill -2 <PID of apt-get>从另一个终端运行的实验。即使在这种情况下,当我重新启动 apt-get 时,它也不会恢复下载。

很明显,Ctrl-C等同于 SIGINT。当我手动执行 Ctrl-C 时,还会发生其他事情,这让 apt-get 有机会保存下载状态。问题是——它是什么?

编辑

这些是我到目前为止收到的建议,但没有雪茄。谜底加深!-

  1. sudo kill -2 $!信号上可能会去sudo而不是apt-get。这不是原因,因为如上所述,我还尝试将 SIGINT 专门发送到 apt-get 的 PID,甚至阻止 apt-get 保存其状态。

  2. Sudo 捕获信号并将其他一些信号发送到 apt-get。我尝试发送 apt-get 所有我能想到的信号!它仍然不会恢复其中任何一个的下载。只有当我按 Ctrl-C 杀死它时,它才会恢复下载。

  3. 如果 SIGINT 来自脚本而不是交互式 shell,则 Apt-get 处理 SIGINT 的方式不同。再一次,上面的“实验”证明这不是真的。

0 投票
2 回答
487 浏览

python - 使用 apt 模块更新 python 本身

我正在编写一个 python 脚本,它将作为user-data-script在 EC2 机器上运行。我试图弄清楚如何升级机器上的软件包,类似于 bash 命令:

我知道我可以使用aptpython 中的包来执行此操作:

问题是如果 python 本身是升级的软件包之一会发生什么。有没有办法在此升级后重新加载解释器和脚本并从中断的地方继续?

现在我唯一的选择是使用 shell 脚本作为我的用户数据脚本,其唯一目的是升级包(可能包括 python),然后将其余代码放入 python 中。我想消除使用 shell 脚本的额外步骤。

0 投票
1 回答
2349 浏览

java - 无法在 apt 处理器类中初始化 Velocity 引擎

我正在尝试在 apt 注释处理类(使用 Maven)中使用 Velocity。关于初始化速度

具有以下velocity.properties

这是 apt 调试跟踪

我收到以下错误

但是当我在测试类上创建一个简单的 main 方法并使用 eclipse 启动它时,引擎初始化良好并且我没有任何错误。

我补充了一些信息,

maven pom.xml构建部分

我也尝试在 Eclipse 调试模式下执行,看起来

方法不将org.apache.velocity.runtime.log.NullLogChute视为LogChute接口的实例(LogManager.class 第 155 行测试为假)并抛出VelocityException

Velocity 是否与 maven 和 apt-maven-plugin 兼容?

0 投票
1 回答
415 浏览

linux - 在 Fedora 中找不到 xml-config 包

在执行 ./configure 的 gnorpm 时,会出现此错误消息。

我在谷歌上找到了这个文件。

http://www.linuxquestions.org/questions/linux-software-2/xml-config-not-found-777868/

我按照该文档的说明安装了 gstreamer、libxml2。

它还说执行

但在我的 Fedora 中,出现了同样的错误消息。

并且 ./configure 仍然出现错误。

我应该安装什么软件包?

0 投票
0 回答
1263 浏览

bash - Bash / apt - check package version before installation

The command "dpkg" has the option "-E" or "--skip-same-version" in order not to install a package if its same version is already installed.

From what I know "apt-get" does not have anything similar.

So I came up with this:

My question: is there any other easier way of doing this? I am trying to use this information inside a bash script so that everything happens automatically...

Thanks.

0 投票
2 回答
995 浏览

python - 有没有办法使用 python apt 模块添加 ppa?

我需要使用 python 脚本将 ppa 添加到远程服务器。我想做的 bash 等价物是:

我假设它看起来像这样:

但我无法在与添加存储库相关的 apt 模块源中找到太多内容。

0 投票
2 回答
1290 浏览

python - 更新 python-elementtree 以克服 xpath 选择器问题

使用 ElementTree 在我的 xml 中搜索节点的属性时出现错误。

源代码是:

这个关于 Stackoverflow 的讨论让我得出结论,我需要一个更新版本的 ElementTree。

ElementTree XPath - 根据属性选择元素

当我列出已安装的软件包时,我看到我有 python-elementtree 版本 1.2.6-14。然而,即使在运行 apt-get update 之后,任何升级 python-elementtree 的努力都会告诉我我已经获得了最新版本。我正在运行 Ubuntu 9.10,所以存储库可能没有 elementtree 1.3。

如何升级到 1.3 版?

0 投票
2 回答
2897 浏览

apt - Apt 错误:系统上由您或脚本创建的文件

我有一个简单的 bash 脚本,它连接到一系列服务器并更新特定的包,使用 here-string 来回答提示:

提示是:

这是它不起作用时的错误:

我无法在服务器上安装期望或任何其他程序。任何帮助,将不胜感激。

0 投票
3 回答
7606 浏览

linux - 如何为静态文件创建本机 Debian 软件包?

我需要为软件项目 Debianize 一些静态资源,但对可用信息感到困惑,可以使用一些指导。以下是我一直在阅读的材料:

Debian New Maintainer's Guide似乎最贴切,尤其是这一章,但它的教学介绍对我来说并不有效;它更像是一种重新学习的参考,而不是未知的指南。我发现的许多信息同样适用于将软件包包含在我不需要的公共存储库中。为了让一些好心的人给我指路,我创建了一个小项目statrec,它举例说明了我需要创建的包类型。它的源代码树如下所示:

我需要但无法推断出如何:

  • 安装statrec/share/usr/share/statrec/VERSION/,
  • 创建或修改符号链接 from /usr/share/statrec/current/to/usr/share/statrec/VERSION/然后
  • 卸载以前版本的 statrec。

我了解如何完成其​​中的一些,也许可以使用哪些工具,但由于信息过多而感到相当瘫痪。