Saya mencoba menginstal paket untuk sistem operasional robot (ROS). Dan saya langsung saja mengetik sudo apt-get install <package>
Setelah instalasi, saya melihat daftar file di /opt/share
folder, yang merupakan paket yang saya inginkan.
Tetapi jika saya masuk ke src
, kode sumber (file .cpp) tidak ada.
Saya dapat melihat kode sumber jika saya membuka halaman github pengembang, tetapi mengapa paket diinstal tanpa menggunakan kode sumber? Bagaimana cara mengunduh kode sumber dan menginstal paket menggunakan apt-get install
perintah?
Jawaban yang Diterima:
Secara default apt-get install
tidak mengunduh kode sumber paket. Ada apt-get
specific tertentu opsi untuk melakukan itu adalah source
.
Dari man apt-get
:
source
source menyebabkan apt-get mengambil paket sumber. APT akan memeriksa paket yang tersedia untuk memutuskan paket sumber mana
yang akan diambil. Kemudian akan menemukan dan mengunduh ke direktori saat ini versi terbaru yang tersedia dari paket sumber tersebut
sambil menghormati rilis default, disetel dengan opsi APT::Default-Release, opsi -t atau per paket dengan
sintaks pkg/release, jika memungkinkan.Paket sumber dilacak secara terpisah dari paket biner melalui baris deb-src di file sources.list(5). Ini berarti
Anda perlu menambahkan baris seperti itu untuk setiap repositori yang sumbernya ingin Anda dapatkan; jika tidak, Anda mungkin akan mendapatkan
versi sumber yang salah (terlalu lama/terlalu baru) atau tidak sama sekali.
Jadi sintaks untuk mengunduh paket sumber sesuatu ke direktori saat ini adalah (tidak perlu root
):
apt-get source <package_name>
Perhatikan juga bahwa sebagai man
halaman mengatakan Anda harus memiliki deb-src
repositori diaktifkan untuk semua deb
regular biasa repositori Anda ingin melacak paket sumber. Cara termudah untuk melakukannya adalah dengan menambahkan -src
ke deb
awal repo asli string:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
Pada catatan yang berbeda, Anda mungkin telah memeriksa /usr/src
direktori yang merupakan tempat khusus untuk semua sumber kernel.