Naprawienie hibernacji w Squeeze.

W poprzednich narzekaniach na Debiana pisałem, jak to mi hibernacja szwankuje, mimo zgłoszonych bugów. Nie ma co ukrywać, powrót tematu hibernacji w tej dyskusji i chęć zepsucia czegoś doprowadziły do tego, że stwierdziłem, że trzeba poszukać problemu. Metodą najdoskonalszą, czyli izolacji problemu.

Podejrzanych było dwóch: hibernate i uswsusp. Na początek stwierdziłem, że wyrzucę oba pakiety wraz z konfiguracjami (wajig purge…) i zobaczę, jak LXDE reaguje. Ku memu zdziwieniu, opcje hibernacji i usypiania nadal były dostępne. Kliknąłem jedną z nich i… ku memu zdziwieniu zadziałała. Znaczy się, winnych może być więcej. Szybki reboot i dalsze działanie uśpienia upewniły mnie, że musi być inny winny.

Wizyta na kanale #debian (hibernacja to dla mnie nowość, przyznaję się od razu, że ten temat jest mi praktycznie obcy, jakoś nigdy nie widziałem sensu tego) przyniosła newsa: jest jeszcze pakiet pm-utils, który może zapewniać dostęp do usypiania i hibernacji. Został odinstalowany i zainstalowałem od nowa uswsusp. Tradycyjnie nie banglał. Wywaliłem go i stwierdziłem, że dam szansę narzędziom z pm-utils. Ku memu zdziwieniu opcje testowe pokazywały, że powinno działać z ich użyciem i uśpienie, i hibernacja. I faktycznie działają one pod Squeeze od kopa i elegancko.

Pomysłu co może być przyczyną niedziałania uswsusp na kanale nie ma, maintainer pakietu jakoś się nie odzywa w zgłoszeniu błędu. Szkoda, bo uswsusp miał trochę ciekawych opcji (kompresować czy nie, szyfrować czy nie)… Za to dostałem namiar na stronę dotyczącą MIA Team. 😉

Znowu wszystko działa i Debian robi się nudny

Debian nie jest nudny!

Nieco ponad rok temu pisałem, że Debian jest nudny. Straszny błąd i odszczekuję. Owszem, w wersji stabilnej może tak to wyglądać, ale jeśli korzysta się z wersji testing (no dobrze, tak naprawdę testing/unstable), to nudzić się nie sposób. Czym można być zaskoczonym? Wieloma rzeczami, podczas niewinnych upgrade’ów.

Sprawa pierwsza, ponieważ karta zintegrowana nie działała, kupiłem sobie zintegrowaną na USB. Ruszyła od kopa praktycznie (nuda). Po paru dniach przestała działać. Ot tak sobie. Śledztwo pokazało, że jakiś mózg stwierdził, że jak ktoś ma kartę USB, to nie będzie podstawowa na pewno i w /etc/modprobe.d/alsa-base.conf pojawiło się:

# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2

Oczywiście bez ostrzeżenia przy wprowadzaniu zmian, bo po co?

Inne wesołe? Ależ proszę. Po którymś upgrade i reboocie karta graficzna zaczęła robić ciekawy efekt. Tzw. wyżarzanie. Obraz rozjechany (random na podstawie zawartości konsoli), kaszana i coraz jaśniej świecił. Nawet ciekawe, ale… Szczęśliwie miałem odpalone SSH, bo nie wiedziałem, czy całkiem się wiesza, czy co. Okazało się, że nie, nie całkiem. Wszystko żyje. Tylko nie wyświetla.

Po krótkiej walce, tymczasowo rozwiązałem problem dodając moduł radeon (karta to 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY) do blacklisty (i tak go ładował…). I tak żyłem sobie w naiwnym przekonaniu, że w kernelu coś skopali. Wcale nie. Przy niedawnej dyskusji na IRCu jakoś tak zeszło na Radeony i… Włączyli KMS! Tak ni z gruchy, ni z pietruchy. Wystarczyło wyłączyć KMS w /etc/modprobe.d/radeon-kms.conf i wcale nie trzeba blacklistować modułu radeon! Szkoda, że nie instalowany pakiet nie wyświetlił informacji o tej zmianie przy instalacji.

