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>