YaST Kurulum Kaynakları Yaratma

Şuraya atla: kullan, ara


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.