Kann ich nicht freie Software auf einem Raspberry Pi 2 mit Raspbian sicher entfernen?

8

Ich bin der glückliche Besitzer eines Raspberry Pi 2, auf dem ich Raspbian installiert habe:

$ cat /proc/version
Linux version 3.18.11-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #781 SMP PREEMPT Tue Apr 21 18:07:59 BST 2015

Um meinen eigenen RMS glücklich zu machen , möchte ich die nicht kostenlosen Pakete entfernen, die standardmäßig mitgeliefert werden (ich habe mich bereits darum gekümmert, sonic-piwas nicht kostenlos zu sein scheint ...).

$ vrms
        Non-free packages installed on oufmalade....

firmware-atheros                    Binary firmware for Atheros wireless cards
firmware-brcm80211                  Binary firmware for Broadcom 802.11 wireless cards
firmware-libertas                   Binary firmware for Marvell Libertas 8xxx wireless car
firmware-ralink                     Binary firmware for Ralink wireless cards
firmware-realtek                    Binary firmware for Realtek wired and wireless network
oracle-java8-jdk                    Java™ Platform, Standard Edition 8 Development Kit
pistore                             Pi Store is the official store for Rasp. Pi apps and g
wolfram-engine                      Mathematica® and the Wolfram Language

  8 non-free packages, 0.9% of 886 installed packages.

Ich frage mich:

  1. Wenn firmware-*ich weiß, dass ich mich im kabelgebundenen Netzwerk (über den integrierten Ethernet-Port) ohne Wi-Fi-Dongle befinde (und dieser Pi wird niemals einen bekommen), kann ich diese Pakete sicher entfernen? Sogar der firmware-realtekeine? Ich glaube nicht, dass das integrierte Ethernet von Realtek stammt, aber ich überprüfe es lieber noch einmal, sonst verliere ich meinen einzigen SSH-Zugang ...

    Für das, was es wert ist, ist hier das einzige Ergebnis von $ sudo lshw | grep firmware:

       configuration: autonegotiation=on broadcast=yes driver=smsc95xx driverversion=22-Aug-2005 duplex=full firmware=smsc95xx USB 2.0 Ethernet ip=... link=yes multicast=yes port=MII speed=100Mbit/s
    
  2. Was würde ich verlieren genau mit dem Entfernen pistoreabgesehen von sehr spezifischen Anwendungen und Spielen werde ich nicht verwenden werden ? (Zu Ihrer Information, dieser Pi wird niemals eine GUI haben, er ist ein Server und wird sein ganzes Leben als solcher leben.)
  3. Gibt es etwas Wichtiges, das auf dem Standard-Raspbian ausgeliefert wird, von dem es abhängt oracle-java8-jdk? Oder weiter wolfram-engine?

Ich bin mir ziemlich sicher, dass ich alle sicher entfernen kann, aber ich möchte sicherstellen, dass ich nichts tue, was ich vorher bereuen werde (insbesondere (1.) !).


BEARBEITEN : Ich habe keinen physischen Zugriff auf die Maschine (nun, ich kann, aber sehr selten und erst in einigen Monaten), noch habe ich vor, die Verteilung zu ändern oder etwas neu zu formatieren. Der Server läuft und seine reibungslose Funktion ist wichtiger als andere kleinere Verbesserungen :-)

astorije
quelle

Antworten:

7

Sie können all das entfernen, um zu befriedigen vrms, wenn das alles ist, worüber es sich beschwert. Ich bin mir jedoch sicher, dass der echte RMS Sie darüber informieren würde, dass es keine Möglichkeit gibt, den Pi wirklich kostenlos zu machen, da zum Booten eine proprietäre Firmware erforderlich ist. Ich erwähne dies, weil es immer möglich ist, dass das Virtuelle in Zukunft realer wird. In diesem Fall werden Sie auf unüberwindbare Hindernisse stoßen. Im Moment wird vrmsvermutlich nicht nach solchen Dingen gesucht (sie könnten wahrscheinlich sowieso leicht verborgen werden, da sie vor dem Kernel geladen werden).

  1. In Bezug auf alle diese Firmware- * Pakete

Diejenigen, die nichts mit der im letzten Absatz erwähnten Firmware zu tun haben. Sie sind binäre blobby Dinge , die kann mit dem Linux - Kernel enthalten bekommen aufgrund der Differenz zwischen Linux Torvalds und Richard Stallman Haltung gegenüber Open - Source - Lizenzen, aber ich glaube , sie sind nicht in der Vanille-Baum , weil sie nicht Open Source sind. Sie werden von keiner der pi-eigenen Hardware verwendet. Wenn Sie Peripheriegeräte haben, die diese benötigen, wissen Sie dies entweder oder erkennen leicht, dass Sie dies getan haben, sobald Sie sie entfernt haben. Sie können all dieses Zeug so einfach zurücklegen, wie Sie es sowieso entfernt haben.

