Özgür yazılım dünyasında kaynak kodlar üzerinde çalışma, hata bulma ve düzeltme oldukça yaygındır. Bunu yapabilmek için programın kaynak kodlarını indirmeniz gereklidir. APT sistemi, dağıtım içerisinde yer alan paketlerin kaynak kodlarını, .deb paketi oluşturulabilmesi için yapılan değişiklikleri de içerecek şekilde indirmenizi sağlayacak komutlara sahiptir.
Debian kaynak paketlerinin kullanılmasının gerektiği diğer bir durum ise, belirli bir paketin güncel sürümünü, unstable sürümünü örneğin, stable sürümü için yeniden hazırlamak istediğiniz durumdur. Bir paketi stable dağıtım için oluşturduğunuzda bağımlılıklar da stable dağıtıma göre düzenlenir.
Bunun için
/etc/apt/sources.list dosyanızda unstable sürümle ilgili
deb-src satırlarının bulunması gereklidir. Ayrıntı için bkz.
/etc/apt/sources.list dosyası.
Bir kaynak paketi indirmek için aşağıdaki komutu kullanınız:
# apt-get source paket_adı
Bu komut üç dosyanın indirilmesini sağlayacaktır: bir .orig.tar.gz, bir .dsc ve bir de .diff.gz. Eğer paket Debian'a özgü ise, son iki dosya indirilmez ve dosya adı büyük olasılıkla orig önekini içermez.
.dsc dosyası dpkg-source tarafından kaynak paketi paket_adı-sürüm dizini altına açmak için kullanılır. İndirilen her bir debian kaynak paketi açıldıktan sonra, debian adında bir dizin içerir. Bu dizinde .deb paketini oluşturmak için yapılan tüm değişiklikler bulunmaktadır.
Kaynak paket indirildikten hemen sonra .deb paketinin oluşturulmasını istiyorsanız auto-build komutu işinize yarayacaktır. Bunun için komutu -b seçeneği ile aşağıdaki gibi kullanmalısınız:
# apt-get -b source paket_adı
Eğer indirdikten hemen sonra yerine daha ileriki zamanlarda .deb paketini oluşturmak isterseniz aşağıdaki komut bunu yapabilirsiniz:
# dpkg-buildpackage -rfakeroot -uc -b
Bu komutu kaynak paketin açıldığı dizin içerisindeyken çalıştırmalısınız. İşlem sonunda üretilen paketi aşağıdaki gibi sisteminize kurabilirsiniz:
apt-get'in source yöntemi ile diğerleri arasında birtakım farklar bulunmaktadır. Burada paketin indirilebilmesi için root kullanıcısı olunmasına gerek yoktur, indirilen paketler o an bulunulan dizin içerisine açılırlar.