Paket Kurma¶
Hazırlanan dağıtımda paketlerin kurulması için sırasıyla aşağıdaki işlem adımları yapılmalıdır.
Paketin indirilmesi
İndirilen paketin /tmp/bps/kur/ konumunda açılması
Açılan paket dosyalarının / konumuna yüklenmesi(kopyalanması)
Paketin bağımlı olduğu paketler varmı kontrol edilir
Yüklü olmayan bağımlılıklar yüklenir
Yüklenen paket bilgileri(name, version ve bağımlılık) yüklü paketlerin index bilgilerini tutan paket sistemi dizininindeki index dosyasına eklenir.
Açılan paket içindeki yüklenen dosyaların nereye yüklendiğini tutan file.index dosyası paket sistemi dizinine yüklenir
Bu işlemler daha detaylandırılabilir. Bu işlemlerin detaylı olması paket sisteminin kullanılabilirliğini ve yetenekleri olarak ifade edebiliriz. İşlem adımlarını kolaylıkla sıralarken bunları yapacak script yazmak ciddi planlamalar yapılarak tasarlanması gerekmektedir.
Örneğin bir paketimiz zip dosyası olsun ve içinde dosya listesini tutan file.index adında bir dosyamız olsun. Paketi aşağıdaki gibi kurabiliriz.
cd /tmp/kur/
unzip /dosya/yolu/paket.zip
cp -rfp ./* /
cp file.index /paket/veri/yolu/paket.index
Bu örnekte ilk satırda geçici dizine gittik
Paketi oraya açtık.
Paket içeriğini kök dizine kopyaladık.
Paket dosya listesini verilerin tutulduğu yere kopyaladık.
Bu işlemden sonra paket kurulmuş oldu.
bps Paket Kurma Scripti Tasarlama¶
Burada basit seviyede kurulum yapan script kullanılmıştır. Detaylandırıldıkça doküman güncellenecektir. Kurulum scripti aşağıda görülmektedir.
Paket kurulurken paket içerisinde bulunan dosyalar sisteme kopyalanır. Daha sonra istenirse silinebilmesi için paket içeriğinde dosyaların listesi tutulur. Bu dosya ayrıca paketin bütünlüğünü kontrol etmek için de kullanılır.
bpskur Scripti¶
#!/bin/sh
#set -e
paket=$1
paketname="name=\"${paket}\""
ROOTFS=$2
#echo "$paket"
indexpaket=$(cat /etc/bps/index.lst|grep $paketname)
name=""
version=""
depends=""
if [ -n "${indexpaket}" ]
then
namex=$(echo $indexpaket|cut -d"|" -f1)
versionx=$(echo $indexpaket|cut -d"|" -f2)
dependsx=$(echo $indexpaket|cut -d"\|" -f3)
name=${namex:6:-1}
version=${versionx:9:-1}
depends=${dependsx:9:-1}
else
echo "***********Paket Bulunamadı**********"; exit
fi
# 1. adım paketi indirme
mkdir -p /tmp/bps
mkdir -p /tmp/bps/kur
rm -rf /tmp/bps/kur/*
curl -Lo /tmp/bps/kur/${name}-${version}.tar.gz https://github.com/basitdagitim/kly-binary-packages/raw/master/${name}/${name}-${version}.bps
mkdir -p /var/lib/bps
cd /tmp/bps/kur/
#2. adım paketi açma
tar -xf ${name}-${version}.tar.gz
mkdir -p rootfs
tar -xf rootfs.tar.xz -C rootfs
#3. adım paketi kurma
cp -prfv rootfs/* $ROOTFS/
#4. adım name version depends /var/lib/bps/index.lst eklenmesi
echo "name=\"${name}\":"version=\"${version}\":"depends=\"${depends}\"">>var/bps/index.lst
# 5. adım paket içinde gelen paket dosyalarının dosya ve dizin yapısını tutan file index dosyanının /var/lib/bps/ konumuna kopyalanması
cp file.index /var/lib/bps/${name}-${version}.lst
bpskur Scriptini Kullanma¶
Script iki parametre almaktadır. İlk parametre paket adı. İkinci parametremiz ise nereye kuracağını belirten hedef olmalıdır. Bu scripti kullanarak readline paketi aşağıdaki gibi kurulabilir.
./bpskur readline /