Ubuntu

    Linux+ 1/2009

    Styczniowy numer magazynu dostałem już w grudniu, ale jak zwykle odłożyłem na za chwilę i zapomniałem o nim aż do dzisiaj. Po grudniowej rozrywce przedświątecznej, tematem numeru styczniowego jest bezpieczeństwo. Zainteresowanych odsyłam do numeru, gdzie można przeczytać min. o ZENOSS – oprogramowaniu do monitoringu sieci (ja używam kilku innych narzędzi – nagios, cacti, smokeping – ale opis i artykuł jest zachęcający do wypróbowania). Jeśli ktoś chciałby się zapoznać z firewallem linuksowym to są także w numerze opisane podstawy (chociaż ja i tak polecam BSDowy pf ;). Artykuł nie związany z bezpieczeństwem, który mi jednak przypadł najbardziej do gustu to artykuł o edytorze Vim. Jeżeli ktoś lubi mieć w formie papierowej poradniki lub howto, to ten kawałek tekstu na pewno kwalifikuje się jako bardzo przydatna ściąga. W dobie Ubuntu i desktopów 3D, używanie tekstowego edytora wydawać by się mogło bezsensowne, ale jeśli ktoś chce być Administratorem to dobre poznanie Vi lub Vima to podstawa. Za prawdę powiadam Wam, nie ma lepszego edytora niż Vim w kontekscie administrowania systmami *NIXowymi ;) Nie bez znaczenia jest też fakt, że w przypadku jakiegoś padu i single mode, do dyspozycji może pozostać nam tylko vi w base systemie (zweryfikowane przez praktykę). Dlatego też szczerze polecam początkującym Administratorom lekturę przewodnika po Vim w styczniowym Linux+.




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Job / Praca

    NetBSD + CCD = dużo miejsca z małych dysków

    Dzisiaj zajmiemy się fajną funkcją kernela NetBSD jaką jest CCD czyli Concatenated Disk Device (Powiązane Urządzenie Dyskowe). Służy ona do łączenia kilku fizycznych dysków (wd,sd) w jeden logiczny wolumen (ccd). Całość opiszę na przykładzie własnym wykonanym na serwerze IBM x346 z kontrolerem SCSI AIC-7902. Serwer ten jest dość mocno wykorzystywany ponieważ działa na nim IDS SNORT i niestety bardzo szybko kończy mu się miejsce na /var gdzie przechowywane są alerty. Co nam będzie potrzebne. Oprócz serwera i dysków, CCD w kernelu. Jeśli używasz GENERIC to CCD jest już tam domyślnie. Przed modyfikacją posiadał on dwa dyski SCSI po 70 GB:

    sd0 at scsibus1 target 0 lun 0: disk fixed
    sd0: 70006 MB, 65494 cyl, 3 head, 729 sec, 512 bytes/sect x 143374000 sectors
    sd0: sync (6.25ns offset 80), 16-bit (320.000MB/s) transfers, tagged queueing
    sd1 at scsibus1 target 1 lun 0:
    disk fixed
    sd1: 70006 MB, 65494 cyl, 3 head, 729 sec, 512 bytes/sect x 143374000 sectors
    sd1: sync (6.25ns offset 80), 16-bit (320.000MB/s) transfers, tagged queueing

    i wyglądał tak:

    Serwer z dwoma dyskami 70 GB
    Serwer z dwoma dyskami 70 GB

    Dołożyłem 4 dyski (po uprzednim dokupieniu ramek co nie jest takie proste w przypadku dwuletniego serwera) 17 GB, które od jakiegoś czasu leżakowały po wyjęciu z AS400 (lub eserver iseries, a nawet ostatnio i5, IBM i te jego zmiany nazw…). Tutaj drobny offtopic. Akurat to, że dyski uprzednio były w ASie jest dość istotne ponieważ przysparza to trochę kłopotów. Po przygotowaniu i włożeniu dysków:

    Nowe dyski, tylko jeszcze \"klik\" i już działają

    kernel zaraportował tylko:

    Komunikaty po włożeniu dysków
    Komunikaty po włożeniu dysków

    Po restarcie dyski niby zostały wykryte, ale przy normalnych komunikatach kernela pojawiło się coś jeszcze:

    sd2 at scsibus1 target 2 lun 0: disk fixed
    sd2(ahd1:0:2:0): preposterous sector size: 0x20a. Defaulting to 512 bytes.
    sd2: 16742 MB, 29550 cyl, 2 head, 580 sec, 512 bytes/sect x 34287616 sectors
    sd2: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing
    ses0 at scsibus1 target 8 lun 0: processor fixed
    ses0: SAF-TE Compliant Device
    ses0: async, 8-bit transfers
    sd2(ahd1:0:2:0): preposterous sector size: 0x20a. Defaulting to 512 bytes.
    sd2(ahd1:0:2:0): generic HBA error
    sd2: dos partition I/O error
    sd2(ahd1:0:2:0): generic HBA error
    findroot: unable to read block 64
    sd2(ahd1:0:2:0): generic HBA error

    I tak x4 dyski. Oczywiście o disklabelowaniu i stworzeniu działającego CCD nie było mowy. Kilka osób sugerowało:

    20:10 lama_: mhm, albo jakos specjalnei je trzeba przygotowac, albo netbsd ich nie lubi/tego kontroloera/ cos jeszcze trzeba tam ustawic itp.
    15:08 lama_: kontrolera moze? ale watpie, to raczej kwestia firmware lub pogrzebania z nimi w AS ?
    13:20 lama_: to jest cos na lini sprzet/kernel z urzadzeniami wedlug mnie, a nie z disklabel
    13:17 lama_: to popatrz jeszcze po tasmach itp
    13:12 lama_: jest to zdecydowanie problem na innym poziomie niz disklabel

    20:08 < @emet> po wnikliwej analizie stwierdzam że coś jest spierdolone.

    20:13 < @gavroche> cancer^, MAsz napisane.
    20:13 < @gavroche> sd2(ahd1:0:2:0): generic HBA error
    20:13 < @gavroche> :)
    20:13 < @gavroche> Pewnie kontroler masz spierdolony.
    20:14 < @lama_> to by dyski 1-2 nie dzialaly ok
    20:14 < @gavroche> Może być jeden kanał spierdolony.
    20:14 < @gavroche> Na przykład.
    20:15 < @gavroche> Wtedy by działały.

    20:18 < @lama_> host bus adapter
    20:19 < @lama_> poszukaj jeszcze jakis firmware/bios updatow
    20:20 < @lama_> i kable badaj/polaczenia/zworki/ustawienia itp. pierwsze co musisz wlasnie wyeliminowac to na 100% ze to nie jest jakis sprzetowy problem

    20:28 < @gavroche> No, chyba, że masz za nowy sprzęt żeby na nim NetBSD uruchomić.
    20:28 < @gavroche> To wtedy gorzej. :< 20:33 <@majkel> re
    20:44 < @cancer^> gavroche: x346 ibm
    20:44 < @cancer^> 2 latek
    20:47 < @gavroche> No niestety. Przyjdzie Ci zaczekać na NetBSD 7.0. ;/
    20:47 < @gavroche> Nie rozumiem Was, że używacie NetBSD do celów innych niż edukacyjne.

    Na szczęście mimo czarnowidztwa kolegów, nic nie okazało się spierdolone, nie musiałem szukać biosów ani firmware do dysków i kontrolera, oszczędzone zostało mi także oczekiwanie na NetBSD 7.0 zwłaszcza, że mój zakład o NetBSD 5.0 vs Windows 7 nadal trwa :) NetBSD oprócz swoich walorów edukacyjnych będzie pełnił także dotychczasową rolę jako IDS oraz kilka innych zadań :)

    A wszystko dlatego, że po wywiadzie na grupach dotyczących AS’a400 okazało się, ze IFS (system plików ASowy) modyfikuje dysk na tyle, że NetBSD nie umie sobie z nim poradzić – z tąd też komunikat: sd2(ahd1:0:2:0): preposterous sector size: 0x20a. preposterous = absurdalny :)

    Lekarstwem na tą „absurdalną” wielkość sektora był lowlevel format wykonany z poziomu BIOS’a kontrolera. Po kilkunastu minutach i milionie potwierdzeń, dyski odzyskały nie tak absurdalną wielkość sektora jaką jest 512 bajtów zamiast 522 :)

    Czy na pewno, na 100% jesteś pewny że chcesz lowlevel format zrobić? Tak! A czy aby na pewno?...
    Czy na pewno, na 100% jesteś pewny że chcesz lowlevel format zrobić? Tak! A czy aby na pewno?...
    Czy na pewno, na 100% jesteś pewny że chcesz lowlevel format zrobić? Tak! A czy aby na pewno?...
    Czy na pewno, na 100% jesteś pewny że chcesz lowlevel format zrobić? Tak! A czy aby na pewno?...

    Wracając do sedna postu. Mamy działające dyski i kernel już sobie z nimi radzi. Wszystko pozapinane (literalnie ;) na ostatni zatrzask więc do dzieła :)

    Całość pozapinana
    Całość pozapinana

    Szybka kontrola, wszystko tym razem według oczekiwań, żadnych HBA error, żadnych absurdalnych sektorów (to naprawdę mi się podoba :), oraz żadnych I/O errorów w dosowych partycjach (a to już było wogóle od czapy :).

    sd0 at scsibus1 target 0 lun 0: disk fixed
    sd0: 70006 MB, 65494 cyl, 3 head, 729 sec, 512 bytes/sect x 143374000 sectors
    sd0: sync (6.25ns offset 80), 16-bit (320.000MB/s) transfers, tagged queueing
    sd1 at scsibus1 target 1 lun 0:
    disk fixed
    sd1: 70006 MB, 65494 cyl, 3 head, 729 sec, 512 bytes/sect x 143374000 sectors
    sd1: sync (6.25ns offset 80), 16-bit (320.000MB/s) transfers, tagged queueing
    sd2 at scsibus1 target 2 lun 0: disk fixed
    sd2: 17501 MB, 29550 cyl, 2 head, 606 sec, 512 bytes/sect x 35843670 sectors
    sd2: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing
    sd3 at scsibus1 target 3 lun 0:
    disk fixed
    sd3: 17501 MB, 29550 cyl, 2 head, 606 sec, 512 bytes/sect x 35843670 sectors
    sd3: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing
    sd4 at scsibus1 target 4 lun 0:
    disk fixed
    sd4: 17501 MB, 29550 cyl, 2 head, 606 sec, 512 bytes/sect x 35843670 sectors
    sd4: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing
    sd5 at scsibus1 target 5 lun 0:
    disk fixed
    sd5: 17501 MB, 29550 cyl, 2 head, 606 sec, 512 bytes/sect x 35843670 sectors
    sd5: sync (12.50ns offset 63), 16-bit (160.000MB/s) transfers, tagged queueing

    Po pierwsze patrzymy na disklabel:

    disklabel sd2
    # /dev/rsd2d:
    type: SCSI
    disk: DRVS18D
    label: fictitious
    flags:
    bytes/sector: 512
    sectors/track: 606
    tracks/cylinder: 2
    sectors/cylinder: 1212
    cylinders: 29550
    total sectors: 35843670
    rpm: 10040
    interleave: 1
    trackskew: 0
    cylinderskew: 0
    headswitch: 0 # microseconds
    track-to-track seek: 0 # microseconds
    drivedata: 0

    4 partitions:
    # size offset fstype [fsize bsize cpg/sgs]
    a: 35843670 0 4.2BSD 0 0 0 # (Cyl. 0 - 29573*)
    d: 35843670 0 unused 0 0 # (Cyl. 0 - 29573*)
    disklabel: boot block size 0
    disklabel: super block size 0

    Tak wygląda standardowy disklabel czystego dysku, modyfikujemy go do użycia przez CCD. Potrzebujemy jeden cały slice c (d w nomenklautrze NetBSD to cały dysk, a c to wszystkie slice NetBSD) minus 1x sectors/cylinder oraz typ systemu ccd. Czyli po szybkim przeliczeniu

    bc
    35843670-1212
    35842458

    disklabel dla pierwszego dysku użytego w ccd będzie wyglądał tak:

    disklabel sd2
    # /dev/rsd2d:
    type: SCSI
    disk: DRVS18D
    label: fictitious
    flags:
    bytes/sector: 512
    sectors/track: 606
    tracks/cylinder: 2
    sectors/cylinder: 1212
    cylinders: 29550
    total sectors: 35843670
    rpm: 10040
    interleave: 1
    trackskew: 0
    cylinderskew: 0
    headswitch: 0 # microseconds
    track-to-track seek: 0 # microseconds
    drivedata: 0

    4 partitions:
    # size offset fstype [fsize bsize cpg/sgs]
    c: 35842458 1212 ccd # (Cyl. 1 - 29573*)

    Do edycji disklabela używamy komendy disklabel z opcją -e. Całą operację powtarzamy tyle razy ile mamy dysków odpowiednio przeliczając offset (no chyba, że macie wszystkie dyski takie same).

    Dopisujemy nasze slice do konfiga ccd:

    cat /etc/ccd.conf
    #ccd ileave flags component devices
    ccd0 0 none /dev/sd2c /dev/sd3c /dev/sd4c /dev/sd5c

    oraz inicjujemy ccd:

    ccdconfig -C -f /etc/ccd.conf
    ccdconfig: /dev/sd5c: No such file or directory

    Tutaj jeszcze drobna poprawka, trzeba stworzyć urządzenia w /dev bo jakoś same się nie zrobiły:

    Tworzymy i sprawdzamy czy jest ok:

    ./MAKEDEV sd5

    ll /dev/sd5*
    brw-r----- 1 root operator 4, 40 Jan 9 10:43 /dev/sd5a
    brw-r----- 1 root operator 4, 41 Jan 9 10:43 /dev/sd5b
    brw-r----- 1 root operator 4, 42 Jan 9 10:43 /dev/sd5c
    brw-r----- 1 root operator 4, 43 Jan 9 10:43 /dev/sd5d
    brw-r----- 1 root operator 4, 44 Jan 9 10:43 /dev/sd5e
    brw-r----- 1 root operator 4, 45 Jan 9 10:43 /dev/sd5f
    brw-r----- 1 root operator 4, 46 Jan 9 10:43 /dev/sd5g
    brw-r----- 1 root operator 4, 47 Jan 9 10:43 /dev/sd5h
    brw-r----- 1 root operator 4, 524328 Jan 9 10:43 /dev/sd5i
    brw-r----- 1 root operator 4, 524329 Jan 9 10:43 /dev/sd5j
    brw-r----- 1 root operator 4, 524330 Jan 9 10:43 /dev/sd5k
    brw-r----- 1 root operator 4, 524331 Jan 9 10:43 /dev/sd5l
    brw-r----- 1 root operator 4, 524332 Jan 9 10:43 /dev/sd5m
    brw-r----- 1 root operator 4, 524333 Jan 9 10:43 /dev/sd5n
    brw-r----- 1 root operator 4, 524334 Jan 9 10:43 /dev/sd5o
    brw-r----- 1 root operator 4, 524335 Jan 9 10:43 /dev/sd5p

    Wygląda na ok. Inicjujemy ccd jeszcze raz. Po poprawnym zainicjowaniu nie dostajemy żadnego komunikatu, ale za to w /dev pojawiaja nam się urządzenia ccd :)

    ccdconfig -C -f /etc/ccd.conf

    ls -la /dev/ccd*
    brw-r----- 1 root operator 16, 0 Feb 22 2008 /dev/ccd0a
    brw-r----- 1 root operator 16, 1 Feb 22 2008 /dev/ccd0b
    brw-r----- 1 root operator 16, 2 Feb 22 2008 /dev/ccd0c
    brw-r----- 1 root operator 16, 3 Feb 22 2008 /dev/ccd0d
    brw-r----- 1 root operator 16, 4 Feb 22 2008 /dev/ccd0e
    brw-r----- 1 root operator 16, 5 Feb 22 2008 /dev/ccd0f
    brw-r----- 1 root operator 16, 6 Feb 22 2008 /dev/ccd0g
    brw-r----- 1 root operator 16, 7 Feb 22 2008 /dev/ccd0h
    brw-r----- 1 root operator 16, 524288 Feb 22 2008 /dev/ccd0i
    brw-r----- 1 root operator 16, 524289 Feb 22 2008 /dev/ccd0j
    brw-r----- 1 root operator 16, 524290 Feb 22 2008 /dev/ccd0k
    brw-r----- 1 root operator 16, 524291 Feb 22 2008 /dev/ccd0l
    brw-r----- 1 root operator 16, 524292 Feb 22 2008 /dev/ccd0m
    brw-r----- 1 root operator 16, 524293 Feb 22 2008 /dev/ccd0n
    brw-r----- 1 root operator 16, 524294 Feb 22 2008 /dev/ccd0o
    brw-r----- 1 root operator 16, 524295 Feb 22 2008 /dev/ccd0p

    Skoro już mamy ccd jako urządzenie, sprawdzamy jego disklabel:

    # rccd0d:
    type: ccd
    disk: ccd
    label: fictitious
    flags:
    bytes/sector: 512
    sectors/track: 2048
    tracks/cylinder: 1
    sectors/cylinder: 2048
    cylinders: 70004
    total sectors: 143369832
    rpm: 3600
    interleave: 1
    trackskew: 0
    cylinderskew: 0
    headswitch: 0 # microseconds
    track-to-track seek: 0 # microseconds
    drivedata: 0

    4 partitions:
    # size offset fstype [fsize bsize cpg/sgs]
    a: 143369832 0 4.2BSD 0 0 0 # (Cyl. 0 - 70004*)
    d: 143369832 0 unused 0 0 # (Cyl. 0 - 70004*)

    Że tak powiem, automagicznie idealnie. Size jest sumą czterech dysków z ccd.conf. Po przeliczeniu mamy 67 GB do wykorzystania. Pozostało jeszcze tylko założyć system plików:

    newfs /dev/rccd0a
    /dev/rccd0a: 70004.8MB (143369832 sectors) block size 16384, fragment size 2048
    using 380 cylinder groups of 184.23MB, 11791 blks, 23296 inodes.
    super-block backups (for fsck_ffs -b #) at:
    32, 377344, 754656, 1131968, 1509280, 1886592, 2263904, 2641216, 3018528, 3395840, 3773152, 4150464, 4527776, 4905088,
    ......

    i podmontować w wybranym miejscu:

    mkdir /usr/home/storage
    mount /dev/ccd0a /usr/home/storage/

    Sprawdzamy czy wszystko gra:

    df -h
    Filesystem Size Used Avail Capacity Mounted on
    /dev/sd0a 1.9G 37M 1.8G 1% /
    /dev/sd0f 29G 12G 15G 44% /var
    /dev/sd0e 19G 16G 2.0G 89% /usr
    /dev/sd0g 13G 3.6G 9.2G 27% /usr/home
    tmpfs 781M 48K 781M 0% /tmp
    kernfs 1.0K 1.0K 0B 100% /kern
    procfs 4.0K 4.0K 0B 100% /usr/pkg/emul/linux/proc
    /dev/sd1e 67G 49G 15G 76% /backup
    /dev/ccd0a 67G 2.0K 64G 0% /usr/home/storage

    Wygląda na to, że wszystko w jak najlepszym porządku, możemy przetestować wydajność naszego nowego ccd:

    dd if=/dev/zero of=file_1GB bs=1m count=1k
    1024+0 records in
    1024+0 records out
    1073741824 bytes transferred in 19.476 secs (55131537 bytes/sec)

    Imponujące :)

    Jeśli jesteś zadowolony ze swojego setupu, ostatnią rzeczą jest dopisanie ccd=YES do rc.conf oraz do fstaba punktu montowania:

    echo ccd=YES >> /etc/rc.conf
    echo "/dev/ccd0a /usr/home/storage ffs rw,softdep 1 1" >> /etc/fstab

    Ostatni restart, aby zobaczyć czy wszystko gra i jeśli po restarcie masz podmontowany ccd tam gdzie powinien być to gratulacje – ccd skonfigurowany i działa :)

    Jeszcze uwaga na koniec – FFS w NetBSD obsługuję partycję do wielkości 2 TB. Zatem jeśli chcesz połączyć dyski w więcej niż 2 TB, niestety trzeba zrobić kilka ccd, np, mój serwer backupowy dla userów posiada 4 TB w dwóch ccd:

    /dev/ccd0a 1.8T 1.5T 189G 89% /usr/home/bacula
    /dev/ccd1a 1.8T 1.0T 683G 60% /usr/home/bacula2




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Family / Rodzina

    Tosia i Acer Aspire One :)

    Tosia jak na córkę Admina przystało interesuje się wszystkim czym Tata. Czasem jej zainteresowanie jest tak absorbujące, że nie można zrobić nic konkretnego na normalnym komputerze. I tu do akcji wkracza mój Aspire One. Oprócz niezłej maszyny delegacyjnej (mały, dobra bateria, niezłe parametry) okazuje się, ze z racji swoich gabarytów (8,9 cala matryca) jest idealnym narzędziem także dla Tosi. Zdjęcia poniżej nie są zdjęciami ustawianymi tylko rzeczywistym materiałem z „pracy” Tosi na Aspire One – oglądanie Teletubisiów. Oprócz oglądania Tosia odkrywa kolejne skróty klawiszowe bestplayera co sprawia jej jeszcze większą radochę. Z tyłu support w postaci cioci (sic!) Julii. Tata po zrobieniu zdjęć miał całe 30 minut na swoje zajęcia na dużym komputerze :)




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Fun

    Dzień Sprzątania Biurka

    8 stycznia, jak donosi Kalendarz Świąt Nietypowych jest dniem Sprzątania Biurka. Większość mojej pracy spędzam właśnie przy tym meblu, które na co dzień wygląda tak:

    Biurko na co dzień
    Biurko na co dzień

    Wiadomo, bałagan sam się robi :) Dlatego dzisiejszy dzień jest idealnym momentem aby zapanował na tym meblu porządek!

    Biurko od święta.
    Biurko od święta.

    Zniknęło większość papierzysk, także śrubki z lewej strony (mało widoczne) i mało przydatne rzeczy jak np. podgrzewacz do kawy na USB (który z moim porcelanowym wyeksponowanym mega kubkiem i tak nie działa). Kable niestety przez konstrukcję laptopa muszą być w nieładzie. Za to pojawił się kalendarz papierowy, bardzo rzadko spotykany gadżet w dobie Google Calendar czy Sunbirda :)

    Jak znam życie, za kilka dni jednak automagicznie biurko samo się zabałagani do wersji z pierwszego zdjęcia, no ale dzisiaj świętujemy ;)

    A rok temu pisałem dokładnie o tym samym :)




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Job / Praca

    Wolny dysk? Sprawdź śrubki mocujące!

    Zauważyłeś ostatnio spadek wydajności operacji dyskowych? Nie kupuj od razu nowych dysków, lub szybszego kontrolera. Być może winna jest tylko… śrubka mocująca dysk. Brendan Gregg z SUN’a odkrył i zademonstrował jak wibracje mogą wpływać na ograniczenie parametrów odczytu i czasu dostępu do dysków. Klasyczne dyski (nie SSD) jak wiadomo ciągle są w ruchu, ruch kołowy ich talerzy wywołuje wibracje, wystarczy zatem złe mocowanie, aby cały dysk wpadł w rezonans. Dokładne wykresy na blogu Brendana, a poniżej film ze „stresowania” dysków krzykiem :)

    W swojej karierze zawodowej widziałem od środka i złożyłem setki dysków twardych. Spotkałem się z niejednym wątpliwym rozwiązaniem, np. dysk do góry nogami, trzymający się tylko na szelce IDE, zamontowany w kieszeni 5,25 z jednej strony itp. Warto zwrócić uwagę w jaki sposób zmontowany jest nasz PC :)




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Ogólne

    Wesołych Świąt!

    Wszystkim Czytelnikom obecnym i przyszłym składam serdeczne życzenia zdrowia i spokojnych Świąt!

    A że blog o IT także trochę traktuje to kolęda w temacie :)

    Bug się rodzi, kod truchleje,
    choć nie w BIOS-a osadzony,
    Segfault krzepnie, Flash ciemnieje,
    backtrace będzie nieskończony!
    Wzgardzony, okryty chwałą
    Śmiertelny, DOS nad wiekami
    A słowo się tekstem stało
    I mieszało procesami.

    W nędznej szopie napisany
    RAM mu za kolebkę dano!
    Czarnobiały lub zielony,
    MMX-a też nie znano…
    Userzy, was to spotkało,
    Witać go przed Windowsami
    A słowo się tekstem stało
    I mieszało procesami.

    Coż masz, Windows, nad *NIX-ami,
    Bug otwiera twe podwoje.
    Wszedł między kod kilobajtami;
    Bill i tak wyszedł na swoje.
    Niemało zyskał, niemało,
    Żeśmy mu płacili sami,
    A słowo sił oknem stało,
    I mieszało zasobami.

    Nie było miejsca na dysku
    Zasoby Windows pożerał
    Ogarnąć sobą chciał wszystko
    Zgnieść fale gamma usera
    Niemało zyskał, niemało,
    Żeśmy mu płacili sami,
    A słowo się oknem stało,
    I mieszało zasobami.

    I pojawiłeś się skromny,
    Linuksie, dając osłony
    Macierzom i hostom drobnym
    Initem rządząc demony
    Dyski masz i pamięć całą
    I katalogi z plikami
    A słowo znów tekstem stało
    I mieszało procesami.

    Podnieś rękę, Roocie User,
    Błogosław Linuksa swego
    W dobrych wersjach, w dobrym kodzie,
    i wspieraj też rozwój jego.
    Dyski masz i pamięć całą
    I katalogi z plikami
    A słowo się tekstem stało
    I mieszało procesami.




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Fun

    Mój pierwszy niemieck HU* ;)

    Aż się nie mogłem opanować. Po sieci krąży pełno zdjęć ze śmieszynymi rejestracjami i nazwami miejscowości. Nigdy mi się nie udało żadnej spotkać, aż tu dzisiaj w drodze na UAM




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Gry/Games

    Przygoda za darmo! (x2)

    W temacie starych gier. gog.com (Good Old Games), swoim użytkownikom na święta zafundował dwie klasyczne przygodówki za zupełną darmochę. Co ja tu będę pisał długo, ściągnijcie i zagrajcie!

    Do każdego tytułu oczywiście bonusy, manuale, tapety itp. Polecam!




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Gry/Games

    Linux+ 12/2008

    Ciemno, zimno, szaro, ponuro i jutro najkrótszy dzień w roku. Ogarnęła mnie nostalgia komputerowa, a nostalgia w moim przypadku zanim ważne stały się takie słowa jak BSD, UNIX, sieć, administracja, IP, ssh itp. to gry, dos, soundblaster, dyskietki, secret service, top secret. Szczęśliwie czasy DOS’a i ręcznie konfigurownego Sound Blastera 16 Basic Edition (zapamiętam to do końca zycia – adres 220h, IRQ5, DMA1 ;) mam za sobą. Nieszczęśliwie, że klimatu starych Top Secretów i Secret Servisów żadne pismo już nie trzyma, ale najważniejsze, że gry miodne w moich czasach (lata 90) cały czas są miodne. Jeśli tak jak ja czujecie chęć od czasu do czasu zagrania w coś starego to polecam grudniowy numer Linux+, a zwłaszcza stronę 58, gdzie znajdziemy opisy kilku programów pozwalających nam na naszych core 2 quadach uruchomić gry przeznaczone na 486 DX 4 :) Tak, tak, rezygnując z Windowsa nie musimy rezygnować ze wspomnień growych z lat młodości. Na linuksie czy BSD spokojnie pogramy w większość gier DOSowych. Mamy zgrabne opisy DOSBOX’a i Wine, czyli duetu emulatorów kolejno DOS’a i Windowsa. Właściwie można zgodzić się z autorem, że gry przeznaczone dla DOS’a uruchamiamy DOSBOXEM, a gry dla Windows 95/98 poprzez Wine. Jeśli jednak używamy Windows gry nawet dla 95 powinny śmigać bez problemu pod XP (wczoraj grałem np. w simtower w wersji dla Windows i pod XP nie było żadnych problemów). Do pełnej kolekcji zabrakło w/g mnie ScummVM, jednak jest to emulator tylko jednego silnika – gier przygodowych Lucas Arts, które w dalszej części artykułu nie występują więc dlatego pewnie został pominięty. Osobiście nie wyobrażam sobie moich młodych lat growych bez Indiany Jonesa czy The DIG, autor skupił się na strategiach i RPG’ach. Widać takie gusta, a o gustach się nie dyskutuje :) Jeśli jesteś relatywnie młodym rocznikiem (czyli takim dla którego lata 90 w grach nie istnieją) to w dalszej części artykułu po opisach emulatorów jest podany ładny zestaw gier do przetestowania (w większości dostępnych za darmo jako abandoware). Mamy tu takie pozycje jak Fragile Allegiance, Lords of the Realm, RollerCoaster Tycoon I i II, Heroes Of Might and Magic II i III, Balur’s Gate, Settlers II, Lotus 3, F117 i F15 oraz LHX. Wszystko z krótkimi opisami. Co ważne dobór gier nie zniechęci nieDOSowych graczy. Cukeirkowa grafika Heroes III czy izometryczne Tycoony nadal robią wrażenie i prezentują się dobrze. Zachęcam do przeczytania całego grudniowego Linux+ poświęconego rozrywce w Linuksie, a zwłaszcza do powyższego artykułu o nieco starszych grach, które nadal mają swój urok i przysparzają takich samych emocji kiedy byliśmy dziećmi… albo chociaż pomagają przypomnieć sobie te wspaniałe wieczory, wakacje przeznaczone na granie czy spotkania zamiast przy piwie to przy jakiejś turówce :)




    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Job / Praca

    Fajnie być prezesem czyli jak psuć iPhone’a bez konsekwencji

    Nie dość, że samo prezesowanie jest fajne to jeszcze zdarzają się takie historie. Mój uber szef zapragnął mieć iPhone’a. Jako, że w mojej firmie IT odpowiada także za telefony komórkowe złożyłem zamówienie. Czekaliśmy kilkanaście dni, w międzyczasie grande boss poznawał nowego Mac Book Air’a. W końcu przybyła malutka czarna paczka. Po aktywacji, która jest dość uciążliwa prezes cieszył się iPhonem 2 dni, po czym oddał mi go z wielkim pająkiem na szybie ze stwierdzeniem „Tylko raz mi spadł, a NOKIA tyle spadała i się nigdy nic nie stało”. Odesłałem na gwarancję (a nuż może się uda ;). Oczywiście gwarancja odmowna, naprawa płatna – 930 zł. 930 zł za szybkę! Ultimate chief zrezygnował z iPhone’a i pozostał przy swojej wysłużonej Nokii N 95a mi pozostało napisać o zwrot zwłok. Czekam kolejne 2 tygodnie i dostaję maila od naszego operatora, że firma kurierska wioząca iPhone’a z serwisu do operatora zagubiła przesyłkę! Na moje nieśmiałe pytanie czy to kwalifikuje się na wymianę sztuka za sztukę i czy raczej nie mają zepsutych iPhonów dostałem odpowiedź twierdzącą. Znaczy się dostaniemy nowego iPhone’a jeśli przesyłka nie odnajdzie się przez 7 dni. Ktoś się dobrze zaopiekował naszym zepsutym iPhone’m ponieważ przesyłka się nie znalazała :) Oczekuję właśnie na nowiutkiego iPhone’a, którego sprezentuję Prezesowi na gwiazdkę ;)




    Related Posts with Thumbnails

    © odwiedź stronę http://maciejewski.org po więcej fajnych postów!

    Add your widget here