RPM Hazırlama Sanatı



Benzer belgeler
PostgreSQL'de Uygulamalı. (Streaming Replication. Standby)

PostgreSQL ile NoSQL. Gereksinimlerinizi Karşılamak

PostgreSQL - Yeni dönemdeki yeri

PostgreSQL - Yeni dönemdeki yeri

Devrim Gündüz. Ali Erdinç Köroğlu

PostgreSQL ile Kümeleme Teknikleri

PiSi ile Paket Yapımı. S.Çağlar Onur

Linux ve Özgür Yazılım Nedir?

PostgreSQL Veritabanı Sunucusu Devrim GÜNDÜZ.

Open Source Coding: Python

I. Oturum: GNU/LINUX A GİRİŞ

Linux Kullanıcıları Derneği Seminerleri

İSTANBUL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ SİSTEM PROGRAMLAMA DERSİ. Öğr.Gör. Mehmet DEMİR

Linux un Temel Bileşenleri. Linux Nedir? Aydın ÜSTÜN (Selçuk Üniversitesi) e-posta:

POSTGRESQL'de İleri Seviyede Veri Kurtarma ve Yedekleme

TODAİE edevlet MERKEZİ UYGULAMALI E-İMZA SEMİNERİ KASIM E-imza Teknolojisi. TODAİE Sunumu

PostgreSQL'de Ölçekleme

Temel Linux Sunucusu Kurulumu

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

PostgreSQL Veritabanı Sunucusu. Replikasyon Yazılımları: Slony-I Devrim GÜNDÜZ PostgreSQL Geliştiricisi

Pardus. A. Murat Eren, 25 Mart Pardus Geliştiricisi. Pardus Yenilikleri Sık Sorulan Sorular

EnterpriseDB Kalitesi ile Tanıştırma. Devrim GÜNDÜZ Principal Systems Engineer EnterpriseDB

Postfix ile E-Posta Sistemi. Devrim GÜNDÜZ PostgreSQL Geliştiricisi Red Hat Certified Engineer.

Inovasyonu Hızlandırın

Kurumsal Masaüstü ve Sunucularda Pardus

1.Debian. 2.Ubuntu. Şekil 1. Güncel logosu

Özgür Yazılım ve Pardus. Erkan Tekman TÜBİTAK UEKAE 7 Aralık 2006

Temel Linux Eğitimi. İçindekiler

Linux Kurulumu (Sürüm 1.52) İçindekiler

Yrd. Doç. Server ACİM İnönü Üniversitesi Güzel Sanatlar Fakültesi. Bir Besteci'nin Gözünden Özgür Yazılım ve Özgür Yaşam

LKD Kendi İlacını Kullanıyor

Debian. Debian projesi, 1993 de Ian Murdock tarafından ticari olmayan bir proje

Pardus. S.Çağlar Onur, 21 Aralık Pardus Projesi [TÜBİTAK / UEKAE] Linux Kullanıcıları Derneği

Linux e Giriş ve Dağıtımlar

Linux Dosya Yapısı. Eren BAŞTÜRK.

A. Murat Eren. VI. Linux ve Özgür Yazılım Şenliği

Efe Çiftci Çankaya Üniversitesi Bilgisayar Mühendisliği Bölümü Kasım 2012 CENG 191 Computer Engineering Orientation Özel Sunumu

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi GÜVENLİK VE İZİNLER. BLM401 Dr.Refik SAMET

Pardus. Erkan Tekman, T. Barış Metin. 18 Mayıs Ulusal Dağıtım Projesi Ulusal Elektronik ve Kriptoloji Enstitüsü. Pardus için 10 Neden

Açık Kaynak Kodlu Yazılım

İsmail YENİGÜL. EnderUNIX Çekirdek Takımı Üyesi.

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Yerel Disk Üzerinde CentOS 7.0 Kurulumu 17 Red Hat Enterprise Linux 6 Kurulumu 32. Sisteme Giriş ve Çıkış 49 İÇİNDEKİLER 1 LINUX HAKKINDA 1