Der Ethernet-Chip wird nicht von Realtek oder Broadcom hergestellt, sondern von SMSC (kürzlich von Microchip Technology übernommen). Nicht alle Firmware ist Closed Source. Es kann auch vom Hersteller installiert werden. Ich weiß nicht, was hier der Fall ist, aber wenn ich raten müsste, ist es das letztere. Das heißt, diese Firmware stammt nicht aus dem Kernel und nicht aus einem Raspbian-Paket.

Sie können sehen, mit welchen Dateien ein Paket installiert wurde dpkg -L. Diese werden alle bevölkert /lib/firmware. Dort platziert ein Kernel-Build Dinge, die sich im Baum befinden. Daher gibt es viel mehr Zeug als von diesen nicht freien Paketen, da der Standard-Raspbian-Kernel es enthält. Aber es gibt dort keine SMSC-Firmware.

Ich habe /lib/firmwareein B mit Raspbian Jessie komplett entfernt , und es startet und stellt eine Verbindung zum Ethernet her. Auch hier /lib/firmwarehat nichts mit der eigenen Hardware des Pi zu tun.

  1. Was würde ich genau verlieren, wenn ich Pistore entferne?

Ich habe pi store nie benutzt, aber nicht, weil ich etwas dagegen habe; Ich benutze Google Play auf Android usw. Es gibt hier überraschend wenige Verweise darauf. Wieder einmal sicherlich nichts Entscheidendes.

  1. Gibt es etwas Wichtiges, das auf dem Standard-Raspbian ausgeliefert wird und von oracle-java8-jdk abhängt? Oder auf Wolfram-Motor?

Regular Debian enthält kein Java, aber wenn Sie eine FOSS-Version möchten, ist eine verfügbar ("Eistee", auch bekannt als openjdk); Ich bin mir nicht sicher, ob es Version 8 ist. Das System verwendet Java sowieso für nichts.

Die Wolfram-Engine wurde aus mysteriösen Gründen der Pi Foundation standardmäßig zu Raspbian hinzugefügt (es ist nicht in normalem Debian). Wenn Sie es nicht benötigen, können Sie es entfernen.

Goldlöckchen
quelle
Vielen Dank für diese ausführliche Antwort, die meiner Suche am nächsten kommt. In Bezug auf Frage (1.) sagten Sie jedoch: "Sie können all dieses Zeug so einfach zurückstellen, wie Sie es sowieso entfernt haben." Dies trifft leider nicht zu, da ich keinen physischen Zugriff auf die Maschine habe. Können Sie bestätigen, dass ich sicher entfernen kann, firmware-realtekohne die Ethernet-Verbindung und damit den SSH-Zugriff zu verlieren? Meine Vermutung nach dem Lesen Ihrer Antwort lautet ja, aber ich möchte sicherstellen, dass ich Ihre Aussage nicht falsch verstanden habe.
Astorije
Ich kann bestätigen, dass das Entfernen sicher ist. Ich habe in einigen Absätzen unter (1.) erklärt, wie ich dies getestet habe.
Goldlöckchen
Super, vielen Dank! Ich habe sie alle entfernt und die Welt hat sich seitdem nicht verändert!
Astorije
firmware-*Benötige ich einen der oben genannten für einen Edimax WiFi-Dongle?
KeyWeeUsr
4

Debian scheint nicht zu denken: " Der Raspberry Pi bootet von seiner GPU und derzeit ist nur nicht freie Software für die GPU verfügbar. Selbst das Starten des Computers erfordert einen großen (2 MB) Blob nicht freier, nicht unterstützbarer Software. "

Sie können definitiv Java und Wolfram entleeren. Ich werde diese sofort los. Bei den Treibern ist es möglicherweise am einfachsten, Ihre Karte zu duplizieren und sie auf einer Testkopie zu entfernen, bevor Sie nicht weiterkommen.

Wenn Sie nur wollen , machen sich vrmsnicht beschweren, können Sie möglicherweise einige entfernen / die meisten der gekennzeichneten Pakete, aber es „echte“ RMS Standards bekommen - eigentlich keine unfreie Software verwenden, nicht nur loszuwerden vrmsmarkierten debian Pakete - mit Raspbian könnte unmöglich sein.

Bobstro
quelle
Vielen Dank für den Debian-Link, er wird für andere hilfreich sein. In Bezug auf Java und Wolfram hatte ich wenig Zweifel, zog es jedoch vor, dies noch einmal zu überprüfen. Wie in der ursprünglichen Frage gesagt, habe ich nur einen SSH-Zugriff auf die Maschine, keinen physischen Zugriff, daher werde ich nichts versuchen, was mich
aussperren könnte
Oh und ja, ich dachte mir, dass ich mich nur vrmsfreuen kann, wenn auf dem Raspberry Pi nicht freie Hardware läuft. Auf der anderen Seite, obwohl der sehr reale RMS seine Tage buchstäblich nur wenige Schritte von meiner Maschine entfernt verbringt, glaube ich nicht, dass er jemals darauf achten wird :-)
astorije
2

