imla hataları.

bikaç gerek ile neden pisi için maddeler.
This commit is contained in:
Gürer Özen
2005-07-07 10:42:13 +00:00
parent e650e69771
commit 386518f69a
+48 -154
View File
@@ -78,7 +78,7 @@ Bu k
Kullanıcı Gereksinimleri
\layout Standard
Kullanıcı gereksinimleri, bir bilişim okuryazarı olarak daha önce tanımladığımız
Kullanıcı gereksinimleri, bilişim okuryazarı olarak daha önce tanımladığımız
\begin_inset Foot
collapsed true
@@ -95,21 +95,22 @@ collapsed true
kullanıcı profiline bağlı kalınarak çıkarılmıştır.
\layout Itemize
Bilişim okuryazarıın temel isteği, sisteme istediği uygulamaları kolayca
Bilişim okuryazarını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
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.
Kur emri, komut satırından, grafik arayüzlerden, ya da sistemin otomatik
olarak 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
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 gereksinimlerinin karşılanmasından mümkün olduğunca yalıtılmalıdır.
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.
otomatik sağlanmalı, ya da kullanıcının verdiği emirlerle sonradan yapılabilmel
idir.
\layout Itemize
@@ -135,8 +136,8 @@ Bir paketin eski veya deneysel s
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.
Bu hem basitlik sağlar, hem de kullanıcının istemeyerek yanlış bir paket
kurmasının önüne geçer.
\layout Itemize
Paket güncelleme ile ilgili paket bazında ayrı ayrı politikalar belirlenmesi
@@ -148,7 +149,7 @@ Paket g
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
edebilmesi sağlanabilmeldiir (aynı uygulama sürümünün çeşitli hata düzeltmeleri
edebilmesi sağlanabilmelidir (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
@@ -186,6 +187,12 @@ Paket bile
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 Itemize
Uygulamayı kod olarak çekip, sisteme özel değişik ayarlar ile derleyebilecek
Gentoo benzeri bir özellik gereklerimiz arasında değildir.
Bu tür bir özellik aynı kodun farklı makinalarda farklı ikili paketler
oluşturmasına ve teknik destek sağlamanın zorlaşmasına yol açacaktır.
\layout Subsection
Paketleyici/Geliştirici Gereksinimleri
@@ -197,6 +204,12 @@ Paket haz
\layout Itemize
Pakete ait bilgiler iyi tanımlanmış bir formatta, kolayca erişilebilir olarak
tutulmalıdır.
Böylece paketleri işleyen araçlar yapmak kolaylaşacak, ilerde veri bağımlılığı
sorunları olmayacaktır.
\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,
@@ -242,8 +255,10 @@ depo
\begin_deeper
\layout Itemize
Aynı biçimde, bir pakedin belirli dosyalarına direk ve hızlı şekilde erişilebilm
elidir.
Depodaki değişikliklerin listesi, yerel paket listesiyle mümkün olan en
az veri iletimi ile senkron edilebilmelidir.
Bu ağ kaynaklarının verimli kullanımı ve yeni sürümlerin hızlıca takip
edilebilmesi için gereklidir.
\end_deeper
\layout Itemize
@@ -253,7 +268,7 @@ Paketler birden fazla kaynaktan temin edilebilmelidir.
Güvenlik Gereksinimleri
\layout Itemize
CD, Internet gibi değişik yollarla temin edilen paketlern kim tarafından
CD, Internet gibi değişik yollarla temin edilen paketlerin 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
@@ -285,89 +300,29 @@ idir.
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:
Varolan paket yöneticilerinde görevler ve bilgilerin düzgün bir biçimde
ayrılmadıkları görülmektedir.
Bu araçlar basit olarak hazırlanmış ve zaman içinde ortaya çıkan ihtiyaçları
karşılamak için sürekli yeni özellikler eklenerek bugünkü hallerine gelmişlerdi
r.
Bunun getirdiği karmaşıklığı temizlemek için aşağıdaki ilkeleri temel alan
yeni bir paket yöneticisi yazma kararına vardık:
\layout Itemize
Bir paket kurulduktan sonra, pakete ait
\series bold
CSL
\series default
betikleri
\series bold
ÇOMAR
\series default
'a bildirip kayıt ettirebilmelidir.
Kurulum ve yapılandırma birbirinden ayrı iki görevdir.
Kurulum yalnızca programlar kurulur, güncellenir ve kaldırılırken iş görürken,
yapılandırma hem kurulumda hem de çalışan sistemde söz konusudur.
Bu ayrı görevleri sorumluluk sınırları belirlenmiş ayrı araçların yerine
getirmesi uygundur.
Uludağ projesi için yapılandırma işlerini yürütecek araç ÇOMAR'dır.
PİSİ bu görevleri ÇOMAR'a devredecektir.
\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.
Paket meta bilgileri ile paketin derlenme ve kurulumunu yöneten betikler
iç içe geçmemelidir.
Varolan paket yöneticilerinde paket tanımlama dosyaları kod ile bilginin
birbirine karıştığı, araçlarla işlemesi zor, net ve kesin tanımlanmamış
biçimlerdedir.
\layout Subsection
Neden DPKG Değil?
@@ -377,67 +332,6 @@ Neden RPM De
\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,
grafik arayüzü, dil destekleri, ek uygulamaları, vs) opsiyonel olarak kurulabil
ecek biçimde sunabilirsek, ve paket temin sistemimizi yalnızca gereken özellikle
ri getirecek biçimde inşa edersek, hem kapsam sorunları, hem vakit ve ağ
bağlantı hızı açısından yaşanan sorunlar çözülecektir.
\layout Itemize
Uygulamayı kod olarak çekip, değişik özellikler ile derleyebilecek Gentoo
Linux'un Portage benzeri bir sistem hedef kullanıcımıza zorluklar çıkaracak
ve doğrudan bir fayda sağlamayacaktır.
Ancak kimi programların farklı biçimde derlenmiş hallerini pakede ayrı
bir özellik olarak koyabiliriz (örneğin mplayer pakedinde farklı işlemciler
için derlenmiş birkaç tane
\emph on
mplayer
\emph default
programı gibi).
\end_deeper
\layout Section
PİSİ Tasarımı