NetBSD

    3 w 1 IM – ekg2 z jabberem, tlenem i gg

    Wczoraj skompilowałem z drobnymi problemami z libgadu ekg2 i udało mi się uruchomić na nim wszystkie 3 komunikatory. Drobny problem był z tlenem, który po /connect zwracał błąd:

    Unimplemented do: /eval "/session server s1.tlen.pl" "/session port 443" "/connect"

    Jak podpowiadają tak też zrobiłem i po tym zabiegu wszystkie komunikatory radośnie ruszyły :)

    Można mnie więc łapać 24h pod:

    JID: cancer@chrome.pl
    Tlen: errellion@tlen.pl
    GG: 1916391

    Job / Praca

    pkg_comp czyli Bezpieczny update paczek w NetBSD

    Update paczek w NetBSD to temat rzeka, jest kilka programów w samym pkgsrc (pkg_chk, pkgmanager), jednak zawsze wiąże się to z ryzykiem odinstalowania paczki i błędem przy kompilacji (czasem bardzo długotrwałej) nowej. Dlatego też poniżej opiszę moim zdaniem najbezpieczniejszy sposób update’u. Zakładam, że masz działające NetBSD z jakimiś tam paczkami.

    Co nam będzie potrzebne:

    1. pkg_chk
    2. pkg_comp
    3. pkg_tarup
    4. audit-packages
    5. setsy z nasza wersją NetBSD

    Howto:

    1. Instalujemy to co w punktach 1,2,3,4 akapit wyżej w standardowy sposób:

    cd /usr/pkgsrc/pkgtools/pkg_chk && make install clean
    cd /usr/pkgsrc/pkgtools/pkg_comp && make install clean
    cd /usr/pkgsrc/pkgtools/pkg_tarup && make install clean
    cd /usr/pkgsrc/security/audit-packages && make install clean

    2. Sciagamy najnowsze vulnerability-list

    download-vulnerability-list

    3. Tworzymy wzór konfiguracji pkg_comp (domyślnie w $HOME/pkg_comp)

    pkg_comp maketemplate
    pkg_comp: /usr/home/cancer/pkg_comp/default.conf created. Edit the file by hand now.

    4. Domyślne ustawienia w większości są w porządku, odnajdź tylko linijkę DISTRIBDIR=”/var/pub/NetBSD” i zmień scieżkę na taką gdzie będziesz trzymał setsy, ja to wrzucam zaraz obok configa czyli w moim przypadku linijka ta wygląda tak:

    DISTRIBDIR="/usr/home/cancer/pkg_comp"

    Ważne aby katalog nie kończył się slashem i aby w katalogu pkg_comp znajdował się katalog binary (nie sets, ani i386 ani nic podobnego)

    5. Sciagamy z ftp.netbsd.org setsy dla właściwej wersji NetBSD czyli dla currenta np (stan na dzien 28 maja 2007)

    wget -r ftp.netbsd.org/pub/NetBSD-daily/HEAD/200705240000Z/i386/binary/

    Po ściągnięciu robimy porządek (ponieważ w $HOME/pkg_comp będzie cała scieżka do binary a nie sam binary ;)

    6. Jeśli do tej pory wszystko jest dobrze to powinno nam się teraz utworzyć środowisko w którym będziemy budować swoje nowe paczki bez konfliktu z istniejącymi.

    pkg_comp makeroot

    Po tym poleceniu nastąpi utworzenie katalogu w /var/chroot, zostaną tam rozpakowane setsy i zainstalowane podstawowe programy (digest).

    7. Właściwie można by juz teraz zacząć budować paczki, ale przed tym zróbmy backup obecnie zainstalowanych (ostrożności nigdy za wiele)

    cd
    mkdir backup
    cd backup
    pkg_tarup -d ./ \*

    Ostatnie polecenie stworzy nam *.tgz ze wszystkich zainstalowanych w naszym systemie programów w katalogu w którym akurat się znajdujemy.

    8. Sprawdzamy co wymaga update’u…

    pkg_chk -i

    9. … i budujemy nową paczke (załóżmy że będzie to tcsh)

    pkg_comp build shells/tcsh

    Budowa paczki z pkg_comp wygląda mniej więcej tak samo jak instalowanie z pkgsrc z tą różnicą, że dostajemy gotową paczkę *.tgz do zainstalowania przez pkg_add. Gotowe paczki znajdują się w /usr/pkgsrc/packagaes/All.

    10. Update’ujemy tcsh.

    pkg_info | grep tcsh
    cd /usr/pkgsrc/packages/All
    pkg_add -u tcsh.tgz
    pkg_info | grep tcsh

    Oczywiście pierwszą i ostatnia linijkę można pominąć, służą one tylko do pokazania wersji i zweryfikowaniu czy update nam zadziałał. tcsh.tgz również będzie nazywało sie inaczej, ale piszę to z pamięci więc tylko taki przykład :)

    I to by było na tyle, w razie problemów proszę o maila lub można mnie złapać na ircu.

    In English

    My favorite small programs

    Every admin have it’s own collection, here is mine with short description:

    slurm - produces graph of RX and TX speed of interace

    pfqueue - ncurses based program to manage deffered, active, incoming queue of postfix

    xtail - can monitor as many directories and logs as You want

    colorize - it can be attatched to any other command via pipe, I use it mostly with `xtail /var/log | colorize`

    pkg_tarup - I'm using in mainly to create set of actually working packages in case of update failure

    smartmontools - it is not so small and do many things but it does exactly what i need

    uptimed - collects and sends mails of best uptimes and os versions

    mercurial - very very very fast sync of pkgsrc

    I will add some tools when I find something new or remember something i forgot :)

    NetBSD

    pkg_tarup czyli jak stworzyć sobie paczki dla NetBSD

    Co jest najbardziej mozolną pracą kiedy posiadamy kilka serwerów z tą samą wersją systemu? Oczywiście update’y (szczególnie na wolniejszym sprzęcie). Ja wykorzystuję do tego pkg_tarup. Przy jego pomocą można na najszybszej maszynie przygotować wszystkie pakiety a następnie dystrybuować na inne maszyny.

    Tutorial po koleii:

    1. Update’ujemy drzewo pkgsrc (polecam mercurial zamiast cvs’a)
    2. Wykonujemy update za pomocą ulubionego narzędzia (make update, pkg_chk, pkgcomp, etc)
    3. Kiedy mamy już zaktualizowane paczki wydajemy polecenie pkg_tarup -d /sciezka/gdzie/maja/sie/zrobic/paczki \*
    4. Kopiujemy *.tgz na drugą maszynę i instalujemy poprzez pkg_add (uprzednio mozemy zbackupowac poprzednie paczki)

    In English

    NetBSD 4 Release Soon!

    It supposed to be :) As it’s written on netbsd.org:

    Join the NetBSD Hackathon on IRC starting on Monday, May 21st. This hackathon is dedicated to preparing for the upcoming NetBSD 4.0 release. See the hackathon page for details.

    So join and commit as many bugfixes as You can :)

    Fun

    /bin/l ?

    I have one box running NetBSD 4.99.13 i386, I comitted typo `l` instead of `ll` which is default csh alias for ls -la. But then instead of `l: Command not found.` I get complet list of direcotry in long format with colors – just like misc/colorls does :) However after upgradeing box to new version, mysterious /bin/l becomes `l: Command not found.`.

    Add your widget here