Quantcast
Viewing all articles
Browse latest Browse all 95

Windows 10 und OneGet

Nachdem Windows 10 erfolgreich installiert ist (wenn der Download nicht startet, siehe: hier ), gibt es diverse gute Neuerungen wie zum Beispiel OneGet. Die wohl beste Neuerung ist ein Package-Manager, dessen Nutzen ich hier noch nicht direkt bewerte. Gewohnt bin ich diesen Luxus von Linux-Seite her, bei Windows war die Installation in der Regel mit dem manuellen Ausführen einer Executable-Datei verbunden.
Der Package-Manager ist wie gewohnt in der Powershell zu finden. Ob eine GUI noch folgt – oder ich diese noch nicht entdeckt habe – ist noch unklar.
Schauen wir uns die möglichen Befehle an. Hierzu wird eine elevated Powershell (ausführen als Administrator) benötigt.

PS C:\WINDOWS\system32> get-command -Module PackageManagement

CommandType Name Version Source
———– —- ——- ——
Cmdlet Find-Package 1.0.0.0 PackageManagement
Cmdlet Get-Package 1.0.0.0 PackageManagement
Cmdlet Get-PackageProvider 1.0.0.0 PackageManagement
Cmdlet Get-PackageSource 1.0.0.0 PackageManagement
Cmdlet Install-Package 1.0.0.0 PackageManagement
Cmdlet Register-PackageSource 1.0.0.0 PackageManagement
Cmdlet Save-Package 1.0.0.0 PackageManagement
Cmdlet Set-PackageSource 1.0.0.0 PackageManagement
Cmdlet Uninstall-Package 1.0.0.0 PackageManagement
Cmdlet Unregister-PackageSource 1.0.0.0 PackageManagement

Im Beispiel fragen wir mit „get-command“ alle Module, die im System vorhanden sind ab, mit dem Parameter -Module schränken wir die Ausgabe auf die Quelle „PackageManagement“ ein.
Zur Information: In der Preview hieß die Quelle noch OneGet.

Find-Package

Mit Find-Package können verfügbare Packages durchsucht und angezeigt werden. Beim ersten Ausführen kommt in der Regel die Information, dass nuget erst installiert werden muss. Dies sollte natürlich bestätigt werden, oder über den angefügten Link manuell erfolgen.
PS C:\WINDOWS\system32> find-package

The provider ’nuget v2.8.5.127′ is not installed.
nuget may be manually downloaded from https://oneget.org/nuget-anycpu-2.8.5.127.exe and installed.
Would you like PackageManagement to automatically download and install ’nuget‘ now?
[J] Ja [N] Nein [H] Anhalten [?] Hilfe (Standard ist „J“): j
Wenn nuget installiert ist, sollten alle vorhandenen Packages über den Bildschirm rattern. Da dies – trotz der im Vergleich zu Linux kleinen Auswahl – recht wenig ist, sollte gefiltert werden.
PS C:\WINDOWS\system32> find-package -Name *firefox*

Name Version Source Summary
—- ——- —— ——-
xFirefox 1.0.0 https://www.p…

Install-Package

Nachdem das gewünschte Package selektiert worden ist, muss die Installation angestoßen werden. Dies erfolgt über Install-Package.

PS C:\WINDOWS\system32> Install-Package xFirefox

The package(s) come from a package source that is not marked as trusted.
Are you sure you want to install software from ‚https://www.powershellgallery.com/api/v2/‘?
[J] Ja [A] Ja, alle [N] Nein [K] Nein, keine [H] Anhalten [?] Hilfe (Standard ist „N“): j

Name Version Source Summary
—- ——- —— ——-
xFirefox 1.0.0 https://www.p…

Uninstall-Package

Im letzten Schritt in diesem Beispiel wird das Package wieder entfernt.

PS C:\WINDOWS\system32> Uninstall-Package xFirefox

Name Version Source Summary
---- ------- ------ -------
xFirefox 1.0.0 https://www.p... Firefox Main module

Zusammenfassung

Klar ist, dass die wenigen Standard-Packages von Microsoft nicht ausreichen und die obligatorische „Version 1.0.0“ nicht das Maß der Dinge ist. Hier gilt es, weitere Quellen hinzuzufügen.
Eine nette Funktion ist aber auch, dass vorhandene Software, die nicht über Quellen installiert worden ist, mit dem Uninstall-Package-Befehl entfernt werden kann. Hier startet in der Regel der normale Uninstaller.
PS C:\WINDOWS\system32> get-package -Name "Teamviewer 9"

Name Version Source Summary
---- ------- ------ -------
TeamViewer 9 9.0.32494

PS C:\WINDOWS\system32> Uninstall-Package -Name "Teamviewer 9"

Name Version Source Summary
---- ------- ------ -------
TeamViewer 9 9.0.32494
Daraufhin startet automatisch der hinterlegte Uninstaller.
Image may be NSFW.
Clik here to view.
teamviewer,windows 10,oneget

Wenn die Paketquellen von Seiten Microsoft erweitert werden und die Packages als solche somit vertrauenswürdig sind, ist das eine sinnvolle Erweiterung von Windows. Hierdurch eignet sich Windows eine weitere positive Eigentschaft von Linux-Systemen an. Die Pflege des neu implementierten Systems seitens Microsoft ist aus meiner Sicht maßgeblich für den weiteren Erfolg. Besonders in einer größeren IT-Landschaft ist die einfache Installation von Packages – zum Beispiel remote über Powershell – als eine sinnvolle Erweiterung anzusehen.

Update

Nach weiteren Tests und der Suche nach guten Sources, habe ich mir die chocolatey-sources testweise hinzugefügt. Hierdurch steigt nicht nur die Anzahl der Pakete, sondern auch deren Aktualität. Da das grundsätzliche Problem der „Vertrauenswürdigkeit“ weiter besteht, ist auch hier natürlich der Umgang mit den Packages ein gewisses Risiko. Besonders sinnvoll erachte ich später ggfs. eine lokale Source in einer größeren Infrastruktur zu hosten, am privaten Client daheim ist dies eher als Spielerei anzuschauen. Wer dennoch ein wenig auf eigenes Risiko testen mag, kann sich folgenden Befehl in der Powershell verewigen:

Register-PackageSource -Name chocolatey -Location http://chocolatey.org/api/v2 -Provider PSModule -Trusted -Verbose

Beim nächsten Aufruf von Find-Package dauert die Abfrage anfangs etwas länger, dafür ist die Auswahl umso umfassender.

Der Beitrag Windows 10 und OneGet erschien zuerst auf my-devnull.


Viewing all articles
Browse latest Browse all 95