İçeriğe atla

PiSi Paket Yöneticisi

PiSi
PiSi'nin grafiksel arayüzü Pardus Paket Yöneticisi
Geliştirici(ler)Pardus (2013 öncesi)
Pisi Linux
Solus
İşletim sistemiLinux
TürPaket yönetim sistemi
LisansGPL
Resmî sitesiPiSi proje sayfası
Kod deposu Bunu Vikiveri'de düzenleyin

PiSi (açılımı Packages Installed Successfully as Intended), 2011.2 sürümüne kadar Pardus'un güncel olarak da Pisi Linux ve Solus'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.

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ı, actions.py adındaki kaynak kodun yapılandırılması, inşa edilmesi ve istenilen dizine yerleştirilmesi için gerekli komutları içeren Python betiği ve paketlerin özet ve açıklamalarına yerelleştirme desteği verilebilmesi için translations.xml dosyasından ibarettir. Buna ek olarak, yamalar, sözü geçen diğer betikler ve ek dosyalar içerir...

Bazı ayırıcı özellikler

PiSi Python'da yazılmıştır, bu sayede performans kaybetmeden taşınabilirlik ve paketlerin boyutunun küçültülmesi sağlanmıştır. Kaynak paketler basit XML dosyaları ve Python programcıklarıyla ifade edilir.[1]

Paketler kaynak tabanlı paket sistemlerindeki gibi kısa ve anlaşılabilir bir inşa reçetesiyle tanımlanı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 bilgilerini 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 kodunu içermez, bu da subversion gibi sürüm 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 uluslararasılaştırması kullanılmıştır.

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.

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 sürümlerini 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 sürüm numarası pratikte karşılaşılan bazı sorunları çözmektedir.

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:

  • paketi y bileşeninin parçasıdır
  • 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.

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.

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).

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 ayrı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

Grafiksel arayüz

Paket Yöneticisi'nde seçilen programlar yüklenirken

Qt tabanlı arayüze sahiptir. Sadece Pisi Linux kullanmaktadır. SolusOS, GTK tabanlı bir paket yöneticisi geliştirmektedir, henüz tamamlanmamıştır. 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.

Ayrıca bakınız

  • ÇOMAR
  • YALI
  • pspec.xml

Kaynakça

  1. ^ "Pisi Linux Github". 11 Haziran 2018 tarihinde kaynağından arşivlendi. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">RSS</span>

RSS, genellikle haber sağlayıcıları, bloglar ve podcastlar tarafından kullanılan, yeni eklenen içeriğin kolaylıkla takip edilmesini sağlayan bir web sayfası bildirimcisidir. Kullandığı dosya biçimleri .rss ve .xml'dir.

Linux dağıtımı ; Linux çekirdeği, GNU araçları ve bir masaüstü ortamının bir araya gelmesiyle, bu birlikteliği sürdürülebilir şekilde yönetecek bir yapılandırma araçları seti, yazılım güncelleme araçları vb. ile oluşturularak tam teşekküllü bir işletim sistemi haline gelen uygulamalar bütününü ifade eder.

<span class="mw-page-title-main">Gentoo Linux</span> kaynak kod temelli bir GNU/Linux dağıtımı

Gentoo, kaynak kod temelli bir Linux dağıtımıdır. Kaynak kod tabanlı kurulumunun zorluğu sebebiyle, diğer Linux dağıtımları kadar popüler olamasa da; kaynak kurulumlu dağıtımlar arasında en popüleridir. Özelleşmiş Linux dağıtımları hazırlanırken temel olarak kullanılmaya uygundur. Gentoo, adını bir çeşit penguen olan Gentoo Pengueni'nden almıştır.

<span class="mw-page-title-main">OpenSUSE</span> topluluk destekli Linux dağıtımı

openSUSE ( ), eskiden SUSE Linux, ana destekçisi SUSE olan bir GNU/Linux dağıtımıdır. "Leap" sürümü, ticari amaçlı geliştirilen SUSE Linux Enterprise Server ve SUSE Linux Enterprise Desktop için bir taban ve deneme ortamı oluşturur. Leap, ticari SUSE Linux ürünlerine doğrudan yükseltme imkanı sunar. En popüler dağıtımlardan biridir. Geliştirilmesinin odak noktası, kullanıcı dostu bir masaüstü ve zengin özellikli sunucu ortamı sağlarken, yazılım geliştiriciler ve sistem yöneticileri için kullanılabilir açık kaynaklı araçlar sunmaktır.

<span class="mw-page-title-main">PHP</span> bir programlama dili

PHP: Hypertext Preprocessor, internet için üretilmiş, sunucu taraflı, çok geniş kullanımlı, genel amaçlı, içerisine HTML gömülebilen betik ve programlama dilidir. İlk kez 1995 yılında Rasmus Lerdorf tarafından yaratılan PHP'nin geliştirilmesi bugün PHP topluluğu tarafından sürdürülmektedir. Ocak 2013 itibarıyla 244 milyondan fazla web sitesi PHP ile çalışırken 2.1 milyon web sunucusunda PHP kurulumu bulunmaktadır.

<span class="mw-page-title-main">Make</span>

Make dosyaları bir formdan diğerini çevirme işlemini otomatikleştiren bir araçtır. Bu işlemi, çevrilecek programların ihtiyaç duyacağı diğer programları kontrol ettikten sonra gerekli programları çalıştırarak çevirme işlemini gerçekleştirir. Çevrilen programı çalıştırmak için ihtiyaç duyulan diğer programlara bağımlılıklar denir. Unix/Linux tabanlı işletim sistemlerinde, kaynak kodu nesne koduna derlerken ve nesne kodlarını çalıştırılabilir (executable) ve kütüphane (library) dosyalarına bağlarken (linking) sıklıkla kullanılır. Bağımlılık grafiğini çıkarmak için "Makefile" ismi verilen bir dosya kullanır ve shell'e geçirilmek üzere kullanılan betikleri (script) oluşturur.