Nasıl Pardus Geliştiricisi Olunur?


Bağlantı Kılavuzu. Desteklenen işletim sistemleri. Yazıcıyı Yazılım ve Belgeler CD'sini kullanarak kurma. Bağlantı Kılavuzu

Neden Linux Sertifikas ı?

Akademik Dünyada Özgür Yazılım. Akademik Dünyada. Onur Tolga Şehitoğlu

PostgreSQL Veritabanı Sunucusu. HOT, VACUUM ve BGWRITER

Devrim Gündüz. Onur Yalazı İstanbul PGCluster ile etkin kümeleme

Başlık: Windows Sistem Yöneticisi Yardımcısı

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

Bağlantı Kılavuzu. Yazıcıyı yerel olarak yükleme (Windows) Yerel yazdırma nedir? Yazıcıyı Yazılım ve Belgeler CD'sini kullanarak kurma

Ubuntu Terminal Server Ve Uzak Masaüstü Sunucusu

İnternet Programcılığı

Bağlantı Kılavuzu. Desteklenen işletim sistemleri. Yazıcı yükleme. Bağlantı Kılavuzu

DATASOFT E-DEFTER. Kurulum Kılavuzu 01 TEMMUZ DATASOFT YAZILIM LTD. ŞTİ. Kartal/İstanbul

LyX. İlkay TÜRK ÇAKIR. SANAEM- TAEK HPFBO-Çukurova Üniversitesi

CHAPTER 9. DHCP Server

BİLGİLENDİRME TOPLANTISI

Regular Expressions ve grep, awk, sed ile Kullanımı

5. Türkiye PostgreSQL Konferansı - PGDay.Istanbul. Sponsorluk Dosyası.

Hızlı Sistem Kurulumu ve Yönetimi İçin Yeni Bir Yaklaşım: SUSE Stüdyo

Microsoft Outlook 2003 Kurulumu

Kriz Yönetim Yazılımlarında PostgreSQL

SUNUCU MİMARİLERİ GİRİŞ LİNUX SİSTEMLERE. Öğr.Gör. Mehmet Can HANAYLI

ÖZGÜR YAZILIMLAR İLE J2EE

HP Yazılım Zirvesi - İstanbul 20 May Wyndham Grand Levent Erdem Alaşehir / Finansbank Güvenlik Olay Korelasyonunda Büyük Veri Kullanımı

CHAPTER 11. YAZILIM KURULUMU, PAKET YÖNETİMİ (rpm) Sistem Güncelleme

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

Linux Temelli Zararlı Yazılımların Bulaşma Teknikleri, Engellenmesi ve Temizlenmesi

Debian GNU/Linux'da BootSplash & Grub Temalarının Kurulumu

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

Dijital Şirket Dönüşümü. Önder Güler

PostgreSQL 9.3 Kullanılabilirlik ve Başarım

Bilgisayar Dersi. Öğr. Gör Kağan GÜL. Kırşehir Ahi Evran Üniversitesi

Yum ile Paket Yönetimi

License. Veri Tabanı Sistemleri. Konular büyük miktarda verinin etkin biçimde tutulması ve işlenmesi. Problem Kayıt Dosyaları

Gitlab ile Web Tabanlı Git Deposu Yönetimi

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

XSS Exploitation via CHEF

Yeni Medya Uygulama ve Araştırma Merkezi E-Bülteni Ekim

Zekeriya Beşiroğlu TURKISH ORACLE USER GROUP. Oracle Cloud G nin GİDİŞİ. C nin GELİŞİ. Bilginc IT Academy /Oracle University Istanbul

Zararlı Kodlar& Analiz Temelleri ve Bir Saldırının Anatomisi

Pardus'a Katkı Vermek İçin Gereksinimler

KURUMSAL BİLGİ TEKNOLOJİLERİNDE PROFESYONEL ÇÖZÜMLER. i-gate E-DEFTER UYGULAMASI Bilgi Teknolojileri

ENFORMATİK Dersin Amacı

Oracle'dan PostgreSQL'e geçiş

