Есть ли способ (dpkg, apt?) Получить исходные коды пакета и URL-адрес хранилища, если таковой имеется, в Debian?
Есть ли способ (dpkg, apt?) Получить исходные коды пакета и URL-адрес хранилища, если таковой имеется, в Debian?
Ответы:
Как насчет sudo apt-get source packageName
? Он устанавливает новейшее доступное дерево исходных текстов, если оно доступно, в текущем рабочем каталоге.
Проверьте man apt-get
для более подробной информации.
sudo
, верно?
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
Чтобы получить источник:
Проверьте, что у вас есть 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
должен сделать свое дело.
Пытаться:
apt-get install --yes --no-download --reinstall --print-uris package-name
Вы можете извлечь только URL, добавив: | tail -n1 | grep -o "http[^']\+"
--print-uris
Вы можете использовать сайт pkgs.org, где вы можете искать пакеты. Это даст вам пакет и путь к хранилищу.
Вы можете использовать очень простой скрипт apt-url
, который используется apt-move
за кулисами, чтобы показать URL пакета.
Этот скрипт можно найти по адресу: