SDB:Generating YaST Installation Sources
Version: 9.0 -
İçindekiler
Durum
Bir SUSE LINUX sürümü için yükleme kaynağı teklif etmek istiyorsunuz.
Süreç
YaST için iki çeşit yükleme kaynağı vardır, plain cache
ve "gerçek" YaST
kaynakları.
Plain Cache Kaynakları
Bir Plain Cache
kaynağı RPM dosyalarını içeren dizindir. YaST'ın bir dizini plain cache
kaynağı olarak algılaması için varolan RPM paketlerinin RPM başlık bilgisini içeren bir dosya yaratmalısınız(IS_PLAINcache
). YaST'ın dosyayı tekrar tekrar okumasını engellemek için paket verisini (ad, sürüm, bağlantılar vb.) bir .rpm dosyasından alması gerekmektedir. Geniş paketler için - paketi yüklemek istemeseniz bile - bu uzun iletim zamanları anlamına gelir. Bunun sonucunda, paketlerde bulunan paket verisi çıkarılır ve bir dosyada korunur.
Bu dosya, SUSE LINUX 9.0'dan başlamak üzere yast2-packagemanager
paketinde bulunan genIS_PLAINcache
özelliği ile oluşturulabilir.
Üstünlükleri
- Oluşturulması kolaydır.
Olumsuz Yanları
- Kaynak RPM'ler (src.rpm) desteklenmiyor.
- Çoklu yapılar (i586, i686, noarch, ppc, vb.) desteklenmiyor.
- YaST içinde yükleme kaynağının açıklaması yoktur.
-
genIS_PLAINcache
, sadece SUSE sistemlerinde çalışan bir çiftli sistemdir (script değildir).
Örnek
Sunucunuzun içinde bir çok çiftli RPM dosyalarının bulunduğu bir dizin var ve buna HTTP veya FTP aracılığıyla YaST yükleme kaynağının ulaşabilmesini istiyorsunuz.
/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
Bir plain cache
kaynağı elde etmek için aşağıdaki komutları çalıştırınız:
cd /srv/www/htdocs/suse/RPMS/ genIS_PLAINcache -f -r . gzip genIS_PLAINcache
Ardından, YaST -> Change Source of Installation
içindeki yükleme kaynağı olarak dizini ekleyebilirsiniz. Unutmayınız, kısıtlamalar yukarıda belirtilmiştir.
YaST Kaynakları
Bir "Gerçek" YaST
kaynağı, yükleme kaynağını ve onun içeriğini tanımlayan pek çok dosya ve dizin içerir. Bu içerik farklı yapılar için çiftli RPM dosyaları ve ayrı kaynak RPM dosyalarıdır. SUSE LINUX 9.0'dan başlayarak autoyast2-utils
paketi içinde bulunan create_package_descr
scripti ile tanımlayıcı dosyaların bazıları üretilebilir.
Üstünlükleri
- Kaynak RPM'ler desteklenir.
- Çoklu yapılar desteklenir.
- YaST içinde yükleme kaynağının tanımları görüntülenebilir.
Olumsuz Yanları
- Üretimi kolay değildir.
Yükleme kaynağının tanımları pek çok dosyaya paylaştırılmıştır:
- media.1/
`- media
- content
- directory.yast
- setup/descr/
`- packages `- packages.DU `- packages.en
media.1/media
media.1/media
dosyası aşağıdaki bileşenler hakkında tanımların bulunduğu bir ortamı içerir:
File: | media.1/media |
Content: | <Author> <Date of creation (YYYYMMDDHHMMSS)> <Number of media> |
Örnek:
Packman 20040027150052 1
İpucu: Date stringi date
özelliği ile üretilebilir: date +%Y%m%d%H%M%S
content
content
dosyası aşağıdaki bileşenler hakkında tanımların bulunduğu bir ortamı içerir:
Anahtar | İçerik |
PRODUCT | Ürün adı |
VERSION | Ürün sürümü |
VENDOR | Üretici |
LABEL | YaST içinde kullanılacak olan kaynak etiketi |
ARCH.<base> | Temel yapı olarak desteklenen yapılar |
DEFAULTBASE | YaST tarafından temel yapının belirlenemediği durumlarda kullanılmak üzere default temel yapı |
DESCRDIR | Paket tanımlarını içeren dizin |
DATADIR | Paketleri içeren dizin |
Örnek:
PRODUCT Packman VERSION 9.0-0 LABEL Packman (SUSE LINUX 9.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
directory.yast
YaST bu dosyayı, yükleme kaynağının, dizin listelerini desteklemeyen bir protokol tarafından adreslenmesi durumunda kullanır (örneğin HTTP). Dosya ls
özelliğiyle kolaylıkla üretilebilir:
ls -A1 > directory.yast
Örnek:
RPMS content directory.yast media.1 setup
setup/descr/*
Bu dosyalar create_package_descr
scripti ile üretilebilir. Bağlantıları, boyutu ve yükleme kaynağı içinde yer alan bütün paketlerin paket tanımlarını içerirler.
Örnek
FTP sunucunuz, SUSE LINUX için çiftli ve kaynak RPM paketlerini içeren bir dizine sahip. Pek çok çiftli RPM paketleri iki mimâri için vardır: i586 / i686. Ayrıca, bazı scriptler mimari-bağımsız RPM paketleri içinde paketlenmiştir (noarch). Siz, bu dizini SUSE LINUX 9.0 için YaST yükleme kaynağı olarak sunmak istiyorsunuz.
/srv/ftp/pub/linux/suse/9.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 dizinden bir "gerçek" YaST
kaynağı üretmek için aşağıdaki kodu yürütmeniz gerekiyor:
cd /srv/ftp/pub/linux/suse/9.0/ mkdir media.1 touch media.1/media touch content ls -A1 > directory.yast create_package_descr -d RPMS/
Ayrıntılı Belgeler
YaST yükleme kaynağı ile ilgili ayrıntılı belgeler yast2-packagemanager-devel
paketinde bulunmaktadır.
<keyword>yast,instsrc,source,installation,rpm,src</keyword>