Etkinlik hakkında. Enver ALTIN. Y. Boran PUHALOĞLU.

Özgür Yazılımlar ile Kablosuz Ağ Denetimi

Elektronik Đmza ve Güvenlik

Bağlantı Kılavuzu. Desteklenen işletim sistemleri. Yazıcıyı Yazılım ve Belgeler CD'sini kullanarak kurma. Bağlantı Kılavuzu

KAPSAM YEMİNLİ MALİ MÜŞAVİRLİK LTD. ŞTİ.

İŞLETİM SİSTEMLERİ. (Operating Systems)

*BSD Ailesine genel bakış

Web Sunucularda Uygulama Koşturulması

CYGWIN KURULUMU ve KULLANIMI

PHP Günleri 2013#1. mysql_* Fonksiyonları Ömrünü Doldurmak Üzere. Peki Şimdi Ne Olacak? Özgür Yazılım A.Ş.

PostgreSQL Veritabanı Sunucusu. Başarım Arttırma Yöntemleri

Transkript:

RPM Hazırlama Sanatı Devrim GÜNDÜZ Principal Systems Engineer @ EnterpriseDB Twitter: @DevrimGunduz Red Hat Certified Engineer Kişisel: devrim@gunduz.org İş: devrim.gunduz@enterprisedb.com

...bu anlatan da kim? Zararlı fanatik seviyesinde açık kaynak kod kullanıcısıyım. PostgreSQL'in ana katkıcılarından birisiyim. 1997 yılından beri masaüstünde Linux kullanıyorum. Fedora geliştiricisiyim. Kod yazmıyorum (pek). EnterpriseDB'de çalışıyorum. Eğlenceli bir işim var. İstanbul'da yaşıyorum. Metal dinliyorum (genelde) Bir oğlum var.

Ajanda RPM Nedir? Nereden başlamak gereklidir? Paketler nasıl oluşturulur? Paket denetleme Paketi kullanıma sunma Sorular

Ajanda RPM Nedir? Nereden başlamak gereklidir? Paketler nasıl oluşturulur? Paket denetleme Paketi kullanıma sunma Sorular

RPM nedir? RPM Package Manager Red Hat, Fedora, SLES, OpenSuSE, CentOS, Scientific Linux vb, paket yönetim sistemi Bağımlılık takibi yapabilme Güvenilir (dijital imza) (Peki yum nedir?)

RPM özellikleri Sunucudaki paketlerin sorgulanabilmesi Dosyaların sorgulanabilmesi $ rpm -qf `which rpmdev-newspec` rpmdevtools-8.2-1.fc16.noarch Kurulu dosyaların bütünlük ve güvenlik kontrolünün yapılabilmesi (rpm -V) Etkileşimli değil!

RPM özellikleri Bkz bir önceki seminer: Bir paket yönetim sisteminden beklenen herşeyi karşılıyor. Dağıtımın iki sürümü arasında bile farklılık

Ajanda RPM Nedir? Nereden başlamak gereklidir? Paketler nasıl oluşturulur? Paket denetleme Paketi kullanıma sunma Sorular

db4 kullanır. RPM Temelleri RPM veritabanı : /var/lib/rpm Kurulan paketler, dosyalar, dosyaların büyüklükleri, vs. burada tutulur. Makrolar ve diğer yapılandırma dosyaları: /etc/rpm /usr/lib/rpm http://www.gunduz.org/download.php?dlid=113

Ajanda RPM Nedir? Nereden başlamak gereklidir? Paketler nasıl oluşturulur? Paket denetleme Paketi kullanıma sunma Sorular

Paket oluşturma SRPM nedir? Source RPM Binary RPM yapmak için gerekebilecek tüm dosyalar Zorunlu olanlar: spec dosyası, yazılımın kaynak kodu Genelde olanlar: yamalar, ek dosyalar (.pdf belgeler gibi)

Paket oluşturma Hangi durumlarda SRPM'e gereksinim duyulur? Yazılım dağıtım içinde yoksa Yazılıma ek özellikler verilmesi gerekiyorsa Güvenlik politikalarınız nedeniyle kendi paketlerinizi kendinizin yapması gerekiyorsa...

