logoIts just another jogger in the wall


Epic fail

29 września 2011, 10:54:29 | Kategorie: Linux | Miniblog | windows |

Dziś usunąłem Ext2Fsd z komputera bo zapomniałem że ciągle jedną partycję pod windowsem mam w ext... Jestem po prostu genialny.

A przy okazji polecam wszystkim posiadaczom duetu win/lin Ext2Fsd do dobierania się do partycji linuksowej spod windowsa.

Ludzie dzielą się na tych, co robią backupy i tych do dopiero będą je robić...

22 czerwca 2010, 20:58:34 | Kategorie: bez komentarza | Linux | Miniblog | Ogólne |

Jestem bez wątpienia w tej drugiej grupie. Powinienem sobie zapisać to gdzieś. Może najlepiej na czole. Właśnie pozbawiłem się konfiguracji nginx'a. Na szczęście wiekszość vhostów jest w osobnych plikach, ale te kilka ważniejszych - było w głównym. I szlag je trafił. Bo w mc zamiast stuknąć w F5 trafiłem F6, plik edytowałem a potem zapisałem.

Teraz najważniejsze pytanie: jak to odzyskać?!

Czy git albo svn się nadają do backupowania /usr/local/etc? :D

O przewadze wirtualizacji nad natywnością

13 marca 2010, 21:30:45 | Kategorie: Linux | Ogólne | tech | windows | www |

Któregoś dnia, w czasie pierwszych 2 wykładów zmuszałem mój komputer do uruchomienia Grailsów i Google Appengine. Pierwsze podejście - instalujemy Grailsy i plugin appengine do Grailsów. Grailsy stanęły dęba, kazały sobie wskazać swój home i stworzyć projekt. Ustawiłem, ale plugin się zainstalować nie dał. Grailsy kazały ustawić JAVA_HOME. Kazały też zainstalować aktualne jdk. Zainstalowałem, ustawiłem. Łaskawie się uruchomiły i utworzyły projekt. Żeby nie było tak łatwo, to teraz plugin do appengine odmówił współpracy. Grailsy kazały sobie wskazać gdzie leży SDK do appengine. Po wskazaniu pozwoliły wgrać appengine do projektu. Wskazałem, zainstalowałem. Appengine i Grailsy kazały jeszcze zainstalować apache-ant aby wgrać całość na serwery Google'a. Trzy linijki kodu napisałem, musiałem zainstalować 3 pakiety oprogramowania, ustawić 2 zmienne systemowe, powiększyć PATH, a temu jeszcze mało! Drugie podejście - przez Netbeans. Plugin znaleziony bez problemów. Grailsy trzeba było mu wskazać, bo sam sobie nie mógł ich znaleźć na c:\grails. Utworzyłem projekt w netbeansie, doinstalowałem plugin do appengine'u. Kazałem utworzyć klase domenową. Progressbar leci wolniutko, i gucio. Byłoby zbyt fajnie, gdyby działało. :/ To się musi dać jakoś inaczej zrobić!

Drugie podejście, po zmarnowanych 3h, zaśmieconym systemie i kilkuset mb niepotrzebnych programów i skryptów. Odpalam Archlinuksa na VirtualBoksie. (Do zainstalowania PLD natywnie, jeszcze się nie zabrałem). yaourt -S groovy netbeans jdk google-appengine-java. Dupa, za przeproszeniem. Jedno chce java-enviroment, inne chce jre, a jeszcze inne jdk. Grzecznie, acz wytłumaczyłem managerowi pakietów, że mają chodzić w oparciu o JDK, jakoś to łyknął. Trzeba było dowiązać /usr/bin/java do /opt/java/bin/java, ustawić te nieszczesne JAVA_HOME, APPENGINE_HOME. I znowu gucio. Nie może odnaleźć javy w katalogu z javą. Fajnie. JAVA_HOME na /opt/java/jre i ln -s /opt/java/jre/java /opt/java/. Poszło. Grailsy zaskoczyły. Projekt się utworzył, plugin dodał. Kazał usunąć plugin od tomcata, ustawić magiczne parametry konfiguracji dla appengine. Próba uploadu - poszła!. Pół wykładu i zadziałało. Większość czasu i tak spędzona na ściąganiu grailsów i jdk na słabiutkim łączu watowym. Próba z netbeans - udana. Klasa domenowa utworzona, kontroler z rusztowaniem też. F5. Działa! Super! Pod zwirtualizowanym pingiwnem całość zajęła 4x mniej czasu i zakończyła się sukcesem. Ktoś jeszcze uważa, że windows jest prosty i wygodny, szczególnie dla programisty?

