İlginizi Çekebilir
  1. Ana Sayfa
  2. Open Source
  3. CentOS 7 Sunucularda Local Repository Oluşturma ve YUM Komutları

CentOS 7 Sunucularda Local Repository Oluşturma ve YUM Komutları

CentOS 7 Sunucularda Local Repository Oluşturma ve YUM Komutları

uygulama paketlerinin tutulduğu, paketlerin güncellendiği merkezi bir paket yönetim deposudur. Bu ’lere internet üzerinden ulaşılabileceği gibi lokalimizde de bulundurup sunucumuza paketleri buradan kurup update geçebiliriz. Ayrıca lokalimize kurduğumuz bu repositoryi üzerindeki sunucunun kullandığı gibi ftp veya http üzerinden başka makinalarında kullanmasını sağlayabiliriz. sunucularda installation CD’sinin içinde birçok paket bulunmaktadır. Bu CD’yi mount edip lokal repo oluşturulabilir veya web üzerinden public bir repo indirilerek de offline repository oluşturulabilinir.

YUM (YellowDog Updater, Modified)

CentOS ve türevlerinde rpm paketlerini yönetmek için paket yöneticisi olarak yum kullanılır. yum ile paketlerin dependencyleriyle uğraşmadan istenilen paket yüklenip update edilebilir. Versiyon ve kernel güncellemeleri de yum üzerinden yapılır. Şimdi bir kaç komut ile yum kullanımına örnekler vereceğim sonrasında ise hem installation CD’si ile hem de internet üzerinden repo indirerek lokalimize repositoryler oluşturacağım. İlk olarak paket yüklemeye bakalım. Vim editörünü yüklemek için yum install vim komutu kullanılır. Bu komut sonrasında yum paket yöneticisi repodaki vim paketini ve gerekli olan dependecyleri bulur ve yükler. Ayrıca -y parametresi ile confirmation yapmadan direk olarak paketin yüklenmesi sağlanabilir.


Resim -1

Paketin dependencyleri ile birlikte komple kaldırılması için de yum remove komutu kullanılır.


Resim – 2

yum update komutu ile de istenen paket update edilebilir ya da paket ismi belirtmeden bütün sistemi update edebilirsiniz.


Resim – 3

yum search komutu ile de repoda istenen paketler aranabilir.

Resim -4

yum info komutu ile de yüklemeden önce paket hakkında bilgi alınabilir.

Resim – 5

Ayrıca kullanışlı olan bir diğer kullanım ise bir konfigürasyon dosyasının hangi pakete ait olduğunu yum provides komutu ile bulabiliyor olmamızdır.

Resim – 6

yum paket yüklemeden önce /etc/yum.repos.d/ directorysindeki repoları kontrol eder. Burada .repo uzantılı repoları tanımlayan dosyalar vardır. Ayrıca bir dosyanın içinde birden çok repoda olabilir.

Bir repoyu sunucuya tanıtmak için aşağıdaki özelliklerde .repo uzantılı bir dosyaya eklenmelidir.

– Repository id = her repo için unique bir id vardır. Genellikle o repoyu tanımlayacak bir sözcüktür.

– Name = herkes tarafından anlaşılması için repoyu belirten açıklayıcıdır

– Baseurl = repodata’yı gösteren URL’dir.

– Enabled = reponun kullanılacağını veya kullanılmayacağını belirtir

– Gpgcheck = Gpg signature kontrolü yapması için kullanılır.

– Gpgkey = Gpgkey’i gösteren URL’dir.

 

Şimdi de installation CD’mizi takıp kendi repo file’imizi oluşturabiliriz.

 

 

 

 

 

 

 

Resim – 7

CD’yi takıp mount ettikten sonra Packages directorysi altında rpm paketlerini görebiliriz. Şimdi de “/etc/yum.repos.d” altına rhel.repo isimli bir dosya oluşturup. CD’mizi repo olarak göstereceğim.

[root@server-1 ~]# cat /etc/yum.repos.d/rhel.repo
[rhel]
name=rhel
baseurl=file:///mnt/repo
enabled=1
gpgcheck=0


Resim – 8

Gördüğünüz gibi yum repolist komutu ile repomuzdaki 5099 paketi görebiliriz. Şimdi de public bir repoyu lokalimize indirip http üzerinden erişmeyi sağlayalım. İlk olarak httpd paketini kurup servisi başlatıyoruz. Paket kurulumundan sonra web browser üzerinden ip adresimizi girerek default web page’i çağırıp kontrolü yapabiliriz.

