Majówka

Dziwna to majówka i dziwny urlop. Jedno i drugie poszatkowane i pracowite. Pierwszą i najważniejszą rzeczą do załatwienia była – jak zwykle spóźniona – zmiana opon na letnie. Spojrzałem na felgi od zimówek i stwierdziłem, że warto je odświeżyć, bo trochę ruda zaczyna wychodzić. A skoro zakładam letnie, to najpierw letnie. Poszedłem na łatwiznę – spray czarny matowy, wyklejenie boku opony taśmą malarską, przetarcie drucianą szczotką i papierem ściernym. Jest powiedzenie, że gdy masz młotek, wszystko wygląda jak gwóźdź. Zmieniłbym na gdy masz spray, wszystko wygląda jak wymagające malowania. Faktem jest, że sprayem maluje się bardzo fajnie – łatwo i szybko. Niestety, przygotowanie felg zajmuje dłuższą chwilę. I oczywiście na jedną stronę z kół letnich zabrakło mi spray, a jak pojechałem dokupić w niedzielę, to okazało się, że sklep już zamknięty, więc w sumie zeszło znacznie dłużej, niż planowałem, więc odświeżone zostały tylko letnie. Zimówki i zapas muszą dłuższą chwilę poczekać.

Potem musiałem wrócić – tym razem pociągiem – do Poznania. Jedna sprawa do załatwienia, ale głównym powodem było złożenie PITa. Również tradycyjnie w ostatni dzień. Powody składania na papierze są różne – coś mi świta, że pod Linuksem nie szło to łatwo, trzeba mieć jakieś dodatkowe dane z poprzednich lat, a jakieś dziwne dodatki ostatnio jeszcze musiałem rozliczać. Głównie jednak chodzi o to, że papierowe mam przećwiczone, a nie chce mi się kombinować w ostatni dzień z nowym sposobem.

Oczywiście mogłem wysłać PIT pocztą, ale była jeszcze sprawa na miejscu, a stwierdziłem, że w pociągu sobie poczytam. Faktyczni, nadrobiłem lekturę i mam nadzieję, że wciągnę się z powrotem do czytania książek bo – wstyd się przyznać – to pierwsza przeczytana „moja” książka w tym roku. Nieco zasługa tego, że łapię się za cegły, niektóre nie podpasowują, a nie lubię brać się za kolejną książkę mając nieprzeczytaną inną.

Załatwiwszy temat opon, stwierdziłem, że zrobię lepszą składankę z muzą do auta. Do tej pory używałem uszkodzonej karty pochodzącej z Raspberry Pi (całkiem dobrze sobie radziła, ale w sumie nic dziwnego, to tylko odczyt, a uszkodzony jest IIRC konkretny fragment). Niestety, okazało się, że nowe utwory nie wejdą. Nie wiem czy to zaleta mtp[1], czy łapały się w uszkodzony obszar. Może kiedyś pobawię się w diagnostykę (ciekawe czy radio poradzi sobie z dwiema partycjami?), teraz po prostu pojechałem do sklepu i kupiłem nową. Oraz żarówkę do świateł pozycyjnych, w końcu. TBH wymieniłbym już dawno oryginalne W5W na stosowne LEDy, ale podobnoż się czepiają na przeglądach. Nie wiem czemu, w końcu i tak to praktycznie nie świeci, więc wolałbym, żeby przynajmniej prądu nie brało, przy zbliżonej jasności.

Tak naprawdę kupiłem dwie karty. Druga wylądowała w Raspberry Pi robiącym za router GSM. Tu słowo o stabilności Linuksa i rozwiązań chałupniczych (rpi + modem USB + hub USB), bo miałem niedawno okazję na ten temat rozmawiać. Albo raczej jeden uptime:

08:32:00 up 287 days, 18:42, 1 user, load average: 0.06, 0.08, 0.08

Głównym zasłużonym jest tu… prąd, bo router działa bez UPSa…

Kartę wymieniłem, bo chciałem zrobić upgrade Raspbiana – lada moment Debian Jessie przestanie być wspierany, a używany Raspbian właśnie na nim bazował. Poszedłem na łatwiznę i po prostu wrzuciłem najnowszy image,  bazujący na Stretch, dograłem brakujące pakiety i wrzuciłem kluczowe pliki z konfiguracją. Jestem nieco zaniepokojony, że taka rzeźba na szybko zaczyna mi wychodzić. Chyba muszę to na Githuba wrzucić. I może jakieś ansible do kompletu? W sumie rozjechała się tylko jedna rzecz – wyciąganie IP z interfejsu w jednym skrypcie. I tylko dlatego, że ifconfig zmienił format, więc automatyzacja i tak nic by tu nie pomogła…

