Ana içeriğe geç
Kısım 17 - Kaynaktan Derlemek
  1. Linux Bootcamp/

Kısım 17 - Kaynaktan Derlemek

· ·
NKÜ Siber Güvenlik Topluluğu
Yazar
NKÜ Siber Güvenlik Topluluğu
Kampüste dijital dönüşüm. Sen de bize katıl!
Yazar
Yiğit Altınay
Bir kaplumbağa olsaydım Fransızca konuşurdum.

17. Kısım - Kaynaktan Derlemek
#

GİRİŞ
#

Birkaç gün önce, apt-cache‘e ek depoları yetkilendirmeyi ve bu sayede standart depolarda bulunmayan uygulamaları ya da daha güncel sürümleri nasıl bulabileceğimizi gördük.

Bugün bir adım daha ileri gidiyoruz - doğrudan “kaynağa gidiyoruz”. Bu, hafife alınacak bir şey değil – paket yöneticilerinin amacı hayatınızı kolaylaştırmaktır – ancak bazen bu işlem gerekli olabilir ve bu konuda bilgi sahibi olup rahat hissetmelisiniz.

Şimdiye kadar yüklediğimiz uygulamalar, depolardan geliyordu. Buradaki dosyalar “ikili” (binary) dosyalardır - önceden derlenmiş ve genellikle dağıtımınız tarafından özelleştirilmiştir. Ancak, bu uygulamaların çeşitli ve birbiriyle koordinasyonsuz geliştirme projelerinden (“upstream”) geldiği ve geliştiricilerin sürekli olarak yeni sürümler üzerinde çalıştığı gerçeği pek açık olmayabilir. Şimdi bu projelerden birine gidip kaynağı indirip derleyerek yükleyeceğiz.

(Paket yöneticilerinin bir diğer önemli işlevi, gerekli olan “bağımlılıkları” tanımlamak ve yüklemektir. Linux dünyasında birçok açık kaynak uygulaması mevcut altyapıyı bu şekilde kullanır, ancak bunu elle çözmek oldukça zor olabilir. Ancak, bugün kaynaktan yükleyeceğimiz uygulama, bağımsız olması nedeniyle nispeten alışılmadık bir örnek.)

BUGÜNKÜ GÖREVLERİNİZ
#

  • Bir kaynak kod arşivi indirin
  • Kaynağı çıkarın ve derleyin

ÖNCELİKLE GEREKLİ ARAÇLAR
#

Projeler, uygulamalarını genellikle C, C++ gibi dillerde yazılmış “kaynak dosyaları” olarak sağlar. Bu tür bir kaynak dosyayı indireceğiz, ancak bunu sunucumuzda çalıştırılabilir bir “yürütülebilir” programa dönüştürmek için derlememiz gerekecek. Bunun için yaygın derleyicileri içeren standart bir araç setine ihtiyacımız var. Ubuntu’da bu araç paketi “build-essential” olarak adlandırılır. Aşağıdaki komutla kurabilirsiniz:

sudo apt install build-essential

KAYNAĞI İNDİRME
#

Önce, sisteminizde nmap yüklü olup olmadığını kontrol edin ve nmap -V komutunu çalıştırarak sürümünü görün. Bu, standart depodan yüklenen sürümdür. Sonra, which nmap komutunu kullanarak çalıştırılabilir dosyanın nerede olduğunu bulun.

Şimdi http://nmap.org/ adresine gidip en güncel sürümü indirin. “Source Code Distribution” (Kaynak Kod Dağıtımı) bölümündeki “En son geliştirme nmap sürümü tarball” bağlantısını bulun ve URL’sini not edin. Örneğin:

https://nmap.org/dist/nmap-7.70.tar.bz2

Bu, bu notlar yazıldığında mevcut olan 7.70 sürümüdür, ancak şimdiki sürüm farklı olabilir. Şimdi bu dosyayı sunucunuza indireceğiz. Öncelikle dosyayı nereye koyacağımıza karar vermeliyiz – ana dizininize koyacağız. Ana dizine geçmek için:

cd

ve ardından wget komutunu kullanarak dosyayı indirin:

wget -v https://nmap.org/dist/nmap-7.70.tar.bz2

Komuttaki -v (verbose), işlemi takip edebilmenizi sağlar. İndirme tamamlandığında, dizin içeriğinizi listeleyin:

ls -ltr

Dosya adı uzantısına bakarak dosya formatını anlayabilirsiniz. Bu durumda “.bz2”, dosyanın bz2 algoritmasıyla sıkıştırılmış bir arşiv olduğunu gösterir. Bu dosyayı çıkarmak için tek bir komut kullanabiliriz:

tar -jxvf nmap-7.70.tar.bz2

Bu komutun anlamı: -j bz2 sıkıştırmasını açar, -x arşivi çıkarır, -v işlem ayrıntılarını gösterir ve -f dosya adını belirtir. Şimdi sonucu kontrol edin:

ls -ltr

Çıktıda bir dizin oluştuğunu göreceksiniz:

-rw-r--r-- 1 steve steve 21633731 2011-10-01 06:46 nmap-7.70.tar.bz2
drwxr-xr-x 20 steve steve 4096 2011-10-01 06:06 nmap-7.70

Bu dizine geçin ve içeriğini keşfedin:

cd nmap-7.70

Kaynak kodu okuyabilirsiniz. Programlama bilmeseniz bile yorum satırları ilginç olabilir.

DERLEME VE KURULUM
#

Genellikle kaynak dosyaların kök dizininde README veya INSTALLATION gibi dosyalar bulunur. Bu dosyaları more veya less komutlarıyla okuyun. INSTALL dosyasında muhtemelen şöyle bir talimat bulacaksınız:

./configure
make
sudo make install

Bu adımlar şunları yapar:

  • ./configure: Sunucunuzu kontrol eder (örneğin, işlemci türü ve derleyici bilgileri) ve derlemeyi yapılandırır.
  • make: Yazılımı derler.
  • sudo make install: Derlenmiş dosyaları sisteminize yükler.

Kurulum tamamlandıktan sonra, eski ve yeni nmap sürümlerini bulmak için:

sudo updatedb
locate bin/nmap

Her iki sürümü çalıştırarak kontrol edin:

/usr/bin/nmap -V
/usr/local/bin/nmap -V

Kaynağından yüklediğiniz sürüm artık apt tarafından güncellenmeyecektir, bu yüzden güvenlik güncellemelerini manuel olarak takip etmeniz gerekir.


Eğer başarılı olduysanız, kendinizi tebrik edin ve ilerlemenizi forumda paylaşın!

EKSTRA
#

Kaynak koddan derlemenin yaygın olduğu dağıtımları araştırın:

KAYNAKLAR
#


Related

Kısım 19 - Inode'lar, Sembolik Bağlantılar ve Diğer Kısayollar
Kısım 02 - Temel Gezinti
Kısım 04 - Yazılım Kurulumu ve Dosya Yapısının Keşfi
Kısım 05 - More veya Less...
Kısım 06 - "vim" ile Düzenleme
Kısım 07 - Sunucu ve Servisleri