Можно ли безопасно удалить несвободное программное обеспечение на Raspberry Pi 2 под управлением Raspbian?

8

Я счастливый обладатель Raspberry Pi 2, на котором я установил Raspbian:

$ 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-*пакетов, зная, что я нахожусь в проводной сети (через встроенный порт Ethernet) без ключа Wi-Fi (и этот Pi никогда не получит его), могу ли я их удалить? Даже firmware-realtekодин? Я не думаю, что встроенный Ethernet от 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помимо очень специфических приложений и игр, которые я не буду использовать ? (К вашему сведению, у этого Пи никогда не будет графического интерфейса, это сервер и он будет жить всю свою жизнь как таковой)
  3. Есть ли что-то жизненно важное, что поставляется на стандартном Распбиане, от которого зависит oracle-java8-jdk? Или на wolfram-engine?

Я уверен, что смогу безопасно удалить их все, но я хотел бы убедиться, что я не делаю то, о чем я заранее пожалею (особенно (1.) !).


РЕДАКТИРОВАТЬ : У меня нет физического доступа к машине (ну, я могу, но очень редко, а не в течение еще нескольких месяцев), и я не планирую менять дистрибутив или переформатировать что-либо. Сервер работает, и его бесперебойная работа важнее других незначительных улучшений :-)

astorije
источник

Ответы:

7

Вы можете удалить все это, чтобы удовлетворить vrms, если это все, на что он жалуется. Тем не менее, реальная RMS, я уверен, сообщит вам, что нет никакого способа сделать pi по-настоящему бесплатным, так как для загрузки требуется специальная прошивка. Я упоминаю об этом, потому что всегда возможно, что в будущем виртуальное станет более реальным, и в этом случае вы столкнетесь с непреодолимыми препятствиями. Прямо сейчас vrmsпредположительно не проверяет такие вещи (они, вероятно, могут быть легко скрыты в любом случае, так как они загружаются до ядра).

  1. По поводу всех этих прошивок- * пакетов

Те, которые не имеют ничего общего с прошивкой, упомянутой в предыдущем абзаце. Это двоичные двоичные объекты, которые могут быть включены в ядро ​​linux из-за различий в отношении Linux Торвальда и Ричарда Столлмана к лицензированию с открытым исходным кодом, но я считаю, что они не в ванильном дереве, потому что они не являются открытым исходным кодом. Они не используются ни одним из собственных аппаратных средств пи. Если у вас есть периферийные устройства, которые в них нуждаются, вы либо узнаете, либо легко узнаете, что сделали, когда удалили их. Вы можете положить все эти вещи обратно так же легко, как вы все равно удалили.

Чип Ethernet не производится Realtek или Broadcom, это SMSC (недавно освоенный Microchip Technology). Не все прошивки с закрытым исходным кодом; также он может быть установлен производителем. Я не знаю, что здесь происходит, но если бы мне пришлось угадывать, это последнее. Т.е. эта прошивка не из ядра и не из пакета Raspbian.

Вы можете увидеть, какие файлы были установлены с помощью пакета dpkg -L. Все они заполнены /lib/firmware, и именно здесь ядро ​​собирает вещи, которые находятся внутри дерева. Следовательно, есть гораздо больше материала, чем из этих несвободных пакетов, поскольку ядро ​​Raspbian по умолчанию включает его. Но там нет прошивки SMSC.

Я полностью удалил /lib/firmwareна B запущенную Raspbian jessie, и она загружается и подключается к Ethernet. Опять же, ничего из этого не /lib/firmwareимеет отношения к собственному оборудованию пи.

  1. Что бы я потерял именно с удалением магазина

Я никогда не пользовался пи-шопом, но не потому, что я против этого; Я использую Google Play на Android и т. Д. Здесь на удивление мало ссылок . Еще раз, конечно, ничего принципиального.

  1. Что-нибудь жизненно важное, что поставляется на стандартном Raspbian, зависит от oracle-java8-jdk? Или на вольфрам-движке?

Обычный Debian не включает в себя Java, но если вы хотите, чтобы FOSS-версия была доступна («чай со льдом», aka. Openjdk); Я не уверен, что это до версии 8. Система в любом случае не использует Java.

Wolfram-engine был добавлен по умолчанию в Raspbian (он не в обычном Debian) по собственным загадочным причинам Pi Foundation. Если вам это не нужно, вы можете удалить его.

Златовласка
источник
Спасибо за этот подробный ответ, самый близкий к тому, что я искал. Относительно вопроса (1.), однако, вы сказали: «Вы можете вернуть все это обратно так же легко, как и удалили». К сожалению, это не так, поскольку у меня нет физического доступа к машине. Можете ли вы подтвердить, что я могу безопасно удалить firmware-realtekбез потери соединения Ethernet и, следовательно, SSH доступ? Думаю, после прочтения вашего ответа, да, но я хочу убедиться, что я не понял вашего заявления.
astorije
Я могу подтвердить, что это безопасно удалить; Я отредактировал несколько абзацев в разделе (1.), объясняющих, как я это проверял.
Златовласка
Отлично, большое спасибо! Я удалил их все, и мир с тех пор не изменился!
astorije
Нужен ли какой-либо из перечисленных firmware-*выше для WiFi-ключа Edimax?
KeyWeeUsr
4

