Yum'u Korumak ve Performansını Artırmak için 'yum-utils' Nasıl Kurulur ve Kullanılır


Fedora, yeni paket yöneticisi ve varsayılan paket yönetimi kitaplığı olarak dnf'yi benimsemeye başlasa da, diğer yan dağıtımlarda (Red Hat Enterprise Linux () gibi) eski güzel yum paket yöneticisinin yerini tamamen alamayacaktır. >RHEL) ve CentOS) yum kadar güvenilir ve daha sağlam olduğu kanıtlanana kadar (Fedora Project wiki'ye göre, 15 Kasım itibarıyla, 2015, dnf hâlâ test edilebilir durumdadır). Bu nedenle, yum-yönetim becerileriniz size uzun bir süre daha hizmet edecektir.

Bu nedenle, bu kılavuzda size, yum'un yerel özelliklerini çeşitli şekillerde genişletmek ve böylece onu daha güçlü ve kullanımı daha kolay hale getirmek için yum ile entegre olan bir yardımcı programlar koleksiyonu olan yum-utils'i tanıtacağız.

Yum-utils'i RHEL/CentOS'a yükleme

Yum-utils temel depoya dahil edilmiştir (varsayılan olarak etkindir), dolayısıyla herhangi bir Fedora tabanlı dağıtıma yüklemek aşağıdakileri yapmak kadar kolaydır:

yum update && yum install yum-utils

yum-utils tarafından sağlanan tüm yardımcı programlar, bir sonraki bölümde anlatacağımız ana paketle birlikte otomatik olarak yüklenir.

yum-utils Paketinin Sağladığı Yardımcı Programları Keşfedin

yum-utils tarafından sağlanan araçlar kılavuz sayfasında listelenmiştir:

man yum-utils

İlginizi çekeceğini düşündüğümüz yum yardımcı programlarından 10 tanesi:

1. Pakette Hata Ayıklama

debuginfo-install , bir çökme veya çökme durumunda hatalarını ayıklamak için gereken debuginfo paketlerini (ve bunların bağımlılıklarını) yükler. Belirli bir paketi kullanan uygulamalar geliştirirken.

Bir pakette (veya başka bir yürütülebilir dosyada) hata ayıklamak için ayrıca gdb'yi (GNU hata ayıklayıcı) kurmamız ve onu hata ayıklama modunda bir programı başlatmak için kullanmamız gerekir.

Örneğin:

gdb $(which postfix)

Yukarıdaki komut, yürütülecek eylemleri yazabileceğimiz bir gdb kabuğu başlatacaktır. Örneğin, run (aşağıdaki resimde gösterildiği gibi) programı başlatırken bt (gösterilmemiştir) yığın izlemeyi (backtrace olarak da bilinir) görüntüler. ) programın yürütülmesinde belirli bir noktaya yol açan işlev çağrılarının bir listesini sağlayacaktır (bu bilgiyi kullanarak hem geliştiriciler hem de sistem yöneticileri bir çökme durumunda neyin yanlış gittiğini anlayabilirler).

Diğer mevcut işlemler ve bunların beklenen sonuçları man gdb'de listelenmiştir.

2. Kurulu Paketlerin Deposunu Bulun

Aşağıdaki komut, şu anda yüklü olan paketlerinin hangi depodan yüklendiğini gösterir:

find-repos-of-install httpd postfix dovecot

Bağımsız değişkenler olmadan çalıştırılırsa, find-repos-of-install şu anda yüklü olan paketlerin tam listesini döndürür.

3. Yinelenen veya Artık Paketleri Kaldır

package-cleanup, aşağıdaki örnekte gösterildiği gibi eski çekirdeklerin kaldırılması da dahil olmak üzere paket temizlemeyi, kopyaları, artık paketleri (şu anda yapılandırılmış depolar dışında bir kaynaktan yüklenen programlar) ve diğer bağımlılık tutarsızlıklarını yönetir:

package-cleanup --orphans
package-cleanup --oldkernels

Son komutun çekirdeğinize zarar vermesi konusunda endişelenmenize gerek yok. Bu yalnızca artık ihtiyaç duyulmayan eski çekirdek paketlerini (şu anda çalışmakta olandan daha eski sürümler) etkileyecektir.

