使用 CLI 工具

使用 CLI 工具

在 Debian 中,据我所知,一些软件包是在 Subversion(著名的 team-pkg-gnome)中维护的,而一些软件包是在 git 中维护的,还有一些是在其他 VCS 中维护的。

有没有办法知道包的来源在哪里而无需执行apt-get source $PACKAGENAME

我尝试了三种方法,但都失败了:-

$apt show $PACKAGENAME
$aptitude show $PACKAGENAME 
$apt-cache show $PACKAGENAME 

以上均无法提供/分享此信息。

无论如何都可以获取信息。我需要知道源代码库。名称以及它是否在 git、svn 或其他版本控制中。

答案1

许多软件包都将其包含在其控制信息字段中Vcs-*。您可以使用 轻松查看它(无需下载源码包)apt-cache showsrc

$ apt-cache showsrc gnome-disk-utility
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-disk-utility
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-disk-utility.git

因此,在这种情况下,您可以git clone https://salsa.debian.org/gnome-team/gnome-disk-utility.git下载源代码,或在网络上浏览它https://salsa.debian.org/gnome-team/gnome-disk-utility

并非所有包都有Vcs-*字段。它们可能会丢失,因为维护者不使用 VCS(或至少不是公共版本),或者由于某种其他原因没有添加标头。apt-get source packagename尽管不是通过 VCS,但始终会获得源代码。同样,您可以在线浏览所有源代码http://sources.debian.net/

deb-src(注意:您的文件中将需要这些行sources.list。)

更新: 斯蒂芬·基特指出debcheckout -d;我也是第一次听说。查看(并点赞)斯蒂芬·基特的回答了解详情。

答案2

使用 CLI 工具

如图所示德罗伯特,在 VCS 中维护的 Debian 软件包应该在Vcs-...其源软件包的一对字段中指示这一点。

使用此信息的最佳工具位于包debcheckoutdevscripts,或者apt-cache showsrc.这两个都会显示您gnome-disk-utility的存储库信息。

apt-cache showsrc gnome-disk-utility

将显示源包中包含的所有信息,包括指向 VCS 的链接(Vcs-Brower提供在浏览器中使用的链接,Vcs-Git提供克隆 git 存储库的链接,假设存储库使用 git):

Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-disk-utility
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-disk-utility.git

然而

debcheckout -d gnome-disk-utility

将仅显示 VCS 信息和相关详细信息(如果包托管在 VCS 中)。

查看

如果您想查看来源,

debcheckout gnome-disk-utility

会为你做的。

网页界面

您还可以在Debian 软件包跟踪器,它将链接到托管该包的 VCS(如果有)。

答案3

你并不完全正确:Debian源代码位于源代码包中:你需要一些类似的行,deb-src例如/etc/apt/sources.list

 deb-src http://ftp2.fr.debian.org/debian/ jessie main contrib non-free

(根据您的地理位置和习惯进行调整)

然后,您可以要求使用例如从源代码构建源代码aptitude build(并且您可能希望使用来aptitude build-dep安装该构建所需的包)。

Debian 维护者通过合并与某些上游软件存储库相关的补丁来打包源代码。上游软件存储库使用(或可能不)他们想要使用的版本控制系统。

相关内容