En el caso de SUSE Linux (openSUSE, SUSE Enterprise y derivados), zypper y YaST son los administradores de paquetes. Mientras que YaST (otra herramienta de configuración más) sirve para administrar, instalar y configurar SUSE Linux, zypper es la interfaz CLI del administrador de paquetes ZYpp. ZYpp es el núcleo de zypper y YaST.
En este artículo, profundizaremos en el uso de zypper para todo tipo de propósitos.
Nota: Como los comandos zypper realizan cambios en todo el sistema, estos comandos deben ejecutarse como root. De lo contrario, los comandos fallarán.
Sin más preámbulos, comencemos! Todos estos ejemplos se muestran en openSUSE Tumbleweed. Sin embargo, estos comandos son universales para el administrador de paquetes zypper.
Ayuda de Zypper
Ejecutar zypper sin ningún comando imprimirá una lista de todos los comandos disponibles.
$ zypper
Es una gran lista! Si necesita ayuda con respecto a algún comando específico, ejecute el siguiente comando.
$ zypper ayuda
Actualización de la base de datos de Zypper
Esta es una de las funciones más comunes de zypper para mantener actualizada su base de datos de paquetes local con el servidor de paquetes.
$ sudo zypper refresh
En lugar de utilizar "actualizar", también puede utilizar la abreviatura "ref".
$ sudo zypper ref
También es posible forzar a zypper a reconstruir su base de datos local. Esto puede ser útil en situaciones, por ejemplo, si la base de datos está dañada.
$ sudo zypper actualizar -fdb
Actualizar paquetes del sistema
Para obtener e instalar todas las actualizaciones de paquetes más recientes de openSUSE, ejecute el siguiente comando.
$ sudo zypper actualización
Sin embargo, recomiendo usar la siguiente estructura para obtener el máximo beneficio.
$ sudo zypper fresh && sudo zypper update
Si está interesado en consultar los paquetes que tienen actualizaciones disponibles, ejecute el siguiente comando. Zypper generará una lista de actualizaciones disponibles para usted.
$ zypper list-updates --todos
Instalar un paquete
Para instalar un paquete, use el siguiente comando.
$ sudo zypper instalar vlc
Hay algunas abreviaturas interesantes de los comandos zypper. En este caso, el siguiente comando también es válido y hará el mismo trabajo.
$ sudo zypper en vlc
Si tiene que instalar varios paquetes al mismo tiempo, simplemente incluya el nombre del paquete uno tras otro separados por un espacio.
$ sudo zypper install
Al realizar una acción, zypper pedirá confirmación. Para desactivar el modo interactivo, agregue la marca "-no-interactivo" o "-n".
$ sudo zypper: no interactivo en vlcsudo zypper -n en vlc
La función de comodín también es compatible con zypper. Por ejemplo, intentemos instalar todos los paquetes que comienzan con el nombre
pitón.$ sudo zypper en 'python *'
Fuente instalar un paquete
Nota: antes de realizar los siguientes pasos, no olvide comprobar si el repositorio de origen está activado. De lo contrario, las instalaciones de origen no se realizarán correctamente. Habilitar el repositorio de origen desde "Repositorios de software de YaST".
Si necesita instalar el paquete fuente de un paquete en particular, use la marca "source-install".
$ sudo zypper source-install vlc
De forma predeterminada, este comando también solicitará la instalación de todas las dependencias de compilación. Para evitar las dependencias de compilación, agregue la marca "-D".
$ sudo zypper source-install -D vlc
En caso de que solo desee instalar las dependencias de compilación, use "-d" en su lugar.
$ sudo zypper instalar fuente-instalar -d vlc
Buscando un paquete
Hay miles de paquetes en el repositorio de openSUSE. Para realizar una búsqueda usando zypper, use la siguiente estructura.
$ zypper búsquedaPor ejemplo, busquemos todos los paquetes con el término "python" en él.
$ zypper búsqueda python
Dicha búsqueda puede imprimir una lista LARGA de paquetes. En tal situación, usar "grep" o exportar el resultado y luego realizar la ejecución puede ofrecer algo de comodidad.
La opción "buscar" también tiene una abreviatura "se".
$ zypper -n se
Tenga en cuenta que para realizar búsquedas, no tuvimos que usar "sudo" al principio. Esto se debe a que zypper no está realizando ningún cambio en todo el sistema.
Eliminar un paquete
Si desea deshacerse de un paquete determinado, use la opción "eliminar".
$ sudo zypper eliminarPor ejemplo, eliminemos VLC del sistema.
$ sudo zypper eliminar vlc
En lugar de "eliminar", usemos "rm". Es la abreviatura del término "eliminar".
$ sudo zypper rm vlc
Si desea omitir el modo interactivo, use la marca "-non-interactive" o "-n".
$ sudo zypper: rm vlc no interactivo$ sudo zypper -n rm vlc
Instalar y quitar al mismo tiempo
Es una característica interesante de zypper que permite instalar y eliminar paquetes al mismo tiempo! Vamos a ver.
Por ejemplo, instalemos VLC mientras eliminamos Python. En este ejemplo, la tarea principal de zypper es instalar, no eliminar. Aquí, la bandera "-n" se usa por conveniencia.
$ sudo zypper -n en vlc -python
Parche
Esta es una parte interesante del ecosistema openSUSE. Mientras tanto parche y actualizar operan de la misma manera, ambos son fundamentalmente diferentes. Confundido?
En el caso de "actualizar", en el término de openSUSE, actualizará el paquete a la última versión disponible en el repositorio. Sin embargo, en el caso de un "parche", solo instalará actualizaciones de paquetes que estén destinadas a correcciones de errores y seguridad.
Si solo instala parches, puede o no actualizar todos los paquetes. Sin embargo, realizar actualizaciones asegurará que se instalen todos los paquetes más recientes.
Con eso fuera del camino, comencemos!
Al principio, instalando el parche. El siguiente comando instalará todos los parches lanzados oficialmente.
$ sudo zypper parche
En mi caso no hay nada que hacer. Si hay algún parche más reciente, el comando lo instalará.
Para ver la lista de parches disponibles, use este. No requiere raíz permiso para correr.
$ zypper parches
Zypper puede enumerar todos los parches que no están instalados actualmente. Ejecute el siguiente comando.
$ zypper list-parches
La "lista de parches" también está disponible en la forma abreviada de "lp".
$ zypper lp
Interesado en enumerar solo los parches que están marcados como correcciones de seguridad?
$ zypper lp: seguridad de categoríaPara verificar la cantidad de parches que se requieren, ejecute este comando.
$ sudo zypper revisión de parche
Gestión de repositorios
Zypper ofrece métodos perfectos para administrar todos los repositorios. Estos son algunos de los comandos que son realmente útiles en muchas situaciones.
Ya hemos cubierto cómo actualizar la base de datos local de todos los repositorios.
$ sudo zypper refresh
Necesita una lista rápida de todos los repositorios?
$ zypper repositoriosTambién podemos usar "lr", la forma abreviada de "repos".
$ zypper lr
Necesita el URI de los repositorios? Simplemente agregue la bandera "-u" después de "lr" o "repos".
$ zypper lr -u
Si no lo sabía, los repositorios de openSUSE están ordenados en una jerarquía. Para enumerar los repositorios según su prioridad, use la marca "-p".
$ zypper lr -p
Al ejecutar "actualizar", Zypper actualizará la base de datos local para todos los repositorios. Para actualizar un repositorio específico, ejecute el siguiente comando.
$ sudo zypper refresh
Los repositorios se pueden habilitar / deshabilitar sin eliminarlos. Para deshabilitar un repositorio en particular, ejecute el siguiente comando. Tenga en cuenta que necesitamos el número de repositorio de la lista de repositorios.
$ sudo zypper mr -d
Necesita habilitar un repositorio deshabilitado? Ejecutemos el siguiente comando.
$ sudo zypper mr -e
Agregar un nuevo repositorio también es muy simple. En este ejemplo, agregaré el Packman. Es un repositorio externo que ofrece paquetes de openSUSE adicionales. Dependiendo de la versión de openSUSE que esté ejecutando, el URI del repositorio cambiará. Sin embargo, la estructura de comando seguirá siendo la misma. Más información sobre Packman
$ sudo zypper addrepoEn el caso de openSUSE Tumbleweed, el comando se verá así. Aquí, "ar" es la forma abreviada de "addrepo".
$ sudo zypper ar -cfp 90 http: // ftp.gwdg.de / pub / linux / misc / packman / suse / openSUSE_Tumbleweed /buhonero
Para eliminar un repositorio, necesita el alias del repositorio. Tome el alias de repositorio de la lista de repositorios y use el siguiente comando.
$ sudo removerepoPuede intercambiar "removerepo" con su forma abreviada "rr".
$ sudo rr
Gestión de caché
El almacenamiento en caché es un mecanismo útil en el que zypper puede guardar una copia de todos los paquetes RPM que toma de Internet en una ubicación específica. Cada vez que le pide a zypper que instale el mismo paquete, primero busca en el caché. Si está en la caché, zypper usa el paquete RPM de la caché para realizar la instalación. De esta forma, puede acelerar la instalación y ahorrar tiempo y ancho de banda.
El caché se almacena en la siguiente ubicación. Cada repositorio tiene su propia carpeta dedicada en el directorio.
$ árbol / var / cache / zypp / packages
Para limpiar la caché, ejecute el siguiente comando.
$ sudo zypper limpio
Esto limpiará todos los paquetes RPM almacenados de la caché. Recomiendo habilitar el almacenamiento en caché a menos que esté limitado de alguna manera por el almacenamiento. El siguiente comando habilitará el almacenamiento en caché para todos los repositorios del sistema.
$ sudo zypper mr -ka
Pensamientos finales
Zypper incluye un montón de funciones. Si bien estos métodos de uso de zypper son más que suficientes para los usuarios habituales, hay muchas funciones avanzadas que no se presentaron aquí.
Para obtener la documentación completa de zypper, consulte la página del manual.
$ hombre zypper
Disfrutar!