我基本上试图查询给定一个存储库URL和包名称的包的最新版本。 因此,如果http://in.archive.ubuntu.com/ubuntu/是存储库&gcc是包名,那么是否有一个命令/工具,这将帮助我find它的最新版本? 我试图使用apt-get和apt-cache问题是我不想将库url添加到/etc/apt/sources.list的框,因为我没有root访问权限。 我试过跑步
apt-get update -o RootDir=<local-dir>
想我可以添加存储库的URL到<local-dir> /etc/apt/sources.list&运行
apt-cache show <pkg-name> -o RootDir=<local-dir>
但是切换root-dir的apt-get更新失败了
chrooting into <local-dir>/ E: Sub-process returned an error code
这可能吗? 还是有其他select?
我不知道是否有“官方”的方式,但是编写自己的解析包列表的脚本很容易:
#!/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上运行,并且正在寻找与当前版本匹配的软件包,这将起作用。 如果你在另一个发行版上运行,请设置
release="saucy"
例如。
玩的开心!