首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查询debian存储库的工具/命令(类似于rpm存储库的repoquery )

查询debian存储库的工具/命令(类似于rpm存储库的repoquery )
EN

Stack Overflow用户
提问于 2013-09-04 13:45:06
回答 1查看 702关注 0票数 3

我基本上是想查询给定存储库url &包名称的包的最新版本。那么,如果http://in.archive.ubuntu.com/ubuntu/是存储库& gcc是包名,那么是否有一个命令/工具可以帮助我找到它的最新版本?我尝试使用apt&apt-缓存,问题是我不想将存储库url添加到/etc/apt/ since .列表中,因为我没有根访问权限。我试着跑

代码语言:javascript
运行
复制
apt-get update -o RootDir=<local-dir>

考虑到我可以将存储库url添加到< local-dir >/etc/apt/sources.list . into & run中

代码语言:javascript
运行
复制
apt-cache show <pkg-name> -o RootDir=<local-dir>

但是,带有切换根-dir的apt-get更新失败,以下是

代码语言:javascript
运行
复制
chrooting into <local-dir>/
E: Sub-process returned an error code

这个是可能的吗?还是有别的选择?

EN

Stack Overflow用户

回答已采纳

发布于 2013-09-04 16:02:06

我不知道是否有一种“正式”方式,但编写解析包列表的自己的脚本很容易:

代码语言:javascript
运行
复制
#!/bin/bash

if [ -n "$1" ]
then
        package="$1"
else
        package="gcc"
fi

release=$(lsb_release -c|awk '{ print $2 }')
file=$(tempfile)

wget -o /dev/null -O $file http://in.archive.ubuntu.com/ubuntu/dists/$release/main/binary-amd64/Packages.gz

gunzip -qc $file | grep -A 10 "^Package: $package$" | awk '/Version/ { print $2 }'
rm $file

如果您正在Ubuntu上运行,并且正在寻找与您当前版本相匹配的包,这是可行的。如果你在另一个发行版上运行,设置

代码语言:javascript
运行
复制
release="saucy"

例如。

玩得开心!

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18615606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档