不明白为什么
$ apt-cache policy foo
N: Unable to locate package foo
Run Code Online (Sandbox Code Playgroud)
但
$ apt-cache policy foo 2>&1 | grep .
Run Code Online (Sandbox Code Playgroud)
是空的。
在后一个电话中我在哪里做错误的假设?
原始任务:我apt-cache policy
大概需要处理输出:-)
更新:
foo
在我的例子中使用可以与任何包名称替代不存在在你的apt-get
指数。
更新 2:
有一个解决方法的答案。+50
任何解释为什么2>&1
解决方案不起作用的人都将获得额外的赏金。
我刚刚发现了一个令人困惑的错误:
rm: cannot remove `xxx/app/cache/prod': Directory not empty
Run Code Online (Sandbox Code Playgroud)
这是由以下命令引起的:
rm -rf $cache_dir/*
Run Code Online (Sandbox Code Playgroud)
其中$cache_dir
定义为xxx/app/cache
所以我认为它是这样的:rm
删除cache/prod
dir 中的所有内容,然后就在它尝试删除cache/prod
目录之前 - 另一个程序在其中创建了一个文件/目录,因此导致rm
失败。
我的假设正确吗?
在 ubuntu(不仅在 ubuntu 中)默认存储库中,您可以看到像2.2.14-5ubuntu8.12
.
为什么维护者在中央包存储库中给出如此奇怪的版本?
该2.2.14-42
版本无法解决哪些任务?
是否可以指定特定版本范围内的另一个库的依赖项?
喜欢:
Depends: Lib (<= 4) -- dependency of a library that has version less or equal to 4
Depends: Lib (>= 2) -- dependency of a library that has version more or equal to 2
Run Code Online (Sandbox Code Playgroud)
但是我们可以将它们结合起来吗?那么整体约束表示the version is more or equal to 2 and less or equal to 4
?
PS:这只是一个学术问题,出于好奇(因为我在 debian http://www.debian.org/doc/debian-policy/ch-relationships.html 中找不到)
我问的原因是因为我使用iwatch(不要与小工具设备混淆)来监视文件系统事件(在我的情况下 - 文件创建/重命名)。
我无法解释的是这个日志:
/path/to/file.ext.filepart 0 IN_MODIFY
/path/to/file.ext.filepart 0 IN_MODIFY
/path/to/file.ext.filepart 0 IN_MODIFY
/path/to/file.ext.filepart 0 IN_MODIFY
/path/to/file.ext.filepart 0 IN_CLOSE_WRITE
/path/to/file.ext 0 IN_CREATE
/path/to/file.ext.filepart 0 IN_DELETE
/path/to/file.ext 0 IN_ATTRIB
Run Code Online (Sandbox Code Playgroud)
为了得到它,我file.ext
使用 WinSCP 从远程机器复制了一个,并打开了临时文件创建选项(这样它要么根本没有文件file.ext
,以防传输终止,或者完整的文件在目标中)。
令我感到困惑的是,/path/to/file.ext
它仅被创建IN_CREATE
并修改了它的属性IN_ATTRIB
(虽然不确定是哪些,但我认为这就是所有魔法发生的地方)。
这里最奇怪的是:
file.ext
不是移动的结果file.ext.filepart
- 会有不同的移动事件file.ext
不是复制的结果file.ext.filepart
- 后面会有一堆写事件IN_CLOSE_WRITE
所以我的问题是 - 引擎盖下发生了什么:如何在file.ext
没有显式重命名或数据复制的情况下使用内容创建?