Belgeyi bi ton değişiklikler.
This commit is contained in:
+301
-219
@@ -69,97 +69,355 @@ Bu paketleri kurup kald
|
|||||||
\layout Section
|
\layout Section
|
||||||
|
|
||||||
Paket Yöneticisi Gereksinimleri
|
Paket Yöneticisi Gereksinimleri
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
Bu kısımda önceki bölümde tanımlanan paket yöneticisi kavramının, sunması
|
||||||
|
beklenen gereksinimler listelenmiştir.
|
||||||
\layout Subsection
|
\layout Subsection
|
||||||
|
|
||||||
Kullanıcı gereksinimleri
|
Kullanıcı Gereksinimleri
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
Kullanıcı gereksinimleri, bir bilişim okuryazarı olarak daha önce tanımladığımız
|
||||||
|
\begin_inset Foot
|
||||||
|
collapsed true
|
||||||
|
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
|
||||||
|
\begin_inset LatexCommand \url[http://www.uludag.org.tr/belgeler/okuryazar/okuryazar.html]{}
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
kullanıcı profiline bağlı kalınarak çıkarılmıştır.
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Bilişim okuryazarı adını verdiğimiz hedef kullanıcımızın temel isteği, sisteme
|
Bilişim okuryazarıın temel isteği, sisteme istediği uygulamaları kolayca
|
||||||
istediği uygulamaları kurabilmektir.
|
kurabilmekten ibarettir.
|
||||||
\begin_deeper
|
\begin_deeper
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Kur emri, komut satırı, grafik arayüzler, ya da sistemin otomatik olarak
|
Kur emri, komut satırı, grafik arayüzler, ya da sistemin otomatik olarak
|
||||||
pakete ihtiyaç olduğunu saptamasıyla kolayca verilebilmeli, mümkün olduğunca
|
bir pakete ihtiyaç olduğunu saptamasıyla kolayca verilebilmeli, bu görev
|
||||||
soru sorulmadan ve kullanıcıyı rahatsız etmeden yerine getirilmelidir.
|
mümkün olduğunca soru sorulmadan ve kullanıcıyı rahatsız etmeden yerine
|
||||||
|
getirilmelidir.
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Aynı şekilde yapılandırma sorularından kaçınılmalıdır.
|
Kullanıcı, paketin sistemde doğru şekilde çalışabilmesi için gerekli olan
|
||||||
Bu işler
|
yapılandırma gereksinimlerinin karşılanmasından mümkün olduğuncayalıtılmalıdı.
|
||||||
\series bold
|
Yapılandırma ile ilgili görevler paket yöneticisi dışındaki bir araçla
|
||||||
ÇOMAR
|
sağlanabilmeli, ya da kullanıcının verdiği emirlerle sonradan yapılabilmelidir.
|
||||||
\series default
|
|
||||||
tarafından otomatik halledilecek, ya da kullanıcının verdiği emirlerle
|
|
||||||
sonradan yapılacaktır.
|
|
||||||
Bu, örneğin sunucu uygulamaları kurulurken sunucu ayarı soruları vs sorulmaması
|
|
||||||
nı getirir.
|
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Kurulum elden geldiğince hızlı olmalıdır.
|
Kurulum mümkün olduğunca hızlı olmalıdır.
|
||||||
\end_deeper
|
\end_deeper
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Kurulu programların yeni sürümleri çıktıkça, veya üzerinde düzeltmeler ve
|
Kurulu programların yeni sürümleri çıktıkça, veya üzerinde düzeltmeler ve
|
||||||
güvenlik onarımları yapılmış yeni paket sürümleri yayımlandıkça, bilişim
|
güvenlik onarımları yapılmış yeni paket sürümleri yayımlandıkça, kullanıcı
|
||||||
okuryazarı kullanıcımız elindeki uygulamaları güncellemek isteyecektir.
|
elindeki uygulamaları güncellemek isteyecektir.
|
||||||
\begin_deeper
|
\begin_deeper
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Paketin her sürümünün önem derecesini (yeni özellikler, hata düzeltmeleri,
|
Kullanıcı vakti yada ağ bağlantı hızı yetersiz olduğunda acil önem taşıyan
|
||||||
güvenlik açığı düzeltmesi) belirtebilmek gereklidir.
|
ve yapılması gerekli güncellemeleri, diğerlerinden kolayca ayırabilmelidir;
|
||||||
Böylece kullanıcı vakti yada ağ bağlantı hızı yetersiz olduğunda acil önem
|
bunun yapılabilmesi için paketin her sürümündeki güncellemelerin önem derecesi
|
||||||
taşıyan ve yapılması gerekli güncellemeleri, diğerlerinden kolayca ayırabilecek
|
(yeni özellikler, hata düzeltmeleri, güvenlik açığı düzeltmesi) paketleme
|
||||||
tir.
|
esnasında belirtilebilmelidir.
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Bir paketin eski veya deneysel sürümlerini kurmayı, hedef kullanıcımızın
|
Bir paketin eski veya deneysel sürümlerini kurmak bilişim okuryazarının
|
||||||
bir ihtiyacı olarak görmüyoruz.
|
bir ihtiyacı değildir.
|
||||||
Kullanıcımız paketteki en son düzeltmeleri isteyecektir, ve eğer uygulama
|
Dolayısıyla eski sürümler ve geliştirme sürümleri alternatifleri ile kullanıcın
|
||||||
ayrı özellik kümesine sahip iki ayrı yoldan geliştirilmekteyse, bu uygulamayı
|
ın kafasının karıştırılmaması için; kullanıcı paketler deposunda her eriştiğinde
|
||||||
iki ayrı paket olarak tutabiliriz.
|
en son düzeltmeleri içeren son ve tek bir sürüme ulaşabilmelidir.
|
||||||
Bu basitleştirmedeki amacımız paket yöneticisini basit tutmaktan ziyade,
|
Bu hem basitlik hem de kullanıcının istemeyerek yanlış bir paket kurmasının
|
||||||
kullanıcının paketin eski bir sürümünü kurup, sonra bunu unutarak daha
|
önüne geçer.
|
||||||
sonra çıkacak güncellemeleri kaçırmasını önlemektir.
|
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Benzeri şekilde, paketler üzerinde ayrı ayrı güncelleme politikası belirleyebilm
|
Paket güncelleme ile ilgili paket bazında ayrı ayrı politikalar belirlenmesi
|
||||||
ek, faydasından çok kafa karışıklığı yaratacağından dolayı desteklenmeyecektir.
|
yukarda bahsedilen kullanıcı profilinden bakıldığında gereksiz ve kafa
|
||||||
|
karıştırıcıdır.
|
||||||
\end_deeper
|
\end_deeper
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Nerdeyse her uygulama kendi sürüm numarası verme politikasına sahip olduğundan,
|
Nerdeyse her uygulama kendi sürüm numarası verme politikasına sahip olduğundan,
|
||||||
paketin asıl sürüm numarası yanında, düzenli olarak artacak bir numara
|
paketin asıl sürüm numarası yanında, düzenli olarak artacak bir numara
|
||||||
daha vererek, kullanıcının kolayca hangi sürümlerin yeni olduğunu ayırt
|
daha vererek, kullanıcının kolayca hangi sürümlerin yeni olduğunu ayırt
|
||||||
edebilmesini sağlamalıyız.
|
edebilmesi sağlanabilmeldiir (aynı uygulama sürümünün çeşitli hata düzeltmeleri
|
||||||
Aynı uygulama sürümünün çeşitli hata düzeltmeleri içeren farklı paket sürümleri
|
içeren farklı paket sürümleri olabileceği de düşünülürse bunun önemi daha
|
||||||
olabileceği de düşünülürse bunun önemi anlaşılır.
|
net bir şekilde ortaya çıkmaktadır).
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Kullanıcı, artık ihtiyaç duymadığı bir uygulamayı, yer ve takip tasarrufu
|
Kullanıcı, artık ihtiyaç duymadığı bir uygulamayı, yer ve takip tasarrufu
|
||||||
amacıyla kaldırmak isteyebilir.
|
amacıyla kaldırmak isteyebilir.
|
||||||
Kullanıcının bu seçimi kolayca yapabilmesi için, ihtiyaç duyulmayan paketler,
|
Kullanıcının bu seçimi kolayca yapabilmesi için, hiç bir paket tarafından
|
||||||
kurulu paketlerin kapladığı alan gibi bilgiler sunulabilmelidir.
|
ihtiyaç duyulmayan paketler, kurulu paketlerin kapladığı alan gibi bilgiler
|
||||||
|
paket yöneticisinden kolayca alınabilmelidir.
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Kullanıcı sistemde nelerin kurulu olduğunu, hangi paketleri kurabileceğini,
|
Kullanıcı sistemde nelerin kurulu olduğunu, hangi paketleri kurabileceğini,
|
||||||
kurulu paketlere ait bilgileri, sistemdeki bir bileşen veya dosyanın hangi
|
kurulu paketlere ait bilgileri, sistemdeki bir bileşen veya dosyanın hangi
|
||||||
uygulamaya ait olduğunu ve benzeri bir takım bilgileri sorgulayabilmelidir.
|
uygulamaya ait olduğunu ve benzeri paket yöneticisinden kolayca alabilmelidir.
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Varolan paket yöneticilerinin (rpm, dpkg, portage, vs) paket kapsamları
|
Paketler farklı hedeflere kurulabilecek biçimde
|
||||||
kullanıcılara bazı zorluklar yaşatmaktadır.
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
|
\emph on
|
||||||
|
relocatable
|
||||||
|
\emph default
|
||||||
|
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
özellik taşımalıdır (bu, farklı hedeflere kurulum, ya da başkasına ait
|
||||||
|
sistemde ev dizinine kurulum gibi yeteneklerin sağlanması için gereklidir).
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Paket bileşenlerinin değişip değişmediği kontrol toplamları, özet fonksiyonları
|
||||||
|
yardımıyla tespit edilebilmelidir.
|
||||||
|
Paket yöneticisinin böyle bir durumu kontrol edebilmesi, ve örneğin bir
|
||||||
|
kullanıcı hatası sonucu silinen/değişen dosyaları tekrar temin edip düzeltebilm
|
||||||
|
esi kullanıcıya kolaylık sağlar.
|
||||||
|
\layout Subsection
|
||||||
|
|
||||||
|
Paketleyici/Geliştirici Gereksinimleri
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Paket hazırlamak kolay olmalıdır.
|
||||||
|
Paket hazırlanırken ve inşa edilirken gerekli dosyalar bir çok ayrı kaynaktan
|
||||||
|
temin edilebilmelidir.
|
||||||
|
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Kolayca paket oluşturabilmek için, tercihen bir grafik arayüz ile paket
|
||||||
|
hazırlanabilmelidir.
|
||||||
|
Paket yöneticisi, üst geliştirici kodunu alıp, gerekli bilgileri hazırlatacak,
|
||||||
|
gerekli işaretlemeleri kolayca yapabilecek bir araç sunmalıdır.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Paket yöneticisinin geliştirme sistemi, paketleyici hatalarının gözden kaçmasını
|
||||||
|
zorlaştıracak araçlar sunmalıdır.
|
||||||
|
\layout Subsection
|
||||||
|
|
||||||
|
Paket Kaynağı Gereksinimleri
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Paketler CD, Internet, uzak dosya sistemi gibi çeşitli kaynaklardan kurulabilmel
|
||||||
|
idir.
|
||||||
|
Temel olarak iki tip kaynak sözkonusudur.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
İlk tip, pakedi tek bir dosya olarak taşıyabilen ve programı depolama aygıtları,
|
||||||
|
e-posta ve benzeri yollarla dağıtmaya uygun bir arşiv dosyasıdır.
|
||||||
\begin_deeper
|
\begin_deeper
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Kapsam çok geniş olduğunda (örneğin tek bir KDE pakedi), kullanıcı her güncellem
|
Bu arşiv içinden, arşiv hakkında bilgi alınabilecek dosyalara, bütün arşivi
|
||||||
ede çok büyük dosyalar çekmekte, sisteme kullanmayacağı bileşenleri (örneğin
|
açmadan erişilebilmelidir.
|
||||||
KDE oyunları, ya da bilmediği dillere ait destekler) kurmaktadır.
|
\layout Itemize
|
||||||
|
|
||||||
|
Mümkünse arşivin yaygın olarak bilinen ve kullanılan araçlarla açılabilmesinde
|
||||||
|
yarar vardır.
|
||||||
|
\end_deeper
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
İkinci tip kaynak ise Internet yada yerel ağ üzerinden bir paket grubunun
|
||||||
|
indeks bilgilerini ve kendilerini sunabilecek bir
|
||||||
|
\begin_inset Quotes eld
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
depo
|
||||||
|
\begin_inset Quotes erd
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
sunucusudur.
|
||||||
|
\begin_deeper
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Aynı biçimde, bir pakedin belirli dosyalarına direk ve hızlı şekilde erişilebilm
|
||||||
|
elidir.
|
||||||
|
\end_deeper
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Paketler birden fazla kaynaktan temin edilebilmelidir.
|
||||||
|
\layout Subsection
|
||||||
|
|
||||||
|
Güvenlik Gereksinimleri
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
CD, Internet gibi değişik yollarla temin edilen paketlern kim tarafından
|
||||||
|
paketlendiği bilgisi ve içeriğinin yolda değişmediği garantisi için bir
|
||||||
|
dijital imza sistemi desteklenmelidir.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Gerektiğinde pakedi oluşturan kişinin imzası dışında, üçüncü parti kurum
|
||||||
|
veya kişilerin de pakedi deneyip, güvendiğini belirtebilmesi için, birden
|
||||||
|
fazla kişi tarafından pakedin imzalanabilmesi gereklidir.
|
||||||
|
\layout Subsection
|
||||||
|
|
||||||
|
Kurumsal Gereksinimler
|
||||||
|
\layout Comment
|
||||||
|
|
||||||
|
Bu kısmı biraz daha açmak gerekli.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Paket yöneticisi birden fazla paket kaynağı ile aynı anda sorunsuz bir şekilde
|
||||||
|
çalışabilmelidir.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Kurumlar ya da bireyler tarafından ön tanımlı depoda da bulunan kimi paketlerin
|
||||||
|
özelleştirlmiş versiyonlarının bulunduğu depolar overlay olarak tanımlanabilmel
|
||||||
|
idir.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Ön tanımlı depoda bulunmayan çeşitli paketlerin bulunduğu depolar addon
|
||||||
|
olarak tanımlanabilmelidir.
|
||||||
|
\layout Section
|
||||||
|
|
||||||
|
Neden PİSİ?
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
Bu kısımda neden varolan paket yöneticisi çözümlerinden yararlanmak yerine
|
||||||
|
yeni bir paket yöneticisi yazmaya karar verildiği açıklanmaya çalışılacaktır.
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
Öncelikle Pardus'ta kullanılacak paket yöneticisinin, sisteme kurulan paketlerin
|
||||||
|
kendilerini sistem koşullarına göre otomatik bir şekilde yapılandırmasına
|
||||||
|
da olanak sağlayacak olan yapılandırma yöneticimiz ÇOMAR tarafından ihtiyaç
|
||||||
|
duyulan gereksinimleri de yerine getirmesi gerekliliği söz konusudur.
|
||||||
|
ÇOMAR'ın paket yöneticisi gereksinimleri şu şekilde listelenebilir:
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Bir paket kurulduktan sonra, pakete ait
|
||||||
|
\series bold
|
||||||
|
CSL
|
||||||
|
\series default
|
||||||
|
betikleri
|
||||||
|
\series bold
|
||||||
|
ÇOMAR
|
||||||
|
\series default
|
||||||
|
'a bildirip kayıt ettirebilmelidir.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Bir paket kaldırılmadan önce
|
||||||
|
\series bold
|
||||||
|
ÇOMAR
|
||||||
|
\series default
|
||||||
|
'dan bu pakete ait betikleri kaldırmasını isteyebilmelidir.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Bir paket eğer
|
||||||
|
\series bold
|
||||||
|
CSL
|
||||||
|
\series default
|
||||||
|
betiği sağlıyorsa, paketin hangi
|
||||||
|
\series bold
|
||||||
|
OM
|
||||||
|
\series default
|
||||||
|
dallarına ait betikler içerdiği bilgisini tutabilmelidir.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Bir paketin ihtiyaç duyduğu yapılandırma görevlerinin bulunduğu bir
|
||||||
|
\series bold
|
||||||
|
OM
|
||||||
|
\series default
|
||||||
|
dalı için, hangi paketlerin bu dala ait betik içerdiği bilgisi sorgulanabilmeli
|
||||||
|
dir.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Kurulması emredilen bir paket, kitaplık ve programların yanısıra
|
||||||
|
\series bold
|
||||||
|
OM
|
||||||
|
\series default
|
||||||
|
üzerinden sağlanan bazı görevlere ihtiyaç duyabilir.
|
||||||
|
Bu durumda paket yöneticisinin o bacaktaki görevi sağlayan uygun bir pakedin
|
||||||
|
kurulu olup olmadığına bakması, gerekiyorsa o görevi sağlayan paketlerden
|
||||||
|
birini kurması gereklidir.
|
||||||
|
\layout Itemize
|
||||||
|
|
||||||
|
Paket yöneticisi, bir pakete ait bir dosyanın sistemde nereye yerleştirilmiş
|
||||||
|
olduğunu söyleyebilmelidir.
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
Kolaylıkla görülmektedir ki yukarda belirtilen ÇOMAR gereksinimleri, diğer
|
||||||
|
paket yöneticilerinin özelleştirilmesi ile sağlanamayacak gereksinimler
|
||||||
|
değillerdir.
|
||||||
|
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
Fakat hali hazırda kullanılan bir paket yöneticisine bu tip özelliklerin
|
||||||
|
eklenmesi, paket yöneticisinin kalan kısmının elden geçirilmesi ve ana
|
||||||
|
geliştirici tarafından yapılan güncellemelerin takibi anlamında çok büyük
|
||||||
|
bir iş yükünü de beraberinde getirir.
|
||||||
|
Bunun dışında, varolan ve geniş kullanım kitlesine sahip paket yöneticileri
|
||||||
|
(RPM, DPKG ve Portage) yukarda saydığımız gereksinimlerin kimilerini bizim
|
||||||
|
olması gerektiğini düşündüğümüz basitlikte yerine getirememekte, kimilerini
|
||||||
|
de hiç vaad etmemektedirler.
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
Aşağıda bizce ne gibi dezavantajlar barındırdıkları listelenmeye çalışılmıştır:
|
||||||
|
\layout Comment
|
||||||
|
|
||||||
|
İşte arkadaşlar buralar dolacak güzelcene.
|
||||||
|
Hadi bakalım.
|
||||||
|
\layout Subsection
|
||||||
|
|
||||||
|
Neden DPKG Değil?
|
||||||
|
\layout Subsection
|
||||||
|
|
||||||
|
Neden RPM Değil?
|
||||||
|
\layout Subsection
|
||||||
|
|
||||||
|
Neden Portage Değil?
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
Yukardaki gereksinimleri tam olarak sağlayabilmek için çeşitli tipte bağımlılıkl
|
||||||
|
ar, farklı özelliklerle kurulabilen paketler, en az dosya indirme ile kurulum
|
||||||
|
gibi özelliklere ihtiyacımız olduğu anlaşılmıştır.
|
||||||
|
Halihazırdaki paket sistemlerinin yukardaki örneklerde de anlatıldığı gibi
|
||||||
|
bunları beklediğimiz oranda sağlamadıkları ve onlara bu özellikleri kazandırman
|
||||||
|
ın yeni bir tane yazmaktan daha kolay olmamasından dolayı yeni bir paket
|
||||||
|
yöneticisi yazmak gereği doğmuştur.
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
|
||||||
|
\series bold
|
||||||
|
PİSİ
|
||||||
|
\series default
|
||||||
|
(
|
||||||
|
\series bold
|
||||||
|
Packages Installed Successfully as Intented
|
||||||
|
\series default
|
||||||
|
) bu nedenle geliştirilmektedir.
|
||||||
|
\layout Subsection
|
||||||
|
|
||||||
|
JUNKKİEEEE
|
||||||
|
\layout Comment
|
||||||
|
|
||||||
|
Alttaki kısım daha önce yukarlarda bir yerlerde idi, kaybolmsaın diye buraya
|
||||||
|
koyuyorum, uygun bir yere monte edecek sonra da burdan sileceğizdir.
|
||||||
|
\layout Standard
|
||||||
|
|
||||||
|
DPKG ve RPM gibi ikili paketlerin ile çalışan paket yöneticilerinin paket
|
||||||
|
kapsamı ile ilgili sıkıntılar mevcuttur: Kapsam çok geniş olduğunda (örneğin
|
||||||
|
tek bir KDE pakedi), kullanıcı her güncellemede çok büyük dosyalar çekmekte,
|
||||||
|
sisteme kullanmayacağı bileşenleri (örneğin KDE oyunları, ya da bilmediği
|
||||||
|
dillere ait destekler) kurmaktadır.
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Kapsam dar tutulup küçük paketler oluşturulduğunda ise paket sayısının artmasınd
|
Kapsam dar tutulup küçük paketler oluşturulduğunda ise paket sayısının artmasınd
|
||||||
an dolayı, paket kavramının getirdiği soyutlama azalmakta, sisteme büyük
|
an dolayı, paket kavramının getirdiği soyutlama azalmakta, sisteme büyük
|
||||||
bir platformu kurmak için kendisi bir bileşen içermeyip yalnızca diğer
|
bir platformu kurmak için kendisi bir bileşen içermeyip yalnızca diğer
|
||||||
paketleri kurdurtan sanal paketler gibi yama çözümler gerekmektedir.
|
paketleri kurdurtan sanal paketler gibi yama çözümler gerekmektedir.
|
||||||
|
\begin_deeper
|
||||||
\layout Itemize
|
\layout Itemize
|
||||||
|
|
||||||
Kullanıcıya uygulamaları belli özellikleri (örneğin geliştirme kitleri,
|
Kullanıcıya uygulamaları belli özellikleri (örneğin geliştirme kitleri,
|
||||||
@@ -180,182 +438,6 @@ mplayer
|
|||||||
\emph default
|
\emph default
|
||||||
programı gibi).
|
programı gibi).
|
||||||
\end_deeper
|
\end_deeper
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Paketler farklı hedeflere kurulabilecek biçimde
|
|
||||||
\begin_inset Quotes eld
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
|
|
||||||
\emph on
|
|
||||||
relocatable
|
|
||||||
\emph default
|
|
||||||
|
|
||||||
\begin_inset Quotes erd
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
özellik taşımalıdır.
|
|
||||||
Bu, farklı hedeflere kurulum, ya da başkasına ait sistemde ev dizinine
|
|
||||||
kurulum gibi yeteneklerin sağlanması için gereklidir.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Paket bileşenlerinin değişip değişmediği kontrol toplamları, hash fonksiyonları
|
|
||||||
gibi yöntemlerle tespit edilebilir.
|
|
||||||
Paket yöneticisinin böyle bir durumu kontrol edebilmesi, ve örneğin bir
|
|
||||||
kullanıcı hatası sonucu silinen/değişen dosyaları tekrar temin edip düzeltebilm
|
|
||||||
esi kullanıcıya kolaylık sağlar.
|
|
||||||
\layout Subsection
|
|
||||||
|
|
||||||
Paketleyici gereksinimleri
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Paket hazırlamak kolay olmalıdır.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Kolayca paket oluşturabilmek için, tercihen bir grafik arayüz ile paket
|
|
||||||
hazırlanabilmelidir.
|
|
||||||
Üst geliştirici kodunu alıp, gerekli bilgileri hazırlatacak, gerekli işaretleme
|
|
||||||
leri kolayca yapabilecek bir araç kullanılabilir.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Paketleyici hatalarının farkedilmeden gözden kaçması önlenmelidir.
|
|
||||||
\layout Subsection
|
|
||||||
|
|
||||||
Paket kaynağı gereksinimleri
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Kullanıcı paketleri CD, disket, internet gibi çeşitli kaynaklarla ulaşıp
|
|
||||||
kurabilmek isteyecektir.
|
|
||||||
Temel olarak iki tip kaynak sözkonusudur.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
İlk tip, pakedi tek bir dosya olarak taşıyabilen ve programı disketle, epostayla
|
|
||||||
ve benzeri yollarla dağıtmaya uygun bir arşiv dosyasıdır.
|
|
||||||
\begin_deeper
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Bu arşiv içinden belirli bir dosyaya, bütün arşivi açmadan erişilebilmelidir.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Mümkünse arşivin yaygın olarak bilinen ve kullanılan araçlarla açılabilmesinde
|
|
||||||
yarar vardır.
|
|
||||||
\end_deeper
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
İkinci tip kaynak ise internet yada yerel ağ üzerinden bir paket grubunun
|
|
||||||
indeks bilgilerini ve kendilerini sunabilecek bir
|
|
||||||
\begin_inset Quotes eld
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
depo
|
|
||||||
\begin_inset Quotes erd
|
|
||||||
\end_inset
|
|
||||||
|
|
||||||
sunucusudur.
|
|
||||||
\begin_deeper
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Aynı biçimde, bir pakedin belirli dosyalarına direk erişilebilmelidir.
|
|
||||||
Paketler Web üzerinden sunulurken bunu sağlamak için pakedi açık olarak
|
|
||||||
tutabiliriz.
|
|
||||||
\end_deeper
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Kullanıcı birden fazla kaynaktan paketleri temin edebilmelidir.
|
|
||||||
\layout Subsection
|
|
||||||
|
|
||||||
Güvenlik gereksinimleri
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Kullanıcının CD, internet, vs gibi değişik ortamlar aracılığı ile temin
|
|
||||||
ettiği paketlerin kimden geldiğini bilebilmesi, ve içeriğinin yolda değişmediği
|
|
||||||
nden emin olması için bir dijital imza sistemi desteklenmelidir.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Gerektiğinde pakedi oluşturan kişinin imzası dışında, üçüncü parti kurum
|
|
||||||
veya kişilerin de pakedi deneyip, güvendiğini belirtebilmesi için, birden
|
|
||||||
fazla kişi tarafından pakedin imzalanabilmesi iyi olacaktır.
|
|
||||||
\layout Subsection
|
|
||||||
|
|
||||||
Yapılandırma Yöneticisi (ÇOMAR) gereksinimleri
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Bir paket kurulduktan sonra, pakete ait
|
|
||||||
\series bold
|
|
||||||
CSL
|
|
||||||
\series default
|
|
||||||
betikleri
|
|
||||||
\series bold
|
|
||||||
ÇOMAR
|
|
||||||
\series default
|
|
||||||
'a bildirip kayıt ettirmelidir.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Bir paket kaldırılmadan önce
|
|
||||||
\series bold
|
|
||||||
ÇOMAR
|
|
||||||
\series default
|
|
||||||
'dan bu pakete ait betikleri kaldırmasını istemelidir.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Bir paket eğer
|
|
||||||
\series bold
|
|
||||||
CSL
|
|
||||||
\series default
|
|
||||||
betiği sağlıyorsa, paketin hangi
|
|
||||||
\series bold
|
|
||||||
OM
|
|
||||||
\series default
|
|
||||||
dallarına ait betikler içerdiği bilgisini tutmalıdır.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Verilen bir
|
|
||||||
\series bold
|
|
||||||
OM
|
|
||||||
\series default
|
|
||||||
dalı için, hangi paketlerin bu dala ait betik içerdiğini verebilmelidir.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Kurulması emredilen bir paket, kitaplık ve programların yanısıra
|
|
||||||
\series bold
|
|
||||||
OM
|
|
||||||
\series default
|
|
||||||
üzerinden sağlanan bazı görevlere ihtiyaç duyabilir.
|
|
||||||
Bu durumda paket yöneticisinin o bacaktaki görevi sağlayan uygun bir pakedin
|
|
||||||
kurulu olup olmadığına bakması, gerekiyorsa o görevi sağlayan paketlerden
|
|
||||||
birini kurması gereklidir.
|
|
||||||
\layout Itemize
|
|
||||||
|
|
||||||
Paket yöneticisi, bir pakete ait bir dosyanın sistemde nereye yerleştirilmiş
|
|
||||||
olduğunu söyleyebilmelidir.
|
|
||||||
\layout Section
|
|
||||||
|
|
||||||
Neden PİSİ?
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
|
|
||||||
\emph on
|
|
||||||
TODO: Bu soruya verebileceğimiz bir kaç satır cevap daha vardır eminim :).
|
|
||||||
PİSİ ne iyileştirmeler getirecek/getiriyor maddeler halinde de yazabiliriz
|
|
||||||
yine...
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Gereksinimlerimizi sağlayabilmek için çeşitli tipte bağımlılıklar, farklı
|
|
||||||
özelliklerle kurulabilen paketler, en az dosya indirme ile kurulum gibi
|
|
||||||
özelliklere ihtiyacımız olacaktır.
|
|
||||||
Halihazırdaki paket sistemleri bunları sağlamadıkları için yeni bir paket
|
|
||||||
yöneticisi yazmak gereği doğmuştur.
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Bu amaçla
|
|
||||||
\series bold
|
|
||||||
PİSİ
|
|
||||||
\series default
|
|
||||||
(
|
|
||||||
\series bold
|
|
||||||
Packages Installed Successfully as Intented
|
|
||||||
\series default
|
|
||||||
) adını verdiğimiz yazılımı geliştiriyoruz.
|
|
||||||
\layout Section
|
\layout Section
|
||||||
|
|
||||||
PİSİ Tasarımı
|
PİSİ Tasarımı
|
||||||
|
|||||||
Reference in New Issue
Block a user