Pytanie:
Czy mogę bezpiecznie usunąć niewolne oprogramowanie z Raspberry Pi 2 z systemem Raspbian?
astorije
2015-08-15 04:22:01 UTC
view on stackexchange narkive permalink

Jestem szczęśliwym posiadaczem Raspberry Pi 2, na którym zainstalowałem Raspbian:

  $ cat / proc / versionLinux wersja 3.18.11-v7 + (dc4 @ dc4-XPS13-9333) (wersja gcc 4.8.3 20140303 (wersja wstępna) (crosstool-NG linaro-1.13.1 + bzr2650 - Linaro GCC 2014.03)) # 781 SMP PREEMPT Wt 21 kwietnia 18:07:59 BST 2015  

Chcąc uszczęśliwić mój własny RMS, chcę domyślnie usunąć niewolne pakiety, które są z nim dostarczane (zajmowałem się już sonic-pi który wydaje się być niewolny ...)

  $ vrms Niewolne pakiety zainstalowane na oufmalade .... firmware-atheros Binarny firmware dla kart bezprzewodowych Atherosfirmware-brcm80211 Binarny firmware dla Broadcom Karty bezprzewodowe 802.11firmware-libertas Oprogramowanie układowe binarne do bezprzewodowego oprogramowania samochodowego Marvell Libertas 8xxx-ralink Oprogramowanie binarne do kart bezprzewodowych Ralinkfirmware-realtek Oprogramowanie układowe binarne dla przewodowych i bezprzewodowych Realtek s networkoracle-java8-jdk Platforma Java ™, Standard Edition 8 Development Kitpistore Pi Store jest oficjalnym sklepem Rasp. Aplikacje Pi i silnik gwolfram Mathematica® oraz niewolne pakiety w języku Wolfram 8, 0,9% z 886 zainstalowanych pakietów.  

Zastanawiam się:

  1. Jeśli chodzi o te wszystkie pakiety firmware- * , wiedząc, że jestem w sieci przewodowej (przez wbudowany port Ethernet) bez klucza Wi-Fi (a to Pi nigdy dostać), czy mogę je bezpiecznie usunąć? Nawet ten firmware-realtek ? Nie sądzę, że wbudowana karta Ethernet pochodzi od Realtek, ale wolę sprawdzić dwukrotnie, w przeciwnym razie stracę mój jedyny dostęp do SSH ...

    Ale to jest warte, tutaj jest jedyny wynik działania $ sudo lshw | oprogramowanie układowe grep :

    Konfiguracja
     : 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. Co dokładnie straciłbym usuwając pistore oprócz bardzo specyficznych aplikacji i gier, którymi nie będę używasz? (FYI to Pi nigdy nie będzie miało GUI, jest to serwer i będzie żyło jako takie przez całe życie)

  3. Czy jest coś istotnego, co jest dostarczane na standardowym Raspbian, co zależy od oracle-java8-jdk ? Lub na wolfram-engine?

Jestem prawie pewien, że mogę bezpiecznie usunąć je wszystkie, ale chcę się upewnić, że tak nie zrobiłem czegoś, czego z góry żałuję (zwłaszcza (1.) !).


EDYCJA : Nie mam fizycznego dostęp do maszyny (no cóż, mogę, ale bardzo rzadko i nie przez kolejne kilka miesięcy) ani nie planuję niczego zmieniać w dystrybucji ani formatować. Serwer działa i jego płynne działanie jest ważniejsze niż inne drobne usprawnienia :-)

Pięć odpowiedzi:
goldilocks
2015-08-15 04:47:19 UTC
view on stackexchange narkive permalink

Możesz usunąć to wszystko, aby zadowolić vrms , jeśli to wszystko, na co narzeka. Jestem jednak pewien, że prawdziwy RMS poinformowałby cię, że nie ma sposobu, aby uczynić pi prawdziwie wolnym, ponieważ wymaga pewnego zastrzeżonego oprogramowania układowego w celu uruchomienia. Wspominam o tym, ponieważ zawsze jest możliwe, że w przyszłości wirtualny stanie się bardziej realny, w takim przypadku napotkasz przeszkody nie do pokonania. W tej chwili vrms prawdopodobnie nie sprawdza takich rzeczy (i tak można by je łatwo ukryć, ponieważ są ładowane przed jądrem).

  1. Odnośnie tego wszystkiego pakiety firmware- *

Te, które nie mają nic wspólnego z oprogramowaniem układowym wymienionym w ostatnim akapicie. Są to binarne bzdury, które mogą zostać włączone do jądra systemu Linux ze względu na różnicę między podejściem Linuksa Torvalda i Richarda Stallmana do licencjonowania open source, ale uważam, że nie ma ich w drzewie waniliowym nie są open source. Nie są używane przez żaden własny sprzęt pi. Jeśli masz urządzenia peryferyjne, które ich potrzebują, albo wiesz, albo łatwo rozpoznasz, że tak się stało po ich usunięciu. Możesz odłożyć wszystkie te rzeczy z powrotem tak łatwo, jak i tak je usunąłeś.