Poza tym, sporo działki. Trochę pomogłem rodzicom na działce, trochę odpocząłem. Generalnie raczej pracowicie, choć i tak wielu rzeczy nie udało się zrobić, jak np. porządków z przekierowaniem ruchu ze starego bloga. Ale to może jeszcze w weekend ogarnę.

[1] Korzystałem z telefonu, bo okazało się, że nie bardzo mam czytnik kart micro SD – muszę kupić jakiś tani badziew i niech leży na takie okazje, bo wyciąganie modemu USB to nie jest to, co tygrysy lubią najbardziej.

Switchover

Stało się, stało się, to co miało się stać

troszeczkę nieplanowo, noż…

Planowałem najpierw przenieść blog o BKS, poćwiczyć przepięcie ruchu i dopiero wziąć się za ten. Ponieważ z czasem i motywacją było słabo, parę wpisów chodziło mi po głowie, a pisać nie było gdzie, poszedłem na łatwiznę. Stwierdziłem, że albo przeniosę teraz i dopieszczę później, albo nigdy tego nie zrobię. Zatem blog został zamrożony i przeniesiony w nowe miejsce dla Pomiędzy Bitami.

Poszedłem na łatwiznę i przeniosłem się z Blox na WordPressa. Jednak. Z rzeczy związanych z migracją – na razie zmieniłem licencję, za moment pojawi się info we wpisach skąd pochodzą. W najbliższym czasie zmienię źródło feeda RSS (jeśli ktoś czyta via RSS i nie korzysta jeszcze z RSS w wersji opartej o Feedburner, to polecam przepięcie się) i linki z ważniejszych miejsc.

TBH rozważałem mirror statyczny i zaczęcie pisania od nowa, po prostu, ale ostatecznie wykonałem eksport. Wpisy są wszystkie, komentarze być może nie, stron nie ma, bo ani nie mam na to skryptu, ani nie chcę przenosić wszystkiego – przydadzą się tam gruntowne porządki, zresztą to proste copy & paste…

Stoi to wszystko na niezbyt fortunnej lokalizacji, bo arubacloud w czeskim DC szybkością sieci nie grzeszy, ale i tak jest sporo lżej i szybciej, niż na Blox, mimo możliwie tych samych ustawień.

GTtmetrix - blox.pl

GTmetrix - zakr.es

OK, dla jasności, tu są jakieś drobiazgi, których nie ma (przynajmniej na razie) w nowym miejscu, typu LinkWithin itp. ale nie robią one takiej różnicy. No i gdyby było więcej grafik, to wynik wyglądałby gorzej, ale to już kwestia wspomnianej sieci w czeskim DC.

Oczywiście wszystko lata bezpiecznie i wydajnie po SSL i HTTP/2 i mam możliwość pełnej kontroli nad tym, co się dzieje.

Blox pożegnał mnie w stylu, w jakim go zapamiętam – wyłączyłem możliwość komentowania na blogach, zapisałem ustawienia i co? Po napisaniu tego wpisu, czyli kilkanaście minut później, nadal mogłem dodać testowy komentarz.

(Not so) fun fact: uciekłem z Joggera z powodu cenzury i autorytaryzmu administratorów. Doczekałem się cenzury i autorytaryzmu ze strony Agory (ale o tym to już w nowym miejscu więcej napiszę).

UPDATE: Wygląda na to, że ustawienie dot. komentarzy działa wyłącznie dla nowych wpisów, w starych nie ma możliwości wyłączenia możliwości komentowania (pewnie można uprzykrzać życie przy pomocy zepsutej CAPTCHA i moderowania, zamierzam, ale później, może się coś jeszcze przeładuje). Wot usability!

Aktualizacja Androida

Na wstępie uprzedzam – to nie poradnik, to marudnik. Z uwagi na drastyczne sceny nie polecam lektury ludziom o słabych nerwach.

Zaczęło się od tego, że zaczęło ginąć miejsce w telefonie. Wyglądało to nieco podobnie jak w przypadku opisanym kiedyś – zajęta niby połowa miejsca, a niczego zainstalować nie sposób. Poza tym, niedawno ukazała się aktualizacja systemu, którą spróbowałem zainstalować. Dotychczas przebiegało to bezproblemowo z poziomu telefonu, tym razem jednak aktualizację pobrał, zaczął rozpakowywać i… zdechł w trakcie. Prawdopodobnie na skutek skończenia się miejsca w trakcie aktualizacji, bo przecież sprawdzenie ilości wolnego miejsca, ze stosownym zapasem przed rozpoczęciem aktualizacji to trudna sprawa jest.

