获取包源和存储库链接

Mar*_*ana 12 dpkg apt package-management

有没有办法(dpkg,apt?)在 Debian 中获取软件包的来源和存储库的 URL(如果可用)?

小智 10

对于最新版本:

apt-get download --print-uris package | cut -d' ' -f1
Run Code Online (Sandbox Code Playgroud)

对于特定版本

apt-get download --print-uris package=version | cut -d' ' -f1
Run Code Online (Sandbox Code Playgroud)

  • 一直在尝试这个,但没有打印任何路径。发现已经使用“apt-get download pkg”下载了文件,它不会打印任何内容。所以先删除当前wd中的文件就可以了 (2认同)

tri*_*eee 5

apt-cache policy package 显示可以从哪些存储库安装哪些版本。

bash$ apt-cache policy dpkg
dpkg:
  Installed: 1.16.1.2ubuntu7.1
  Candidate: 1.16.1.2ubuntu7.1
  Version table:
 *** 1.16.1.2ubuntu7.1 0
        500 http://fi.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://mirrors.nic.funet.fi/ubuntu/ precise-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     1.16.1.2ubuntu7 0
        500 http://fi.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)


小智 5

获取源代码:
检查您deb-src/etc/apt/sources.list.
以 root 身份运行apt-get build-dep package
作为普通用户,运行apt-get source package.

要获取 URL,请转到 http://packages.debian.org/source/sourcepackage。然后您将获得支持档案中不同版本的列表。
如果源包名称与二进制文件不同,则它在包描述中,似乎是第 2 行。
grep -A1 binpackagename /var/lib/apt/*Packages |grep Source应该做的伎俩。


amr*_*mra 5

尝试:

apt-get install --yes --no-download --reinstall --print-uris package-name
Run Code Online (Sandbox Code Playgroud)

您可以通过添加以下内容来提取 URL: | tail -n1 | grep -o "http[^']\+"


jip*_*pie 4

关于什么sudo apt-get source packageName?它将在当前工作目录中安装最新的可用源代码树(如果可用)。

查看man apt-get更多详细信息。

  • 这里真的不需要“sudo”,对吧? (6认同)