imla hataları.
bikaç gerek ile neden pisi için maddeler.
This commit is contained in:
+48
-154
@@ -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ı
|
||||
|
||||
Reference in New Issue
Block a user