Raspbianを実行しているRaspberry Pi 2上の非フリーソフトウェアを安全に削除できますか?


8

私はRaspbianをインストールしたRaspberry Pi 2の幸運な所有者です。

$ 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

作成しようとする試みでは私の非常に自身のRMS幸せを、私は、デフォルトではそれで船という非フリーのパッケージを削除したい(私はすでにの世話取っsonic-pi非フリーであるように思われたが...)

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

不思議なんだけど:

  1. これらのすべてのfirmware-*パッケージについて、私が(オンボードイーサネットポートを介して)有線ネットワーク上にあり、Wi-Fiドングルがない(そしてこのPiは決して取得しないことを知っているので、それらを削除しても安全ですか?でも、firmware-realtek1?オンボードイーサネットがRealtekによるものだとは思いませんが、再確認することをお勧めします。そうしないと、SSHアクセスだけが失われてしまいます...

    それだけの価値があるので、これが唯一の結果です$ 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. 使用しない特定のアプリやゲームをpistore除いて、正確に何を失うでしょうか?(参考までに、このPiにはGUIがありません。サーバーであり、生涯そのように動作します)
  3. 依存する標準のRaspbianで出荷する重要なものはありoracle-java8-jdkますか?それともwolfram-engine

それらをすべて安全に削除できると確信していますが、事前に後悔するようなことをしないようにしたいと思います(特に(1.)!)。


編集:私はマシンに物理的にアクセスできません(まあ、私はできますが、非常にまれであり、数か月間は)、配布を変更したり、何かを再フォーマットしたりする予定はありません。サーバーは稼働しており、そのスムーズな機能は他のマイナーな改善よりも重要です:-)

回答:


7

vrmsそれが不満である場合は、それをすべて削除して、を満たすことができます。ただし、本当のRMSは、起動するために独自のファームウェアを必要とするため、パイを完全にフリーにする方法はないと私は確信しています。これは、将来的に仮想がより現実的になる可能性が常にあるためです。その場合、克服できない障害が発生します。現在、vrmsおそらくそのようなことをチェックしていません(カーネルの前に読み込まれるため、とにかく簡単に隠すことができます)。

  1. これらすべてのファームウェア-*パッケージについて

前段落で述べたファームウェアとは何の関係もないもの。これらは、オープンソースライセンスに対するLinux TorvaldとRichard Stallmanの態度の違いにより、Linuxカーネルに含まれる可能性のあるバイナリブロビーなものです、オープンソースではないため、バニラツリーには含まれていないと思います。それらは、piの独自のハードウェアでは使用されません。それらを必要とする周辺機器がある場合、それらを削除すると、それを知っているか、簡単に認識できるでしょう。とにかくそれを取り除くのと同じくらい簡単に、これらすべてのものを戻すことができます。

イーサネットチップはRealtekやBroadcom によって作成されたのではなく、SMSC(最近Microchip Technologyによって吸収された)によるものです。すべてのファームウェアがクローズドソースであるわけではありません。また、製造元によってインストールされる場合もあります。ここでどちらが当てはまるかはわかりませんが、推測しなければならないのは後者です。つまり、そのファームウェアはカーネルからのものではなく、Raspbianパッケージからのものでもありません。

を使用して、パッケージによってインストールされたファイルを確認できますdpkg -L。これらはすべて/lib/firmware、カーネルビルドがツリー内にあるものを配置する場所に存在します。したがって、デフォルトのRaspbianカーネルに含まれているため、これらのnon-freeパッケージよりもはるかに多くのものがあります。しかし、そこにはSMSCファームウェアはありません。

/lib/firmwareRaspbian jessieを実行しているBを完全に削除しました。起動してイーサネットに接続します。繰り返しに/lib/firmwareなりますが、pi自体のハードウェアとは関係ありません。

  1. Pistoreを削除すると何が失われますか

私はpiストアを使用したことがありませんが、それに反対する理由があるわけではありません。私はAndroidなどでgoogle playを使用しています。驚くべきことに、ここでの参照ほとんどありませ。ここでも、重要なことは何もありません。

  1. oracle-java8-jdkに依存する標準Raspbianに同梱される重要なものはありますか?それともwolfram-engineで?

通常のDebianにはJavaが含まれていませんが、FOSSバージョンが必要な場合は利用できます(「アイスティー」、別名openjdk)。私はそれがバージョン8までであるかどうかわかりませんシステムはとにかくJavaを何も使用しません。

Wolfram-engineはPi Foundation自身の不可思議な理由により、デフォルトでRaspbian(通常のDebianにはありません)に追加されました。不要な場合は削除できます。


私が探していたものに最も近いこの詳細な回答に感謝します。質問(1.)に関しては、「取り除いたのと同じくらい簡単に元に戻すことができます」と述べました。私はマシンに物理的にアクセスできないため、残念ながらこれは当てはまりません。firmware-realtekイーサネット接続を失うことなく、したがってSSHアクセスを失うことなく安全に削除できることを確認できますか?あなたの答えを読んだ後の私の推測はイエスですが、私はあなたの発言を誤解していないことを確認したいと思います。
astorije

削除しても安全であることを確認できます。(1.)のいくつかの段落を編集して、これをどのようにテストしたかを説明しました。
ゴルディロックス

ありがとうございます。私はそれらをすべて削除しましたが、それ以来世界は変わっていません!
astorije

firmware-*Edimax WiFiドングルに上記のいずれかが必要ですか?
KeyWeeUsr 2017年

4

Debianはそう考えていないようです:「Raspberry PiはGPUから起動し、現在GPUで利用できるのはnon-freeソフトウェアだけです。マシンを起動する場合でも、non-freeでサポートされないソフトウェアの大きな(2MB)blobが必要です

あなたは間違いなくjavaとwolframをダンプすることができます。私はそれらをすぐに取り除きます。ドライバーに関しては、行き詰まる前に、カードを複製してテストコピーで削除するのが最も簡単な場合があります。

vrms文句を言わないようにしたい場合は、フラグの付いたパッケージの一部またはほとんどを削除して、それを「実際の」RMS標準にすることができます。実際には、非フリーソフトウェアを使用せず、vrmsフラグの付いたdebian を取り除くだけではありません。パッケージ-raspbianでは不可能かもしれません。


Debianリンクをありがとう、それは他の人に役立つでしょう。javaとwolframについては、疑いはほとんどありませんでしたが、再確認することを好みました。元の質問で述べたように、私は物理的なアクセスではなく、マシンへのSSHアクセスしか持っていないので、自分をロックアウトできるものは何もしません:-)
astorije

ああ、そうです。RaspberryPiはvrmsフリーでないハードウェアを実行しているので、私は幸せになることができるだけだと考えました。一方、実際のRMSは文字通り私のマシンから離れて日々を過ごしていますが、彼がこれに注意を払うことはないと思います:-)
astorije

2

Realtekの有線および無線ファームウェアを除いて、言及したすべてのパッケージを削除できます。

個人的に私はRealtekファームウェアを削除して、それを元に戻す必要があると思われるヒットを取得します。

他のパッケージは必要ありません。WolframやJavaなどの一部のパッケージは、かなりの量のSDカードスペースを使用します。

pistoreは失敗した実験です。画像の一部としてまだ出荷されている理由がわかりません。


答えてくれてありがとう。マシンに物理的にアクセスできないためにロックアウトされるリスクを冒す以外は、SSHアクセスのみです。私はそのために調査を続けます...
astorije

1

Minibianを使用することがこれに対する答えかもしれないと私は考え続けています。ただし、これらのnon-freeパッケージが含まれているかどうかは不明です。今チェックするのもちょっと忙しいです。

いずれにせよ、それらに含まれていても、Minibianを使用し始めた場合は、削除する項目が少なくなるでしょう。


質問の編集で述べたように、SDカードをフォーマットしたり、ディストリビューションを変更したりする予定はないため、これは適切なソリューションではありません。しかし、あなたの助けに感謝しますが、私はそれを回避するのではなく、私の質問に対する直接的な答えを見つけたいです:-)
astorije

すべて私に言えることは、(ツ)_ /¯私は余分だろう_ \¯で、余分なあなたは物理的なアクセスを持っていない場合(またはそれが近接していなかったら)、パッケージを削除するには注意。正直なところ、Piをどこにでもインストールする前に、このパッケージ削除ビジネスはすべて実行されているはずです。幸運を!
2015

私は同意しなければなりません。可能な場合でも、サーバーに物理的にアクセスすることはまれになっています。また、すべての仮想インスタンスが複製を簡単に作成できるわけではありません。特に注意してください。ただし、ここではソフトウェアの編集について説明します。ハードウェアについては説明しません。とにかく、私の問題は解決されたので心配ありません:)
astorije

うまくいきました!私が注意しているのは、組み込みデバイス(つまりRaspberry Pi)をリモートの場所にインストールする場合、そのインストールの前にソフトウェア/ファームウェアを分類しておく必要があるということです。
2015

1

goldilocksの答えで何かを明確にするために、その下のすべてのコード/lib/firmwareが「Linuxカーネルに[ロードされる]」であるとは限りません。その一部は、USBまたはその他の手段で接続されたデバイスに直接ロードされます。たとえば、Raspberry Pi Zero Wでは、ログに次のメッセージが表示されます。

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

これは、デバイスにファームウェアをアップロードするbcm43xxドライバです。(実際には、ファームウェアのパッチをデバイスのRAMにアップロードしています。これが、再起動のたびに再ロードする必要がある理由です。このパッチがないと、Pi Zero WのBluetoothがどの程度うまく機能するのかわかりません。)

デバイスにロードされた「非フリー」コードを問題ないと見なすかどうかは、実際にはあなたの視点に依存します。上記のような状況では、nonfreeコードはディスク上にとどまる必要がありますが、CPUはそれを実行しません。他の状況では、デバイスにコードを一度ロードしてからディスクからコードを削除し、デバイスの非フリーコードをフラッシュメモリなどに残しておくことができます。これは、フラッシュメモリまたはROMにnonfreeコードがプリロードされたデバイス(PiのGPU(およびその他のパーツ)など)を購入したのと非常に似ています。コピーや変更ができない場合は、チップ上のトランジスタの配線がフリーではないと考えるかもしれません。

sudo journalctl | grep -i firmware システムで本当に必要なファームウェアを判断するのに役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.