Privacy Policy Cookie Policy Terms and Conditions PiSi - Vikipedi

PiSi

Vikipedi, özgür ansiklopedi

PiSi

PiSi ekran görüntüsü
Şirket/geliştirici: Pardus
Kararlı sürüm: PiSi
Deneme sürümü: PiSi
İS: Linux
Tür: Paket yöneticisi
Lisans: GPL
Ana Sayfa: PiSi proje sayfası

PiSi (açılımı Packages Installed Successfully as Intended), Pardus'un paket yöneticisidir. Bağımlılıkları takip ederek paket inşa etme, kurma, kaldırma, yükseltme ve benzeri işlevleri yerine getirir. Kullanıcı dostu bir grafiksel arayüz ve kapsamlı bir komut satırı arayüzü içerir. Geliştiriciler için tanıdık ve basit bir geliştirme ortamı sunar.

Konu başlıkları

[değiştir] PiSi paketleri

PiSi paketleri PKZIP formatında arşivlerdir, paketin içerdiği dosyalar dışında paketle ilgili gerekli bilgileri taşıyan metadata.xml adlı bir XML dosyası, yükleme sonrası ve kaldırma öncesi çalıştırılan betikler ve ÇOMAR yapılandırma betikleri içerir. Paket kaynakları da temel olarak pspec.xml adlı bir tanım dosyası ve actions.py adındaki kaynak codeun yapılandırılması, inşa edilmesi ve istenilen dizine yerleştirilmesi için gerekli komutları içeren python betiğindan ibarettir. Buna ek olarak, yamalar, sözü geçen diğer betikler ve ek dosyalar içerir.

[değiştir] Bazı ayırıcı özellikler

PiSi Python'da yazılmıştır, bu sayede performans kaybetmeden taşınabilirlik ve küçük program boyutu sağlanmıştır. Kaynak paketler basit XML dosyaları ve python programcıklarıyla ifade edilir.

Paketler kaynak tabanlı paket sistemlerindeki gibi kısa ve anlaşılabilir bir inşa reçetesiyle tanımlarır, bunun için geliştirilmis olan bir API gereken ortak komutları toplar. Yüksek seviyeli ve düşük seviyeli paket yönetim işlevlerini tek bir yazılımda birleştirir. Bağımlılıkları takip etmek ya da depoları yönetmek için ayrı bir yazılıma gereksinim duymaz. Hangi dosyanın hangi pakette olduğu ve bağımlılıklar gibi paket bilgilerinı takip etmek için Berkeley DB'yi kullanır.

Bağımlılıklar hızlı algoritmalarla hesaplanır. Paketler bileşen ve kategorilerle düzenlenir. İkili paketler PKZIP arşivleridir. Birçok işlemde şeffaf biçimde URL desteği verilir, http ve ftp protokolleri desteklenir. Örneğin sadece bir pspec.xml URL'i verilerek uzaktaki bir kaynak inşa edilebilir. Kaynak arşivini URL ile gösterir, orijinal kaynak code'unu içermez, bu da subversion gibi versiyon sistemleriyle geliştirmeyi kolaylaştırır. Kitaplık yaklaşımıyla tasarlandığı için üzerinde uygulama geliştirmek kolaydır. Program mesajları için özgür yazılımlarda yaygın olarak kullanılan gettext uluslararasılaştırması, xml dosyaları için xml:lang uluslarasılaştırması kullanılmıştır.

[değiştir] Depolar ve bağımlılıklar

Depolar bir dizinin altındaki paketlerin indeksini içeren bir XML dosyasının URL'i ile tanımlanır (pisi-index.xml). Paket bağımlılıklarının takibi iyi bilinen basit çizge algoritmaları ile yapılır. Önce paket ilişkilerinin gerekli alt kümesi database'den gereken en az sayıda erişim yapılarak getirilir, sonra “topological sort” ile basit ama güvenli bir plan hesaplanır. Paket yükleme, kaldırma ve yükseltme işlemleri için oluşturulan planlar, bir hata durumunda sistemin tutarlı durumda kalmasını sağlamaya çalışır. Yükseltme planlarında hem düz hem ters bağımlılıklar hesaba katılır. Bir emniyet mandali önemli paketlerin kaldırılmasını öntanımlı olarak önler.

