Belgeyi bi ton değişiklikler.
This commit is contained in:
+301
-219
@@ -69,97 +69,355 @@ Bu paketleri kurup kald
|
||||
\layout Section
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
Bilişim okuryazarı adını verdiğimiz hedef kullanıcımızın temel isteği, sisteme
|
||||
istediği uygulamaları kurabilmektir.
|
||||
Bilişim okuryazarıın temel isteği, sisteme istediği uygulamaları kolayca
|
||||
kurabilmekten ibarettir.
|
||||
\begin_deeper
|
||||
\layout Itemize
|
||||
|
||||
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
|
||||
soru sorulmadan ve kullanıcıyı rahatsız etmeden yerine getirilmelidir.
|
||||
bir pakete ihtiyaç olduğunu saptamasıyla kolayca verilebilmeli, bu görev
|
||||
mümkün olduğunca soru sorulmadan ve kullanıcıyı rahatsız etmeden yerine
|
||||
getirilmelidir.
|
||||
\layout Itemize
|
||||
|
||||
Aynı şekilde yapılandırma sorularından kaçınılmalıdır.
|
||||
Bu işler
|
||||
\series bold
|
||||
ÇOMAR
|
||||
\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.
|
||||
Kullanıcı, paketin sistemde doğru şekilde çalışabilmesi için gerekli olan
|
||||
yapılandırma gereksinimlerinin karşılanmasından mümkün olduğuncayalıtılmalıdı.
|
||||
Yapılandırma ile ilgili görevler paket yöneticisi dışındaki bir araçla
|
||||
sağlanabilmeli, ya da kullanıcının verdiği emirlerle sonradan yapılabilmelidir.
|
||||
|
||||
\layout Itemize
|
||||
|
||||
Kurulum elden geldiğince hızlı olmalıdır.
|
||||
Kurulum mümkün olduğunca hızlı olmalıdır.
|
||||
\end_deeper
|
||||
\layout Itemize
|
||||
|
||||
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
|
||||
okuryazarı kullanıcımız elindeki uygulamaları güncellemek isteyecektir.
|
||||
güvenlik onarımları yapılmış yeni paket sürümleri yayımlandıkça, kullanıcı
|
||||
elindeki uygulamaları güncellemek isteyecektir.
|
||||
\begin_deeper
|
||||
\layout Itemize
|
||||
|
||||
Paketin her sürümünün önem derecesini (yeni özellikler, hata düzeltmeleri,
|
||||
güvenlik açığı düzeltmesi) belirtebilmek gereklidir.
|
||||
Böylece kullanıcı vakti yada ağ bağlantı hızı yetersiz olduğunda acil önem
|
||||
taşıyan ve yapılması gerekli güncellemeleri, diğerlerinden kolayca ayırabilecek
|
||||
tir.
|
||||
Kullanıcı vakti yada ağ bağlantı hızı yetersiz olduğunda acil önem taşıyan
|
||||
ve yapılması gerekli güncellemeleri, diğerlerinden kolayca ayırabilmelidir;
|
||||
bunun yapılabilmesi için paketin her sürümündeki güncellemelerin önem derecesi
|
||||
(yeni özellikler, hata düzeltmeleri, güvenlik açığı düzeltmesi) paketleme
|
||||
esnasında belirtilebilmelidir.
|
||||
\layout Itemize
|
||||
|
||||
Bir paketin eski veya deneysel sürümlerini kurmayı, hedef kullanıcımızın
|
||||
bir ihtiyacı olarak görmüyoruz.
|
||||
Kullanıcımız paketteki en son düzeltmeleri isteyecektir, ve eğer uygulama
|
||||
ayrı özellik kümesine sahip iki ayrı yoldan geliştirilmekteyse, bu uygulamayı
|
||||
iki ayrı paket olarak tutabiliriz.
|
||||
Bu basitleştirmedeki amacımız paket yöneticisini basit tutmaktan ziyade,
|
||||
kullanıcının paketin eski bir sürümünü kurup, sonra bunu unutarak daha
|
||||
sonra çıkacak güncellemeleri kaçırmasını önlemektir.
|
||||
Bir paketin eski veya deneysel sürümlerini kurmak bilişim okuryazarının
|
||||
bir ihtiyacı değildir.
|
||||
Dolayısıyla eski sürümler ve geliştirme sürümleri alternatifleri ile kullanıcın
|
||||
ın kafasının karıştırılmaması için; kullanıcı paketler deposunda her eriştiğinde
|
||||
en son düzeltmeleri içeren son ve tek bir sürüme ulaşabilmelidir.
|
||||
Bu hem basitlik hem de kullanıcının istemeyerek yanlış bir paket kurmasının
|
||||
önüne geçer.
|
||||
\layout Itemize
|
||||
|
||||
Benzeri şekilde, paketler üzerinde ayrı ayrı güncelleme politikası belirleyebilm
|
||||
ek, faydasından çok kafa karışıklığı yaratacağından dolayı desteklenmeyecektir.
|
||||
Paket güncelleme ile ilgili paket bazında ayrı ayrı politikalar belirlenmesi
|
||||
yukarda bahsedilen kullanıcı profilinden bakıldığında gereksiz ve kafa
|
||||
karıştırıcıdır.
|
||||
\end_deeper
|
||||
\layout Itemize
|
||||
|
||||
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
|
||||
daha vererek, kullanıcının kolayca hangi sürümlerin yeni olduğunu ayırt
|
||||
edebilmesini sağlamalıyız.
|
||||
Aynı uygulama sürümünün çeşitli hata düzeltmeleri içeren farklı paket sürümleri
|
||||
olabileceği de düşünülürse bunun önemi anlaşılır.
|
||||
edebilmesi sağlanabilmeldiir (aynı uygulama sürümünün çeşitli hata düzeltmeleri
|
||||
içeren farklı paket sürümleri olabileceği de düşünülürse bunun önemi daha
|
||||
net bir şekilde ortaya çıkmaktadır).
|
||||
\layout Itemize
|
||||
|
||||
Kullanıcı, artık ihtiyaç duymadığı bir uygulamayı, yer ve takip tasarrufu
|
||||
amacıyla kaldırmak isteyebilir.
|
||||
Kullanıcının bu seçimi kolayca yapabilmesi için, ihtiyaç duyulmayan paketler,
|
||||
kurulu paketlerin kapladığı alan gibi bilgiler sunulabilmelidir.
|
||||
Kullanıcının bu seçimi kolayca yapabilmesi için, hiç bir paket tarafından
|
||||
ihtiyaç duyulmayan paketler, kurulu paketlerin kapladığı alan gibi bilgiler
|
||||
paket yöneticisinden kolayca alınabilmelidir.
|
||||
\layout Itemize
|
||||
|
||||
Kullanıcı sistemde nelerin kurulu olduğunu, hangi paketleri kurabileceğini,
|
||||
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
|
||||
|
||||
Varolan paket yöneticilerinin (rpm, dpkg, portage, vs) paket kapsamları
|
||||
kullanıcılara bazı zorluklar yaşatmaktadır.
|
||||
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ı, ö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
|
||||
\layout Itemize
|
||||
|
||||
Kapsam çok geniş olduğunda (örneğin tek bir KDE pakedi), kullanıcı her güncellem
|
||||
ede çok büyük dosyalar çekmekte, sisteme kullanmayacağı bileşenleri (örneğin
|
||||
KDE oyunları, ya da bilmediği dillere ait destekler) kurmaktadır.
|
||||
Bu arşiv içinden, arşiv hakkında bilgi alınabilecek dosyalara, 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 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
|
||||
|
||||
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
|
||||
bir platformu kurmak için kendisi bir bileşen içermeyip yalnızca diğer
|
||||
paketleri kurdurtan sanal paketler gibi yama çözümler gerekmektedir.
|
||||
\begin_deeper
|
||||
\layout Itemize
|
||||
|
||||
Kullanıcıya uygulamaları belli özellikleri (örneğin geliştirme kitleri,
|
||||
@@ -180,182 +438,6 @@ mplayer
|
||||
\emph default
|
||||
programı gibi).
|
||||
\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
|
||||
|
||||
PİSİ Tasarımı
|
||||
|
||||
Reference in New Issue
Block a user