Który pingwin jest chudy? I do tego cwany?

24 lutego 2010, 18:40:55 | Kategorie: Linux |

Po pół roku używania windowsa na głównym komputerze nabrałem ochoty na małą odmianę. Mam do zagospodarowania około 10GiB miejsca po partycji recovery, które mógłbym przeznaczyć na inny system. Pytanie tylko - jaki?

Deszyfrowanie haseł w kadu z pomocą Powershell

11 lutego 2010, 13:27:57 | Kategorie: Linux | Miniblog | tech | Techblog | windows |

Siedział sobie skrypcik u mnie na dysku, napisany pod wpływem chwilowej potrzeby odczytania własnego hasła do gg ukrytego w kadu. Pomyślałem, że może się przydać komuś:

$text="nasze zahaszowane haslo"
$len = $text.length
$newText=$text
for ($i=0 ; $i -le $len; ++$i){
$newText = ($text[$i] -Bxor $i -Bxor 1)
echo [char]$newText
}

Jeśli w PHP wychodzą ci dziwne rzeczy...

22 grudnia 2009, 20:29:43 | Kategorie: Linux | Miniblog | tech |

... Sprawdź granice całkowania.
Wróć!
Sprawdź, czy nie kończy ci się RAM.

Tagowanie nieznanych mp3 pod LInuksem

24 października 2009, 17:23:27 | Kategorie: Linux | Miniblog | Ogólne | tech |

Post wyłącznie ku pamięci. Pod pingwinem istnieje narzędzie do masowego tagowania plików mp3. Zowie się picard i znajduje się w repozytorium Archlinuksa. W innych dystrybucjach pewnie też. Jest oparte na QT. W programie podaje się adres kolekcji plików do tagowania, pozwala się programowi użyć magicznego błękitnego dymu, a potem w miarę bezstresowo ustawić odpowiednim plikom odpowiednie tagi (najczęściej nie trzeba nic ustawiać). Idealne, gdy mamy jakąś poszatkowana paczkę z muzyką!

Livecd: Mc? Xfs? Extents? A co to takiego?

10 października 2009, 12:18:33 | Kategorie: Linux | Miniblog |

Dlaczego różne distra oznaczone jako rescue/pentest/forensics mają różne cudaczne rzeczy jak źródła jaja czy kopete, a nie mają tak podstawowych jak moduł do XFSa czy ext4 z extentsami, czy nawet mc?

Linux, sygnały i spowolnienie procesu

24 września 2009, 10:16:43 | Kategorie: Linux | Ogólne | Techblog |

Przygotowywałem w ciągu ostatnich dni komputer do zainstalowania Win7 i zmiany układu partycji na dysku. Ot backup ważniejszych danych, wgranie muzyki do końca na telefon i tym podobne czynności. Backup danych windowsowych ograniczył się do pogodzenia z ich stratą - zbyt wiele tam jest śmiecia, żeby chciało mi się zgadywać które fragmenty są ważne, a które nie. Cenne dane trzymam na partycji linuksowej, dzięki trickowy z colinux który opisałem w poprzedniej notce.

O możliwość wygodnego importu ustawień użytkownika zgranych do spakowanej paczki, systemów z Redmond nie posądzam (chociaż podejrzewam, że jest narzędzie do tego).
Pod Linuksem mogę napisać: tar --lzma -cf /media/c/home.tar.lzma /home* i po iluś godzinach mieć pełny backup. Wszystko byłoby fajnie gdyby nie dwa szczegóły: musiałem w tym czasie popracować na wirtualnej maszynie, a lzma zarzyna procesor razem z ntfs-3g. To piekielnie obciąża komputer.

Google podpowiedziało obniżenie priorytetu procesów dla cpu i io, jednak nie o to chodzi. Nawet jeśli oba procesy będą chętnie pozwalać innym procesom na pracę, to laptop będzie wył wiatrakiem, cache będzie się często wymieniał, responsywność całości spadnie. Nie o to chodzi. Chcę aby te 2 procesy pracowały z mniejszym obciążeniem komputera, a nie niższym priorytetem.

Dualboot, apache i mysql

03 września 2009, 23:24:05 | Kategorie: Linux | Ogólne | Techblog |

Chyba każdy używający Linuksa na codzień ma czasem potrzebę uruchomienia evil Windowsa. Niektórzy nawet na tym evil Windowsie muszą na codzień pracować. Mój pech polega na tym, że pod Windowsem mam te bardziej zaawansowane programy, z których korzystam podczas pracy, a serwer www pod pingwinem, i pod pingwinem wykonuję większość pracy z samym kodem.

W tej notce chcę pokazać, jak rozwiązać problem z koniecznością posiadania osobno 2 kopii plików roboczych - pod win i lin. Mój opis to raczej luźna koncepcja niż dokładny tutorial. Odradzam stosowanie się do niego osobom niedoświadczonym, bo można przypadkiem uszkodzić sobie ważne dane. Tekst prezentuje ideę, na którą wpadłem podczas kombinowania z dwoma systemami i którą wdrożyłem z sukcesem. Nie oznacza to jednak, że to rozwiązanie sprawdzi się w Twoim przypadku!

Najwygodniejszym dla mnie rozwiązaniem jest emulowanie systemu z Redmond za pomocą wine. Dzięki temu można odpalić MS Office'a (tak, używam tego pod linuksem, zamiast OOo, które jest wolne i niewygodne). Można nawet odpalić FlashDevelop (choć sypie błędami, to da się w tym pisać kod) jak i Flasha (z ósemką pracowałem, ale trial się skończył i poszła w powietrze). O tym, że Photoshop śmiga pod wine, przez szacunek dla czytelników nie wspominam już nawet. :]

Innym sposobem pogodzenia tych 2 systemów jest wirtualizacja. Niestety mój komputer nie wspiera wirtualizacji sprzętowej, a VirtualBox z XP jest strasznie wolny.

Przestawienie się na wolne programy byłoby łatwiejsze, gdyby nie problem mojego Archlinuxa z javą - Netbeans robi kernel panic, a Eclipse znika w kilka chwil po załadowaniu.

Do pisania kodu najczęściej używam prostego kate i mc, jednak czasami potrzebne jest jakieś bardziej rozbudowane środowisko programistyczne. Wszystko fajnie, tylko co zrobić, gdy nasze pliki wiszą sobie na lokalnym apache'u, a dane są w lokalnym mysql'u? Możemy przenieść się na windows, a dostęp do danych zapewnić dzięki wirtualizacji.

W Sieci jest dobry tutorial[1] opisujący jak za pomocą coLinuksa podmontować pod windowsem partycję w ext, reiserfs czy xfs, jednak chcę go uzupełnić o część dotyczącą współdzielenia plików dla serwera www.