<span class="mw-page-title-main">KDE uygulamaları listesi</span> Vikimedya liste maddesi

KDE Gear, KDE topluluğu tarafından geliştirilen uygulamalar ve destekleyici kitaplıklar seti olup ağırlıkla Linux tabanlı işletim sistemlerde kullanılır fakat çoğunlukla çok platformludur ve ortak bir yayın programı içerisinde yayınlanır.

<span class="mw-page-title-main">Pardus 2007</span>

Pardus 2007, Pardus 1.0'dan sonra kullanıma sunulmuş 2. Pardus dağıtımıdır. 18 Aralık 2006'da kullanıma sunulmuştur.

<span class="mw-page-title-main">Pardus 2008</span>

Pardus 2008, Pardus Linux dağıtımının 27 Haziran 2008 tarihinde çıkan kararlı sürümüdür.

<span class="mw-page-title-main">Nexenta OS</span>

Nexenta OS OpenSolaris projesi ile Oracle firmasının Solaris'in kaynak kodlarını açmasından sonra ortaya çıkan OpenSolaris dağıtımıdır. Nexenta OS, Solaris (SunOS) çekirdeğine sahiptir.

<span class="mw-page-title-main">Apache Ant</span>

Apache Ant, yazılım inşası süreçlerini otomatikleştirmeye yarayan bir araçtır. Make'e benzeyen uygulama, Java ile geliştirilmiş olup Java platformunu gerektirmekte ve Java projelerinde sıkça kullanılmaktadır.

<span class="mw-page-title-main">XMPP</span>

XMPP, daha önceki adıyla Jabber, Internet'teki iki ucun herhangi bir yapısal bilgiyi birbirleri arasında karşılıklı ve neredeyse eş zamanlı aktarmalarına olanak sağlayan açık bir XML protokol ve teknolojileri bütünüdür.

Pisi Linux; PiSi paket yönetim sistemini içeren Pardus 2011 sürümünü taban alan, özgür yazılım topluluğu tarafından geliştirilen, bilgisayar kullanıcılarına kurulum, yapılandırma ve kullanım konusunda büyük kolaylık sağlayan ve onların başlıca masaüstü gereksinimlerini karşılamayı amaçlayan, son kullanıcı odaklı bir GNU/Linux dağıtımıdır. Anka takımı tarafından geliştirilme süreci devam eden Pisi Linux, 10 Temmuz 2015'te 1.2 sürümü yayımlandı. İçerisinde 6000'den fazla güncellenmiş paketi bulunan 1.2 sürümü sonrası ise büyük değişimler getirecek olan 2.1 sürümü ile tüm paketler yeni sürümlerine geçirildi ve birçok hata giderildi, bu sayede Pisi Linux'un hızı ve stabilitesi artırılmış oldu.

GRASS GIS taramalı, vektör topolojisi destekli, görüntü işleme ve grafik verileri işleme kapasitesine sahip bir ücretsiz, açık kaynak coğrafi bilgi sistemi (GIS)'dir.

<span class="mw-page-title-main">GNU Guix</span>

GNU Guix, GNU için bir paket yöneticisidir. Nix paket yöneticisini ve Guile Şeması uygulama programlama arayüzlerini taban almıştır. Tümüyle özgür yazılımdır.

youtube-dl, YouTube, Dailymotion ve Vimeo gibi akış web sitelerinden ses ve video dosyalarını ayıklamak için kullanılan bir komut satırı indirme yöneticisi programıdır. Yazılım Python kullanılarak yazılmıştır. youtube-dl, Lisanssız lisans kapsamında kamuya açık yazılımdır.

<span class="mw-page-title-main">Anaconda (Python dağıtımı)</span>

Anaconda ücretsiz ve açık kaynaklı, Python ve R programlama dillerinin bilimsel hesaplama kullanımında paket yönetimini kolaylaştırmayı amaçlayan bir özgür ve açık kaynaklı dağıtımdır. Paket sürümleri conda paket yönetim sistemi ile yönetilir. Anaconda dağıtımı Windows, Linux ve MacOS işletim sistemlerinde kullanılabilen veri bilimi paketleri içerir.

<span class="mw-page-title-main">Nullsoft Scriptable Install System</span>

Nullsoft Scriptable Install System (NSIS), Winamp'ın yapımcıları Nullsoft tarafından desteklenen Microsoft Windows için komut dosyasıyla çalışan bir kurulum sihirbazı hazırlama aracıdır. NSIS, başta zlib lisansı olmak üzere, özgür yazılım lisanslarının bir kombinasyonu altında yayımlanır. Amazon, Dropbox, Google, Ubisoft, FL Studio, BitTorrent ve McAfee gibi kullanıcılarla, InstallShield gibi ticari özel mülk ürünlere yaygın olarak kullanılan bir alternatif haline geldi.

<span class="mw-page-title-main">GNS3</span>

Graphical Network Simulator-3, ilk olarak 2008 yılında piyasaya sürülen bir ağ yazılımıdır. Karmaşık ağları simüle etmek için kullanılan sanal ve gerçek cihazların kombinasyonuna izin verir. Cisco IOS'u simüle etmek için Dynamips emülasyon yazılımını kullanır.

ns, bir dizi ayrık olay ağ simülatörleri, özellikle ns-1, ns-2 ve ns-3 için kullanılan bir isimdir. Hepsi, öncelikle araştırma ve öğretimde kullanılan ayrık olay bilgisayar ağı simülatörleridir.