Interakcja z mniam na centos za pomocą Pythona

Interakcja z mniam na centos za pomocą Pythona

Yum to narzędzie do obsługi pakietów oprogramowania, które są używane przez kilka znanych systemów operacyjnych, takich jak Fedora i Centos. Yum upraszcza instalacje oprogramowania w instancji CVM i ułatwia pobieranie i instalowanie programów, które oszczędzają czas i wysiłek. Yum może automatycznie decydować, pobierać i instalować wszystkie dostępne pakiety na utrzymanie, ponieważ automatycznie rozwiązuje zależność podczas aktualizacji, dodawania lub usuwania pakietów. Dowiemy się więcej o Yum za pomocą Pythona w systemie Centos w tym artykule.

Przykład 1: Zaktualizuj moduł YUM za pomocą Pythona w Centos

Jak wiemy, Yum jest narzędziem wiersza poleceń, które umożliwia użytkownikom automatyczną instalację i pobieranie zaktualizowanych pakietów RPM po sprawdzeniu aktualizacji.

#!/usr/bin/python
Import OS
cmd = „aktualizacja mniam”
OS.System (CMD)

Tutaj aktualizujemy YUM za pomocą pliku Pythona, aby sprawdzić, czy moduł Yum jest aktualizowany w systemie, czy też wymaga aktualizacji. Skrypt Python jest podawany tam, gdzie do aktualizacji używany jest Yum. Importujemy moduł „systemu operacyjnego” do interakcji z systemem operacyjnym Centos. Następnie używamy „CMD” do interpretacji przypisanego przez niego instrukcji. Przypisujemy polecenie do aktualizacji Yum.

Skrypt jest zapisany w pliku „Skrypt.py ”tutaj. Kiedy wykonujemy ten plik Pythona, zaczyna aktualizować Yum. Dane wyjściowe drukuje instrukcję, która stwierdza, że ​​„brak pakietów oznaczonych do aktualizacji”, ponieważ Yum jest już aktualizowany w Centos.

[root@Linux01 Kalsoom]# skrypt Python.py
Załadowane wtyczki: FastestMirror, Langpacks
Ładowanie prędkości lustrzanych z buforowanego pliku hosta
* baza: lustro.DC.Uz
* Dodatki: lustro.DC.Uz
* Aktualizacje: Mirror.DC.Uz
Brak pakietów oznaczonych do aktualizacji

Przykład 2: Sprawdź konfigurację YUM za pomocą Pythona w Centos

Poprzednie podejście polega na aktualizacji pakietu Yum za pomocą skryptu Pythona poprzez interakcje z Centos. Teraz pakiet Pythona „mniam” musi zostać zaimportowany, aby rozpocząć używanie Yum w programowaniu, który jest wstępnie zainstalowany w systemie operacyjnym Centos. Yum służy do zbadania konfiguracji YUM w tym przypadku.

#!/usr/bin/python
Import OS
Import Sys
importować mniam
yb = mniam.Yumbase ()
Wydrukuj „**** plik konfiguracyjny Yum ****”
Wydrukuj YB.conf.config_file_path
Wydrukuj „**** PLIFILE PATH ****”
Wydrukuj YB.conf.plik dziennika
Wydrukuj „**** repos katalogi i pliki ****”
bo w YB.conf.Reposdir: drukuj i
Wydrukuj „**** Pomiń parametr złamanego ****”
Wydrukuj YB.conf.skip_breen
Wydrukuj „**** Ustaw poziom błędów ****”
Wydrukuj YB.conf.Błąd LEVEL

Poprzedni kod źródłowy jest importowany z modułem „mniam” wraz z innymi wymaganymi modułami. Następnie tworzymy zmienną „YB”, w której wdrażana jest klasa bazowa Yumbase (). Używamy tego wiersza kodu w każdym z naszych przykładowych skryptów, ponieważ Yumbase jest klasą główną, która zawiera metody i obiekty potrzebne do przeprowadzenia wszystkich operacji zarządzania pakietami za pomocą YUM.

