Przygoda z lapkiem – naprawianie filesystemu ReiserFS.

Sytuacja z życia wzięta: jest sobie laptop, który nie bootuje się z USB, ma dysk IDE podzielony na partycje. Po brutalnym wyłączeniu prądu (edukacja techniczna współdomowników poszła w las, niestety – wykazali się nadgorliwością przy wyłączaniu) okazuje się, że / z ReiserFS montuje się w trybie read only. Druga partycja z ext4 jest zdrowa, ale jest czymś w stylu /opt. Skoro nie można uruchomić żadnego systemu live (tzn. z USB, płyty CD nie mam pod ręką), to pozostaje maintaince mode.

Niby żaden problem – istnieją narzędzia do naprawy filesystemów, ale fsck.reiserfs nie należy do najbezpieczniejszych narzędzi, o czym zresztą sam ostrzega (i nie jest to ostrzeżenie nieuzasadnione, kiedyś nadgodziny przez to zaliczałem…). Uruchomienie z opcją –fix-fixable (co za nazwa), pomogło, ale nie do końca – dalej jest read only, a program sugeruje uruchomienie z opcją przebudowania drzewa. Tym razem ostrzeżenie zajmuje cały ekran i wprost sugeruje zrobienie backupu, najlepiej przerzucenie obrazu w bezpieczne miejsce przy pomocy ddrescue. I podają nawet adres, gdzie można uzyskać support, za jedyne 25 dolarów. Cóż, skoro tak, to jednak postaram się uruchomić jakieś liveCD, żeby zrobić porządek (cóż, wypalona płyta może się przydać kiedyś, więc bez dramatu, bo chociaż do niedawna sądziłem, że wszystko już potrafi uruchomić się z USB, to nie do końca tak jest)…

Niestety, okazuje się, że CD-ROM nie jest w pełni sprawny. Albo, że liveCD Squeeze’ego nie działa (bo płytę widzi, początek bootowania zachodzi). Na dodatek na zdrowej partycji jest ok. 7 GB miejsca, a na zepsutej zajęte ponad 8 GB, a sama ma rozmiar kilkudziesięciu GB, więc skopiowanie tam obrazu średnio wchodzi w grę, nawet z kompresją. Na inny system obrazu nie przerzucę, bo jak / jest w read only, to wifi nie działa (kabla nie sprawdzałem, nie chciało mi się podłączać). Może by działało, jakby było wicd-curses zainstalowane, ale nie było, a Xy oczywiście nie wstawały.

Ostatecznie postanawiam podmontować zdrowy filesystem, skopiować na niego tylko najpotrzebniejsze dane (czytaj: katalog domowy) i w najgorszym wypadku, jeśli nie zdoła naprawić, skończy się przekładaniem dysku i reinstalacją systemu.

Pojawia się kolejny problem – skoro / jest w trybie read only, to nie można utworzyć katalogu, by podmontować gdzieś zdrowy filesystem. I to jest ten moment, który mnie na chwilę zawiesił. Rozwiązanie okazało się trywialne – / może być w read only, ale /dev/shm to nie dotyczy. Szybkie mkdir /dev/shm/backup, zamontowanie zdrowej partycji w tym miejscu i już można na spokojnie skopiować wybrane dane.

Kilka minut później uruchomiłem fsck.reiserfs z opcją przebudowania drzewa. Tym razem dał radę. Ale poważnie myślę nad zrobieniem dodatkowej partycji ratunkowej o rozmiarze 1GB, z minimalnym systemem (znaczy łączność, narzędzia do naprawy filesystemów, ddrescue itp.).

Goodbye KDE.

Odkąd pamiętam zawsze korzystałem z programów ze stajni KDE. Po pierwsze, były wystarczająco szybkie, po drugie, odpowiadał mi look & feel. No i oczywiście świetna funkcjonalność. Stąd, jeśli szukałem jakiegoś programu, to najpierw sprawdzałem, czy nie ma wersji dla KDE. Stąd używanie konsole, kcalc, akregator, kdm, kalarm, knotes, kate, kdiff3.