[root@server-1 ~]# yum -y install httpd

[root@server-1 ~]# systemctl start httpd

[root@server-1 ~]# systemctl enable httpd

 

Public repo olarak reposunu seçtim. Burdaki php 5.6 reposunu indireceğim. Bunun için remiphp56.repo isminde bir dosya oluşturdum. Repoya baseurl veya mirrorlist ile ulaşabilirsiniz. Ben göstermek için ikisini de yazdım. Sonrasında yum clean all komutu ile cache’i temizleyip yum repolist ile yeni repomuzu görebiliriz.

 

[root@server-1 ~]# cat /etc/yum.repos.d/remiphp56.repo

[remi-php56]

name=Remi’s PHP 5.6 RPM repository for Enterprise Linux 7 – $basearch

baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/

#mirrorlist=http://cdn.remirepo.net/enterprise/7/php56/mirror

enabled=1

gpgcheck=1

gpgkey=http://rpms.remirepo.net/RPM-GPG-KEY-remi

yum repolist çıktısı aşağıdaki gibidir. Gördüğünüz gibi remi-php56 id’li repoda 429 tane paket mevcut.


 

Resim – 9

Sonrasında reposync komutu ile remi-php56’teki rpm’leri lokalimize indiriyoruz. HTTP üzerinden servis edeceğim için /var/www/html/ directorysimi downloadpath gösterdim. Sonrasında da reposync komutu ile rpmleri bu dizine inmiş olacak.


 

Resim – 10

İndirmiş olduğum rpmlerden repo oluşturmak için createrepo ve yum-utils paketlerine ihtiyacım var onları da yüklüyorum.

[root@server-1 ~]# yum -y install createrepo  yum-utils

Sonrasında da createrepo komutu ile “/var/www/html/remiphp56/” dizin altına repositoryimizi oluşturuyoruz.

 

 

 

 

 

Resim – 11

Sonrasında da httpd servisini restart edip repomuza erişebiliriz.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Resim -12

Client sunucumuzda da repo dosyamızı aşağıdaki gibi oluşturup yum repolist komutunu çalıştırdığımızda lokaldeki sunucudan paketleri gördüğünü görüyoruz.

[root@server-2 ~]# cat /etc/yum.repos.d/local.repo

[local_repo]

name=local remi php 56 reposu

baseurl=http://192.168.100.211/remi-php56

enabled=1

gpgcheck=0


Resim – 13

Reposync komutu crontaba eklenip güncel repolar düzenli olarak indirilir ve createrepo –update komutu ile lokal repolarımızı güncel tutabiliriz. Bu işlemler public olarak yayınlanan bütün repolar için kullanılabilir. Red Hat Enterprise Linux veya Oracle Linux’un repoları subscription ile çekildiği için farklı bir konfigürasyon gerekiyor ama ihtiyaç olan çoğu paketi açık repolardan bulabilirsiniz.

Özetlemek gerekirse ilk olarak basitçe yum komutlarından başlayıp installation CD’sinden repo oluşturduktan sonra public bir repoyu internetten indirip lokalimizde bir repository oluşturduk ve client makinamıza bu repoyu gösterip paketleri burdan kurmasını sağladık.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: Linux, OpenSource, YUM, Repository, RPM, Centos, RHEL, RedHat RemiPHP5.6, ,,Yum nedir

Yorum Yap

Yazar Hakkında

2016 yılında Yıldız Teknik Üniversitesi Elektronik ve Haberleşme Mühendisliğinden mezun oldum. Sonrasında Bilge Adamda 6 aylık sistem ve ağ uzmanlığı eğitimi alıp. Bu eğitimde Microsoft On-Prem ürünlerini tecrübe ettim. Sonrasında Vakifbank'ta Cloud Administrator olarak işe başladım. Storage ve sanallaştırma ekibindeyim. Storage tarafında EMC ve Hitachi ürünlerini SAN tarafında ise Brocade switchlerin yönetimini yapmaktayım. Bunlara ek olarak VMware ürünleri,ağırlıklı olarak Cisco UCS fiziksel sunucular ve Linux işletim sistemleri ile ilgilenmekteyim. VMware ürünlerinden de özellikle vRealize Orchestrator üzerine çalışmaktayım. Linuxlara işletim sistemi seviyesinde destek olmanın yanında Ansible üzerine yoğunlaşmış durumdayım.

Yorum Yap