Interactuar con yum en centos usando python

Interactuar con yum en centos usando python

Yum es una utilidad para manejar paquetes de software utilizados por varios sistemas operativos conocidos como Fedora y Centos. YUM simplifica las instalaciones de software en una instancia de CVM y hace que sea fácil descargar e instalar los programas que ahorra tiempo y esfuerzo. YUM puede determinar, obtener e instalar todos los paquetes de dependientes disponibles automáticamente, ya que resuelve automáticamente la dependencia al actualizar, agregar o eliminar los paquetes. Aprenderemos más sobre Yum usando Python en el sistema CentOS en este artículo.

Ejemplo 1: Actualice el módulo YUM usando Python en CentOS

Como sabemos, YUM es una herramienta de línea de comandos que permite a los usuarios instalar y descargar automáticamente los paquetes RPM actualizados después de verificar las actualizaciones.

#!/usr/bin/python
importar sistema operativo
cmd = "actualización de yum"
sistema operativo.Sistema (CMD)

Aquí, actualizamos YUM con el archivo Python para verificar si el módulo YUM se actualiza dentro del sistema o si requiere una actualización. El script de Python se da donde se usa yum para actualizar. Importamos el módulo "OS" para interactuar con el sistema operativo CentOS. Luego, usamos "CMD" para interpretar la declaración que se le asigna. Asignamos un comando para actualizar yum.

El script se guarda en el archivo "script.py ”aquí. Cuando ejecutamos este archivo de Python, comienza a actualizar YUM. La salida imprime la declaración que establece que "no hay paquetes marcados para la actualización" porque YUM ya está actualizado en CentOS.

[root@linux01 kalsoom]# script python.py
Complementos cargados: Fastestmirror, Langpacks
Carga de velocidades de espejo desde el archivo host en caché
* Base: Mirror.corriente continua.Uz
* Extras: espejo.corriente continua.Uz
* Actualizaciones: espejo.corriente continua.Uz
No hay paquetes marcados para la actualización

Ejemplo 2: Verifique la configuración de Yum usando Python en CentOS

El enfoque anterior es actualizar el paquete YUM utilizando el script de Python interactuando con CentOS. Ahora, el paquete Python "Yum" debe importarse para comenzar a usar YUM en la programación que está preinstalado en el sistema operativo CentOS. Yum se usa para examinar la configuración de YUM en este caso.

#!/usr/bin/python
importar sistema operativo
Sys de importación
importar
yb = yum.Yumbase ()
Imprima "**** Yum Config File ****"
Imprimir YB.confusión.config_file_path
Imprima "**** ruta de archivo de registro ****"
Imprimir YB.confusión.archivo de registro
Imprima "**** Directorios y archivos de Repos ****"
para yo en yb.confusión.Reposdir: Imprimir i
Imprima "**** parámetro omitido ****"
Imprimir YB.confusión.omitir
Imprima "**** Establezca el nivel de errores ****"
Imprimir YB.confusión.error de error

El código fuente anterior se importa con el módulo "yum" junto con los otros módulos requeridos. Después de eso, creamos la variable "YB" donde se implementa la clase base Yumbase () del módulo "YUM". Utilizamos esta línea de código en cada uno de nuestros scripts de ejemplo porque Yumbase es la clase raíz que contiene los métodos y objetos que se necesitan para llevar a cabo todas las operaciones de administración de paquetes utilizando YUM.

Las declaraciones de impresión se dan para verificar la configuración de YUM. Primero, tenemos una declaración de impresión que muestra la ruta del archivo de configuración YUM. Luego, establecemos un comando de impresión de logfile usando la variable "YB" para obtener la ruta del archivo de registro de yum. Después de eso, utilizamos el comando "Reposdir" para generar los directorios y archivos del repositorio. Luego, tenemos un comando yum de un parámetro saltador que devuelve falso de forma predeterminada cuando no se especifica ningún valor booleano. Cuando el parámetro Skip-Break se da a un comando de configuración de Yumbase con un valor real, permite a YUM excluir automáticamente los paquetes dañados de las actualizaciones sin la entrada del usuario. El último comando de la configuración YUM es "ErrorLevel" para establecer el nivel de error. Tiene un valor que varía de cero y 10, donde 0 solo es importante y 10 comprende la depuración.

La configuración de YUM imprime el archivo de configuración de yum en el terminal. También obtenemos la ruta del archivo de registro de la configuración YUM. Junto con esto, se muestran los directorios y archivos del repositorio de Yum. Luego, obtenemos el valor falso del comando omitir-roto ya que no se establece ningún valor en este. El nivel de resultados de error también se genera como "2".

[root@linux01 kalsoom]# script python.py
**** YUM CONFIG FILE ****
Complementos cargados: Fastestmirror, Langpacks
/etc/yum.confusión
**** ruta de archivo de registro ****
/var/log/yum.registro
**** Directorios y archivos de Repos ****
/etc/yum/repos.d
/etc/yum.repositar.d
**** parámetro saltador ****
FALSO
**** Establezca el nivel de errores ****
2

Ejemplo 3: Busque paquetes de los repositorios de Yum usando Python en CentOS