I tak liczyłem, że KMS będzie sprawą tego, że hibernacja przestała działać (bo również nagle przestała). Niestety nie – po wyłączeniu KMS nadal nie działa. Zgłosiłem dwa błędy odnośnie pakietu uswsusp (#583525 i #574653). W ogóle trochę nie rozumiem, czy ktoś sprawdza, czy maintainer tego pakietu żyje? Zwykle przy innych zgłoszeniach był jakiś feedback, a tu wisi, wisi, wisi… A mi hibernacja nadal nie działa. No chyba, że z jakiejś przestarzałej metody korzystam i stąd to milczenie…

W każdym razie, Debian nie jest nudny. Przy testingu nudzić się nie sposób! 😉

Odzyskiwanie miejsca w systemie (Linux, Windows).

Używany system ma tendencję do powolnego gubienia miejsca. Niezależnie od tego czy mamy w systemie porządek, czy nie, z czasem przybywa rzeczy, których nie potrzebujemy. Z jednej strony są to bardzo potrzebne pliki, których po prostu szkoda skasować (chociaż tak naprawdę nigdy już ich nie otworzymy), z drugiej nieużywane pakiety, konfiguracje usuniętych pakietów, pliki tymczasowe itp.

O ile z pierwszymi nie bardzo można sobie poradzić inaczej, niż samodzielnie utrzymując porządek (sortowanie do katalogów, kasowanie zbędnych rzeczy) i ręcznie usuwając pliki, to w przypadku tych drugich można sobie pomóc w czyszczeniu systemu różnymi automatami i półautomatami.

Pierwszy złodziej miejsca w systemie to cache apt-a, czyli /var/cache/apt/archives. Leżą tu paczki deb instalowanych pakietów. We wszystkich wersjach, także tych starszych. Praktycznie nigdy nie będą potrzebne, więc z czystym sumieniem możemy je skasować: wajig clean (lub, bardziej kanonicznie apt-get clean).

Drugi popularny złodziej miejsca to locale, czyli różne wersje językowe dla danego programu. Zwykle nie potrzebujemy dokumentacji itp. po hiszpańsku, włosku czy chińsku. Rozwiązanie: localepurge (po uprzednim skonfigurowaniu, fajnie jakby coś jednak zostało…).

Potem można zobaczyć, czy nie zostały w systemie pliki konfiguracyjne po usuniętych pakietach. Przy okazji sprawdzimy, które pakiety zajmują najwięcej miejsca: wajig sizes. Status inny niż installed oznacza, że raczej możemy się pozbyć pakietu w całości, czyli z konfigami (wajig purge <pakiet>).

Na koniec jeszcze deborphan (albo wersja ładniejsza w curses czyli orphaner) i usuwamy zainstalowane na potrzeby spełnienia zależności niepotrzebne pakiety (głównie biblioteki).

Tu się zwykle sprzątanie kończy. No dobrze, można jeszcze skorzystać z jednego z przydatnych poleceń i spojrzeć, które katalogi zajmują najwięcej miejsca (du –max-depth=1 -b | sort -n) i ręcznie pousuwać zbędne rzeczy (typu cache googleearth).

Dłużej używane systemy mają tendencję do gromadzenia pakietów z poprzednich wersji (szczególnie, jeśli korzysta się z wersji niestabilnej lub miesza kilka wersji systemu). Można je łatwo wytropić (i usunąć) korzystając z opisanego sposobu: wajig versions | grep -v squeeze.

A dziś odkryłem wisienkę na czubek tortu: BleachBit. Narzędzie jest wieloplatformowe (Linux, Windows) z funkcjami typowo Debianowymi (bardziej Ubuntu pewnie) i zajmuje się takimi cichymi złodziejami miejsca jak cache różnych aplikacji. Poza tym, że sięga tam, gdzie inne automaty nie sięgają, umie też czyścić rzeczy typowo systemowe: wspomniany cache apta, nieużywane lokalizacje (twórcy BleachBit twierdzą, że robi to znacznie skuteczniej, niż localepurge, faktycznie znalazł więcej).

Posiada zarówno miłą klikalną wersję GUI (z której korzystałem) jak i interfejs CLI (nie próbowałem). Do tego dobre podpowiedzi do opcji (ostrzega przed opcjami powolnymi i potencjalnie niebezpiecznymi). Działa bardzo fajnie, więc zdecydowanie polecam, jeśli ktoś planuje porządki w systemie (a chyba każdy prędzej czy później staje przed pytaniem jak odzyskać miejsce w systemie?). Użycie jest proste: najpierw wybiera się, co chce się usunąć, potem jest podgląd plików do usunięcia (warto spojrzeć co będzie usuwane – wywala np. pliki bak i inne tymczasowe – czasami może tam być coś pożytecznego…). Program dba o prywatność użytkownika – jako opcja dostępne jest nadpisywanie zawartości kasowanych plików przed ich usunięciem.

Jedyne do czego można się przyczepić, to spolszczenie. Zapewne w oryginale był vacuum (bazy danych), a został… odkurzacz. I parę innych kwiatków tego typu, ale IMHO nie rzutuje na całość.