[değiştir] Sürümler

Yazılım dağıtımında önemli bir sorun gelişme tarihini takip etmektir. PİSİ'nin çözümü orijinal, paket kaynağı ve ikili paket inşa versiyonlarını ayırmaktır. Paket sürüm numarası bir paket kaynağının kaç kere değiştirildiğini ve paket inşa numarası bir ikili paketin kaçıncı inşa olduğunu tutar. Bu sayede farklı boyutlara ayırılan versiyon numarası pratikte karşılaşılan bazı sorunları çözmektedir.

[değiştir] Bileşen/Kategoriler

Kaynak paketlerin sayısı büyük olduğu için (yazım esnasında 800 civarı) bir organizasyon gereklidir. Web Ontology dilleri yazılım paketleri için fazla karışıktır. Yaptığımız araştırmaya göre sadece iki ilişkiyi belirtmek temel gereksinimler için yeterlidir:

x paketi y bileşeninin parçasıdır

x paketi y kategorisine aittir

Burada bileşen Pardus'un bir alt-sistemini göstermektedir. Örneğin system.base konsolda çalışan taban sistemidir, desktop.kde ise KDE masaüstüdür. Bir paket tek bir bileşenin parçası olabilir, yani bileşenler paket toplamalarıdır. system.base ve system.devel özel bileşenlerdir. Bütün programlar çalışmak için system.base'in sağladığı temel UNIX ortamına gereksinim duyarlar. Paket inşa komutu için gerekli kaynaklar ise system.devel içerisindedir.

Kategori paket tipini gösterir. Örneğin app:gui grafiksel uygulamaları, app:cli komut satırı uygulamalarını, library ise kitaplıkları göstermektedir. Bir paket birden çok kategoriye sahip olabilir.

[değiştir] Arama işlevleri

Anahtar sözcük araması (search komutu) özetler ve tanımlar üzerinde çalışır. Hızlı işlem için bir ters indeks (inverted index) kullanır ve çok dilli çalışır. Ayrica search-file komutu dosya adıyla paket bulur.

[değiştir] Veritabanı yapısı

Özelleştirilebilir ve esnek olması sebebiyle berkeley veritabanı tercih edilmiştir (örneğin liste saklamak vs. kolaydır). Bütün ara (intermediate) veri XML olarak saklanır. XML yapıları otomatik olarak python nesnelerine aktarılır. Felaket durumunda bütün veritabanı saklanan XML dosyalarından yeniden yaratılabilir (rebuild-db komutu).

[değiştir] Kuşbakışı PiSi komut satırı

SVN tarzı komut satırı işlemcisi 29 komut içerir. Aşağıda komut çeşitlerine göre bir ayırım verilmiştir.

Bilgi/arama komutları: search, search-file, info, list-available, list-components, list-installed, list-pending, list-repo, list-upgrades, graph

Depo komutları: index, add-repo, remove-repo, update-repo

Paket inşası: build, build-until,build-build, build-install, build-package, build-setup, build-unpack

İkili paket işlemleri: install, remove, upgrade, check, configure-pending

Yardımcı komutlar: rebuild-db, clean, delete-cache

[değiştir] Grafiksel arayüz

Kullanımının mümkün olduğu kadar basitleştirildiği düşünülen bir arayüzdür. Bütün işlemler için tek bir pencere ve depo ayarları için ayrı bir pencereden oluşur. Paket işlemleri için üç ayrı kip bulunmaktadır (yükseltme, yükleme, kaldırma). Arama fonksiyonu paketlerin üstünde tanıdık bir arama çubuğu ile sağlanır. Paketler bileşenlere ayrılır. Öntanımlı olarak sadece uygulamaları gösterir, bir filtre seçeneği ile bütün uygulamalar seçilebilir. Bütün sistem tek bir tuşla güncellenir.

[değiştir] Ayrıca bakınız

[değiştir] Dış bağlantılar

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu