Ubuntu in Windows 10

Neu ist auch bei Microsoft auf der Build 2016 jetzt, dass Ubuntu mehr oder minder in Windows 10 eingebettet wird. Anfangs nur in der Insider Preview und für Developer ausgelegt, später dann für jeden.

Grundsätzlich funktioniert das so:

Mehr Informationen gibt es bei Dustin Kirkland, der für Canonical tätig ist.

Wichtig ist: Es handelt sich um keine VM, keinen Container und ist nicht cygwin-artig aufgebaut. System Calls von Linux werden mehr oder minder nur für Windows übersetzt – eine Art umgedrehtes wine.

Derzeit basiert der Spass noch auf Ubuntu 14.04 und soll bald auf Ubuntu 16.04 hochgepatcht werden.

Aktualisierte Windows-ISO von Windows 10 (2016.2)

Die bisherigen Windows-Abbilder haben Update 1511 beinhaltet und nach Installation standen direkt die ersten Updates an. Dem hat Microsoft nun abgeholfen und alle Updates bis einschließlich Februar in die ISO integriert. Die aktualisierte Windows-ISO kann über MSDN/Technet bei aktivem Abonnement bezogen werden.

Windows_10_updated_february

Wer also über ein solches Abonnement verfügt, kann sich gerne die neue .iso herunterladen und spart sich zeitnah diverse Updates.

Windows 10 spioniert – Telemetriedaten

Grundsätzlich sollte die Headline oben bekannt sein: Windows 10 ist kostenlos und nutzt die schnelle Verbreitung auf breiter Fläche, um Daten abzuschnorcheln. Wie so oft im Internet, hat sich jemand die Mühe gemacht, zu analysieren, was genau abgeschnorchelt wird und wohin.

Von Microsoft gibt es zu Windows 10 Update 1511 einen Artikel für Unternehmen, der die Thematik ein wenig aufgreift. Grundsätzlich unterscheidet Windows 4 Stufen, in denen unterschiedlich viele Daten gesammelt werden:

Wenn man dies genauer analysiert, ist Security die Einstellungsversion für Unternehmen – und selbst hier wird abgeschnorchelt. Ein Auszug aus dem Technet-Artikel sagt zum Beispiel:

OS information, device id (used to identify what specific device is requesting settings) and device class (for example, whether the device is server or desktop)

Zusätzlich hierzu werden noch Daten für das malicious software removal tool und Windows Defender gesammelt. Für Großkundenunternehmen alles eventuell nicht wünschenswert.

Telemetrie_Win10
Quelle: https://technet.microsoft.com

Wie sieht es nun als normaler User aus? Ohne Windows 10 Enterprise, sind von den vier Einstellungsmöglichkeiten nur drei verfügbar. Der Punkt „Security“ als Telemetrie-Level ist komplett Enterprise-Anwendern vorbehalten.

Wohin wird also nun übertragen? Das hat ein User genauer analysiert und unter dem Pseudonym CheesusChrist gepostet. Da der Post mittlerweile gelöscht ist, kann man diesen derzeit nur über archive lesen.

Alternativ habe ich die Website von archive noch als PDF hinterlegt:

Windows 10 telemetry network traffic analysis, part 1_ _ technology

Was hat CheesusChrist nun also gemacht?

  1. DD-WRT auf einem Router installiert, die Verbindung mit dem Internet hergestellt und Remote-Logging auf dem Linux Mint-Notebook von Punkt 2 eingerichtet
  2. Linux Mint auf dem Notebook installiert, rsyslog eingerichtet, um Logdateien remote vom Router zu erhalten.
  3. Auf dem Notebook wurde Virtualbox installiert und innerhalb dieser dann Windows 10 Enterprise als VM bereitgestellt. Bei der Installation wurde benutzerdefiniert vorgegangen und alle drei Optionen des Datensammelns bei Windows deaktiviert.
  4. Der DD-WRT-Router wurde so konfiguriert, dass alle Verbindungsdaten der Windows-10-Enteprise-VM gelogged werden (siehe Punkt2)
  5. Windows 10 wurde nicht modifiziert, lediglich das Vorhandensein einer Internetverbindung wurde durch Ping auf yahoo verifiziert und mit ipconfig die Netzwerkkonfiguration angeschaut.
  6. Windows 10 wurde für ca. 8 Stunden laufen gelassen – der Tester schlief laut eigener Aussage in der Zeit.
  7. Die Logdaten wurden mit perl geparsed und in eine mysql-Datenbank gepackt.
  8. Mit Perl wurden die whois-Daten der Verbindungen bei whois.radb.net abgefragt. Ebenso wurde nslookup verwendet und die Daten gesammelt der mysql-datenbank hinzugefügt.
  9. Zuletzt wurden die Daten abgefragt und in ein analysierbares Format gebracht.