Tak było dla KDE w wersji 3. W KDE4 trochę się pozmieniało, zmienił się też sprzęt (na starszy), na pewne rzeczy z konieczności zacząłem bardziej zwracać uwagę. Pierwszą zmianą była zmiana środowiska graficznego – jakoś LXDE bardziej mi leży, a ma wszystko, czego potrzebuję więc… czemu nie?

Popatrzyłem, popatrzyłem i… knotes nie używam, kalarm nie używam. Kate w domu nie używam, kdiff3 – nie było potrzeby jakoś. Tak naprawdę przy KDE trzymały mnie 3 rzeczy: kdm, akregator, konsole.

Kdm został już jakiś czas temu zastąpiony przez slim (zaczęło się od linka do tematów graficznych dla Squeeze), który po prostu daje radę – logowanie nie jest tak paskudne jak w xdm, tworzenie tematów jest bardzo proste, działa…

Wczoraj wyleciał akregator (na rzecz liferea). Nie jestem pewien, czy definitywnie, ale wszystko wskazuje, że tak. Wyleciał, bo wersja z KDE4 była jakaś taka przyciężkawa. Trudno to sprecyzować, po prostu wersja z KDE3 działała jakby szybciej, tak samo szybciej działa liferea (to akurat widać w top). I tym sposobem dziś odintalowałem pakiet kdebase.

Z programów codziennego użytku został konsole – w wersji z KDE4 bardzo fajnie działa i nie mam zastrzeżeń żadnych. Kcalc też został, ale kalkulatorów jest masa i jakoś nie mam ciśnienia, by go zastępować czymś innym, tym bardziej, że uruchamiam go bardzo rzadko. Kate i kdiff3 też są na dysku, ale jakoś nieużywane.

Wszystko wskazuje na to, że także na innych desktopowych maszynkach po upgrade do Squeeze, jedną z pierwszych rzeczy, które zrobię będzie wajig remove kdebase.

Cpulimit, czyli cichy laptop.

Czasem jest tak, że do wykonania jest jakieś zadanie, na czasie wykonania którego nie zależy nam szczególnie, ale wykonujemy je na sprzęcie, który przy większym obciążeniu zaczyna np. hałasować. Dobrym przykładem jest kompresja/dekompresja dużych archiwów lub konwersja filmów na laptopie. Mój laptop praktycznie nigdy nie korzysta z wiatraka. Włącza się on dopiero, gdy procesor osiągnie 75 st. C, ale za to jak się włączy… tragedia, że szkoda słów.

Zwykły nice nie wystarczy (to dobre do zapewnienia dobrej responsywności innych zadań), ale to jest Linux, więc na pewno coś jest, co może pomóc. I rzeczywiście istnieje program, który pozwoli procentowo przydzielić zasoby CPU, a  nazywa się on cpulimit.

Zasada działania jest prosta – uruchomiony program śledzi wskazany proces i okresowo zatrzymać jego działanie (wysyłając SIGSTOP), a następnie, po bardzo krótkiej chwili wznawia je (wysyłając SIGCONT). Dodatkowo oblicza, na ile zatrzymać działanie tak, aby średni czas działania był zgodny z podanym przez użytkownika procentowym udziałem przydzielonego czasu procesora. Żadnych cudów, ale efekt bardzo fajny – po -l 60 (limitowanie do 60%) mam pewność, że wiatrak się nie załączy – temperatura nie zbliża się w okolice krytycznych 75 st. C.

Żeby nie było za dobrze, są też wady. Oczywista to wydłużenie czasu wykonania operacji. Mniej oczywista, to trochę „śmieci” na ekranie (przy uruchomieniu jeden raz pojawia się informacja o zatrzymaniu działania procesu). Kolejna wada, to działanie tylko dla pierwszego procesu pasującego do nazwy (ale to już polecam przeczytanie uwag w man cpulimit).

Ponieważ miałem problem z opcjami -e oraz -P (pewnie zaraz zgłoszenie błędu pójdzie), za to -p działa bez problemu, to, jeśli ktoś koniecznie chce odwoływać się do nazwy, polecam użycie:

cpulimit -p `pidof PROCES` -l 60 -v

Z podobnych zagadnień, jeśli ktoś chciałby przypisać proces do danego CPU, to powinien zainteresować się programem taskset.

UPDATE: Jak Paweł słusznie zauważył w komentarzu (dzięki za info), już było na ten temat pisane. Dodaję linka.

Linki:

  1. Strona domowa programu cpulimit.
  2. Ciekawie wyglądający opis tworzenia demona na bazie programu cpulimit (nie testowałem w praktyce).
  3. Nieco więcej o taskset.
  4. Wpis Grzglo na ten sam temat – parę informacji więcej (zwł. o demonie) oraz dyskusja.
  5. Opis Control Groups w Linuksie – inny, wspierany przez kernel, bardziej uniwersalny, wydaje się, że lepszy (ale i nieco trudniejszy w użyciu) sposób na to samo.

Nowy stary laptop.

Od jakiegoś czasu chodził za mną zakup prywatnego laptopa. Nie stacjonarki (taką bym miał od ręki), bo nie mam tyle miejsca w domu. Poza tym, stacjonarki hałasują, żrą kupę prądu, wymagają klawiatury i monitora (wspominałem o braku miejsca?), nie mają wifi (kable… wspominałem o braku miesca?) ale czegoś małego, łatwego do zwinięcia ze stołu, spakowania w plecak i przewiezienia. Służbowy laptop niby jest, ale to nie to samo (nie zepsuję sobie systemu do poziomu niedziałania czy filesystemu do poziomu utraty danych), poza tym, trzeba to nosić do pracy i z pracy…

Pierwotnie myślałem o jakimś netbooku – MSI Wind wyglądał zachęcająco – ale ostatnio dane mi było popracować kilka dni na takim sprzęcie i o ile dorywczo, na parę dni jest to świetna sprawa, a mobilnie zupełne cudo, to na dłuższą metę ekran jest trochę za mały jak na stacjonarnego kompa (a ten 9x% czasu spędzi w domu), a o monitorze miejscu pisałem wyżej.

Jak pisałem, laptop miłej się zepsuł – twierdzi, że się przegrzewa i wyłącza się. Cuda ze smarowaniem pastą, dociskaniem, przyklejaniem (sic!) radiatora do procesora nie pomogły, a raczej pomagały tylko doraźnie (choć w przypadku przykeljenia na tyle długo, że myślałem, że po problemie). Albo walnięta jest dioda termiczna w tym Sempronie, albo nie wiem. Ponieważ miła dostała nowego laptopa, to średnio są zasoby na kupno drugiego, poza tym, kupno nowego lapka dla mnie to byłby overkill. No i jest służbowy, więc tak bez sensu kupować…

W tym kontekście z nieba spadł mi dobry człowiek, który odkrył w biurku „złom” – HP Omnibook 6100, który „trochę na czerwono świeci” i bateria zdechła, i postanowił go oddać (for free). Ponieważ bebechy potężne (1 GB RAM, 1 GHz CPU), to stwierdziłem, że trzeba dać sprzętowi szansę, poza tym, tak naprawdę ja głównie konsoli, komunikatora i WWW używam. No i oszczędzamy środowisko takim recyclingiem. 😉 Gdyby z grafiką było bardzo źle, to zawsze wchodził w grę drugi projekt – media center z jakimś MPD, odtwarzający muzę z netu (Jamendo, radia internetowe) i z dysku, plus robiący za AP w domu (wifi się wsadzi, choćby na USB), plus węzeł Tora (poważnie rozważam kupienie droższego o 10 zł abonamentu na tę okoliczność – upload 512 kbit), plus testy IPv6 (kolejny projekt to odpalenie w domu sieci v6 only, ale nie bardzo chce mi się z tym walczyć na OpenWRT, bo OpenWRT jest, jakie jest, a chciałbym się różnymi podejściami pobawić).

Tak więc, po dotarciu na miejsce (nie bez problemów, bo firma niezupełnie widnieje na domofonie) dostałem laptopa. Szczęśliwie na dysku był system (Debian, łiii!), bo z bootowaniem z pendrive’a były pewne problemy (nie wnikałem zbytnio, a płyty nie miałem pod ręką). Szybka instalacja debootstrapa, zamiana dwugigowej partycji swap na ext3 pod tymczasowy system instalacja i… jest jak instalować normalny system. Padło oczywiście na Debiana, tym razem w wersji testing (+unstable). Lenny jest trochę za stary już, poza tym, skoro to sprzęt prywatny, to można sobie pozwolić na pewne psucie. Grafika okazała się lekko czerwona tylko przy starcie – potem jest to niezauważalne/nie przeszkadza mi, zatem… desktop!

KDE4 (które widzę po raz pierwszy tak naprawdę) – działa zaskakująco sprawnie na takim staruszku. Nie jest to demon szybkości, ale całkiem używalne. Chociaż rozumiem ludzi, którzy z wejściem czwórki porzucają KDE – wygląd i działanie mocno zmienione. Od jakiegoś czasu chodziło za mną LXDE i – mimo, że używam wielu aplikacji ze stajni KDE (choćby akregator, konsole), to wygląda to i działa całkiem przyjemnie i jest w tej chwili systemem nr 1. Za to killerem okazał się… flash. Filmy na YouTube ewidentnie się tną, zużycie procesora 100%. Sprawdziłem na służbowym i faktycznie – nowy procesor (jeden z rdzeni) zużyty w 40-60%, a ten nie tylko prawie o połowę wolniejszy, ale i technologia starsza, więc może tak być. W sumie wyjście audio i tak chyba skopane (charczy, zarówno na słuchawkach, jak i na głośnikach), więc projekt MPD nadal żywy (a radio będzie z lapka młodej na razie, więc nie problem). Brak flash nieco boli (ale tylko nieco) – myślę, czy nie ma jakichś szybszych alternatyw. Pewnie gnash dostanie szansę (już dostał, nic na YT nie bangla)…

W końcu były warunki, by się suspendem pobawić (jakoś nigdy nie miałem motywacji, poza tym, stosunkowo często zmieniam kernel, więc i tak rebooty latają). No i od razu buga zgłosiłem… Sam suspend uchodzi. Trochę wolny jest – z 30 sekund do pełnego podniesienia (łącznie z wifi i odświeżeniem blipa i jabbera, sesje SSH niestety zrywa), ale na razie próbuję się przekonać do tego rozwiązania. Akregator też się sypał, ale to jeszcze dokładniej obadam.

Nasunęło mi się takie nieoficjalne kryterium wstępnej oceny jakości laptopa – ilość gniazd, pobór mocy i głośność wiatraków. Im ciszej, więcej gniazd i mniej prądu bierze, tym lepszy sprzęt. Taka wstępna, niezobowiązująca selekcja.

Podsumowując – całkiem fajny sprzęt. Jak zbiorę siły do grzebania w bebechach, to obadam gniazdo od karty dźwiękowej. No i wpadł mi jeszcze pomysł z wymianą tego Semprona, na wypadek gdyby czujnik temperatury był zepsuty – drogi nie jest, więc może warto. No i w sumie sama idea przekazywania sprzętu mi się spodobała. Będę musiał porządki zrobić, przebrać i poczyścić trochę, bo w sumie pewnie znajdzie się parę całkiem użytecznych gratów.

Fujitsu Siemens Esprimo V6515

Staremu laptopowi (Asus A6U) się umarło, więc wymieniłem mojej miłej notebooka. Stanęło na tanim, tytułowym FS Esprimo V6515. Poniżej szybkie wrażenia z krótkiego użytkowania sprzętu i instalacji Debiana w wersji Lenny.

