gestión de paquetes

para lenguajes de programación:

  • bower : desarrollo web
  • bundler : dependencias Ruby Gem
  • composer : librerias PHP
  • cpam : gestor módulos Perl
  • easy_install : gestión módulos / librerias Phyton
  • gem : gestiona Ruby Gems
  • maven_artifact : descarga artifacts desde un repositorio maven
  • npm : gestiona paquetes node.js
  • pear : paquetes pear / pcl
  • pip : gestión módulos / librerias Phyton (más que easy_install)

para OS:

  • apk : gestión paquetes android
  • apt :
  • apt_key:
  • apt_repositiry
  • dnf : fedora
  • macports : paquetes macports OSX
  • openbsd_pkg : paquetes openBSD
  • opkg : paquetes OpenWRT (routers, firmware)
  • package : módulo genérico que llama a los otros módulos (wrapper)
  • pacman : paquetes arch linux
  • pkg5 : paquetes Solaris 11
  • pkgin : paquetes SmartOS, NetBsd y otros
  • pkgng : paquetes FreeBSD >= 9.0
  • portage : Gentoo
  • redhat_subscription : administra repositorios y subscripciones Red Hat, usando el comando subscription-manager
  • slackpkg : paquetes slackware >=12.2
  • swdepot : paquetes HP_UX
  • yum :
  • yum_repository
  • zypper : paquetes / repositorios OpenSuse / Suse
  • zypper_respository

PERL
https://docs.ansible.com/ansible/latest/modules/cpanm_module.html#cpanm-module

  • from_path = ruta
  • name = nombre
  • localib = ruta
  • mirror = mirror
  • mirror_only = no / yes
  • notest = no / yes
  • version = version
  • system_lib = directorio
  • state
- name: instalar gcc
  yum: name=gcc state=latest
- name: instalar paquete básico
  yum: name=perl-App-cpanminus state=latest
- name: instalar módulo DBI
  cpanm : name=DBI
- name: instalar versión específica
  cpanm: name=DBI version="1.360"

https://docs.ansible.com/ansible/latest/modules/easy_install_module.html#easy-install-module

  • obligatorio
    • name = nombre
  • opcional
    • state = present | latest
    • virtualenv = no / yes
    • virtualenv_command = comando
    • virtualenv_site_packages = no / yes
    • exectutable = ruta ejecución easy_install
- name: instalar PiP
  easy_install: name=pip state=latest
# se usa PiP en lugar easy_install

https://docs.ansible.com/ansible/latest/modules/pip_module.html#pip-module

  • obligatorio
    • name = nombre
  • opcional
    • state = present | latest | absent | forcereinstall
    • virtualenv = no / yes
    • virtualenv_command = comando
    • virtualenv_site_packages = no / yes
    • exectutable = ruta ejecución
    • requirements = fichero.txt (dependencias) → requirements.txt
    • version = version
    • chdir = ruta
- name: instalar módulo requests
  pip: name=requests state=latest

https://docs.ansible.com/ansible/latest/modules/apt_module.html#apt-module

  • name = nombre[=versión]
  • state = { latest | absent | PRESENT | build-dep }
    • latest : a la última
    • absent : eliminar
    • build-dep : dependencias
  • upgrade = { no | yes | safe | full | dist }
  • force = no / yes
  • update_cache = no / yes
  • purge = no / yes
  • deb = ruta/fichero/.deb
  • autoremove = no / yes
  • default_release = release
- name: actualizar lista paquetes
    apt: update_cache=yes
- name: actualizar paquetes
   apt: upgrade=dist
- name: instalar nginx
  apt:
    name: nginx
    state: latest

https://docs.ansible.com/ansible/latest/modules/apt_key_module.html#apt-key-module

  • data = contenido de la key a añadir (desde Ansible Server)
  • file = ubicación fichero en nodo remoto
  • id = identificador
  • keyring = /ruta/trusted
  • keyserver = servidor
  • state = { PRESENT | absent }
  • url = dirección
  • validate_certs = yes / no
- name: añadir clave usando servidor
  apt_key:
    keyserver: keyserver.ubuntu.com
    id: 36A1D7869245C8950F...
    
- name: añadir utilizando un fichero adjunto
  apt_key:
    url: "https://ftp-master.debian.org/keys/archive-key-6.0.asc"
    state: present

https://docs.ansible.com/ansible/latest/modules/apt_repository_module.html#apt-repository-module

  • obligatorio
    • repo = origen
  • opcional
    • state = { PRESENT | absent }
    • filename = nombre fichero repositorio
    • update_cache = yes / no
    • validate_certs = yes / no
    • mode = modo_fichero
- name: anyadir repositorio google chrome
  apt_repository:
    repo: "deb http://dl.google.com/linux/chrome/deb/ stable main"
    state: present
    filename: "google-chrome"
- name: anaydir en Ububtu a través de PPA
  apt_repository:
    repo: "ppa:nginx/stable"

wrapper, usar si no requerimos alguna opción concreta de otro módulo de paquetes
https://docs.ansible.com/ansible/latest/modules/package_module.html#package-module

  • requerido
    • name = origen
    • state = { present | absent | latest }
  • opcional
    • use = { auto | yum | apt }
- name instalar ntpdate
  package:
    name: ntpupdate
    state: latest

</code>

https://docs.ansible.com/ansible/latest/modules/redhat_subscription_module.html#redhat-subscription-module

  • state = { present | absent }
  • activationkey
  • username
  • password
  • autosubscribe = yes / no
  • server_hostname = nombre servidor
  • org_id = organización
  • pool = nombre
  • force_register = yes / no
- name: registrar sistema
  redhat_subscription:
    state: present
    username: usuario@dominio
    password: contraseña
    autosubscribe: yes
- name: registrar sistema 2
  redhat_subscription:
    state: present
    activationkey: mi-clave-RHEL
    org_id: 2468
    pool "^Red Hat Enterprise Server$"

https://docs.ansible.com/ansible/latest/modules/yum_module.html#yum-module

  • requerido
    • name = nombre / ruta
  • opcional
    • state = { present | absent | latest }
    • conf_file = /ruta/al/fichero
    • disable_gpg_check = true / false
    • disablerepo = nombre (desactiva temporalmente)
    • enablerepo = nombre (activa temporalmente)
    • update_cache = yes / no
- name: instalar última versión apache
  yum:
    name: httpd
    state: latest
- name: actualizar todos los paquetes
  yum:
    name: "*"
    state: latest
- name: Instalar grupo
  yum:
    name: "@development tools"
    state: present

https://docs.ansible.com/ansible/latest/modules/yum_repository_module.html#yum-repository-module

  • requerido
    • name = nombre / ruta
  • opcional
    • state = { present | absent }
    • description = descripción
    • baseurl = dirección
    • file = nombre_fichero
    • mirrorlist = dirección
    • enabled = YES / no
    • gpgcheck = YES / no
- name: añadir EPEL
  yum_repository:
    name: epel
    state: present
    description: EPEL YUM Repo
    baseurl: http://download.fedoraprojects.org/pub/epel/$releaseserver/$basearch/
  • info/cursos/udemy/ansible/modulos/paquetes.txt
  • Darrera modificació: 25/09/2018 01:59
  • per mate