Mamy 2,5 możliwości. Pierwsza to zainstalownie potrzebnych programów pod coLinuxem, co każdy szanujący się użytkownik systemu z pingwinem w logo potrafić powinien. Tak więc pozostanie jedynie ustawić odpowiednie adresy plików i katalogów w /etc/my.conf i /etc/httpd/conf/httpd.conf. Podpowiem, że dla mysql'a ścieżka zapisana jest w zmiennej datadir. Miejsce w którym apache szuka plików określone jest w tagu Directory, chociaż do samodzielnego edytowania tego pliku warto zasięgnąć porady dokumentacji. Dzięki temu na naszym coLinuksie mamy Sambę udostępniającą dostęp do właściwych plików dla IDE, serwer www i serwer bazy danych. To rozwiązanie jest łatwe i proste, choć jego wydajność nie powala - odczyt i zapis danych będą odbywać się po sambie, przez co będą wolniejsze niż być powinny, ale coś za coś - pod linuxem zamiast samby spowalniaczem byłby ntfs-3g gdyby pliki trzymać na windowsowej partycji.

Alternatywne rozwiązanie wobec powyższego to trzymanie na windowsie serwera www i bazy danych natywnie, a nie w coLinux. To rozwiązanie też możemy rozbić na 2 warianty, bo obok Apache'a możemy wgrać jeszcze windowsowe IIS.

Przy takim podejściu spędzimy więcej czasu na konfiguracji, bo trzeba odpowiednio ustawić serwer www (dla IISa wymaga to więcej klikania niż dla Apache'a) i mysql'a. O ile konfiguracja serwera www tak, aby za DocumentRoot uznawał podpięty dysk sieciowy nie jest trudna, to odpowiednie skonfigurowanie MySQLa, by korzystał z linuksowych plików danych jest trudne. Mnie się to nie udało. Wujek Google podpowiada że teoretycznie jest to możliwe, jednak nie znalazłem opisu, jak to zrobić. Znalazłem za to potwierdzenie, że tego się zrobić nie da[2].

Jak więc sobie z tym poradzić? Odważni powinni kombinować dalej, ja natomiast bazę danych powierzę coLinuksowi i pod Linuxem w /etc/hosts ustawię dla nazwy mt3ocoLinux, takiej jak hostname mojego coLinuxa - 127.0.0.1 dzięki czemu wywołania spod Windows trafią do coLinuxa, a spod Archlinuxa - do lokalnego MySQLa. Wiem, trochę to pogmatwane :)

Tak więc, krótko podsumowując:
Na Windows:

  • Apache i/lub IIS
  • Środowisko Programistyczne
  • IE6/7/8 ?
  • Flash? Photoshop? Co komu potrzeba?
  • coLinux



Mamy zainstalowanego coLinuxa, który:

  • Samba dająca dostęp do danych spod Windows
  • natywny MySQL korzystający z bazy z Linuxa



Pod Linuxem:

  • natywny Apache
  • natywny MySQL
  • IDE, kupa przeglądarek itp

Dzięki temu możemy pracować z tymi samymi plikami spod zarówno windowsa jak i linuxa, ograniczając bloat maszyn wirtualnych.

W wersji bardziej rozbudowanej, jako wisienkę na torcie dla programistów PHPowych można dorzucić Zend Server do obu tych konfiguracji. Nie jest to głupie rozwiąznie, zwłaszcza że Zend Server CE jest dostępny bezpłatnie, przy wsparciu przez community.

Ps. To jest moja pierwsza notka, więc proszę o wyrozumiałość :-)

Linki: [1] Jak uzyskać dostęp do partycji xfs/reiserfs/ext pod windowsem dzięki colinux
http://jakilinux.org/aplikacje/konsola/ext3-reiserfs-i-xfs-w-windows-dzieki-colinux/ http://polishlinux.org/linux/ext3-reiserfs-xfs-in-windows-thanks-to-colinux/

[2] Dyskusja na forum MySQLa dotycząca utrzymywnia jednej kopii plików dla 2 wersji MySQLa, jednej linuksowej i jednej windowsowej
http://forums.mysql.com/read.php?11,239124,239124#msg-239124