Forumda yenilikler devam etmektedir , çalışmalara devam ettiğimiz kısa süre içerisinde güzel bir görünüme sahip olduk daha iyisi için lütfen çalışmaların bitmesini bekleyiniz. Tıkla ve Git
x

Paket Yöneticisi Nedir?

Paket Yöneticisi Nedir?
0
121

yasuo

FD Üye
Katılım
Şub 14, 2021
Mesajlar
21,219
Etkileşim
1
Puan
38
Yaş
36
F-D Coin
75
pm.jpg

Bilindiği üzere, bilhassa de Linux dağıtımlarını birbirinden ayıran en değerli özelliklerden birisi paket idare yazılımlarıdır. Red Hat’in RPM’i, Debian‘ın APT’si derken listemiz uzadıkça uzuyor… Pekala bu paket yöneticileri aslında nasıl çalışıyor? Birbirlerinden farkları neler?

Paket yöneticilerinin asıl hedefi, yazılımları inançlı ve pratik bir halde denetim etmektir. Bu yazılımlar sayesinde, dağıtım sağlayıcınızın yazılım deposunda aradığınızı bulabilirsiniz. Örneğin Debian dağıtımı kullanıcılarının APT yazılımı, Debian’ın yazılım depolarına bağlıdır. Birden fazla paket idare yazılımı üçüncü parti depoların eklenmesine de müsaade verir. Arch Linux dağıtımında, üçüncü parti kullanıcıların yazılım yükleyebilecekleri bir depo bulunmaktadır.

Paket idare yazılımları, grafik arayüzlü yahut komut istemi tabanlı olabilir. Örneğin Synaptic isimli paket idare yazılımı grafik arayüzlü iken, APT komut istemi tabanlı çalışır; yani bir uçbirim aracılığı ile kullanılabilir.
Linux-mint-yazilim-yukleme-640x400.jpg
Synaptic paket yöneticisi
Paket yöneticileri, yalnızca Linux’a yahut UNIX implementasyonlarına özel yazılımlar değildir. Birtakım yazılımların, hatta programlama lisanlarının bile paket yöneticileri bulunmaktadır. Python lisanında bulunan PIP paket yöneticisi ve Sublime Text isimli metin düzenleyicisinde bulunan “Package Control” (Paket Kontrolü) sistemleri bu duruma örnek verilebilir. Bu makale UNIX implementasyonlarında bulunan paket yöneticilerini anlatmaktadır ama genel konsept çoğunlukla birebir olduğu için, sizlere yeterli bir referans olacak.

Paket kavramı nedir?


Paket yöneticilerini daha yeterli anlamak için paket kavramının ne olduğunu daha düzgün anlamamız gerekli. Paketler, paket yöneticilerinin anlayacağı halde tasarlanan arşiv belgeleridir. Bu tarifi daha da açacak olursak; paketlerin içerisinde konfigürasyon evrakları, bazen ek ihtiyaçlar olduğu için ek ihtiyaç bilgileri ve bilgisayarımıza yüklemek istediğimiz yazılımın kendisi bulunur.
depd-640x332.jpg
APT paket yöneticisi ile “Visual Studio Code” uygulamasının ihtiyaçlarını ekrana bastırdık.
Evvelden bir yazılımı yüklemek için kaynak kodlarını bilgisayarınızda derlemek veya internetten o yazılımı indirmek zorundaydınız. Kaynak kodlarını derlemek zahmetli ve internetten indirmek tehlikeli olunca, paket yöneticileri kendilerine ilişkin paket formatları ile ortaya çıkıp bizleri bu durumdan kurtardı.

Günümüzde yeniden bir uygulamayı derleme yolunu seçebilirsiniz ama bu büsbütün opsiyoneldir. Bilhassa teknik özellik bakımından düşük olan bilgisayarlarda bir uygulamayı derlemek, uygulamanın büyüklüğüne bağlı olarak çok uzun sürebiliyor. Hatta kimi uygulamaları derlemek çok karmaşık olabiliyor zira geliştirici, o uygulamanın nasıl derleneceğinden düzgünce bahsedemiyor yahut diğer türlü meseleler ortaya çıkabiliyor.

Paket yöneticileri nasıl çalışıyor, neler yapabiliyor?

paket_yoneticisi_calisma-e1613581928732.jpg
Paket yöneticilerinin çalışma prensibi.
Görmüş olduğunuz üzere yazılımın geliştiricisi, yazılımını paketledikten sonra o yazılımı paket deposuna koyuyor. Böylelikle paketimiz, o depoya bağlı olan bir paket yöneticisi aracılığı ile denetim edilebiliyor. Örneğin kullanıcımız sistemde güncelleme komutu çalıştırdığı vakit, sistemde halihazırda bulunan paketlerdeki metadata ile paket deposundaki pakette bulunan metadatalar kıyaslanıyor. Bu metadatalar, içerisinde uygulamaya ilişkin versiyon bilgisi, paket ismi üzere temel bilgileri içeriyor. APT paket yöneticisi ile Visual Studio Code’un metadata bilgisini inceleyelim.
apt-show-640x332.jpg
APT’a nazaran “Visual Studio Code” yazılımının metadata bilgisi.
Paket yöneticiniz ile paket depo bilgisini güncellediğinizde, aslında bu metadata bilgilerini güncellemiş olursunuz. Daha sonra indirme yahut güncelleme yaptığınız vakit, paket yöneticiniz bu metadata bilgisine nazaran hareket edecektir. Bu yüzden sisteminize bir paket indirmeden evvel metadata bilgisini güncellemeniz değer teşkil etmektedir. Bunu APT paket yöneticisinde “sudo apt update” komutunu çalıştırarak yapabilirsiniz.

Bunların dışında, paket yöneticisi ile olağan işlerin dışında biraz daha değişik işler de yapabilirsiniz. Örneğin, bir paketin sistem güncellemeleri aracılığı ile güncellenmesini devre dışı bırakabilirsiniz.
apt-mark-640x332.jpg
“Neofetch” uygulamasının sistem güncellemeleri ile birlikte güncellenmesini devre dışı bıraktık. Ancak istediğimiz vakit elle güncelleyebiliriz.
Bu üzere farklı özellikler paket yöneticilerinde bulunmaktadır. Paket yöneticilerinin üreticilerine ilişkin internet adreslerinde yahut bir “help” komutu aracılığı ile paket yöneticinizde bulunan özellikler hakkında yardım alabilirsiniz, örneğin RPM’in dokümantasyonuna web sitesinden ulaşabilirsiniz. Ek olarak Technopat Toplumsal GNU/Linux kısmında bir mevzu açabilirsiniz.

Farklı tıptaki paket yöneticileri


Paket yöneticileri, paketleme sistemleri aracılığı ile birbirlerinden ayrılırlar ama birebir paketleme sistemi üzerine yazılmış birden fazla paket yöneticisi olabilir. Örneğin, RPM sistemi için Yum ve DNF paket yöneticilerine, DEB sistemi için de APT ve Aptitude üzere alternatiflere sahibiz. Hatta Synaptic paket yöneticisi, APT tabanlı olduğu için DEB evraklarını yönetir.

Özet

Bu yazımızda sizlere paket yöneticilerinden ve nasıl çalıştıklarından bahsettik. Bu yazıya ekleme yapmak için yorumlar kısmını kullanabilir, sorularınıza karşılık bulmak için ise Technopat Sosyal‘de mevzu açabilirsiniz.
 
858,510Konular
982,897Mesajlar
30,666Kullanıcılar
masteryi33Son üye
Üst Alt