Sie können alle von Ihnen erwähnten Pakete mit der angegebenen möglichen Ausnahme der kabelgebundenen und kabellosen Realtek-Firmware löschen.

Persönlich würde ich einfach die Realtek-Firmware löschen und den unwahrscheinlichen Treffer nehmen, den Sie zurücksetzen müssen.

Die anderen Pakete werden nicht benötigt und einige wie Wolfram und Java beanspruchen viel SD-Karten.

Pistore ist ein fehlgeschlagenes Experiment. Ich verstehe nicht, warum es immer noch als Teil des Bildes versendet wird.

joan
quelle
Danke für die Antwort, das werde ich tun. Außer das Risiko einzugehen, gesperrt zu werden, da ich keinen physischen Zugriff auf den Computer habe, sondern nur SSH-Zugriff. Ich werde weiter nachforschen ...
Astorije
1

Ich denke immer wieder, dass die Verwendung von Minibian die Antwort darauf sein könnte. Mir ist jedoch nicht klar, ob sie eines dieser nicht kostenlosen Pakete enthalten oder nicht. Ich bin auch gerade ein bisschen beschäftigt, um das zu überprüfen.

Selbst wenn sie sie enthalten würden, müssten Sie wahrscheinlich weniger Dinge entfernen, wenn Sie mit Minibian beginnen würden.

WineSoaked
quelle
Wie ich gerade in der Bearbeitung meiner Frage erwähnt habe, habe ich nicht vor, meine SD-Karte zu formatieren oder die Verteilung zu ändern, daher ist dies keine geeignete Lösung. Vielen Dank für Ihre Hilfe, aber ich würde gerne eine direkte Antwort auf meine Frage finden, anstatt sie zu
umgehen
Alles, was ich sagen kann, ist ¯ \ _ (ツ) _ / ¯ Ich würde besonders vorsichtig sein, wenn ich Pakete lösche, wenn Sie keinen physischen Zugriff haben (oder wenn es nicht in unmittelbarer Nähe ist). Um ehrlich zu sein, sollte das gesamte Paketentfernungsgeschäft abgeschlossen sein, bevor Sie den Pi installiert haben, wo immer er ist. Viel Glück!
WineSoaked
Ich muss nicht zustimmen, es wird immer seltener, wenn überhaupt möglich, physischen Zugriff auf einen Server zu haben. Und nicht alle virtuellen Instanzen sind einfach zu duplizieren! Besonders vorsichtig, ja, aber wir sprechen hier von Software-Änderungen, eigentlich nichts von Hardware. Wie auch immer, mein Problem wurde gelöst, also keine Sorge :)
Astorije
Ich bin froh, dass es geklappt hat! Ich habe nur darauf hingewiesen, dass Sie bei der Installation eines eingebetteten Geräts (z. B. Raspberry Pi) an einem Remotestandort Ihre Software / Firmware bereits vor dieser Installation aussortieren sollten.
WineSoaked
1

Um etwas in der Antwort von goldilocks zu verdeutlichen , ist nicht der gesamte Code unter /lib/firmware"[in] den Linux-Kernel geladen"; Ein Teil davon wird direkt in Geräte geladen, die über USB oder auf andere Weise angeschlossen sind. Auf einem Raspberry Pi Zero W wird beispielsweise die folgende Meldung in Ihren Protokollen angezeigt:

btuart[416]: Flash firmware /lib/firmware/BCM43430A1.hcd

Dies ist der bcm43xxTreiber , der Firmware auf das Gerät hochlädt . (Tatsächlich wird ein Patch zur Firmware in den Arbeitsspeicher des Geräts hochgeladen. Deshalb muss er bei jedem Neustart neu geladen werden. Ich weiß nicht, wie gut das Bluetooth auf dem Pi Zero W ohne diesen Patch funktionieren würde.)

Ob Sie "nicht freien" Code, der in Geräte geladen wird, für in Ordnung halten, hängt wirklich von Ihrer Sichtweise ab. In Situationen wie den oben genannten muss der nicht freie Code auf Ihrer Festplatte verbleiben, wird jedoch von der CPU nie ausgeführt. In anderen Situationen können Sie den Code möglicherweise einmal in das Gerät laden und dann den Code von Ihrer Festplatte entfernen, wobei der nicht freie Code im Flash-Speicher oder ähnlichem auf dem Gerät verbleibt. Das scheint ziemlich ähnlich zu sein, als hätte man ein Gerät gekauft, dessen Flash-Speicher im Flash-Speicher oder im ROM vorinstalliert ist, wie die GPU (und möglicherweise andere Teile) des Pi. Man könnte sogar die Verkabelung der Transistoren auf den Chips als nicht frei betrachten, wenn sie nicht zum Kopieren und Ändern verfügbar sind.

sudo journalctl | grep -i firmware hilft Ihnen festzustellen, welche Firmware Sie wirklich auf Ihrem System benötigen.

cjs
quelle