Chip Ethernet nie jest produkowany przez Realtek, ani Broadcom, tylko przez SMSC (ostatnio wchłonięty przez Microchip Technology ). Nie całe oprogramowanie sprzętowe ma zamknięte źródło; może być również zainstalowany przez producenta. Nie wiem, co tu jest, ale gdybym miał zgadywać, to ten drugi. To znaczy, to oprogramowanie nie pochodzi z jądra ani z pakietu Raspbian.

Możesz zobaczyć, jakie pliki zostały zainstalowane przez pakiet za pomocą dpkg -L . Wszystkie te elementy wypełniają / lib / firmware , czyli miejsce, w którym kompilacja jądra umieszcza rzeczy znajdujące się w drzewie. Stąd jest o wiele więcej rzeczy niż z tych niewolnych pakietów, ponieważ domyślne jądro Raspbian to zawiera. Ale nie ma tam oprogramowania SMSC.

Całkowicie usunąłem / lib / firmware na B z Raspbian jessie i uruchamia się i łączy się z siecią Ethernet. Ponownie, żadna z rzeczy związanych z / lib / firmware nie ma nic wspólnego z własnym sprzętem pi.

  1. Na czym dokładnie straciłbym usuwanie pistore

Nigdy nie korzystałem ze sklepu pi, ale nie dlatego, że mam coś przeciwko temu; Używam Google Play na Androidzie itp. Jest tutaj zaskakująco mało odniesień do niego. Jeszcze raz, na pewno nic kluczowego.

  1. Czy jest coś istotnego, co jest dostarczane w standardowym Raspbian, co zależy od oracle-java8-jdk? Czy na silniku wolfram?

Zwykły Debian nie zawiera żadnej javy, ale jeśli chcesz mieć wersję FOSS, dostępna jest jedna („mrożona herbata”, czyli openjdk) ; Nie jestem pewien, czy jest to wersja 8. System i tak nie używa javy.

Silnik Wolfram został dodany domyślnie do Raspbian (nie jest w normalny Debian) z tajemniczych powodów Fundacji Pi. Jeśli jej nie potrzebujesz, możesz ją usunąć.