Byłem pewien, że zdechł całkiem, ale nie – uruchomił się w zgrabnym trybie wyglądającym miło i przyjaźnie – zupełnie jak konsola Linuksa. Z miejsca mi się spodobało. Sprawdziłem integralność instalacji (failed), mimo ostrzeżeń uruchomiłem normalnie i… wszystko działało, tylko w starej wersji. Zwolniłem znacznie więcej miejsca i spróbowałem jeszcze parę razy. Z tym samym skutkiem, więc może jednak nie o miejsce chodziło? Zapomniałem o sprawie na parę tygodni.

System pozwala na aktualizację na kilka sposobów. Pierwszy, z którego korzystałem, to pobranie aktualizacji z sieci. Drugi, to umieszczenie aktualizacji na karcie SD i wybranie odpowiedniej opcji. Tyle, że tryby działania karty są dwa, mocno rozłączne i związane z formatowaniem karty. Pierwszy, to zwykła karta do przenoszenia zdjęć, drugi, to pamięć wewnętrzna. Oczywiście, żeby zrobić aktualizację w tym trybie, karta musi być w trybie zwykłej karty SD, a ja miałem w trybie pamięci wewnętrznej. Zresztą, gwoździem do trumny dla tej opcji okazał się problem ze znalezieniem na stronie producenta aktualizacji do umieszczenia jej na karcie.

Z uwagi na problemy z integralnością instalacji i podejrzeniem uszkodzenia systemu plików, zacząłem rozważać pełen reinstall systemu, zamiast aktualizacji, która w ww. przypadku niekoniecznie musiała się udać. Co prawda na stronie producenta nie widziałem pełnych wersji do instalacji, ale stwierdziłem, że w sumie goły Android to nawet lepsza opcja może być. Zacząłem szukać wersji waniliowej albo jakiegoś CyanogenMod.

I tu zaczyna się horror show. Jakieś pliki wrzucone w jakieś miejsca, przez jakieś skracacze linków. Autor nieznany, treść niepodpisana cyfrowo. GPG jest przecież takie trudne, a malware’u dołożyć nie sposób. Do tego dziwne rozczłonkowanie i po modelach telefonów (pół biedy, jeśli oznaczenie jest dokładnie to samo), i po plikach. Totalne puzzle.

Dla pewności sprawdziłem jeszcze raz stronę producenta, czy aby nie przegapiłem gdzieś obrazu czy czegoś w ten deseń. No jednak nie. Postanowiłem zatem uznać wyższość Windows i skorzystać z aplikacji do aktualizacji dostarczanej przez producenta. Instalacja bez problemu, ale po podłączeniu telefonu system… zapragnął sterownika. W trakcie instalacji „się przerwało” i musiałem odczynić jakiś cyrk, żeby ponownie go wykrył. Oczywiście logów czy sensownych komunikatów brak.

Po wykryciu telefonu i instalacji sterowników pozostało już tylko wybranie modelu (nie żeby przed chwilą nie był wykryty, prawda?) i zaczął się pobierać system. A potem zaczął się wgrywać na telefon. Radosny komunikat na ekranie głosił, że gdyby rozłączył się w trakcie, to należy wyjąć z niego baterię i podłączyć ponownie. Chyba nie do końca umiem korzystać z Windows, bo za nic nie potrafiłem stwierdzić czy jest podłączony, czy nie. Możliwe, że nie dość uważnie wpatrywałem się w diodę dysku czy wsłuchiwałem w szum wentylatora. W każdym razie po kilkunastu minutach bez postępu stwierdziłem, że chyba nastąpiło rozłączenie. Oczywiście logów czy jasnego komunikatu na ekranie nie ma, bo po co?

Słusznie stwierdziłem! Wyjąłem baterię podłączyłem ponownie i… cały proces zaczął się od początku. No dobrze chociaż, że wykrył pobrany już plik. Tym razem flashowanie dotarło do szczęśliwego finału. Restart telefonu i… Zamiast wersji najnowszej, jest ta, którą miałem wcześniej. Ale system czysty, więc połączyłem się z siecią WiFi i tym razem aktualizacja do naprawdę najnowszej dostępnej wersji przebiegła już bez problemu.

Cel został osiągnięty. W jedyne dwie godziny. Czy tam dwie i pół.

Rockbox 3.14

Nie sądziłem, że kiedykolwiek napiszę jeszcze coś w tym temacie, bo projekt Rockbox wyglądał na martwy, ale wczoraj dowiedziałem się, że blisko miesiąc temu, po ponad czterech latach od ostatniego wydania, ukazała się kolejna stabilna wersja alternatywnego oprogramowania dla odtwarzaczy mp3. Pełna lista zmian w Rockbox 3.14 dostępna jest tutaj, z ciekawszych IMO rzeczy: poprawki wydajności systemu plików i bazy danych, dostępna gra 2048 jako plugin oraz niemal podwojona(!) długość pracy na baterii dla AMS v2 devices (Sansa Clip v2, Clip+, Clip Zip, and Fuze v2).

Już zaktualizowałem urządzenia. 🙂

