Skip to content

VMware ESXi Paketverwaltung - vib Pakete installieren, aktualisieren oder deinstallieren

Kurzer Tipp für ESXi Anwender.

Manchmal müssen installierte Pakete auch wieder deinstalliert werden. Dabei hilft die ESXi Konsole am besten.

Zunächst sollte allerdings der SSH Zugang aktiviert werden. Danach können folgende Befehle in der Kommandozeile zur Anwendung kommen.

 

Paket suchen

esxcli software vib list | grep HUAWEI


       hio                            2.0.0.42-1OEM.550.0.0.1331820          HUAWEI               VMwareCertified   2015-01-07

Paket entfernen

esxcli software vib remove -n hio

   Removal Result
       Message: The update completed successfully, but the system needs to be rebooted for the  changes to be effective.
       Reboot Required: true
       VIBs Installed:
       VIBs Removed: HUAWEI_bootbank_hio_2.0.0.42-1OEM.550.0.0.1331820
       VIBs Skipped:

Mehrere Pakete entfernen

Es lassen sich genauso auch mehrere Pakete auf einmal deinstallieren

esxcli software vib remove -n hio -n hio0 -n hio1

Paket aktualisieren

software vib update -n Paketname

Paket installieren

Um diese Beispiele vollständig zu machen, hier noch der Befehl für eine klassische Paketinstallation via ESXi Konsole

software vib install -n Paketname


Die ESXi Kommandozeile bietet natürlich noch einiges mehr, "software" ist hier nur ein Namespace von vielen.

So lassen sich mit system, network, storage oder license weitere praktische Befehle ausführen.

Übersicht aller Befehle

esxcli esxcli command list

 

Ubuntu - Welche der installierten Pakete erhalten eigentlich noch Updates?

Mit der Veröffentlichung von Bionic Beaver (18.04) hat Canonical eine neue Long Term Support (LTS) Version veröffentlicht, welche die bestehende 16.04 LTS Version ablösen soll.

Ein Update muss sicher nicht überstürzt werden, denn Ubuntu 16.04 LTS erhält noch Updates bis ins Jahr 2021. Irgendwann ist allerdings das "End of Life" erreicht.

eol-ubuntu

Wer ältere Versionen einsetzt, dem bietet Ubuntu selbst eine Abfrage an, ob und wie lange Pakete noch unterstützt werden.

Dazu muss nur der Befehl ubuntu-support-status aufgerufen werden.

Für eine ausführliche Ausgabe kann der Schalter "--show-unsupported" oder "--show-supported" verwendet werden.

g@ubuntu:~$ ubuntu-support-status --show-unsupported
Support status summary of 'ubuntu':

You have 1 packages (0.1%) supported until April 2019 (3y)
You have 11 packages (1.4%) supported until January 2023 (5y)
You have 689 packages (85.6%) supported until April 2021 (5y)

You have 1 packages (0.1%) that can not/no-longer be downloaded
You have 103 packages (12.8%) that are unsupported

No longer downloadable:
wkhtmltox

Unsupported:
auditd cgroupfs-mount comerr-dev composer containerd coturn docker
docker.io golang golang-1.6-race-detector-runtime golang-doc
golang-go golang-race-detector-runtime golang-src jsonlint
libapache2-mod-php7.1 libauparse0 libgd3 libhiredis0.13 libjbig-dev
libjbig0 libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjs-excanvas
liblcms2-dev liblxc1 liblzma-dev libmagic-dev libpcre3 libpng12-dev
libseccomp2 libssl-dev libssl-doc libssl1.1 libwebp-dev libwebp5
libwebp6 libwebpdemux2 libwebpmux3 libxext-dev libxft-dev libxml2
libxml2-dev libxrender-dev libxss-dev libyaml-dev libzip5 lxc-common
lxcfs lxd lxd-client mercurial mercurial-common openssl
php-cli-prompt php-common php-composer-semver
php-composer-spdx-licenses php-json-schema php-mongo
php-symfony-console php-symfony-filesystem php-symfony-finder
php-symfony-process php5.6-cli php5.6-common php5.6-curl php5.6-fpm
php5.6-intl php5.6-json php5.6-opcache php5.6-readline php5.6-xml
php5.6-xsl php7.1 php7.1-bcmath php7.1-cgi php7.1-cli php7.1-common
php7.1-curl php7.1-fpm php7.1-intl php7.1-json php7.1-mbstring
php7.1-mysql php7.1-opcache php7.1-readline php7.1-zip
postgresql-server-dev-9.5 pybootchartgui python-pip python-pip-whl
python-software-properties python-wheel runc tcl8.6-dev tk8.6-dev
x11proto-render-dev x11proto-scrnsaver-dev x11proto-xext-dev xdelta3
xmlstarlet

 

Raspberry Pi 3 Kiosk - Autologin unter Raspbian Jessie, Stretch oder Buster

Nachdem der Artikel über den Chromium Kiosk Modus für rege Diskussionen sorgt, möchte ich noch mal kurz auf den Autologin von Raspbian hinweisen.

