从 Ubuntu 14.04 开始,至少有三个rename命令:
rename由util-linux包提供,参见man rename.ulrename由perl包提供,见man prenamerename由rename包提供,参见man file-rename问题:
perl包包含“完整”rename命令或根本不包含任何rename命令不是很简单吗?为什么这种看似不完整的分裂至少持续到 Ubuntu 17.04?这个问题已经在 U&L 上问过了(我后来发现了):
所有重命名有什么用:prename、rename、file-rename?
我最近开始在 Launchpad 上为我的软件构建 Ubuntu 软件包。它们非常简单;它们中的大多数只包含一些通过 .install .preinst .postinst .prerm 和 .postrm 文件触发的文件和脚本。安装和删除似乎工作正常。但是,从一个版本升级到下一个版本很棘手。
升级包时到底发生了什么?和卸载旧版本安装新版本一样吗?是否删除了先前软件包中的所有文件,并替换为新软件包中 .install 列表中的文件?是否所有 .prerm、postrm、preinst、postinst 脚本都被执行?我如何区分应该只在“新安装”和升级期间发生的事情?
解析源包的debian/changelog文件(或debian/control?)以获取包的版本号的最可靠方法是什么?就像是:
pkgver=$(dpkg-parsechangelog | magic_goes_here)
Run Code Online (Sandbox Code Playgroud)
我想提取版本号(并且只有版本号),以便我可以在脚本中对其进行操作。
我期待为此找到一个dpkg-*实用程序,但我还没有找到。
我试图找到一种dch在非交互模式下运行的方法,以便将debian/changelog文件创建和操作合并到一个 shell 脚本中。
与参数运行它时,它似乎只有-r ""它的作品(如指定位置)。但是,我需要使用不同的参数。
老实说,我对 snap-packages 了解不多——但这与这个问题无关——见下文。我认为该系统与现有系统有很大不同。
是否有实际需要,足够强大?也就是说 - 是否有一个新的用例,它足够重要以开发一种新的格式 - 以及相关的基础设施?
更改当前方法以涵盖新用例是否不可行?
我所看到的可能主要是营销 - 新名称和用于最小技术更改的介绍,以便有机会任何机构将其视为“新的和更好的”并且它可能会被实际使用。此外,新的软件包可能与现有格式非常接近,以至于它主要是对用户呈现方式的改变。当然,这可能是一个很好的解决方案。在这种情况下,这个问题就没有多大意义了。
然后,我希望这仍然足以回答侧面问题。如果问题对新用户没有帮助或混淆,请告诉我,我很乐意将其删除。
那么,它们为什么存在?
我的第一反应是“这没有意义!”
这类似于在物理站点上,有人不高兴地问,为什么没有人在答案中讨论他出色的新想法的情况。它看起来很像疯子的想法;与实际的物理知识相去甚远,以至于很难找到一个起点。我写了一个没有用一个词触及他的想法的答案,但解释了为什么人们不会讨论假设疯狂的想法 - 不是第一个案例。我认为,答案实际上是切中要害。
如果我的假设是正确的,那么这个案例是类似的。
但是,也许不是 - 让我们看看。
我看过一个 aptitude教程并阅读了手册页,但我就是不明白。启动 aptitude 后,“安装包 foo”怎么说?或者搜索名称中带有“foo”的所有包?
我编写了一个开发库,希望将其包含在 Ubuntu 档案中。据我所知,最好的方法是首先将软件包放入 Debian,然后请求软件包同步。
这是ITP 错误。
现在我该怎么做?
查看此页面,我看到了诸如“准备中的 419 天”和“上次活动 404 天前”之类的可怕内容。我的印象是将软件包放入 Debian 是一个缓慢的过程。
我能做些什么来加快这个过程吗?我已经尝试做尽可能多的工作来平滑这个过程 - 我有一个带有 Debian 打包的分支(它由 Lintian 获得,没有任何错误)。
我想找出 deb 文件名的标准。例如,我有一个名为foo_1.0.0-1_all.deb. 正如我在Debian FAQ 中发现的那样,有这样的约定:
<foo>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
Run Code Online (Sandbox Code Playgroud)
但这不是标准。它没有回答很多问题。例如:
<foo>多久?<foo>什么?<DebianArchitecture>?有没有详细描述 deb 文件名的标准?
我在专有许可下提交了我的应用程序“亮度控制器”,它已经发布。它包含一个可执行的 .py 文件。但是该应用程序取决于python-wxgtk2.8
我在评论字段中编写的内容,但打包人员可能忽略了它。有什么办法可以自己添加依赖项吗?
请注意,我没有对软件包进行 debian。我只是对亮度.py 文件进行了焦油处理并提交了它。
我可以用依赖文件制作一个 .deb 并提交它吗?
该应用程序最初是开源的,但我以专有方式提交它,这样我就不必打包它。
software-center packaging dependencies application-development
我创建了一个包并将其上传到我的 PPA。构建完成后,我去安装它,但遇到了以下消息:
$ sudo apt-get install stackapplet
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
stackapplet
0 upgraded, 1 newly installed, 0 to remove and 31 not upgraded.
Need to get 17.7kB of archives.
After this operation, 106kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
stackapplet
Install these packages without verification [y/N]?
Run Code Online (Sandbox Code Playgroud)
为什么它会警告我未验证软件包?