4. Paket Bağımlılığı Listesini Öğrenin

repo-graph, yapılandırılmış depolarda bulunan tüm paketler için nokta biçiminde tam bir paket bağımlılık listesi döndürür. Alternatif olarak, repo-graph, --repoid= seçeneğiyle birlikte kullanıldığında aynı bilgiyi depoya göre döndürebilir.

Örneğin, güncelleme deposundaki her paketin bağımlılıklarını görüntüleyelim:

repo-graph --repoid=updates | less

Yukarıdaki komutta, daha kolay görselleştirme için repo-graph çıktısını less'a gönderiyoruz, ancak alternatif olarak daha sonra incelemek üzere yerel bir dosyaya yönlendirebilirsiniz:

repo-graph --repoid=updates > updates-dependencies.txt

Her iki durumda da iputils paketinin systemd ve openssl-libs'e bağlı olduğunu görebiliriz.

5. Çözümlenmemiş Bağımlılıkların Listesini Kontrol Edin

repoclose yapılandırılmış depoların meta verilerini okur, bunlara dahil olan paketlerin bağımlılıklarını kontrol eder ve her paket için çözülmemiş bağımlılıkların listesini görüntüler:

repoclosure

6. Dizindeki En Yeni veya En Eski Paketler Nasıl Kontrol Edilir

repomanage rpm paketlerini içeren bir dizini sorgular ve bir dizindeki en yeni veya en eski paketlerin listesini döndürür. Farklı programların birkaç .rpm paketini depoladığınız bir dizininiz varsa bu araç kullanışlı olabilir.

Bağımsız değişkenler olmadan yürütüldüğünde yeniden yönetme en yeni paketleri döndürür. --old bayrağıyla çalıştırılırsa en eski paketleri döndürür:

ls -l
cd rpms
ls -l rpms
repomanage rpms

Lütfen rpm paketlerinin adını değiştirmenin yeniden yönetimin işleyişini ETKİLEMEYECEĞİNİ unutmayın.

7. Paket Hakkında Bilgi Almak İçin Yum Depolarını Sorgulayın

repoquery yum depolarını sorgular ve kurulu olup olmadıklarına ilişkin paketler hakkında ek bilgi alır (bağımlılıklar, pakette bulunan dosyalar ve daha fazlası).

Örneğin, aşağıda görebileceğiniz gibi htop (Linux Process Monitoring) şu anda bu sistemde kurulu değil:

which htop
rpm -qa | grep htop

Şimdi varsayılan kurulumda bulunan dosyalarla birlikte htop'un bağımlılıklarını da listelemek istediğimizi varsayalım. Bunu yapmak için sırasıyla aşağıdaki iki komutu yürütün:

repoquery --requires htop
repoquery --list htop

8. Kurulu Tüm RPM Paketlerini Zip Dosyasına Aktarın

yum-debug-dump, yüklediğiniz tüm paketlerin, herhangi bir depoda bulunan tüm paketlerin, önemli yapılandırmanın ve sistem bilgilerinin tam listesini sıkıştırılmış bir dosyaya dökmenize olanak tanır.

Oluşan bir sorunda hata ayıklamak istemeniz durumunda bu kullanışlı olabilir. Size kolaylık sağlamak için yum-debug-dump, dosyayı yum_debug_dump-- olarak adlandırır ve bu, zaman içindeki değişiklikleri izlememize olanak tanır. .

yum-debug-dump

Herhangi bir sıkıştırılmış metin dosyasında olduğu gibi, zless komutunu kullanarak içeriğini görüntüleyebiliriz:

zless yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz

yum-debug-dump tarafından sağlanan yapılandırma bilgilerini geri yüklemeniz gerekirse, bunu yapmak için yum-debug-restore'u kullanabilirsiniz:

yum-debug-restore yum_debug_dump-mail.linuxnewz.com-2015-11-27_08:34:01.txt.gz

9. Yum Depolarından Kaynak RPM'leri İndirme

yumdownloader, bağımlılıkları da dahil olmak üzere depolardan kaynak RPM dosyalarını indirir. Kısıtlı İnternet erişimi olan diğer makinelerden erişilebilecek bir ağ deposu oluşturmak için kullanışlıdır.

