Linux

Zawartość obrazu z modułami kernela (initrd)

Podczas instalowania jądra operacyjnego w jakiejś dystrybucji linux'a, w katalogu /boot/ jest tworzonych kilka plików. Mamy tam między innymi initrd.img i jest to obraz posiadający swój własny system plików, który jest ładowany do pamięci RAM w fazie boot (via bootloader). W tym obrazie znajdują się moduły i narzędzia, przy pomocy których to główny system plików naszego linux'a może zostać zamontowany. Czasem jednak potrzebujemy zajrzeć wgłąb tego obrazu, a to nie jest znowu taka prosta sprawa.

Aplikowanie zmiennych sysctl przy pomocy udev'a

Kernele linux'owe mają dość sporo opcji, które możemy zmienić przy pomocy pliku /etc/sysctl.conf . Niby nic nadzwyczajnego ale co w przypadku tych zmiennych, które muszą być ustawione, z tym, że moduł, który stworzy odpowiednie ścieżki w katalogu /proc/sys/ , nie został załadowany z jakichś względów przy starcie systemu? Zmienne te nie zostaną ustawione, a w logu pojawi się komunikat informujący nas o nieodnalezieniu określonego pliku. Okazuje się, że jesteśmy w stanie aplikować określone ustawienia sysctl w momencie ładowania określonych modułów i temu mechanizmowi się przyjrzymy bliżej w tym wpisie.

Moduł ssl w Apache2

Przy okazji uszczelniania serwera Apache2, przypomniał mi się atak logjam , przez który to było niemałe zamieszanie. Pamiętam, że w tamtym czasie próbowałem zabezpieczyć swój serwer testowy, by był na tę formę ataku odporny. Niemniej jednak, wersja Apache2, która w tamtym czasie była u mnie zainstalowana, nie do końca dawała taką możliwość. Dziś podszedłem do tej kwestii jeszcze raz i w oparciu o ten link udało mi się poprawnie skonfigurować mój serwer www.

Migracja certyfikatów OpenSSL z SHA-1

Szukając co by tutaj jeszcze poprawić w moim środowisku testowym, w którym działa między innymi apache, natrafiłem na komunikat w firefoxie, który oznajmił mi, że certyfikat mojego serwera korzysta z przestarzałego już algorytmu mieszającego (hash). W tym przypadku jest to SHA-1. Jak można przeczytać na blogu mozilli, algorytm SHA-1 wypadł z łask jakiś czas temu i obecnie nie zaleca się jego używania ze względów bezpieczeństwa. Postanowiłem zatem poprawić tę lukę.

AppArmor i profilowanie aplikacji

Po ostatnich doniesieniach na temat błędu jaki został znaleziony w Firefox'ie , doszedłem do wniosku, że najwyższy czas nauczyć się obsługi narzędzia AppArmor . Ma ono pomóc w kontrolowaniu praw dostępu do zasobów systemu operacyjnego, np. plików, katalogów czy określonych urządzeń. Jeśli weźmiemy przytoczony wyżej błąd, to przeglądarka bez takiego profilu AppArmor'a była w stanie przeszukać lokalne pliki i wysłać je gdzieś na net, co powodowałoby udostępnienie poufnych danych, np. historia poleceń shell'owych, czy klucze prywatne.

Fontconfig i konfiguracja czcionek w Debianie

Od zawsze podobały mi się czcionki windosowskie ale po przejściu na linux'a okazało się, że tutaj fonty wyglądają zupełnie inaczej i co mogło zdziwić, nie było w standardzie tych moich ulubionych, tj. Arial, Times New Roman i Courier New. Przez szereg lat miałem obecną w systemie dość dziwną konfigurację dla fontconfig'a, która działała na takiej zasadzie, że te czcionki aplikacji były w prządku, natomiast te pobierane z serwisów www (np. w Firefox'ie) dość słabo się renderowały i bez przeprowadzania kilku zabiegów były one zwyczajnie nieczytelne. Postanowiłem w końcu poczytać trochę dokumentacji na temat tego jak wygląda konfiguracja czcionek w debianie i po kilku dniach udało mi się osiągnąć dość zadowalające efekty wizualne.

Polskie znaki pod TTY

Jeśli w środowisku graficznym mamy ustawiony polski język, nie mamy przy tym problemów z kodowaniem znaków w tekście i nasza klawiatura ma ustawiony odpowiedni układ klawiszy ale jednocześnie doświadczamy problemów jeśli chodzi o polskie znaki pod TTY, oznacza to prawdopodobnie źle skonfigurowany wirtualny terminal. Generalnie rzecz biorąc środowisko graficzne i konsola TTY, to tak jakby dwa różne światy i trzeba je konfigurować w pewnych aspektach osobno.

Język polski w środowisku graficznym

Gdy mamy do dyspozycji panel administracyjny jednego ze środowisk graficznych, np. GNOME, zmiana języka interfejsu aplikacji w systemie nie powinna przysporzyć problemów. Natomiast jeśli chodzi o wszelkie inne środowiska oparte jedynie o menadżery okien, np. OPENBOX, lub też i te zupełnie nie mające graficznej sesji, to przestawienie języka jest lekko utrudnione. Przede wszystkim, musimy rozróżnić dwie kwestie. Jedną z nich jest język interfejsu i wszelkie wiadomości, które wypisuje nam system, np. na terminalu. A drugą są polskie znaki, które możemy wpisywać przy pomocy klawiatury. Te dwie rzeczy są ze sobą niepowiązane w żaden sposób, tj. można mieć polski układ klawiszy i jednocześnie korzystać z angielskiej wersji systemu operacyjnego linux i vice versa. Choć automaty środowisk graficznych synchronizują te dwa elementy, co wydaje się być raczej zrozumiałe.

Klawiatura i jej konfiguracja pod Debianem

W środowiskach graficznych, np. GNOME czy KDE, nie musimy zbytnio się zastanawiać nad tym jak skonfigurować klawiaturę, bo wszystko możemy sobie szybko i w prosty sposób wyklikać z graficznego panelu administracyjnego systemu. Natomiast jeśli korzystamy jedynie z odchudzonych instalacji linux'a zawierających jedynie jakiś menadżer okien, np. OPENBOX, to sami musimy zadbać o skonfigurowanie klawiatury, tak by układ się zgadzał, by były dostępne polskie znaki, no i oczywiście by system potrafił rozpoznać ewentualne klawisze multimedialne.

Kompaktowanie katalogów w systemie plików ext4

Jakiś czas temu pewien człowiek miał dziwaczny problem. Jak możemy wyczytać w przytoczonym linku, system tego użytkownika lekko mówiąc nie zachowywał się tak jak powinien. Objawiało się to przez dość ekstensywne wykorzystywanie pamięci operacyjnej RAM przy zwykłym listowaniu plików via ls w pewnych określonych katalogach. Struktura systemu plików zdaje się być porządku, bo program fsck nie zwraca żadnych błędów. Zatem w czym problem?