Instrukcje drukowania są podane w celu sprawdzenia konfiguracji Yum. Najpierw mamy instrukcję drukowania wyświetlającą ścieżkę pliku konfiguracyjnego Yum. Następnie ustawiamy polecenie drukowania pliku dziennika za pomocą zmiennej „YB”, aby pobrać ścieżkę pliku dziennika YUM. Następnie używamy polecenia „ReposDir” do wyświetlenia katalogów i plików repozytorium. Następnie mamy polecenie Yum z pominiętego parametru, który zwraca Fałsz domyślnie, gdy nie jest do niego określona wartość logiczna. Gdy parametr pominięcia jest podawany do polecenia konfiguracji Yumbase o prawdziwej wartości, umożliwia YUM automatyczne wykluczenie uszkodzonych pakietów z aktualizacji bez wejścia użytkownika. Ostatnią poleceniem konfiguracji YUM jest „Błąd LEvel”, aby ustawić poziom błędu. Ma wartość, która waha się od zera i 10, gdzie 0 jest ważne, a 10 obejmuje debugowanie.

Konfiguracja Yum drukuje plik konfiguracyjny Yum na terminalu. Otrzymujemy również ścieżkę pliku dziennika konfiguracji Yum. Wraz z tym wyświetlane są katalogi i pliki repozytorium Yum. Następnie uzyskujemy fałszywą wartość z polecenia pominięcia, ponieważ nie jest ustawiona żadna wartość w tej sprawie. Poziom wyników błędów jest również generowany jako „2”.

[root@Linux01 Kalsoom]# skrypt Python.py
**** plik konfiguracyjny Yum ****
Załadowane wtyczki: FastestMirror, Langpacks
/etc/mniam.conf
**** Ścieżka pliku dziennika ****
/var/log/yum.dziennik
**** Repos Dalalories and Files ****
/etc/yum/repo.D
/etc/mniam.repozytorium.D
**** Pomiń parametr złamany ****
FAŁSZ
**** Ustaw poziom błędów ****
2

Przykład 3: Wyszukaj pakiety z repozytoriów Yum za pomocą Pythona w Centos

W tym przypadku mniam jest wykorzystywany do lokalizacji i drukowania repozytoriów Yum dla określonych pakietów. Używamy różnych metod klasy Yumbase następującego pakietu Yum:

Import OS
Import Sys
importować mniam
yb = mniam.Yumbase ()
Yb.setCachedir ()
Wyniki = yb.PKGSACK.returnNeWestByNamearch (wzory = [„Python”, „php”])
Dla PKG w wynikach:
Wydrukuj „%s%s (%s) \ n \ t%s”%(pkg.Nazwa, pkg.Wersja, PKG.Arch, Pkg.streszczenie)

Po wdrożeniu modułu Yum w poprzednim skrypcie Pythona wstawiamy mniam.Linia yumbase (), aby rozpocząć kod. Następnie definiujemy polecenie setCachedir () Yumbase, aby ustanowić nowy katalog menu pamięci menu, aby wykonywać wszystkie operacje jako zwykły użytkownik, a także użytkownik root. Następny wiersz skryptu jest zdefiniowany ze zmienną „Wyniki”, w której używamy Yumbase, która jest wywoływana z poleceniem „PKGSCAK”, aby uruchomić zapytania na wszystkie dostępne repozytoria. Następnie używamy funkcji „ReturnNewstbyNearch” atrybutu „pkhscak” mniam. Metoda ReturnNewstbyAnch () pobiera obiekty pakietu, które pasują do ciągów wzoru „Python” lub „Php”.

Informacje związane z pakietami „Python” i „PHP” są wydrukowane na terminalu Centos przez moduł Yum.

[root@Linux01 Kalsoom]# skrypt Python.py
Załadowane wtyczki: FastestMirror, Langpacks
Ładowanie prędkości lustrzanych z buforowanego pliku hosta
* baza: lustro.DC.Uz
* Dodatki: lustro.DC.Uz
* Aktualizacje: Mirror.DC.Uz
Python 2.7.5 (x86_64)
Interpretowany, interaktywny, obiektowy język programowania
PHP 5.4.16 (x86_64)
Język scenariuszy PHP do tworzenia dynamicznych stron internetowych

