Kostenlose Inhalte automatisch zur Steam-Bibliothek hinzufügen

Neben Inhalten, die auf der Spieleplattform Steam erworben werden können, gibt es auch eine Reihe von kostenlosen bzw. zeitlich begrenzt kostenlosen Inhalten. Diese können über den Steam-Client in die eigene Bibliothek übernommen werden. Da dies bei der Vielzahl an Paketen unpraktisch sein kann, gibt es auch Lösungen die das Ganze automatisieren.

Über ein Werkzeug der SteamDB können die Pakete automatisch zur Bibliothek hinzugefügt werden

Eine dieser Lösungen wird von der SteamDB bereitgestellt. Mit dem Werkzeug Free Packages können die entsprechenden Pakete automatisiert der eigenen Bibliothek hinzugefügt werden. Dazu muss im ersten Schritt die Browsererweiterung der SteamDB hinzugefügt werden.

SteamDB
Price: Free

Nachdem die Erweiterung installiert wurde und sich einmal im Browser bei Steam angemeldet wurde, kann das Werkzeug genutzt werden. Da pro Stunde maximal fünfzig Pakete installiert werden können, stoppt das Werkzeug dann die Aktivierung und fährt eine Stunde später fort. Auch lassen sich über das Free Packages-Werkzeug Demos und Ähnliches ausschließen, sodass nur Vollversionen der Bibliothek hinzugefügt werden.

Zurückbehaltene Pakete unter Ubuntu aktualisieren

Unter Umständen kann es vorkommen, das bei einer Paketaktualisierung mittels apt folgende Meldung erscheint:

The following packages have been kept back:
grub-efi-amd64 grub-efi-amd64-bin grub-efi-amd64-signed gzip php8.1-bcmath php8.1-cli php8.1-common php8.1-curl php8.1-fpm php8.1-gd php8.1-gmp php8.1-imap php8.1-intl php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-phpdbg php8.1-readline php8.1-sqlite3 php8.1-xml php8.1-zip
0 upgraded, 0 newly installed, 0 to remove and 21 not upgraded.

Grund für diese Meldung kann unter anderem sein, das in der Abhängigkeitskette für eines der Pakete ein neues Paket dazugekommen ist. Daneben werden Pakete in der gleichen Version im Normalfall nicht noch einmal aktualisiert. Soll ein solches zurückgehaltenes Paket trotzdem installiert bzw. aktualisiert werden, so kann hierfür folgender Befehl genutzt werden:

apt install --only-upgrade php8.1-zip

Anschließend wird das Paket aktualisiert. Allerdings sollte diese Option mit Bedacht gewählt werden, da es unter Umständen zu Änderungen kommen kann, welche das System bzw. Teile davon in einem nicht funktionsfähigen Zustand zurücklassen, sodass anschließend nachkonfiguriert werden muss.

MikroTik-Router über das Terminal aktualisieren

Anfang des letzten Jahres schrieb ich einen Artikel darüber, wie ein MikroTik-Router über das Webinterface aktualisiert werden kann. Neben der Aktualisierung über das Webinterface, kann dieser Prozess auch direkt über das Terminal durchgeführt werden. Dazu muss sich per SSH mit dem Gerät verbunden werden:

ssh admin@192.168.1.1

Nachdem der Prompt erschienen ist, werden im ersten Schritt die Pakete aktualisiert und anschließend das System neu gestartet:

/system package update check-for-updates
/system package update download
/system reboot

Der Neustart des Routers muss hierbei bestätigt werden. Anschließend startet das System neu und installiert die aktuellen Pakete. Nach spätestens einigen Minuten sollte der Router wieder verfügbar sein, sodass sich wieder per SSH mit diesem verbunden werden kann. Im letzten Schritt wird der Bootloader des Routers aktualisiert. Die aktuelle Version kann hierbei über den Befehl:

/system routerboard print

eingesehen werden. Dabei werden eine Reihe von Informationen ausgegeben:

routerboard: yes
board-name: hAP lite
model: RouterBOARD 941-2nD
serial-number: XXXXXXXXXXXX
firmware-type: qca9531L
factory-firmware: 3.33
current-firmware: 3.33
upgrade-firmware: 6.46.1

Interessant ist hier vor allem der Eintrag current-firmware. Das eigentliche Update wird mit dem Befehl:

/system routerboard upgrade

nach einer Sicherheitsabfrage durchgeführt. Anschließend muss das System abermals neu gestartet werden:

/system reboot

Nachdem Neustart ist der Router damit auf die aktuellste Version aktualisiert.

GitHub Package Registry für Maven Packages nutzen

Vor einigen Wochen hat GitHub die GitHub Package Registry vorgestellt. Mit dieser ist es möglich fertige Packages direkt beim Projekt auf GitHub zu hosten. Aktuell unterstützt werden, neben Maven-Packages, unter anderem die Paketsysteme von NPM, Ruby, und NuGet. GitHub selbst definiert den Zweck der Registry wie folgt:

GitHub Package Registry allows you to develop your code and host your packages in one place. You can use packages from GitHub Package Registry as a dependency in your source code on GitHub.

Nach einer Registrierung unter github.com/features/package-registry kann das erste Paket für die Package Registry erstellt werden. Dazu muss im entsprechenden Java-Projekt in der pom.xml folgender Block hinzugefügt werden:

<!-- Definition for uploading artifact to custom repository -->
<distributionManagement>
    <repository>
        <id>github</id>
        <name>GitHub OWNER Apache Maven Packages</name>
        <url>https://maven.pkg.github.com/OWNER/mediawikixml</url>
    </repository>
</distributionManagement>

Das Wort OWNER muss dabei durch den eigenen GitHub-Nutzernamen ausgetauscht werden. Anschließend müssen die Zugangsdaten für GitHub hinterlegt werden. Dazu wird die Maven settings.xml geöffnet:

nano ~/.m2/settings.xml

Zu der Einstellungsdatei wird nun folgender Block hinzugefügt:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <activeProfiles>
    <activeProfile>github</activeProfile>
  </activeProfiles>

  <profiles>
    <profile>
      <id>github</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>github</id>
          <name>GitHub OWNER Apache Maven Packages</name>
          <url>https://maven.pkg.github.com/OWNER</url>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <servers>
    <server>
      <id>github</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>

Auch hier muss OWNER wieder durch den eigenen Nutzernamen ersetzt werden. Bei der Konfiguration müssen daneben die Felder USERNAME und TOKEN gefüllt werden. Das Token wird in den Einstellungen von GitHub unter Settings – Developer settings – Personal access tokens erzeugt.

Ein Personal Access Token muss für die Package Registry erzeugt werden

Nachdem das Token erzeugt wurde und die Konfiguration für Maven entsprechend hinterlegt wurde, kann das Package mittels:

mvn deploy

deployed werden und erscheint somit in der Package Registry. Angesehen werden kann das Paket nun mittels der URL:

https://github.com/OWNER/REPOSITORY/packages/

Zur Einbindung des neuen Paketes in einem anderes Projekt muss der pom.xml des anderen Projektes folgender Block hinzugefügt werden:

<!-- External non standard repositories -->
<repositories>
    <repository>
        <id>github</id>
        <url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
    </repository>
</repositories>

Anschließend kann das neue Paket ganz normal als Dependency hinzugefügt werden:

<dependency>
    <groupId>org.example</groupId>
    <artifactId>libtest</artifactId>
    <version>1.0.1</version>
</dependency>

Damit können schnell Pakete über die GitHub Package Registry bereitgestellt werden.