Yum, en este caso, se utiliza para localizar e imprimir los repositorios de Yum para los paquetes especificados. Utilizamos algunos métodos diferentes de la clase Yumbase del siguiente paquete YUM:

importar sistema operativo
Sys de importación
importar
yb = yum.Yumbase ()
YB.setCachedir ()
Resultados = YB.pkgsack.returnnewestbynamearch (patrones = ["python", "php"])
Para PKG en resultados:
Imprimir "%s%s (%s) \ n \ t%s"%(PKG.Nombre, PKG.Versión, PKG.Arch, PKG.resumen)

Después de desplegar el módulo YUM en el script de Python anterior, insertamos el yum.Línea yumbase () para comenzar el código. Luego, definimos el comando setCachedir () de yumbase para establecer un nuevo directorio de caché Yum para realizar todas las operaciones como un usuario regular, así como el usuario root. La siguiente línea del script se define con la variable "Resultados" donde usamos el yumbase que se invoca con el comando "PKGSCAK" para ejecutar las consultas en todos los repositorios accesibles. Después de eso, utilizamos la función "returnnewstbynamearch" del atributo "pkhscak" de YUM. El método returnnewstbynamearch () recupera los objetos del paquete que coinciden con las cadenas de patrones "python" o "php".

La información relacionada con los paquetes "Python" y "PHP" se imprime en el terminal CentOS por el módulo YUM.

[root@linux01 kalsoom]# script python.py
Complementos cargados: Fastestmirror, Langpacks
Carga de velocidades de espejo desde el archivo host en caché
* Base: Mirror.corriente continua.Uz
* Extras: espejo.corriente continua.Uz
* Actualizaciones: espejo.corriente continua.Uz
Python 2.7.5 (x86_64)
Un lenguaje de programación interpretado, interactivo y orientado a objetos
Php 5.4.16 (x86_64)
Lenguaje de secuencias de comandos PHP para crear sitios web dinámicos

Ejemplo 4: Instale el paquete con el método YUM usando Python en CentOS

La instalación del paquete con yum requiere configurar y completar una transacción. La clase Yumbase del módulo YUM proporciona el método para instalar los paquetes en CentOS usando Python.

importar sistema operativo
Sys de importación
importar
yb = yum.Yumbase ()
YB.install (name = 'php')
YB.resueldeps ()
YB.ProcessTransaction ()

Implementamos la clase Yumbase () en la variable "YB" después de importar los módulos YUM en el script de Python anterior. Entonces, utilizamos el YB.Instalar comando para simplemente instalar el paquete especificado. El yb.El método Install () toma el "nombre" como un argumento al que asignamos el nombre del paquete "PHP" para establecer la transacción. Después de eso, para iniciar la resolución de dependencias, el "YB.el método resueldeps () "se llama. A continuación, el método ProcessTransaction () desencadena la instalación del paquete "PHP".

Podemos ver en la salida que el paquete PHP se instala correctamente en el sistema operativo CentOS al interactuar con los métodos YUM.

[root@linux01 kalsoom]# script python.py
Complementos cargados: Fastestmirror, Langpacks
Carga de velocidades de espejo desde el archivo host en caché
* Base: Mirror.corriente continua.Uz
* Extras: espejo.corriente continua.Uz
* Actualizaciones: espejo.corriente continua.Uz
Paquete PHP-5.4.16-48.El7.x86_64 ya instalada y última versión
Ejecución de verificación de transacción

Ejemplo 5: Establezca un repositorio en una ubicación determinada con el método YUM usando Python en CentOS

Se puede configurar yum para recuperar un repositorio en cualquier ubicación. Espera aceptar un parámetro de línea de comando que contenga la URL del repositorio.

importar sistema operativo
Sys de importación
importar
URL = SYS.Argv [1]
yb = yum.Yumbase ()
Si no YB.setCachedir (force = true, reuse = false): imprimir >> sys.stderr, "habilitar para crear un TMP. cachedir. "
sys.Salir (1)
YB.repositar.DisableRepo ('*')
YB.add_enable_repo ('NewRepos', [URL])

Aquí, empleamos el YB.repositar.Método discaplerepo ('*') que deshabilita todos los repositorios mientras le damos el símbolo de asterisco dentro de él. Después de eso, llamamos al YB.método add_enable_repo () para habilitar el repositorio dado donde se establece la URL.

El script de Python anterior, al interactuar con YUM, establece el repositorio dado en la ubicación específica en CentOS que genera los siguientes resultados:

[root@linux01 kalsoom]# script python.Py url: // to/new/Repos
Complementos cargados: Fastestmirror, Langpacks

Conclusión

Esta guía exploró formas de usar la API Python del paquete Yum. Simplemente ejecutamos el comando um desde el script de python para actualizar la operación. Luego, utilizamos el paquete YUM para la configuración de YUM en CentOS. Además, el paquete específico se consulta utilizando el módulo YUM. Después de eso, demostramos la forma de instalar el paquete con el método de instalación YUM. De la misma manera, también podemos desinstalar ese paquete usando el YB.método eliminar (). Al final, establecemos el repositorio en la ubicación interactuando con el módulo Yum en Python.