Fujitsu Siemens Esprimo V6515

Źródło: http://gdgt.com/fujitsu-siemens/esprimo/mobile/v6515/

Może Asusowi nie zmarło się tak całkiem, ale praca była niemożliwa – twierdził, że się przegrzewa i się wyłączał. Losowo. Szybka poprawa chłodzenia nie pomogła (a raczej pomogła na chwilę), poza tym sprzęt średnio nowy i średnio rozwijalny (Sempron 3000+, 512 MB RAM, dysk IDE), więc stanęło na tym, że szybciej i pewniej zmienić, niż naprawiać (czym i tak pewnie się zajmę), bo może płyta walnięta, czujnik jakiś czy procesor, a nie po prostu chłodzenie. Pojawił się więc nowy, względnie tani lapek.

Tytułowy FS Esprimo V6515, to: matowa matryca (to IMO plus) 15,4″, 2 GB RAM (1 GB + 1 GB dołożony), Nvidia 8200M, procesor Intel Pentium Dual Core T3400 (2,16 GHz), dysk 160 GB (5400 rpm), nagrywarka DVD. W porównaniu z poprzednikiem, na oko – demon szybkości. Z Windows Vista Basic w markecie już za 1350 zł brutto, czyli niedrogo, nawet porównując koszt modernizacji/naprawy poprzednika.

Pierwsze wrażenie – ogór. Nie ma nic, raptem 3 złącza USB, ethernet, wyjśnie na zewn. monitor, jakieś słuchawki i… tyle. Żadnej kamery, modemu, dodatkowych złącz, slotu na karty. Nic. Do tego tandetnie i delikatnie wyglądający plastik. Całość duża – gruby (wysoki), szeroki i głęboki. Wagę przemilczę. No cóż, low end… Ale że ma to być „przenośna stacjonarka”, a nie laptop, to w sumie jakość nie jest aż tak ważna, podobnie jak czas pracy na baterii.

Zadecydowała cena (chyba jedne z najtańszych laptopów w ogóle) i grafika z CUDA, którą mam zamiar kiedyś się pobawić bardziej. Krótko – do jakości można przywyknąć, a szybkość faktycznie jest OK (pamięć RAM współdzielona z grafiką). Sprzęt nie kupowany z myślą o Linuksie, bo nie będzie to podstawowy system na nim, ale na oko powinno działać, zresztą „jakoś to będzie”.

Na pierwszy ogień – zaraz po instalacji Windowsa – poszedł memtest – błędów nie było. Spróbowałem uruchomić Knoppiksa z USB i… pierwszy zawód. Nie zadziałał. Standardowe wyłączenie acpi itp. również nie pomogły.

Podejście drugie to LiveUSB Debiana Lenny w wersji 64 bit (DIY). Działa. I jest szybki. Bardzo szybki. Nie wiem, czy to kwestia 64 bit, czy samego sprzętu, czy uruchamiana z pendrive’a, ale KDE uruchamia się błyskawicznie. Szybka instalacja po kabelku ethernetowym (karta bezprzewodowa nie działa z liveCD) i… Lenny średnio się nadaje na desktop. Przynajmniej dla tej maszyny.

Przy standardowej instalacji (znaczy się Lenny postawiony debootstrapem, nie z użyciem instalatora) nie działały: wireless, klawisze specjalne (głośniej, ciszej, jaśniej, ciemniej) oraz… dźwięk. No dobrze, być może dźwięk działał, bo coś tam cichutko szumiało, tylko nie zauważyłem wyciszonego suwaczka od „speakers”. Działała akceleracja 3D (sterownik binarny Nvidii z dystrybucyjnego repozytorium) i karta ehernetowa, przy czym grafika zmieniała jasność na maksimum (a klawisze nie działały).