Piwik 2.6.0 i problemy z upgrade

Od jakiegoś czasu korzystam ze statystyk Piwik na większości moich stron ii generalnie jestem zadowolony. Do tej pory aktualizacje wersji były totalnie bezproblemowe (klikalne), ale aktualizacja wersji do 2.6.0 zakończyła się niepowodzeniem.

Od początku wyglądało dziwnie, bo kliknięcie w changelog w mojej instalacji Piwika nie pokazywało listy zmian dla wersji 2.6.0, a w dziale download najnowsza wersja opisana była jako 2.5.0 (choć faktycznie archiwum zawierało 2.6.0).

Automatyczny upgrade zakończył się klęską i pokazywaniem białej strony, postanowiłem zrobić aktualizację ręcznie, jak opisano na stronie. Okazało się, że pobrany plik piwik.zip rozpakowuje się w ślimaczym tempie (ok. 20kB/s). Także na innej, szybszej maszynie, z nowszym Debianem (unstable). Ostatecznie rozpakowałem na tej szybszej, przepakowałem do tar.gz. Przy okazji rozmiar spadł do 8MB w porównaniu z 11MB oryginalnego zip, a rozpakowanie odbyło się w normalnym tempie, czyli parę MB/s. Następnie przeprowadziłem aktualizację ręcznie.

Niewiele to pomogło, bo nadal była biała strona. Ręczne wywołanie pliku piwik.php dało więcej informacji:

PHP Warning:  require(/var/www/piwik/vendor/facebook/xhprof/xhprof_lib/utils/xhprof_lib.php): failed to open stream: No such file or directory in /var/www/piwik/vendor/composer/autoload_real.php on line 58
PHP Fatal error:  require(): Failed opening required '/var/www/piwik/vendor/facebook/xhprof/xhprof_lib/utils/xhprof_lib.php' (include_path='/var/www/piwik/vendor/phpunit/php-text-template:/var/www/piwik/vendor/phpunit/phpunit-mock-objects:/var/www/piwik/vendor/phpunit/php-timer:/var/www/piwik/vendor/phpunit/php-file-iterator:/var/www/piwik/vendor/phpunit/php-code-coverage:/var/www/piwik/vendor/phpunit/phpunit:/var/www/piwik/vendor/symfony/yaml:.:/usr/share/php:/usr/share/pear') in /var/www/piwik/vendor/composer/autoload_real.php on line 58

Szybki debug i znalazł się winny. W pliku /var/www/piwik/vendor/composer/autoload_files.php należy zakomentować odwołania do nieistniejących plików:

#    $vendorDir . '/facebook/xhprof/xhprof_lib/utils/xhprof_lib.php',
#    $vendorDir . '/facebook/xhprof/xhprof_lib/utils/xhprof_runs.php'

Po tej operacji wszystko działa poprawnie. HTH

http://pastebin.com/S4Hxjw6B

UPDATE: Szybcy są i czytają Twittera, już (podobno) poprawili wydając 2.6.1. 🙂

Nowy Piwik, czyli po co komu statystyki na blogu?

Dziś Piwik powiadomił mnie, że jest dostępna wersja 2.0.1. Lekko się zdziwiłem, bo pojawienie się 2.0.0 jakoś mi umknęło. Uznałem, że to dobry moment na podsumowanie statystyk, tym bardziej, że z Piwika korzystam od kwartału.

Pierwsze wrażenie – jest znacznie szybciej, ale kolorystyka mniej mi się podoba. Upgrade bardzo bezproblemowy, z dokładnością do tego, że upgrade bazy zrobiłem z CLI, bo przywitała mnie biała strona. Ale wszystko jest ładnie opisane w FAQ. Zdecydowanie polecam upgrade, jeśli ktoś z Piwika korzysta.

No właśnie… Czy ktoś potrzebuje Piwika? Od bardzo dawna korzystam ze statystyk stat4u.pl i przyznam, że owszem, Piwik jest ładniejszy, daje trochę więcej informacji, ale… nie odczułem jakiejś wielkiej poprawy. Jedyne co warto odnotować, to informacja, które strony na blogu są odwiedzane częściej. Szału nie ma.

Czy ktoś potrzebuje statystyk Piwik na stronie? Po odzewie na moją propozycję darmowych statystyk sądzę, że nie. Odzew wynosił okrągłe zero, co przyznam, lekko mnie zdziwiło. Ja się lubię bawić, szczególnie, że wysiłek zerowy, a dane jakby mało krytyczne. Tj. jakby mi zależało, to często gęsto jestem w stanie dość dokładnie oszacować ilość wejść na czyjegoś bloga czy najpopularniejsze wpisy. Ale jakoś mi nie zależy.

W ogóle uważam, że Google dość drastycznie zmienia obraz statystyk i ogólnie rynku reklamy w sieci. I bardziej wiąże do siebie ludzi. I stawiam, że robią to z premedytacją i będzie się to pogłębiać. Po pierwsze, wymuszenie HTTPS i idące za tym ukrycie fraz z wyszukiwarki utrudnia autorom stron analizę, czego szukają ludzie (no chyba, że ktoś korzysta z Google webmaster tools, wtedy jak najbardziej ma dostęp do danych). Po drugie, ostatni ruch czyli cache’owanie obrazków w gmailu też wpływa na rynek spa^H^H^Hmarketingu email. I nie mam złudzeń, że nie chodzi im o prywatność użytkowników, tylko przymierzają się do kolejnego kawałka tortu.

Aktualizacja Debiana do wersji Wheezy (7.0) z użyciem apt-p2p – HOWTO.

Ponieważ na dniach ma pojawić się nowe stabilne wydanie Debiana (Wheezy), postanowiłem zrobić upgrade na tym desktopie, gdzie jeszcze z niej nie korzystam. Przy okazji postanowiłem skorzystać z dobrodziejstw p2p i odświeżyć sytuację związaną z opisywanym kiedyś apt-p2p, tym bardziej, że nowe wydania są doskonałym momentem na wykorzystanie p2p do aktualizacji systemu (możliwe obciążenie mirrorów z uwagi na ilość zainteresowanych, sporo peerów). Tym bardziej, że pojawiło się trochę głosów na Twitterze/ideni.ca promujących apt-p2p.

Wpis jest w założeniu tylko szczegółowym howto dotyczącym konfiguracji i użycia apt-p2p, bez samego opisu aktualizacji do Wheezy.

Po co to wszystko?

Krótko w punktach, czemu idea p2p do dystrybucji pakietów mi się podoba:

  • Uniezależnienie się od poszczególnych mirrorów
  • Lepsze skalowanie
  • Mniejsze wymagania dotyczące sprzętu i łącz w stosunku do projektu Debian
  • Bezpieczeństwo jest zachowane (sumy kontrolne pakietów, podpisy GPG)

To oczywiście przy większej ilości węzłów. Przy mniejszej może być wręcz wolniej, ale apt-p2p ma zaimplementowany mechanizm fallbacku do tradycyjnego pobierania, więc nawet przy niewielkiej ilości węzłów nic nie przestaje działać.

Wymagania:

  • możliwość otwarcia/przekierowania portu na routerze do komputera, gdzie uruchomiony będzie apt-p2p
  • dwa razy więcej wolnego miejsca na pakiety .deb, niż przy zwykłej aktualizacji (apt-p2p ma swój katalog na cache, niezależny od /var/cache/apt)

Krok 1 – przekierowanie portów na routerze

Przekierowanie portów jest wymagane. Bez tego nie będziemy w stanie udostępniać pobranych pakietów, a taka jest idea p2p. Przekierowujemy zarówno protokoły TCP, jak i UDP.

Krok 2 – instalacja apt-p2p

wajig install apt-p2p

Domyślna konfiguracja jest OK, jedyne co warto zrobić, to pomyśleć nad zmianą portu na inny, niż domyślny 9977, jeśli mamy taką potrzebę. Paranoicy mogą wyłączyć zdalny podgląd statystyk.

Uwaga: jeśli chcemy, aby nasz apt-p2p posłużył jako proxy dla większej ilości maszyn w LAN (działa bez problemu, także dla różnych architektur na pojedynczej instancji apt-p2p), należy, zgodnie ze zgłoszonym bugreportem, zmodyfikować linię w pliku /usr/share/pyshared/apt_p2p/HTTPServer.py[1]:

if request.remoteAddr.host != "127.0.0.1:

na

    if not (request.remoteAddr.host == "127.0.0.1" or            request.remoteAddr.host.startswith("192.168.")):

gdzie 192.168 to początek (pierwsze 2 oktety) adresacji z naszej sieci LAN.

Krok 3 – edycja plików z repozytoriami (/etc/apt/sources.list)

Załóżmy prosty przypadek (jeśli ktoś grzebał w /etc/apt/preferences, lub ma więcej repozytoriów to zakładam, że wie, co zrobił i umie się dostosować), czyli, że mieliśmy wpisy:

deb http://http.debian.net/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free

zmieniamy je na

deb http://localhost:9977/ftp2.de.debian.org/debian/ wheezy main contrib non-free
deb http://localhost:9977/security.debian.org/ wheezy/updates main contrib non-free

Uwaga: jeśli zmienialiśmy port z domyślnego 9977, lub łączymy się do maszyny w sieci LAN, na której działa apt-p2p, to stosownie modyfikujemy localhost:9977

Zauważmy, że nie korzystamy z http.debian.net, tylko podajemy wprost adres repozytorium. Niestety apt-p2p nie działa za http.debian.net, wkrótce zgłoszę buga.

Krok 4 – sprawdzenie działania apt-p2p

Łączymy się przeglądarką z hostem, na którym działa apt-p2p i sprawdzamy statystyki. W przypadku uruchomienia lokalnie wpisujemy w pasku adresu http://localhost:9977/

Sprawdzamy czy adres IP w Contact jest taki sam, jak adres IP, z jakiego jesteśmy widoczni w sieci. Jeśli jest, to OK.

W DHT statistics sprawdzamy wartość Reachable. Jeśli poprawnie przekierowaliśmy porty, to będzie True.

Ostatnia rzecz do sprawdzenia w statystykach to Number of nodes. Wiadomo, że im więcej, tym lepiej (domyślnie apt-p2p nie pobiera przez p2p, jeśli ilość węzłów z danym plikiem jest mniejsza niż 3), po paru minutach powinniśmy widzieć tam ok. 30 węzłów (co nie znaczy, że wszystkie z nich mają potrzebne nam pakiety!). Wydaje mi się, że to minimalna sensowna wartość, by zacząć korzystać z apt-p2p.

Na koniec możemy zrobić wajig update i zobaczyć, czy pliki są pobierane bez błędów ze wskazanego źródła[2].

Uwaga: jeśli jesteśmy za NAT i zmieni się IP, to pole Contact nie ulegnie zmianie. Nadal będziemy mogli pobierać pakiety (choć nie dam głowy, czy z użyciem p2p), natomiast nic nie wyślemy. Do odświeżenia wymagany jest restart demona apt-p2p.

W tym momencie jesteśmy gotowi do aktualizacji systemu z użyciem technologii p2p.

[1] Tak, brzydkie grzebanie na żywca w plikach przychodzących w paczce; okolice linii 266.

[2] Stosunkowo często widziałem 500 internal server error w pierwszym przebiegu i poprawne działanie przy kolejnych. Proponuję najpierw wykonać aktualizację w trybie samego pobierania pakietów.

Data wydania Wheezy’ego podana.

Odbieram dziś pocztę, a tam:

We now have a target date of the weekend of 4th/5th May for the release. We have checked with core teams, and this seems to be acceptable for everyone.  This means we are able to begin the final preparations for a release of Debian 7.0 – „Wheezy”.

Yay!

Jest szansa, że akurat będę u rodziców, co oznacza… Upgrade na desktopie (jedyny desktop bez testing/unstable)! I może na Dockstarze też! I oczywiście wpisik na ten temat. Nie mogę się doczekać. 😉

Z innych ciekawych rzeczy, opisywany kiedyś wajig rozwija się w interesujący sposób. Pojawiły się na przykład opcje update-pciids oraz update-usb-ids, o których wspominano w komentarzu do wpisu o 3 rzeczach, których nie aktualizujesz w Debianie. Co prawda wolałbym mikrokod, ale pożyjemy, zobaczymy… Dotyczy wersji wajig dostępnej we Wheezy.

Aktualizacja microcode procesora w Debianie Wheezy – HOWTO.

Jakiś czas temu pisałem o 3 rzeczach, których zapewne nie aktualizujesz w Debianie (piszę w Debianie, ale zapewne prawdziwe jest dla większości dystrybucji opartych na nim). Jeśli chodzi o mikrokod, było prosto, łatwo, i przyjemnie. I minęło, wraz z nadejściem Wheezy’ego.

Magiczne polecenie update-intel-microcode, o którym wówczas pisałem, niestety nie jest już obecne w Debianie poczynając od wersji Wheezy. Zamiast tego, trzeba zrobić wszystko ręcznie. Nie wnikałem, ale zapewne chodziło o kwestie licencyjno-copyrightowe – przy pobieraniu pliku z mikrokodem ze strony Intela jest pytanie o zaakceptowanie licencji. W każdym razie nie ma już narzędzia i trzeba zadbać ręcznie o aktualizację mikrokodu.

Jest za to inne narzędzie, które – wraz z bazowymi mikrokodami – znajduje się w pakiecie intel-microcode.

Po pierwsze wchodzimy na stronę Intela, skąd możemy pobrać mikrokod. Wielkiego wyboru nie widzę, ale może się zmienić – wybieramy najnowszą wersję. Akceptujemy licencję, pobieramy plik. Na dysku ląduje plik o nazwie zbliżonej do microcode-20120606-v2.tgz. Należy go rozpakować, a naszym oczom ukaże się microcode.dat. To są mikrokody, których szukacie! 😉

Po drugie, przy pomocy narzędzia iucode_tool produkujemy z niego pliki w formie strawnej dla pozostałych narzędzi. Ja zdecydowałem się na rozpakowanie ich „na boczek”, żeby ręcznie porównać:

mkdir /tmp/ucode && iucode_tool -K/tmp/ucode/ /tmp/microcode.dat

Po tym zabiegu w katalogu /tmp/ucode mamy w tym momencie całkiem sporą ilość plików, które są gotowymi do użycia mikrokodami. Aby były używane, należy je skopiować do /lib/firmware/intel-ucode. Oczywiście jest możliwość rozpakowywania bezpośrednio w domyślną systemową lokalizację, wystarczy użyć przełącznika –overwrite i nie podawać katalogu docelowego.

Pora na użycie. I tu przyznaję zaczynają się schody. O ile wcześniej bez problemu można było załadować mikrokod online, to teraz iucode_tool -vk /tmp/ucode/* niby się wykonuje (wczytując wszystkie, czyli dla różnych procesorów mikrokody – zupełnie tego nie rozumiem), ale chyba nie działa. W każdym razie śladu w dmesg żadnego… Wygląda, że mikrokod jest dodawany do initramfs. Aby dodać mikrokody znajdujące się w domyślnej systemowej lokalizacji do wszystkich zainstalowanych kerneli, popełniamy:

update-initramfs -k all -uv

Po reboocie powinniśmy działać na nowym mikrokodzie. Uwaga: domyślnie do initramfs trafiają tylko mikrokody dla procesora, na którym jest wydawane polecenie. Można to zmienić w /etc/default/intel-microcode.

Dla procesorów AMD istnieje analogiczny pakiet, ale nie mam takiego pod ręką, by przetestować.

Przy pisaniu wpisu posiłkowałem się opisem Mikrokodu na wiki Arch. Co prawda niewiele się zgadza, ale może komuś się przyda. Warto też zajrzeć na ogłoszenie dotyczące mikrokodu, które znalazłem już po napisaniu wpisu.

 

Rockbox 3.12

Po bardzo długiej przerwie opublikowana została kolejna wersja Rockbox, czyli 3.12. Wielkich zmian – przynajmniej dla mnie – nie ma, warto odnotować, że z powodu problemów z obsługą USB Ipod Nano 2g został przeniesiony z wersji stabilnej do niestabilnej. Pełna lista zmian Rockbox 3.12 tutaj.

Przy okazji, pojawiła się też nowa wersja Rockbox Utility. Nie wiem, czy wina samego Rockboksa, czy Utility, ale przy końcu instalacji dostaję wersję o błędzie. Co prawda przy fontach i wszystko działa, ale nie wygląda to budująco.

3 rzeczy w Debianie, których nie aktualizujesz.

Jeśli korzystasz z systemu Debian, to zapewne przywykłeś do wygodnej sytuacji, że aktualizacje zwykle przychodzą w repozytorium security. Jest to wygodne, bo proste apt-get update; apt-get upgrade teoretycznie zapewnia aktualne wersje wszystkich pakietów w systemie, z aktualizacjami bezpieczeństwa. Prawda?

Niestety, nie do końca. Po pierwsze, sama instalacja aktualnych wersji pakietów nie zawsze oznacza, że automatycznie zaczynają być one używane. Pomijając kernel, którego faktyczna aktualizacja wiąże się z rebootem, także inne programy niekoniecznie zaczynają być używane automatycznie w aktualnej wersji po ich instalacji. W określeniu programów do restartu przydatne bywa polecenie checkrestart z pakietu debian-goodies, o którym pisałem w ściągawce z przydatnymi poleceniami dla Linuksa. Ogólnie: próbuje ono podać procesy, których restart jest wymagany ze względu np. na aktualizację bibliotek.

Ale i to nie wszystko. Jest kilka innych rzeczy, które nie aktualizują się, mimo zainstalowanych paczek, które spowodowały ich obecność w systemie:

  1. Flash od Adobe. Popularny na desktopach, spaczkowany – w specyficzny sposób – w Debianie w pakiecie flashplugin-nonfree, przy okazji podobno popularny wektor ataku. Aktualność swojej wersji Flasha można sprawdzić na stronie Flash Player check. Jakoś wolę ten sposób od strony Adobe. Aby zaktualizować wersję w systemie należy wydać polecenie:
    update-flashplugin-nonfree --install --verbose

    Oczywiście po powyższym trzeba zrestartować przeglądarki, żeby zmiana była efektywna.

  2. Java od Sun. Ze względu na zmianę polityki, niedawno Java od Sun przestała być aktualizowana, również w zakresie aktualizacji bezpieczeństwa w Debianie i Ubuntu. Jeśli nadal korzystasz z niej w systemie, jest spora szansa, że masz starą wersję, o której aktualizację musisz zadbać samodzielnie. Można też zmienić wersję na którąś z wolnych alternatyw.
  3. Mikrokod procesora. Jeśli posiadasz procesor Intela, to dostępne są aktualizacje mikrokodu od producenta. Co prawda bez tego też będzie działać, ale może udało się poprawić coś, co zwiększy wydajność? Sama instalacja pakietu microcode.ctlnie wystarczy, by zawsze mieć aktualną wersję zainstalowaną i wykorzystywaną w systemie. Aktualizację obecnego w systemie mikrokodu można wywołać ręcznie poprzez polecenie:
    update-intel-microcode

    Potem można przeładować mikrokod przy pomocy:

    /etc/init.d/microcode.ctl restart

    Począwszy od wersji Wheezy niestety jest to nieco bardziej skomplikowane i aktualizację mikrokodu w Debianie opisałem w osobnym wpisie.

Powyższe aktualne dla Debiana (głównie na desktopie, stąd nic o bazach wirusów, filtrach antyspamowych itp.), zapewne także dla pochodnych typu Ubuntu. Chyba, że tam jest to lepiej rozwiązane?

UPDATE: Przeładować owszem, można, ale jeśli dokonywana jest aktualizacja, to przeładowanie jest automatyczne.

UPDATE: Wzmianka o nowym sposobie aktualizacji mikrokodu we Wheezy.

Sierpień miesiącem rozkładu.

Zaczęło się niewinnie – karta dźwiękowa na USB (tani szajs za 5 zł) przestała nagle odtwarzać. Oglądałem sobie w najlepsze Filharmonię Dowcipu na YouTube

(jeden kawałek powyżej, warto poszukać innych, świetne aranżacje), ubolewając przy tym, że nie mamy w kraju takiego zespołu jak Loituma. Chodzi oczywiście o ich utwór Levan polka AKA leek spin AKA kręcenie porem.

Ogólnie lubię covery, zabawy z aranżacją i interpretacją, a Levan polka to tekst z lat 30, z którego – jak widać poniżej – można zrobić całkiem współczesnego hiciora:

I mam świadomość, że powyższy przypadek to raczej ewenement, jeśli chodzi o popularność, ale – mimo mojej nikłej wiedzy w temacie – jednak nie jest to jedyny tego typu przypadek (wystarczy poszukać wykonań utworu Herr Mannelig). Znaczy: coś robią ze starymi utworami. Tymczasem wczoraj w radio usłyszałem, że w polskich szkołach nie ma lekcji muzyki i że moooże wróci. Trochę się załamałem.

Koniec dygresji. W każdym razie surfowałem po YouTube i nagle cisza. Po włożeniu do huba lub portu USB karta zaświeci niemrawo diodą i umiera. Czyli raczej permanentnie jest skończona. Zastanawiam się czy to zwykły przypadek, czy po prostu godzina-dwie produkowania dźwięku na słuchawki nauszne to dla tego typu karty za duże wyzwanie. Wolałbym pierwszą opcję, bo jednak lubię posłuchać na słuchawkach czasem…

Kolejną rzeczą, która padła, jest RAM w moim starym komputerze. Wygląda, jakby przestał widzieć jedną kość. Ostatnio było podobnie (resety, błędy na memtest), ale wystarczyło tradycyjne wyjęcie kości, odkurzenie kompa i wszystko działało. Tym razem tak dobrze nie ma. Zrestartował się i od tej pory widzi 375 MB RAM (wg free -m). Przekładanie i przedmuchanie nie pomaga.

Co prawda komputer to stary grat (obudowa – więc IIRC także płyta główna – z 2000 roku), a kondensatory na płycie od lat wołają o pomstę do nieba (słynne czasy wadliwych, puchnących kondensatorów), ale włączam go tak rzadko i używam do tak prymitywnych zastosowań, że wymiana nie ma sensu.

Sama maszynka to piękny przykład, jak można rozbudowywać PC – zaczynał jako Duron 700 ze 128 MB RAM i Nvidią TNT2 i dyskiem 20 GB. Potem był upgrade RAM, następnie procesora do Athlon XP 2200+, dysku do 60 GB. Na koniec – z okazji sporej ilości gry w Counerstrike – upgrade grafiki do Radeona 9200. I gdzieś po drodze RAM do 512 MB. I powiem szczerze, że do niedawna chodził mi po głowie kolejny upgrade grafiki, żeby pograć czasem chwilę we współczesne FPSy, ale nic okazyjnego na AGP nie było. Tak, wiem, przydałoby się go wymienić. Ale w sumie do netu, posłuchania czy sczytania muzyki itp. wystarczy, a używam rzadko…

Skoro o sczytaniu muzyki mowa – zapowiadane sczytanie i cyfryzacja taśmy BKS nie odbyły się z powodu rozkładu instalacji audio. Konkretnie z powodu rozszabrowania większości kabli pod inne instalacje audio i zagubienia jednej przejściówki. Chciałbym, żeby limit rozkładu na ten rok był już wyczerpany.