İşletim Sistemlerinde Linkleme Kavramı

İşletim sistemleri büyüdükçe bazı problemler ortaya çıkmaktadır. Örneğin aynı yazılımın farklı versiyonlarını kurduğumuzu düşünelim. Hangi versiyonu kullanacaksınız? Her versiyonun harddiskteki yolu farklı. $PATH değişkenine hangi versioyonu atayacaksınız? Diyelim ki $PATH değişkenine son versiyonun yolunu atadınız, bir süre sonra yeni versiyon güncellemesi çıktı ve onu kurdunuz. Her versiyon güncellemesinde $PATH değişkenini mi güncelleyeceksiniz? Bu işlem sizin için bir yüktür.

Bu veya buna benzer başka sebeplerden dolayı işletim sistemlerinde “linklemek” diye bir yöntem geliştirilmiştir. Bu yöntem sayesinde hem bazı dizin yolları standartlaştırılabilmekte hem bazı işlemler otomatikleştirilebilmekte hem de kullanıcıların işleri kolaylaşmaktadır. Örneğimizden yola çıkarsak diyelim ki sisteme Java kuracağız. Standart olarak Java’nın çalıştırılabilir dosyası Centos 7 işletim sisteminde tam olarak /usr/bin/java olarak belirlenmiştir. Fakat biz birden fazla Java kurabiliriz. OpenJDK, OracleJDK ve bunların farklı versiyonları. Fakat işletim sisteminin standart yolu bir tane. Farklı versiyonları nasıl kurup kullanacağız o zaman? İşte burada linkleme işlemi devreye girmek zorundadır.

Biz yum paket yöneticisiyle istediğimiz Java sürümünü sisteme kurarız. Örneğin openjdk-1.8.0 paketini kurduğumuzda bu paket /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64 dizinine kurulur. yum paket yöneticisi kurulumu yaptıktan sonra /usr/bin/java dosyasını siler ve /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/bin/java dosyasını /usr/bin/java konumuna linkler. Aynı zamanda bu konum standart olarak $PATH değişkeni içerisinde var olduğu için tekrardan $PATH değişkenini güncellemeyle uğraşmaz ve biz “java” komutunu çağırdığımızda aslında /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/bin/java dosyasını çağırmış oluruz.

Linkleme işleminin daha detaylı anlatımı için BURAYA tıklayabilirsiniz.

 

 

 


0 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.