Przykład 4: Zainstaluj opakowanie metodą Yum przy użyciu Pythona w Centos

Instalacja pakietu z Yum wymaga skonfigurowania i wypełnienia transakcji. Klasa Yumbase modułu Yum zapewnia metodę instalowania pakietów w centos za pomocą Pythona.

Import OS
Import Sys
importować mniam
yb = mniam.Yumbase ()
Yb.instaluj (name = 'php')
Yb.Resolvedeps ()
Yb.ProcessTransaction ()

Wdrażamy klasę Yumbase () w zmiennej „YB” po zaimportowaniu modułów Yum w poprzednim skrypcie Python. Następnie używamy YB.Zainstaluj polecenie, aby po prostu zainstalować określony pakiet. YB.Metoda install () bierze „nazwę” jako argument, do którego przypisujemy nazwę pakietu „PHP”, aby ustawić transakcję. Następnie, aby zainicjować rozdzielczość zależności, „YB.Metoda REDESPEDEPS () ”jest wywoływana. Następnie metoda ProcessTransaction () wyzwala instalację pakietu „PHP”.

W wyjściu widzimy, że pakiet PHP jest pomyślnie instalowany w systemie operacyjnym Centos, interakcja z metodami Yum.

[root@Linux01 Kalsoom]# skrypt Python.py
Załadowane wtyczki: FastestMirror, Langpacks
Ładowanie prędkości lustrzanych z buforowanego pliku hosta
* baza: lustro.DC.Uz
* Dodatki: lustro.DC.Uz
* Aktualizacje: Mirror.DC.Uz
Pakiet PHP-5.4.16-48.El7.x86_64 już zainstalowana i najnowsza wersja
Uruchamianie kontroli transakcji

Przykład 5: Ustaw repozytorium w danym miejscu z metodą Yum przy użyciu Pythona w centroos

Yum można skonfigurować do pobierania repozytorium w dowolnym miejscu. Oczekuje, że zaakceptuje parametr wiersza poleceń, który zawiera adres URL repozytorium.

Import OS
Import Sys
importować mniam
url = sys.Argv [1]
yb = mniam.Yumbase ()
Jeśli nie YB.setCachedir (siłę = true, reuse = false): print >> sys.stderr, „umożliwia utworzenie TMP. buforowany. "
Sys.Wyjście (1)
Yb.repozytorium.disablerepo („*”)
Yb.add_enable_repo („newrepos”, [url])

Tutaj stosujemy YB.repozytorium.Metoda disablerepo ('*'), która wyłącza wszystkie repozytoria, gdy nadajemy w niej symbol gwiazdkowy. Następnie nazywamy YB.Metoda add_enable_repo (), aby włączyć dane repozytorium, w którym ustawiony jest adres URL.

Poprzedni skrypt Pythona, podczas interakcji z Yum, ustawia dane repozytorium w określonej lokalizacji w centos, które generuje następujące wyniki:

[root@Linux01 Kalsoom]# skrypt Python.PY URL: // to/new/repos
Załadowane wtyczki: FastestMirror, Langpacks

Wniosek

W tym przewodniku zbadano sposoby korzystania z Python API pakietu Yum. Po prostu uruchamiamy polecenie UM ze skryptu Python, aby zaktualizować operację. Następnie wykorzystaliśmy pakiet Yum do konfiguracji Yum w Centos. Ponadto konkretny pakiet jest zapytany za pomocą modułu Yum. Następnie zademonstrowaliśmy sposób instalacji pakietu za pomocą metody instalacji Yum. W ten sam sposób możemy również odinstalować ten pakiet za pomocą YB.Metoda usuwania (). Ostatecznie ustawiamy repozytorium w lokalizacji, oddziałując z modułem Yum w Python.