Yumdownloader yalnızca ikili RPM'leri değil aynı zamanda kaynak olanları da (--source seçeneğiyle kullanılıyorsa) indirmenize olanak tanır.

Örneğin, rpm kullanarak programı yüklemek için gereken RPM'leri saklayacağımız htop-files adında bir dizin oluşturalım. Bunu yapmak için yumdownloader ile birlikte --resolve anahtarını kullanmamız gerekiyor:

mkdir htop-files
cd htop-files
yumdownloader --resolve htop
rpm -Uvh 

10. Uzak Yum Deposunu Yerel Dizine Senkronize Etme

reposync, yumdownloader ile yakından ilişkilidir (aslında neredeyse aynı seçenekleri desteklerler) ancak önemli bir avantaj sunar. İkili veya kaynak RPM dosyalarını indirmek yerine uzak bir depoyu yerel bir dizine senkronize eder.

İyi bilinen EPEL deposunu mevcut çalışma dizini içindeki epel-local adlı bir alt dizine senkronize edelim:

man reposync
mkdir epel-local
reposync --repoid=epel --download_path=epel-local

8867 paketleri indirildiğinden bu işlemin oldukça uzun süreceğini unutmayın:

Senkronizasyon tamamlandıktan sonra, EPEL deposunun yeni oluşturduğumuz aynanın kullandığı disk alanı miktarını du komutunu kullanarak kontrol edelim:

du -sch epel-local/*

Artık bu EPEL aynasını korumak veya uzaktaki bir aynayı kullanmak yerine paketleri yüklemek için kullanmak isteyip istemediğiniz size kalmış. İlk durumda, /etc/yum.repos.d/epel.repo dosyasını buna göre değiştirmeniz gerekeceğini lütfen unutmayın.

11. Tamamlanmamış veya İptal Edilen Yum İşlemlerini Düzeltin

yum-complete-transaction, bir sistemdeki tamamlanmamış veya iptal edilmiş yum işlemlerini yakalayan ve tamamlamaya çalışan yum-utils programının bir parçasıdır.

Örneğin, Linux sunucularını yum paket yöneticisi aracılığıyla güncellediğimizde bazen aşağıdaki gibi bir uyarı mesajı çıkıyor:

Geriye kalan tamamlanmamış işlemler var. Bunları bitirmek için önce yum-complete-transaction'ı çalıştırmayı düşünebilirsiniz.

Bu tür uyarı mesajlarını düzeltmek ve bu sorunu çözmek için, tamamlanmamış işlemleri tamamlamak üzere yum-complete-transaction komutu devreye girer ve bu tamamlanmamış veya iptal edilmiş yum işlemlerini transaction-all*'da bulur. /var/lib/yum dizininde bulunabilen Strong> ve transaction-done* dosyaları.

Tamamlanmamış yum işlemlerini tamamlamak için yum-complete-transaction komutunu çalıştırın:


yum-complete-transaction --cleanup-only

Artık yum komutları eksik işlem uyarıları olmadan çalışacaktır.


yum update

Not: Bu ipucu, düzenli okuyucularımızdan biri olan Bay. Tomas'ı buradaki yorumlar bölümünde bulabilirsiniz.

Özet

Bu makalede yum-utils aracılığıyla sağlanan en kullanışlı yardımcı programlardan bazılarını ele aldık. Tam liste için kılavuz sayfasına (man yum-utils) başvurabilirsiniz.

Ek olarak, bu araçların her birinin ayrı bir kılavuz sayfası vardır (örneğin, man reposync'e bakın), bunlar hakkında daha fazla bilgi edinmek istiyorsanız başvurmanız gereken birincil belge kaynağıdır.

yum-utils'in kılavuz sayfasını kontrol etmek için bir dakikanızı ayırırsanız, belki ayrı bir makalede daha derinlemesine ele almamızı istediğiniz başka bir araç bulabilirsiniz. Öyleyse veya bu makaleyle ilgili sorularınız, yorumlarınız veya önerileriniz varsa, aşağıdaki yorum formunu kullanarak bize bir not bırakarak hangisi olduğunu bize bildirmekten çekinmeyin.


Tüm hakları saklıdır. © Linux-Console.net • 2019-2024