Jeśli chodzi o wireless, to lspci wskazało, że jest to Atheros AR242x 802.11abg, czyli całkiem zacna karta (nie spodziewałem się wsparcia dla 802.11a w takim low endzie). Szybkie sprawdzenie i… wiki Debiana stwierdza, że na kernelu z Lenny’ego ta karta nie zadziała (choć ogólnie powinna działać i to na sterowniku z jądra). No dobrze, i tak nie lubię dystrybucyjnych kerneli. Szybkie ściągnięcie waniliowego 2.6.32.6, ponieważ nie mam czasu, to nie bawię się w tuning, tylko biorę konfig z Lenny’ego, make oldconfig, make-kpkg –initrd kernel_image, reboot i… WiFi działa, ale – zgodnie z przewidywaniami – grafika nie bardzo.

Module assistant nie zrobi pakietu na podstawie sterownika z Lenny’ego, bo kernel za nowy. Nic to, zaczyna się backportowanie. Instalacja źródeł nvidia-glx i nvidia-kernel-source z repozytorium unstable (wersja 190.53-1), kompilacja, instalacja i… działa (przy okazji wrzuciłem mój ulubiony wicd dla WiFi, także backportowany). Dla odmiany, zamiast jasności na maksimum, jest na minimum. Wspominałem, że klawisze specjalne (nadal) nie działają? Za to działa:

echo "5" > /sys/class/backlight/acpi_video0/brightness

Ale da się pracować. 😉 Do tego szybkie zrobienie dynamicznej zmiany taktowania procesora (bez problemu).

Z podstawowych rzeczy został dźwięk. Stwierdziłem, że albo opcje do modułu potrzebne, albo nowsza alsa. Albo jedno i drugie. Alsa backportuje się bez problemu, trochę nt. opcji modułu (i – nie ukrywajmy – wielu innych rzeczy) znalazłem na opisie instalacji Lenny’ego dla V6505 (nieco inny sprzęt, ale wiele zbieżności). Po instalacji alsy odkrywam wyciszony suwak „speakers”. Nie wiem, czy go wcześniej nie zauważyłem, czy go nie było. W każdym razie po zwiększeniu głośności dźwięk działa.

Ostatecznie stanęło na tym, że klawisze specjalne nie działają, reszta działa (ww. strona sugeruje, że Ubuntu 9.10 obsługuje wszystko od kopa, więc jak komuś zależy na bezproblemowej instalacji Linuksa, to raczej tę dystrybucję polecam, choć jej nie testowałem).

Co do samego sprzętu, to uwagę zwraca także duży pobór prądu – powertop pokazuje, że zużywa dużo więcej prądu, niż HP Compaq 8430 sprzed 2,5 roku. Mówiąc dużo więcej, mam na myśli przynajmniej jakieś 30% (IIRC). Oba na podobnych ustawieniach – bez obciążenia (minimalne taktowanie), mało uruchomionych programów, włączone wifi, ekran o normalnej jasności. Natomiast jeśli chodzi o szybkość, to nie chodziło o bootowanie z pendrive’a – nadal jest bardzo szybki. Ikonki w splashu KDE robią pyk-pyk-pyk i system gotowy do działania. Bez żadnego tuningu.

Podsumowując – całkiem fajny sprzęt (IMO lepszy wybór, niż kupno typowego desktopa, jeśli ktoś nie ma jakichś wielkich wymagań dla np. grafiki), nawet obsługiwany przez Linuksa, choć Debian Lenny nie jest dla niego najszczęśliwszym pomysłem – wymaga rzeźby (a mimo to klawisze specjalne nadal nie działają). Przy czym należy mieć na względzie, że to nie mój sprzęt i raczej nie miałem czasu na wgryzanie się i zabawę.

Na potrzeby serwisu Linux on Laptops popełniłem opis instalacji Debiana Lenny na Fujitsu Siemens Esprimo V6515 (ang.) – może się komuś przyda. Więcej szczegółów dotyczących sprzętu, konfiguracji i instalacji pakietów – tamże. Ew. aktualizacje opisów uruchamiania także będą się znajdowały raczej tam, niż w tym miejscu.