Nach ungefähr 8 Stunden hat Windows 10 sagenhafte 5508 Verbindungsversuche zu verzeichnen. Verbindungen innerhalb des Netzwerkes wurden nicht entfernt. Folglich muss die Tabelle unten um die Einträge des 192.168.0.1/24 Subnetzes bereinigt werden.

ip_address port protocol attempts
94.245.121.253 3544 UDP 1619
65.55.44.108 443 TCP 764
192.168.1.1 53 UDP 630
192.168.1.255 137 UDP 602
65.52.108.92 443 TCP 271
64.4.54.254 443 TCP 242
65.55.252.43 443 TCP 189
65.52.108.29 443 TCP 158
207.46.101.29 80 TCP 107
207.46.7.252 80 TCP 96
64.4.54.253 443 TCP 83
204.79.197.200 443 TCP 63
23.74.8.99 80 TCP 45
23.74.8.80 80 TCP 45
65.52.108.103 443 TCP 29
134.170.165.251 443 TCP 27
23.67.60.73 80 TCP 21
65.52.108.27 80 TCP 21
157.56.96.58 443 TCP 19
134.170.51.247 443 TCP 18
23.67.60.97 80 TCP 18
134.170.165.253 443 TCP 18
65.55.138.126 443 TCP 18
131.253.40.53 443 TCP 16
134.170.58.118 443 TCP 15
131.253.61.100 80 TCP 14
104.73.92.149 80 TCP 14
157.56.96.123 443 TCP 14
157.56.77.139 443 TCP 13
65.55.138.111 443 TCP 12
40.117.145.132 443 TCP 12
131.253.40.59 80 TCP 12
23.210.63.75 80 TCP 12
65.55.113.13 80 TCP 11
134.170.51.246 443 TCP 9
134.170.58.190 443 TCP 9
191.232.80.58 443 TCP 9
207.46.114.58 443 TCP 9
23.193.225.197 80 TCP 9
134.170.115.62 443 TCP 9
104.73.160.51 80 TCP 9
104.73.160.16 80 TCP 9
23.210.5.16 80 TCP 8
157.56.77.138 443 TCP 8
131.253.61.84 80 TCP 8
23.217.138.11 80 TCP 8
23.193.230.88 443 TCP 7
198.41.214.183 80 TCP 6
13.107.3.128 443 TCP 6
198.41.215.186 80 TCP 6
198.41.214.186 80 TCP 6
198.41.214.184 80 TCP 6
104.73.143.160 443 TCP 6
157.55.240.220 443 TCP 6
198.41.215.185 80 TCP 6
72.21.81.200 80 TCP 6
23.193.251.132 80 TCP 6
23.193.236.70 443 TCP 5
72.21.91.8 80 TCP 5
23.217.138.25 80 TCP 4
131.253.61.96 443 TCP 4
131.253.61.82 443 TCP 3
23.102.17.214 443 TCP 3
23.101.156.198 443 TCP 3
23.74.9.198 80 TCP 3
104.73.153.9 443 TCP 3
23.74.9.217 80 TCP 3
23.9.123.27 80 TCP 3
94.245.121.254 3544 UDP 3
23.101.187.68 123 UDP 3
104.91.188.21 80 TCP 3
131.253.61.66 443 TCP 3
23.217.138.122 80 TCP 3
23.101.115.193 443 TCP 3
198.41.215.182 80 TCP 3
198.41.214.187 80 TCP 3
23.210.48.42 443 TCP 3
104.208.28.54 443 TCP 3
23.217.138.18 80 TCP 2
23.193.238.90 443 TCP 2
23.217.138.90 80 TCP 2
23.217.138.43 80 TCP 1
23.67.60.65 80 TCP 1
65.52.236.160 443 TCP 1
157.56.144.215 3544 UDP 1
23.96.212.225 443 TCP 1
157.56.144.216 3544 UDP 1
65.52.108.252 443 TCP 1
65.52.108.94 443 TCP 1
134.170.179.87 443 TCP 1
104.73.138.217 443 TCP 1
104.91.166.82 80 TCP 1
104.73.160.58 80 TCP 1
137.116.74.190 80 TCP 1
23.217.138.97 80 TCP 1

