Temat dotyczący optymalizacji danego systemu operacyjnego pod konkretne urządzenie to dość obszerny zakres wiedzy. W przypadku Raspberry z uwagi na to iż system pracuje na karcie pamięci SD, która nawet jeśli jest szybka w kontekście transferu to ma ograniczonia co do IOPS ( operacji wejścia/wyjścia na sekundę ). A ilość operacji IOPS jest tutaj decydująca gdyż dane są rozlokowane w różnych miejscach i są to czasem dość małe porcje danych. To nie CPU czy RAM jest ograniczeniem i wąskim gardłem w przypadku Raspberry tylko pamięć masowa i wszystkie związane z tym typem nośników wady. Porady zawarte w poniższym tekście oczywiście nie dotyczą samego Raspberry z OS Raspbian i Ubuntu Mate ale także starszych komputerów jak i innych mini komputerków typu Orage PC Pi, Banana Pi a także systemów uruchamianych na wirtualnych maszynach np. na VirtualBox, VMWare czy inne.
Domyślnie w systemie Apple OS X terminal nie posiada kolorowych czcionek określających typy plików czy katalogów jak to jest najcześciej w wielu dystrybucjach systemu Linux. O ile tło i czcionki możemy zmienić w konfiguracji terminala to w dalszym ciągu nie będą odpowiednio kolorowane typy plików. Nic straconego, możemy dodać odpowiednie kolorowanie czcionek w terminalu wedle naszych potrzeb. Wcale nie musimy mieć gorszego Terminala od tego chociażby z dystrybucji Ubuntu 🙂
W systemach linuxowych rolę zapory ogniowej stanowią najczęściej regułki iptables ewentualnie w przypadku dystrybucji Ubuntu mamy „ułatwiacza” dla iptables w postaci pakietu ufw. Celem zapory ogniowej jest odpowiednie filtrowanie ruchu sieciowego w przypadku serwerów skupiamy się najczęściej na filtrowaniu pakietów przychodzących. Poniżej przedstawiam kilka podstaw dotyczących konfiguracji firewalla jak również praktyczny przykład, który może stanowić podstawę do rozszerzenia filtrowania pakietów o kolejne regułki.
Jak wiadomo komputerek Raspberry PI ma wiele różnych zastosowań. Jednym z tych zastosować to multimedia, dość często komputerek wykorzystywany jest jako MediaCenter ( XBMC ) za pomocą oprogramowania: OSMC, Kodi, OpenElec. Oprogramowanie to jest dość wygodne, gdyż ma dostosowane GUI do dużych TV, jednak materiał z niektórych serwisów internetowych jak np. popularny cda.pl jest niedostępny a uruchamiany bezpośrednio w przeglądarce na jednym z systemów pod Raspberry daje nam 5-10FPSów co uniemożliwia oglądanie filmów. Rozwiązaniem może być streaming z komputera PC do Raspberry dodatkowo możemy wykorzytać ten streaming nie tylko do oglądania filmów wymagających większej mocy od CPU/GPU ale także do streamowania gier 🙂
Dla każdego prawdziwego admina kwestia bezpieczeństwa jest nadrzędnym priorytetem szczególnie w tak krytycznych sytuacjach jak autoryzacja poprzez SSH ( Secure Shell ) w kontekście roota. Pomimo, że takie połączenie jest szyfrowane, to należy uwzględnić inne opcje podnoszące bezpieczeństwo dostępu do serwera. Poniżej zaprezentuję porady jak najbardziej zabezpieczyć serwer przed nieautoryzowanym dostępem.
Pure-FTPd to jeden z najbardziej bezpiecznych serwerów FTP do tego stabilny i dość prosty w konfiguracji. Tak więc jego popularność wśród systemów Unix/Linux nie jest przypadkowa. Poniżej przedstawiam krok po kroku instalację jak i konfigurację serwera i opis rozwiązywania ewentualnych problemów. Przeprowadzony proces instalacji i konfiguracji wykonywany był na dystrybucji Linux: Ubuntu Mate dla PC jak i dla Raspberry.
Tworząc obraz systemu na karcie pamięci dla Raspberry Pi mamy domyślnie ograniczoną wielkość partycji systemowej. Partycja po instalacji i aktualizacji pakietów zapełnia się i nie mamy już do dyspozycji miejsca na instalacje kolejnych pakietów. W przypadku Raspbiana możemy wykorzystać wbudowane narzędzie uruchamiane z poziomu konsoli raspi-config i tam możemy bezstresowo zmienić wielkość partycji systemowej. W przypadku Ubuntu Mate dla Raspberry wygląda to trochę inaczej i wcale nie jest trudne.
Standardowo serwer Apache obsługuje PHP5 jako moduł php5_mod, który co prawda jest dość szybki jednak ma pewne ograniczenia związane z konfiguracją jak i z ograniczeniem bezpieczeństwa. Problem ten można rozwiązać wykorzystując moduł FCGI ( Fast CGI ) wraz z PHP-FPM. Rozwiązanie takie daje nam znacznie większe możliwości konfiguracji interpretera PHP jak i zwiększa poziom bezpieczeństwa. Najogólniej można by wymienić chociażby możliwość niezależnej konfiguracji dyrektyw z php.ini dla każdego użytkownika / vhosta czy też uruchamianie skryptów z prawami użytkownika.
Tym razem zajmiemy się utworzeniem systemu do monitoringu z wykorzystaniem mini komputerka Raspberry Pi ( w moim przypadku jest to 2-jka ) wykorzystując do tego kamerkę SONY Eye z konsoli PlayStation 3. Może być wykorzystana także inna kamerka USB kompatybilna z Raspberry. Dzięki temu będziemy mieli energooszczędny i w miarę mobilny system monitoringu ( dostęp poprzez WIFI ) bez dodatkowych wydatków – wykorzystujemy to co już posiadamy 🙂 Dostęp do monitoringu odbywa się poprzez przeglądarkę internetową – tak więc każde urządzenie z przeglądarką internetową i dostępem do sieci będzie mogło zostać wykorzystane do monitoringu.
Jeśli posiadamy wiele różnych urządzeń typu: komputer, laptop, smartphone czy tablet dobrym rozwiązaniem jest utworzenie serwera, który będzie udostępniał pliki a także inne urządzenia np. drukarki wszystkim upoważnionym urządzeniom w obrębie sieci lokalnej. Do tego celu wykorzystamy multi-platformowy serwer Samba. Bez względu na to czy nasze urządzenie korzysta z systemu Windows, OS X, Linux czy Android będzie możliwe wykorzystanie współdzielenie plików i urządzeń podpiętych do naszego serwera. W tym wypadku serwerem będzie mini komputerek: Raspberry Pi 2 z systemem Ubuntu Mate.