Похоже, что Debian так не думает: « Raspberry Pi загружается из своего графического процессора, и в настоящее время для него доступно только несвободное программное обеспечение, даже для запуска машины требуется большой (2 МБ) большой размер несвободного неподдерживаемого программного обеспечения »

Вы можете определенно сбросить Java и Вольфрам. Я избавляюсь от них сразу же. Что касается драйверов, может быть проще всего скопировать вашу карту и попробовать удалить их из тестовой копии, прежде чем застревать.

Если вы просто хотите заставить vrmsне жаловаться, вы можете удалить некоторые / большинство помеченных пакетов, но получить «настоящие» стандарты RMS - фактически не используя несвободное программное обеспечение, а не просто избавившись от vrmsпомеченного debian. пакеты - с raspbian может быть невозможно.

bobstro
источник
Спасибо за ссылку на Debian, она будет полезна другим. Что касается Java и Вольфрама, у меня было мало сомнений, но я предпочел перепроверить. Как сказано в исходном вопросе, у меня есть только SSH-доступ к машине, но не физический доступ, поэтому я не буду пробовать ничего, что может заблокировать себя :-)
astorije
Да, и я подумал, что смогу vrmsосчастливить только тем, что Raspberry Pi работает на несвободном оборудовании. С другой стороны, хотя настоящий RMS проводит свои дни буквально в нескольких шагах от моей машины, я не думаю, что он когда-либо обратит на это внимание :-)
astorije
2

Вы можете удалить все пакеты, о которых вы упомянули, за исключением отмеченного возможного исключения прошивки Realtek для проводной и беспроводной связи.

Лично я бы просто удалил прошивку Realtek и взял бы маловероятный удар, чтобы вернуть его обратно.

Другие пакеты не нужны, а некоторые, такие как Wolfram и Java, занимают значительное место на SD-карте.

Pistore - неудачный эксперимент. Я не понимаю, почему это все еще отправлено как часть изображения.

Джоан
источник
Спасибо за ответ, я сделаю это. За исключением риска быть заблокированным, поскольку у меня нет физического доступа к машине, только доступ по SSH. Я буду продолжать расследование для этого ...
astorije
1

Я продолжаю думать, что использование Minibian может быть ответом на это. Однако мне не ясно, включают ли они какие-либо из этих несвободных пакетов или нет. Я тоже сейчас немного занят, чтобы проверить.

В любом случае, даже если бы они включали их, вам, вероятно, пришлось бы удалить меньше вещей, если бы вы начали с Minibian.

WineSoaked
источник
Как я только что упомянул при редактировании своего вопроса, я не планирую форматировать SD-карту или менять дистрибутив, поэтому это не подходящее решение. Спасибо за вашу помощь, но я хотел бы найти прямой ответ на мой вопрос, а не обходить его :-)
astorije
Все , что я могу сказать ¯ \ _ (ツ) _ / ¯ Я бы дополнительная дополнительным осторожен об удалении пакетов, если вы не имеете физический доступ (или если он не находится в непосредственной близости). Если честно, весь этот процесс удаления пакетов должен был быть сделан до того, как вы установили Pi, где бы он ни был. Удачи!
WineSoaked
Я должен не согласиться, становится все реже иметь физический доступ к серверу, когда это возможно. И не все виртуальные экземпляры легко раскрутить дубликат! Очень осторожно, да, но мы говорим о программных изменениях здесь, ничего аппаратного на самом деле. Во всяком случае, моя проблема была решена, так что не беспокойтесь :)
astorije
Рад, что у вас все получилось! Все, что я предостерегал, это то, что при установке встроенного устройства (например, Raspberry Pi) в удаленном месте, у вас уже должно быть разобрано ваше программное обеспечение / прошивка до этой установки.
WineSoaked
1

Чтобы прояснить что-то в ответе Златовласки , не весь код под /lib/firmware"[загружен в] ядро ​​Linux"; некоторые из них загружаются непосредственно в устройства, подключенные через USB или другие средства. Например, на Raspberry Pi Zero W вы увидите следующее сообщение в ваших журналах:

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

Это bcm43xxдрайвер, загружающий прошивку на устройство . (На самом деле, это загрузка патча для прошивки в оперативную память устройства; вот почему его необходимо перезагружать при каждой перезагрузке. Я не знаю, насколько хорошо Bluetooth на Pi Zero W будет работать без этого патча.)

Считаете ли вы, что «несвободный» код, загруженный в устройства, является нормальным, зависит от вашей точки зрения. В ситуациях, подобных описанным выше, несвободный код должен оставаться на вашем диске, но процессор никогда его не запускает. В других ситуациях вы можете загрузить код в устройство один раз, а затем удалить код с диска, оставив несвободный код во флэш-памяти или аналогичный на устройстве. Это похоже на покупку устройства с несвободным кодом, предварительно загруженным в его флэш-память или в ПЗУ, например, в графический процессор (и, возможно, другие части) Pi. Можно даже считать, что проводка транзисторов на микросхемах несвободна, если они недоступны для копирования и модификации.

sudo journalctl | grep -i firmware поможет вам определить, какая прошивка вам действительно нужна в вашей системе.

CJS
источник