Die zweite, ausführliche Tabelle ist der Website oder dem PDF zu entnehmen.

Der User BobBelcher mutmaßt, dass die ersten 3544 dem Consumer Experience Program entsprungen sind.

Was bleibt dem Anwender folglich als Wahl? Vier verschiedene Optionen, in denen er entscheiden kann, welche Daten gesammelt werden. Lediglich die Option der Auswahl, dass KEINE Daten gesammelt werden, fehlt komplett. Als Non-Enterprise-User komme ich vor allem gar nicht daran vorbei, dass Daten gesammelt werden.

Störend? Grundlegend ist man daran gewohnt, dass Daten gesammelt werden. Das Problem ist nur, dass Microsoft die Sammlung der Daten noch weiter „generell“ definiert:

Much of the info about how Windows and apps are functioning is deleted within 30 days. Other info may be retained longer, particularly if there is a regulatory requirement to do so.

Was heißt das? Die Daten, die gesammelt werden, sind für mich nicht transparent und werden auf unbestimmte Zeit gespeichert. Ob nur generell Daten gesammelt werden, oder auch User-Daten eventuell den Weg zu Microsoft finden, ist offen. Für mich als Fazit bedeutet das wieder vermehrt den Einsatz von Linux.

Grundsätzlich kann man Microsoft dennoch attestieren, dass die Datensammelwut gut geplant ist. Dass Daten heute einen immensen Wert haben, ist allen bekannt. Ein kostenloses Windows 10 unter die Menschen zu bringen, um noch mehr Daten zu sammeln, ist hier nahezu als genial zu werten. Anleitungen, wie man die Datensammlung deaktiviert, gibt es im Internet zu Hauf. Die Frage ist nur, wie viele Anwender in Prozent davon auch Gebrauch machen. Ich denke, dass der Anteil hier verschwindend gering ist…

Windows 10 Update 1511 wird nicht angezeigt

Da ich heute zeitlich knapp bin, in Kürze:
Wer auch wie ich das Problem hat, dass Windows 10 Update 1511 nicht angezeigt wird, kann „tricksen“, indem er die Website Get Windows 10 aufruft.

Hier wird dann auf „Upgrade now“ gedrückt und die .exe-Datei heruntergeladen. Keine Sorge, die Quelle ist Microsoft selbst, also sollte dies relativ unbedenklich sein. Im Nachgang sollte Windows 10 dann automatisch den Upgrade-Prozess auf Update 1511 starten.

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.
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.

Windows 10 Download manuell starten

Heute wird Windows 10 released, aber nicht bei allen meinen Geräten ist der Download automatisch gestartet. Nachdem ich kurz nachrecherchiert habe (Link), bin ich auf die Möglichkeit gestoßen, den Download manuell zu erzwingen.
Hierzu sollten die automatischen Updates bereits aktiviert sein. Danach wird ein elevated CMD-Fenster (Run As Administrator) aufgerufen und der Befehl wuauclt.exe/updatenow ausgeführt.wuauclt_exe_updatenow
Jetzt sollte der Download per Klick auf das Icon im System Tray gestartet sein.

Windows-Icon im Systray
Windows-Icon im Systray

w10_dl