我想利用http://packages.ubuntu.com/从命令行以类似的方式apt-file search -i
找到提供包含特定模式的文件的包。
我无法使用,apt-file
因为我不仅需要搜索我正在运行的版本(14.04),还需要搜索 14.10 和 15.04。
com.canonical.Unity
例如,如果我从命令行运行 14.04,如何获取包含 14.10 的所有提供 glib-2.0 模式的软件包?
答案1
安装
html2text
:sudo apt-get install html2text
将以下函数粘贴到您的
.bashrc
:apt-file-remote() { pattern="$1" release="$2" if [ -z "$release" ]; then release="$(lsb_release -c -s)" fi wget "http://packages.ubuntu.com/search?searchon=contents&keywords=$pattern&mode=filename&suite=$release" -qO- | html2text -width 999 | grep --color=never '^/' }
重新启动 shell 或打开一个新终端
使用模式作为第一个参数来运行它,然后使用发布代码名称(可选,默认为当前版本):
$ apt-file-remote com.canonical.unity utopic
/etc/dbus-1/system.d/com.canonical.Unity.Greeter.Broadcast.conf unity-greeter-session-broadcast
[...]
/usr/share/glib-2.0/schemas/com.canonical.Unity.Thumbnailer.gschema.xml thumbnailer-service
/usr/share/glib-2.0/schemas/com.canonical.Unity.gschema.xml unity-schemas
/usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml unity-greeter
/usr/share/glib-2.0/schemas/com.canonical.unity-gtk-module.gschema.xml unity-gtk-module-common
/usr/share/glib-2.0/schemas/com.canonical.unity.clickscope.gschema.xml unity-scope-click
/usr/share/glib-2.0/schemas/com.canonical.unity.webapps.gschema.xml unity-webapps-service
/var/lib/polkit-1/localauthority/10-vendor.d/com.canonical.unity.webapps.pkla unity-webapps-common
感谢这个功能我发现:
/usr/share/glib-2.0/schemas/com.canonical.Unity.Thumbnailer.gschema.xml
从 Utopic 开始才安装。
笔记:
- 我
-width 999
默认html2text
使用 80 列呈现输出,这可能会将一些名称分成两行。 - 它实际上比本地
apt-file search -i