YaST Kurulum Kaynakları Yaratma
İçindekiler
YaST Kurulum Kaynakları Oluşturma
YaST için 3 türlü kurulum kaynağı vardır: plain cache, yum, and "gerçek" YaST kaynakları.
Plain Cache Kaynakları
Plain cache kaynağı RPM dosyalarını içeren bir klasördür. YaST bir klasörü plain cache kaynağı olarak görebilmesi için , mevcut RPM paketlerinin RPM başlıklarını içeren bir dosya oluşturmalısınız(IS_PLAINcache). YaST'ın aynı dosyayı tekrar tekrar okumaması için. RPM dosyasından paket verilerine (isim, sürüm, bağımlılıklar, ...) ihtiyaç duyar. Büyük paketler için, bu paketleri yüklemek istemeseniz bile uzun yükleme zamanı gerektirir. Bu yüzden gerekli paket verilerini paketlerden alır ve kayıt eder.
yast2-packagemanager'daki genIS_PLAINcache aracı ile bu dosyayı oluşturabilirsiniz.
Avantajlar
- Oluşturması kolaydır.
Dezavantajlar
- RPM kaynakları (src.rpm) desteklenmiyor.
- Çoklu mimariler (i586, i686, noarch, ppc, etc.) desteklenmiyor.
- YaST'deki kurulum kaynağının tanımı yok.
- genIS_PLAINcache sadece SUSE sistemlerinde çalışabilen ikili(betik değil) bir yapıya sahiptir.
Örnek
Server'ınızda, ikili RPM dosyaları bir klasörünüz var ve bunu HTTP veya FTP üzerinden YaST kurulum kaynağı yapmak istemektesiniz.
/srv/www/htdocs/suse/RPMS/ `- software1-1.0-1.i686.rpm `- software2-1.0-1.i686.rpm `- software3-1.0-1.i686.rpm `- test/ `- test1-0.99-1.i686.rpm `- test2-0.99-1.i686.rpm `- test3-0.99-1.i686.rpm
Plain cache kaynağı oluşturmak için aşağıdaki komutları çalıştırınız:
cd /srv/www/htdocs/suse/RPMS/ genIS_PLAINcache -f -r . gzip genIS_PLAINcache
Devamında, YaST -> Change Source of Installation'daki kurulum kaynağı olarak klasörünüzü ekleyebilirsiniz. Yukarıdakı kısıtlara dikkat ediniz.
repomd/YUM Kaynakları
Repomd kaynağı, RPM dosyalarını veya RPM dosyalarını içeren alt klasörlerin bulunduğu bir klasördür. YaST'ın klasörü repomd kaynağı olarak görebilmesi için , mevcut RPM paketlerinin başlıklarını içeren bir repodata klasörü oluşturmalısınız(Plain cache kaynaklarındaki aynı sebeblerden dolayı).
Bu dosya createrepo paketindeki createrepo araç ile oluşturulabilir.
Avantajlar
- Oluşturması kolaydır.
- Çoklu mimari desteğine sahiptir.
Dezavantajlar
- Kaynak, RPM'ler (src.rpm)tarafından desteklenmiyor
Örnek
Belirli sayıdaki RPM dosyasına sahip bir klasörünüz var ve onu YUM kurulum kaynağı olarak kullanmak istemektesiniz.
/srv/www/htdocs/suse/RPMS/ `- i686/ `- software1-1.0-1.i686.rpm `- software2-1.0-1.i686.rpm `- software3-1.0-1.i686.rpm `- i586/ `- software1-1.0-1.i586.rpm `- software2-1.0-1.i586.rpm `- software3-1.0-1.i586.rpm `- test/ `- test1-0.99-1.i686.rpm `- test2-0.99-1.i686.rpm `- test3-0.99-1.i686.rpm
YUM kurulum kaynağını oluşturmak için aşağıdaki komutu uygulayınız:
# createrepo /srv/www/htdocs/suse/RPMS
Devamında, YaST -> Change Source of Installation'daki kurulum kaynağı olarak klasörünüzü ekleyebilirsiniz.
YaST Kaynakları
"Gerçek" YaST kaynağı, kurulum kaynağını ve içeriğini tanımlayan çok sayıda dosya ve klasörü içerir:bunlar; farklı mimariler için ikili RPM dosyaları ve bunlara karşılık gelen RPM kaynak dosyalarıdır. Bazı tanımlı dosyalar, autoyast2-utils'teki create_package_descr satırı ile oluşturulabilir.
Avantajlar
- Kaynak RPM'ler tarafından desteklenmektedir.
- Çoklu mimari desteği mevcuttur.
- Kurulum kaynağının tanımları YaST'ta görülebilmektedir.
- Belirli bir sırada çoklu kurulum kaynakları desteklenmektedir.
- Çok-tanımlı dil desteği mevcuttur.
- Sanal destek kullanımı vardır.
Dezavantajlar
- Oluşturması kolay değildir.
Örnek
Kurulum kaynağının tanımı farklı dosyalara bölünmüştür:
media.1/ `- media content content.asc # optional content.key # optional directory.yast setup/descr/ `- packages `- packages.DU `- packages.en
- media.1/media
media.1/media dosyası aşağıdaki orta seviye tanımları içerir:
İçerik:
<Yazar> <Oluşum tarihi (YYYYMMDDhhmmss)> <Medya sayısı>
Örnek:
Packman 20040127150052 1
İpucu: tarih komutu tarih aracı ile oluşturulabilir:
date +%Y%m%d%H%M%S
- content(içerik)
content dosyası aşağıdaki unsurları içerir:
Key İçerik PRODUCT Ürün adı VERSION Ürün sürümü VENDOR Ürün tedarikçisi LABEL YaST'ta kullanılacak kaynak tanımı ARCH.<base> Temel mimari için tanımlı mimariler DEFAULTBASE Temel mimarinin YaST ile belirlenemediği durumlar için başlangıç temel mimarisi DESCRDIR Paket tanımlarını içeren klasör DATADIR Paketleri içeren klasör
Örnek:
PRODUCT Packman VERSION 10.0-0 LABEL Packman (SUSE LINUX 10.0) VENDOR Packman Packager Team ARCH.i686 i686 i586 i486 i386 noarch ARCH.i586 i586 i486 i386 noarch DEFAULTBASE i586 DESCRDIR setup/descr DATADIR RPMS
SUSE Linux 10.1 kullanımı için kurulum kaynakları, dosya içeriği ve SHA1 toplam kontrolü yoluyla şifrelendirilmiştir. Ekli bir imza kullanılmıştır (ör. ayrı bir dosyadaki imza gibi). Kendi kurulum kaynaklarınız için bu opsiyoneldir, fakat şiddetle tavsiye edilir. Ayrıntılar için bakınız: güvenli kurulum kaynakları
content.asc
imzayı içerir, ve içeriğin yanına o dosyayı işaretlemek için kullanılan GPG anahtarının yerel anahtarı ve content.asc dosyaları için:
content.key
RPM'ye daha kolay anahtar eklemeye olanak tanır.
Content dosyasında iki ilave tag daha konabilir, META ve KEY. Eğer varlarsa, şu amaçlarla kullanılabilirler:
- DESCRDIR klasöründeki her bir dosya için bir META girişi olmak zorundadır.(ör. setup/descr)
- RPM paketlerini imzalayan herbir GPG anahtarı ve ilave edilebilecek her bir RPM keyring'leri için bir tane KEY girişi olmalıdır. Anahtarların kendileri, içerik dosyası olarak aynı klasöre konulmalıdır.
Örnek:
META SHA1 b5e293f8df00bfe45d3ed4521af2d9befe48656f Basis-Devel-10.1-42.noarch.sel META SHA1 4bbb4a037421bbb5b4d9df7ecaa0e48e7f0edf67 packages KEY SHA1 a108c6aab19fe604fa98ef299cdce6e6ba275f09 gpg-pubkey-0dfb3188-41ed929b.asc
Her tag'ın üç özelliği vardır. Birincisi, kullanılan checksum tipini arttırmaktadır. (su anda sadece SHA1 için mümkün), ikincisi, checksum, ve üçüncüsü, metadata dosyasının veya anahtarının dosya adıdır.
- directory.yast
Kurulum kaynağı, klasör listelemesini desteklemeyen bir protokol (HTTP gibi) tarafından adresleniyorsa, YaST bu dosyayı kullanır. Bu dosya ls ile kolaylıkla yapılır:
ls -A1 > directory.yast
Örnek:
RPMS content directory.yast media.1 setup
- setup/descr/*
Bu dosyalar create_package_descr komutu ile oluşturulur. Kurulum kaynağındaki tüm paketlerin ilişkilerini, boyutunu, ve paket tanımlarını içerir.
Örnek:
FTP server'ınız SUSE Linux için ikili ve kaynak RPM paketlerini içersin. Çoğu ikili RPM paketleri iki mimari içinde(i586/i686) mümkündür. Buna ilaveten, bazı komutlar RPM paketleri için mimarı-bağımsızdır(noarch). Bu klasörü SUSE Linux 10.0 için YaST kurulum kaynağı yapmak isterseniz
/srv/ftp/pub/linux/suse/10.0/RPMS/ `- i586/ | `- software1-1.0-1.i586.rpm | `- software2-1.0-1.i586.rpm `- i686/ | `- software1-1.0-1.i686.rpm | `- software2-1.0-1.i686.rpm `- noarch/ | `- script1-1.0-1.noarch.rpm | `- script2-1.0-1.noarch.rpm `- src/ `- software1-1.0-1.src.rpm `- software2-1.0-1.src.rpm `- script1-1.0-1.src.rpm `- script2-1.0-1.src.rpm
Bu klasörden "geçek" YaST kaynağı oluşturmak için:
cd /srv/ftp/pub/linux/suse/10.0/ mkdir media.1 $EDITOR media.1/media $EDITOR content ls -A1 > directory.yast create_package_descr -d RPMS/
create_package_descr
satırı/opt/kde3/share/apps/krpmview/
'da yüklüdür veya from sf.net adresinden yüklenebilir. Paketi açınız, komut satırında güvene alınız ve üzerinde chmod 755 yapınız.
Komut isteğe bağlı olarak, şifreli imzalar ve checksum'larda oluşturabilir, dolayısıyla kendi güvenliğinizi kolaylıkla yapabilirsiniz.
Daha Fazla Belgelendirme
YaST kurulum kaynağı hakkında daha fazla bilgi için yast2-packagemanager-devel.