Dzięki za tę szczegółową odpowiedź, najbliższą temu, czego szukałem. Jednak jeśli chodzi o pytanie ** (1.) **, powiedziałeś: „Możesz odłożyć wszystkie te rzeczy z powrotem tak łatwo, jak i tak je usunąłeś”. Niestety nie jest to prawdą, ponieważ nie mam fizycznego dostępu do maszyny. Czy możesz potwierdzić, że mogę bezpiecznie usunąć `firmware-realtek` bez utraty połączenia Ethernet, a tym samym dostępu przez SSH? Po przeczytaniu twojej odpowiedzi przypuszczam, że tak, ale chcę się upewnić, że nie zrozumiałem źle twojego stwierdzenia.
Potwierdzam, że usunięcie jest bezpieczne; Redagowałem w kilku akapitach pod (1.) wyjaśniając, jak to przetestowałem.
Wielkie dzięki! Usunąłem je wszystkie i od tego czasu świat się nie zmienił!
Czy potrzebuję któregokolwiek z `oprogramowania- * 'wspomnianego powyżej dla klucza sprzętowego Edimax WiFi?
bobstro
2015-08-15 08:49:10 UTC
view on stackexchange narkive permalink

Debian wydaje się nie myśleć: „ Raspberry Pi uruchamia się ze swojego GPU i obecnie dostępne jest tylko niewolne oprogramowanie dla GPU, nawet uruchomienie maszyny wymaga dużego (2 MB) kropla niewolnego, nieobsługiwanego oprogramowania "

Na pewno możesz zrzucić java i wolfram. Pozbywam się ich od razu. Jeśli chodzi o sterowniki, najłatwiej będzie po prostu zduplikować kartę i spróbować usunąć je na kopii testowej, zanim utkniesz.

Jeśli chcesz, aby vrms nie narzekać, możesz być w stanie usunąć niektóre / większość oznaczonych pakietów, ale dostosowując je do "prawdziwych" standardów RMS - w rzeczywistości bez używania niewolnego oprogramowania, a nie tylko do pozbycia się oznaczonych vrms Pakiety Debiana - z raspbianem może być niemożliwe.

Dzięki za link do Debiana, będzie pomocny dla innych. Jeśli chodzi o java i wolfram, nie miałem wątpliwości, ale wolałem dokładnie sprawdzić. Jak powiedziałem w pierwotnym pytaniu, mam tylko dostęp SSH do maszyny, a nie fizyczny, więc nie będę próbował niczego, co mogłoby się zablokować :-)
Aha i tak, pomyślałem, że będę mógł uszczęśliwić `vrms` tylko wtedy, gdy Raspberry Pi działa na niewolnym sprzęcie. Z drugiej strony, chociaż prawdziwy RMS spędza dni dosłownie kilka kroków od mojej maszyny, nie sądzę, żeby kiedykolwiek zwrócił na to uwagę :-)
joan
2015-08-15 13:06:49 UTC
view on stackexchange narkive permalink

Możesz usunąć wszystkie pakiety, o których wspomniałeś, z wymienionym możliwym wyjątkiem przewodowego i bezprzewodowego oprogramowania Realtek.

Osobiście po prostu usunąłbym oprogramowanie Realtek i wykonał mało prawdopodobne uderzenie, które musisz umieścić wstecz.

Inne pakiety nie są potrzebne, a niektóre, takie jak Wolfram i Java, zajmują znaczną ilość miejsca na karcie SD.

Pistore to nieudany eksperyment. Nie rozumiem, dlaczego jest nadal dostarczany jako część obrazu.

Dzięki za odpowiedź, zrobię to. Z wyjątkiem ryzyka zablokowania, ponieważ nie mam fizycznego dostępu do maszyny, tylko dostęp SSH. Będę dalej badał to ...
WineSoaked
2015-08-15 06:43:42 UTC
view on stackexchange narkive permalink

Ciągle myślę, że rozwiązaniem może być Minibian. Nie wiem jednak, czy zawierają którekolwiek z tych pakietów, które nie są wolne. Jestem też trochę zajęty sprawdzaniem.

Tak czy inaczej, nawet gdyby je uwzględnili, prawdopodobnie miałbyś mniej rzeczy do usunięcia, gdybyś zaczął od Minibian.

Jak już wspomniałem w edycji mojego pytania, nie planuję formatowania karty SD ani zmiany dystrybucji, więc nie jest to odpowiednie rozwiązanie. Dziękuję za pomoc, ale wolałabym znaleźć bezpośrednią odpowiedź na moje pytanie niż je omijać :-)
Wszystko, co mogę powiedzieć, to ¯ \\ _ (ツ) _ / ¯ Byłbym bardzo * bardzo * ostrożny przy usuwaniu pakietów, jeśli nie masz fizycznego dostępu (lub jeśli nie jest w pobliżu). Cała ta sprawa związana z usuwaniem pakietów powinna była zostać zakończona, zanim zainstalowałeś Pi, gdziekolwiek to jest, szczerze mówiąc. Powodzenia!
Nie mogę się z tym nie zgodzić, fizyczny dostęp do serwera staje się coraz rzadszy, jeśli jest to w ogóle możliwe. I nie wszystkie instancje wirtualne są łatwe do skopiowania! Bardzo ostrożnie, tak, ale mówimy tutaj o zmianach oprogramowania, tak naprawdę nie ma sprzętu. W każdym razie mój problem został rozwiązany, więc nie martw się :)
Cieszę się, że udało Ci się to! Ostrzegałem tylko, że instalując urządzenie wbudowane (np.Raspberry Pi) w zdalnej lokalizacji, powinieneś już uporządkować oprogramowanie / oprogramowanie układowe przed tą instalacją.
cjs
2017-04-16 12:54:28 UTC
view on stackexchange narkive permalink

Aby wyjaśnić coś w odpowiedzi goldilocks, nie cały kod w / lib / firmware jest „[załadowany] do jądra Linuksa”; część z nich jest ładowana bezpośrednio do urządzeń podłączonych przez USB lub w inny sposób. Na przykład na Raspberry Pi Zero W w swoich dziennikach zobaczysz następujący komunikat:

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

To jest sterownik bcm43xx przesyłający oprogramowanie sprzętowe do urządzenia. (W rzeczywistości ładuje łatkę do oprogramowania układowego do pamięci RAM urządzenia; dlatego musi być ponownie ładowana przy każdym ponownym uruchomieniu. Nie wiem, jak dobrze Bluetooth w Pi Zero W działałby bez tej łatki.) / p>

To, czy uważasz, że „niewolny” kod ładowany do urządzeń jest w porządku, naprawdę zależy od twojego punktu widzenia. W sytuacjach takich jak powyżej, niewolny kod musi pozostać na dysku, ale procesor nigdy go nie uruchamia. W innych sytuacjach możesz raz załadować kod do urządzenia, a następnie usunąć go z dysku, pozostawiając niewolny kod w pamięci flash lub podobnym urządzeniu. Wydaje się to bardzo podobne do zakupu urządzenia z niewolnym kodem wstępnie załadowanym w pamięci flash lub w pamięci ROM, takie jak GPU (i być może inne części) Pi. Można by nawet uznać okablowanie tranzystorów w chipach za niewolne, jeśli nie można ich kopiować i modyfikować.

sudo journalctl | grep -i firmware pomoże ci określić, jakiego oprogramowania naprawdę potrzebujesz w swoim systemie.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...