Tôi muốn đọc mã nguồn của một số gói trong Debian, làm thế nào tôi có thể làm điều đó?
Tôi muốn đọc mã nguồn của một số gói trong Debian, làm thế nào tôi có thể làm điều đó?
Câu trả lời:
Tải xuống mã nguồn từ kho Debian cũng đơn giản như chạy apt-get source <PACKAGE>
. Nó sẽ đặt 3 tệp trong thư mục hiện tại của bạn, .dsc
mô tả gói .orig.tar.gz
đó , chứa các nguồn không được sửa đổi và .diff.gz
có chứa các thay đổi cụ thể của Debian. Nhưng nếu bạn gặp lỗi E: Unable to find a source package for <PACKAGE>
, thì bạn có thể không có kho lưu trữ mã nguồn được chỉ định, vì vậy hãy truy cập /etc/apt/sources.list
(hoặc một số tệp /etc/apt/sources.list.d/
có chứa kho lưu trữ Debian của bạn), tìm một chuỗi như:
deb ftp://ftp.debian.org/debian wheezy main contrib non-free
Thay đổi deb
thành deb-src
:
deb-src ftp://ftp.debian.org/debian wheezy main contrib non-free
Cập nhật tệp chỉ mục gói với sudo apt-get update
và thử lại. Xem thêm:
Khả năng thứ hai là tải trực tiếp mã nguồn từ thượng nguồn thay vì tải xuống dưới dạng kho lưu trữ Debian. Điều này có lợi thế là nếu bạn không chỉ muốn đọc mã nguồn mà có thể muốn thay đổi thứ gì đó bạn có thể trực tiếp cam kết và gửi nó lên thượng nguồn (giả sử đó không phải là bản vá Debian).
Bạn thường có thể tìm ra URL kho lưu trữ mã nguồn ngược dòng trong tệp /usr/share/doc/$package_or_program_name/copyright
.
$ head /usr/share/doc/git/copyright
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Contact: git@vger.kernel.org
Source: https://www.kernel.org/pub/software/scm/git/
Files: *
Copyright: © 2005-2014, Linus Torvalds and others.
License: GPL-2
Files: xdiff/*
Copyright: © 2003-2009, Davide Libenzi, Johannes E. Schindelin
Tập tin này cũng được tham chiếu từ gói.debian.org (tìm kiếm "Tệp bản quyền").