Dieser funktioniert unter allen aktuellen Versionen, sowohl unter stable als auch beta mit dem Befehl 

sudo raspi-config

Danach muss im Menü unter Bootoptionen

Raspbian-desktop-autologin

der Bootmodus ausgewählt werden. In diesem Fall Desktop / CLI.

raspbian-autologin

Nun kann B4 Autologoin aktiviert werden und Raspbian meldet den User Pi automatisch an.

raspbian_autologinIch empfehle dringend das Standardpasswort des Pi Nutzers mit passwd zu ändern.

Update von Jessie auf Stretch

Falls auf ein neues System umgestellt werden soll, ist ein Update auf das aktuelle System Stretch (Buster ist noch Beta) möglich. Eine Neuinstallation ist aber meist der bessere Weg.

sudo apt-get update
sudo apt-get -y dist-upgrade
sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list
sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/raspi.list
sudo apt-get update
sudo apt-get -y dist-upgrade

 

Ansible Playbooks auf Servern mit SSH Key Authentifizierung verwenden

Manch einer automatisiert seine IT Umgebung via Ansible. Das Orchestrierungstool arbeitet über SSH und benötigt keine Agenten auf den Zielsystemen.

Ansible

 

Da gut konfigurierte Systeme neben einem Passwort durch einen SSH Key geschützt sind, muss beim Ausrollen eines Playbooks über die Kommandozeile theoretisch für jedes System ein Key geladen und ein Passwort eingegeben werden.

Dies lässt sich mit einem kleinen Trick umgehen, bzw. optimieren. Ich setze hier voraus, dass Geräte bereits für SSH Key Auth eingerichtet worden sind.

Ansible Playbooks mit SSH Keys nutzen

Soll ein Playbook ausgerollt werden, muss im Vorfeld der nötige Key eingelesen werden.

eval $(ssh-agent)

Enter passphrase for /home/itrig/.ssh/id_rsa: ******************

                Identity added: /home/itrig/.ssh/id_rsa

Nun kann das gewünschte Playbook ausgerollt werden.

ansible-playbook -l hostliste playbook.yml --ask-become-pass

Ein sudo Passwort wird weiterhin abgefragt, die Abfrage der Passphrase für jede Verbindung fällt nun jedoch weg. 

Nun bleibt noch die Frage, was ist eval?

eval: eval [arg ...]

    Execute arguments as a shell command.

    Combine ARGs into a single string, use the result as input to the shell,

    and execute the resulting commands.

    Exit Status:

    Returns exit status of command or success if command is null.

eval [arg ...]

    The  args  are read and concatenated together into a single com-

    mand.  This command is then read and executed by the shell,  and

    its  exit status is returned as the value of eval.  If there are

    no args, or only null arguments, eval returns 0.

 

Fertige Playbooks oder Beispiele lassen sich in der Ansible Galaxy finden.

Beispielsweise für eine Paketinstallation auf Linuxsystemen:

Ansible Playbook zur Installation der Open VMware Tools

- name: install open-vm-tools
  hosts: vmwareclients
  gather_facts: True
  become: true
  become_user: root
  tasks:
- name: debian install open-vm-tools
  apt: name=open-vm-tools state=present
  when: ansible_os_family == "Debian" and ansible_virtualization_type == "VMware"

- name: centos install open-vm-tools
  yum: name=open-vm-tools state=present
  when: ansible_os_family == "RedHat" or ansible_distribution == 'CentOS' and ansible_virtualization_type == "VMware"

 

Anleitung: PostgreSQL 9.x Installation auf Postgres 10 aktualisieren

PostgreSQL 10 ist nun seit ein paar Monaten auf dem Markt. Somit kann an ein Update der bestehenden Infrastruktur gedacht werden.

Diese kurze Anleitung soll zeigen, wie ein Update einer 9.x Installation auf die aktuelle Version 10 unter Ubuntu Server gelingt.

PostgreSQL Server 9.x auf Version 10 aktualisieren

Zunächst wird das aktuelle Repository hinterlegt.

sudo echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc |   sudo apt-key add -

sudo apt-get update

Nun kann die aktuelleste Version installiert werden

sudo apt-get dist-upgrade

oder

sudo apt install postgresql-10

Zur Überprüfung ob auch beide Versionen vorhanden sind können die aktiven DB Cluster aufgelistet werden

pg_lsclusters

ls_clusterNun kann das neue 10er Cluster angehalten und das bestehende aktualisiert werden.

sudo pg_dropcluster 10 main --stop

sudo pg_upgradecluster 9.5 main

Danach sollte wieder ein kurzer Check gemacht werden, bevor das alte System entfernt wird. Ich prüfe hier nur den Prozess.

Am besten die Datenbanken oder Anwendungen direkt auf Funktion prüfen, bevor die alte Version entfernt wird.

ps aux

sudo pg_dropcluster 9.5 main

postgres