Spec dosyası Paket yapımında kullanılan yol haritası Yazılım ile ilgili bilgiler, rpm yapmak için gerekli paketler Yönergeler, yamalar Changelog...

Makrolar Spec dosyalarının vazgeçilmezleri Paket içinde ya da dağıtım içinde tekrarlanan bilgilerin tutulması %global -> %define %define majorversion 9.1 %define pgbaseinstdir /usr/pgsql-% {majorversion} %{!?test:%define test 1} %{_bindir} %{_unitdir}

Makrolar %{?_isa} Requires: php%{?_isa} %{buildroot} %setup %build %make %makeinstall %clean %pre, %post, %preun, %postun Cuma Özgür Yazılım ve Linux Günleri 2012

RPM oluşturma araçları Kurulması gerekenler Geliştirme ortamını kurmanız gerekiyor. yum groupinstall Development Tools Birçok paket, ek geliştirme araçlarına gereksinim duyabilir. Fedora packager paket grubu bu açıdan idealdir. rpm-build rpmdevtools redhat-rpm-config rpmlint

rpmdevtools Paket geliştirmeye başlamak için gerekli yardımcı araçlar Paket yapımı için gerekli ortamın yaratılması Spec dosyalarının oluşturulması, kontrolü

RPM yaparken nelere dikkat ediliyor? Fedora bu konuda güzel politikalara sahip. http://fedoraproject.org/wiki/packaging:guidelines Dosyanın içinde kullanılacak tab, vs kadar herşey kontrol altında rpmlint ile kontrolden geçirmeyi unutmayın.

Geliştirme ortamı hazırlama Bağımlılıklardan emin olmak gerekli: rpmdev-rmdevelrpms Aşağıdaki paketlere bağımlılık verilmez: bash, bzip2,coreutils,cpio, diffutils fedora-release, findutils, gawk, gcc gcc-c++,grep, gzip, info, make, patch, redhat-rpm-config, rpm-build sed, shadow-utils,tar,unzip util-linux-ng,which, xz

RPM yaparken... Şimdi canlı örnek verelim.

Ajanda RPM Nedir? Nereden başlamak gereklidir? Paketler nasıl oluşturulur? Paket denetleme Paketi kullanıma sunma Sorular

Paket denetleme rpmlint Paketlerin kurallara uygunluğunun kontrolü Izinler, noktalama işaretleri, tab ve boşluklara kadar kontrol İdeal: 0 hata

Paket denetleme İmza rpm checksig rpm --checksig pgpool-ii-91-3.1-1.f16.x86_64.rpm pgpool-ii-91-3.1-1.f16.x86_64.rpm: (sha1) dsa sha1 md5 gpg OK rpm --addsign rpm --resign

Ajanda RPM Nedir? Nereden başlamak gereklidir? Paketler nasıl oluşturulur? Paket denetleme Paketi kullanıma sunma Sorular

Paketleri kullanıma sunma createrepo Yum deposunu hazırlar createrepo --checksum=sha -g /usr/local/etc/postgresqldbserver-$i.xml -d --update. && repoview -u "http://yum.postgresql.org/$i/$j/$k/" -o repoview/ -t "PostgreSQL PGDG RPMs" /rpms/... Rsync ya da arkadaşları ile bunu sunucuya aktarabilirsiniz.

Ajanda RPM Nedir? Nereden başlamak gereklidir? Paketler nasıl oluşturulur? Paket denetleme Paketi kullanıma sunma Sorular

Sorular Sıra sizde!

Kaynaklar http://www.gurulabs.com/downloads/gu http://fedoraproject.org/wiki/packaging:g http://svn.pgrpms.org http://wiki.pgrpms.org

RPM Hazırlama Sanatı Devrim GÜNDÜZ Principal Systems Engineer @ EnterpriseDB Twitter: @DevrimGunduz Red Hat Certified Engineer Kişisel: devrim@gunduz.org İş: devrim.gunduz@enterprisedb.com