-
Notifications
You must be signed in to change notification settings - Fork 1
themis doc türkçe
Themis bir paket yöneticisi değildir temelinde yerel paket yöneticilerini kullanır themisin amacı basit yapıları birden çok platforma ayrı ayrı paket haline getirmek yerine sadece bağımlılıklarını değişkenler olarak belirtmenizin yeteceği bir çok amaçlı çapraz betik yönetim aracıdır (NOT ilk sürüm için herhangi bir versyon yönetim sistemi yoktur).
bash, python3/pip3(opt), ruby/gem(opt), wget, curl, gzip/tar
~$ git clone https://github.com/ByCh4n-Group/themis.git && cd themis && sudo make install
-
--help, help, --yardım, yardım, -h help argümanı diğer araçta ki argümanları ve kullanım amaçlarını ekrana yazdırır.
-
--makepackage, makepackage, --paketyap, paketyap, -mp paketyap argümanı ile Paket hazırlama prosedürüne göre hazırlanmış projeleri paket haline getirir. parametre(ler) olarak belirttiğiniz dizin(leri) önce doğrular eğer prosedüre uyuyor ise tar.gz(gzip) ile sıkıştırılmış dosya haline getirir ve komutu çalıştırığınız dizine kaydeder burada ki önemli husus kaydedilen paketin isminde "_" karakterinin olmaması ve dosya adının bitişik olmasıdır.
themis --makepackage <directory>
- --localinstall, localinstall, --lokalyükle, lokalyükle, -li lokalyükle argümanı ile sıkıştırdığınız themis paketi dosyalarını sisteme kurabilirsiniz bu argüman root yetkileri ile çalıştırılmalıdır ancak themisin kendine ait bir paket derleme sistemi yoktur içerisinde ki bash betiklerinin fonksyonları ile prosedürü tespit eder buna göre paket(leriniz)'i kurar.
sudo themis --localinstall <package>.tar.gz
- --install, install, --yükle, yükle, -i yükle argümanı root hakları ile kullanılmalıdır temelinde lokalyükle'nin fonksyonlarını kullanır katalog mantığı ile çalışır depolarınızın indexleri /usr/share/themis/index.sh dosyasında yer alır bu dosyadan istediğiniz depoları ekleyip kaldırabilirsiniz bu işlemi nasıl yapacağınızı Depo oluşturma, ekleme ve kaldırma kısmından ulaşabilirsiniz.
~$ sudo themis --install <package>
- --uninstall, uninstall, --kaldır, kaldır, -u kaldır argümanı ile sisteminize themis ile kurulmuş dosya ve dizinleri kaldırabilrisiniz(silebilirsiniz) lakin paketlerin metadata dosyalarında olan açıklar nedeni işlemi sisteminize gelen yada gelecek olan zarardan yapımcılar sorumlu değildir lütfen paket yapım prosedürüne bağlı kalın ve diğer insanlara saygınız olsun herdaim özgür yazılım ile kalın
~$ sudo themis --uninstall <package>
-
--updateindex, updateindex, --indeksgüncelle, indexgüncelle, -up themis katalog mantığı ile çalışır önceden dosya sistemine kaydedilen ayar dosyalarından bilgileri çeker bu sayede hem hızlı hem de offline olduğunuz da bile en son aldığınız indekste ki paketlerin bilgilerine erişebilirsiniz depoların barındığı ana indeks dosyası /usr/share/themis/index.sh dosyasının içerisinde repositories değişkeninin arrayları olarak belirtilir depolardan çekilen doğrulanmış paket bilgileri ise /usr/share/themis/repositories dizinine kaydolur. Bu argümanı sudo ile çalıştırmanız yeterlidir şu anlık herhangi bir parametre yada ek argümanı yoktur depo atamaları elle yada sizin hazırlamış/hazırlayacağınız betikler ile yapılabilir.
-
--list, list, -l list argümanı yalın olarak kullanıldığında sisteminizde kurulu olan paketlerin isimlerini listeler eğer 2. argüman olarak --repositories, repositories, depo, repo kullanırsanız daha önceden indeksini güncellediğiniz depolarda ki paket bilgilerini görebilirsiniz
-
--info, info, --bilgi, bilgi, -i bilgi argümanı ile paket(ler)'in bilgilerini görebilirsiniz bu bilgiler sırası ile: paket, version, geliştirici, açıklama eğer var ise LISANS ve BENIOKU dosyaları
~$ sudo themis --info <package>
- --version, version, -v version argümanı ile themisin kullanmış olduğunuz sürümünü görebilir ve bağlantı adreslerinden bize ulaşabilirsiniz.
Öncelikle projenizin olduğu ana dizine CONTROL isminde bir metadata dosyası açın bu dosyanın içerisine zorunlu bilgiler olarak package, version, maintainer, description değişkenlerini girin package değişkeni tamami ile zorunludur ve package değişkeninde "_" ve " " gibi karakterler bulunamaz daha sonrasında bağımlılıklar'ı atamak vardır bağımlılıkları işletim sisteminizin tabanına göre sistemtabanı_depends="" şeklinde atanır var olan şunları kullanabilirisniz debian_depends, arch_depends, fedora_depends, pisi_depends, opensuse_depends şeklinde bağımlılık belirtebilirsiniz ayrıca python ve ruby modülleri için de python3_depends, ruby_depends değişkenleri kullanarak bağımlılık atayabilirsiniz bunlarla birlikte bağımlılıklardan sonra gelen postinst betikleri vardır postinst betiklerini bağımlılıklar kurulduktan sonra yine sistemin tabanına göre yada tüm sistemlerde de aynı çalışacak direkt tek bir betik belirtebilirsiniz lakin unutmayın postinst betiklernin geri dönüşü yoktur sadece kurulum aşamasında aynı bağımlılıklar gibi işlevlerini yerine getirirler ve sistemden elle silinmek zorundadırlar postinst scriptlerini gerekmedikçe kullanmayın kullanmanız gerekir ise CONTROL dosyasının olduğu dizine şu dosyaları oluşturarak postinst scriptlerini tanımlayabilirsiniz debian-inst.sh, arch-inst.sh, fedora-inst.sh, pisi-inst.sh, opensuse-inst.sh, post-inst.sh şimdi gelelim en önemli build() { ... } fonksyonuna bu fonksyonun içerisinde kurulum işlemi yapılacak lakin build fonksyonuna daha önceden atanmış başka alt fonksyonlar ile buildin içerisinde curl veya wget yardımı ile internetten dosya indirebilirsiniz gcc/cc ile alt dizinler içerisinde ki dosyaları derleyebilirsiniz lakin burada ki asıl husus herhangi bir dizini taşırken mv komutu yerine move "./source" "/target" fonksyonunu kullanmanızdır bu sayede tersine mühendislik ile kaldırma işleminde sisteme kurulan dosyalar silinecektir, hernagi bir dizin yada dizinler oluştururken ise basedir "dir" "dir" önemli bir husus lütfen /, /bin, /usr, /dev, /opt, /boot, /etc gibi dizinleri direkt olarak tanımlamamanızdır çünkü doğrudan tanımlanmış dizinler tersine mühendislik işleminde silinir ve eğer sistem dizini ise bu sisteminize büyük hasarlar verebilir.
package="camilendin"
version="1.0.1"
maintainer="leery"
description="can sıkıntısından eğlence amaçlı yapılmış bir program idir."
debian_depends=(
"chafa"
)
arch_depends=(
"chafa"
)
opensuse=(
"chafa"
)
build() {
basedir "/usr/share/camilendin"
move "./camiresmi.jpeg" "/usr/share/camilendin"
move "./camilendin.sh" "/usr/bin"
}
# ./camilendin.sh ./camiresmi.jpeg ./CONTROL ./LICENSE ./README.md
depoyu herhangi bir uzak sunucuda oluşturabilirsiniz dosyaların bulunduğu ana dizine inde.sh isimli bir dosya açın ve içerisine maintainer, reponame, packages değişkenlerini oluşturun reponame zorunludur packages'in içinde arraylar olarak şu şekilde bir atama yapın file.tar.gz_package_version lakin unutmayın ilk array yani packages[0] index'in bulundğu ve file.tar.gz dosyalarının root olarak ele alındığı link olmalıdır bunu bir örnekle anlatmak gerekirse yalnız burada unutulmaması gereken husus "" karkteri ayraç olarak kullanılacağından dosyaların isimlerinde "" barınmamalıdır.
maintainer="ByCh4n"
reponame="themis-repo"
packages=(
"https://raw.githubusercontent.com/ByCh4n-Group/themis-repo/main"
"bchacktool3.tar.gz_bchacktool_3.0.0"
"alvatadro.tar.gz_rzcracker_1.0.0"
)
# https://raw.githubusercontent.com/ByCh4n-Group/themis-repo/main/index.sh
# https://github.com/ByCh4n-Group/themis-repo/raw/main/bchacktool3.tar.gz
# https://github.com/ByCh4n-Group/themis-repo/raw/main/alvatadro.tar.gz
Depo eklemek için deponuzun index.sh dosyasını içeren linki index.sh'ı almadan kopyalayın ve dosya sisteminizde /usr/share/themis/index.sh dosyasının içerisine repositories değikenine yeni array olarak ekleyin kaldırma işleminde de aynı şekilde /usr/share/themis/index.sh dosyasından linkin olduğu array'i kaldırın ve /usr/share/themis/repositories dizinine gidip eğer ilgili deponun metadata dosyaları var ise silin bu işlem bittikten sonra idenksi güncellemeyi unutmayın
repositories=(
"https://raw.githubusercontent.com/ByCh4n-Group/themis-repo/main"
"https://raw.githubusercontent.com/ByCh4n-Group/kraken-repo/main"
)