问题标签 [debian]
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.
linux - Debian 软件包创建错误
我正在尝试构建一个 Debian 软件包,但我遇到了这个奇怪的伪目录问题。我跑:
我之前已经构建了二进制文件,但是我的系统上肯定发生了一些变化。现在 dh_md5sums 出错并返回:
的确,include
是一个目录。因此,我在 dh_md5sums 中添加了一些调试语句,以找出为什么include
会被散列,尽管应该过滤掉目录的行。添加:
表明,include
当 dh_md5sums 运行时,它确实不是一个目录:
那么,我可以删除它吗?我补充说:
并得到:
也许它......变成了一个目录?我ls -l
在下面添加了另一个rm
并得到:
当脚本运行完毕后,我可以这样做:
...这很奇怪,因为它include
变成了一个目录并且所有权发生了变化(x
是我的用户名)。 include
甚至包含它应该包含的所有头文件。
有谁知道发生了什么?
ubuntu - 强制我的自定义 debian 包解决来自特定存储库的 R 依赖项
我创建了一个 ubuntu/debian 软件包,它安装了一个依赖于 R 的应用程序。安装时,我希望该软件包从位于以下位置的存储库中安装 R:
deb http://cran.uk.r-project.org/bin/linux/ubuntu jaunty/
因为这个存储库包含最新版本的 R。我尝试将包从包 preinst 脚本添加到 sources.list 文件,但它似乎不起作用。
有什么想法可以强制使用此存储库吗?
linux - Console_init 导致内核恐慌
系统详情:
操作系统:Debian/5.0 内核 2.6.26-2 i686 SMP
硬件:IBM Thinkpad T40 Type 2373 Pentium M 1.5GHz,512MB RAM
来源:sudo apt-get install linux-source-2.6.18 linux-patch-debian-2.6.18 linux-support-2.6.18-5
工具链:由 scratchbox 安装的 arm-linux-gcc3.4.cs-uclibc0.9.27
arm-linux-uclibc-gcc/-g++ -v:
qemu 系统臂:v0.9.1
qemu命令行:qemu-system-arm -m 32 -M integratorcp -kernel zImage -serial stdio -S -s
gdb 命令行: arm-uclibc-gdb --command=gdb_commands.vim --symbols /usr/src/linux-source-2.6.18/vmlinux
内核配置:
我正在尝试在 qemu 中运行交叉编译的内核。我正在尝试在 integratorcp 板上模拟 ARM9 系列处理器。这在 qemu-system-arm 下得到支持,并且这个设置出现在上面的命令行中。虽然我使用的是 scratchbox 提供的交叉构建工具链,但我并没有在 scratchbox 中编译。这是因为交叉支持为内核开发的非常好,实际上建议不要在scratchbox中完成。一切都编译到这个内核中。尽管启用了可加载模块支持,但没有构建任何模块。我能够成功生成压缩二进制文件(zImage)。当 qemu-system-arm 将其作为内核插入时,它成功地解压缩了 Linux 并几乎立即挂起。将未压缩的内核二进制文件 (/usr/src/linux-2.8.16-source/vmlinux) 提供给 arm-uclibc-gdb 以进行符号提取似乎也可以。设置断点和单步执行指令似乎是准确的。我能够使用 arm-uclibc-gdb 来捕获违规行。崩溃发生在驱动程序/视频/控制台/vgacon.c:462 中,在 vgacon_startup(void) 函数内。在尝试进入第 462 行上的指令 inb_p(VGA_IS1_RC) 后,它把床弄得一团糟。在__do_kernel_fault处设置断点,调用栈如下:`
我最终放弃了寻找正在召唤的东西__dabt_svc
几个兴趣点:
- 似乎不可能检查和设置某些变量/函数的中断,即使它们在范围内(
inb_p
例如)。 - 我尝试在没有优化的情况下进行编译,-O 和 -O2 并没有成功启动这个问题
- ,
inb_p
man 文档明确指出您需要使用 -O 或 -O2 进行编译;否则,您将面临子例程未被内联的风险
- ,
- 虽然它会在屏幕上打印“Uncompressing Linux ..... Ok, Booting the kernel”消息,但一旦它开始初始化控制台,你就会失明。内核不会将其他任何内容打印到屏幕上。没有漂亮打印的恐慌消息 - 您必须闯入
__show_regs()
并手动窥探所有相关寄存器(pc、fsr 等)。这并不像听起来那么困难。这和听起来一样乏味。 - 我相信我已经为 ARM 和 Debian 应用了所有相关的补丁。
- 我准备好像一个膝盖被剥皮的小女孩一样哭泣。
我会很感激有一双新鲜的眼睛,或者至少是朝着正确的方向点头。提前感谢您阅读本文以及您可以提供的任何帮助。
debian - 我多久运行一次 autoconf?
在我的公司,我目前正在deb
从第三方库中创建一个 Debian 软件包。该库是使用 Autotools 构建的。我以前从未使用过 Autotools,我遇到了一些困难。库源包含文件和configure.in
目录。我可以使用以下顺序构建库:Makefile.am
m4/
在debian/rules
文件中我想使用 CDBS。我写了这个:
但它不起作用。它抱怨configure
文件丢失。没错,因为 Autotools 类希望这个文件存在。但它不在那里,有人必须先打电话autoconf
和朋友!
为什么 Autotools CDBS 类不让我autoconf
和朋友打电话?我该如何规避它?
题外话:
当我使用一个程序时,我不会每次都编译它,我编译一次并重用二进制文件。
当人们安装软件时,他们不会自己编译,维护者编译一次,人们会重复使用二进制包。
维护者在编译包时,不会configure
每次编译都创建脚本,上游作者创建一次,维护者可以复用。
最后一句是真的吗?因为在我看来,Autotools CDBS 类的作者似乎假设了这样的事情——他们假设configure
存在,并在为不同的架构编译包时重用它。我对吗?
一方面,如果configure
可以生成,它不应该出现在任何地方——如果你需要它,你可以从其他文件生成。另一方面,Autotools CDBS 类的作者一定有一些理由以这种方式实现它,而不是另一种方式。
概括:
- 如何处理上述 Autotools CDBS 类问题?
- 我多久再生一次
configure
?(在一般情况下以及在构建 Debian 软件包时。)
build - Debian:在打包过程中创建用户
我正在重新打包一些软件(有自己的安装程序)以供在基于 Debian 的系统下私人使用。该软件已经编译(没有源代码),所以我基本上将安装程序运行到$DESTDIR
树中。
不幸的是,安装程序需要预先创建系统用户名和组名。现在,我知道在构建(和安装)Debian 软件包之前“手动”完成它是一件简单的事情。但我想知道是否可以指示 debuild “伪造用户的创建”(同时使用 fakeroot 作为 root 运行)。编辑debian/preinst.ex
和debian/postrm.ex
文件可用于执行这些操作,但这也涉及构建阶段,在构建阶段这些用户在构建之后变得不必要。
所以基本上这意味着让 Debian 构建工具(以及在构建中运行的工具)“相信”某个用户已经存在。如果没有在 chroot 环境(例如 pbuilder)中运行,我该怎么做?
linux - 在 linux (debian) 上安装 flex-2.5.33.tar.gz 有困难;“制作”失败
我正在尝试安装“flex”。我没有安装以前版本的 flex。我正在运行一个精简版的 linux,所以我没有 apt-get 或 yum。为了安装,我解压了 flex 包(flex-2.5.33.tar.gz)并运行了 ./configure(它可以工作)。但是,然后我运行 make 并失败了。我已经附上了 ./configure 的输出,如果有帮助的话。我应该怎么办?提前致谢。
-缺口
配置
/li>制作
/li>
postgresql - 已删除用户“postgres” - 哎呀
我不小心删除了用户 'postgres' 用户 #userdel 命令并且不再有权访问数据库。
如何创建新的 postgres 用户以及如何重新启动 postgresql?
如果我必须重新安装 postgresql,我是否只需通过删除 /usr/local/postgresql-8.3.6/ 目录来删除我当前的 postgres 设置?
注意:我不知道如何启动 postgresql。我基本上下载了一个gzip文件并将其卸载到目录/usr/local/postgresql-8.3.6
xslt - 在 shell 中从 XML 访问属性
我正在尝试使用 shell从 Widget config.xml中解析出值。我确实想使用 sed 来完成这项任务。如果有什么东西比 xsltproc更糟糕,我很想知道。
在这个例子中,我在下面的id属性值之后config.xml
:
我希望它像Jquery 的 attr一样简单:var id = $("widget").attr("id");
目前这个shell代码使用xsltproc
失败:
repository - 如何信任 apt 存储库:Debian apt-get update 错误公钥不可用:NO_PUBKEY
尝试在 Debian Etch 安装中更新一些存储库并从运行“apt-get update”中获取以下错误
它指示我运行 apt-get update 的讽刺意味是一个很好的踢球者......
python - Python无法从具有权限的root执行脚本执行firefox webbrowser
我无法从 sudoed python 脚本运行 firefox,该脚本将权限授予普通用户。如果我写
我认为这不是 python 问题,而是 firefox/iceweasel/debian 配置问题。也许firefox只读取UID而不是EUID,并且不执行进程,因为UID等于0。你怎么看?