sIMON - 5 Oktober, 2007

ssh na iPhone… da o Apachu, BitchX-u in ostalih stvareh ki jih mogoce nisem pripisoval telefonu ne govorim…

tdolg:~ simon$ ssh root@10.254.254.100
root@10.254.254.100's password:
Last login: Fri Oct 5 10:53:02 2007 from 10.254.254.254
# ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 49 0.7 0.0 274168 1072 p0 Ss 10:53AM 0:00.07 -sh
root 1 0.0 0.0 272956 432 ?? Ss 9:23AM 0:00.53 /sbin/launchd
root 12 0.0 0.0 285564 1488 ?? Ss 9:23AM 0:00.47 /usr/sbin/BTServer
root 13 0.0 0.0 277956 1392 ?? Ss 9:23AM 0:02.92 /System/Library/Frameworks/CoreTelephony.f
root 15 0.0 0.0 325192 21148 ?? Ss 9:23AM 0:51.93 /System/Library/CoreServices/SpringBoard.a
root 16 0.0 0.0 275084 1456 ?? Ss 9:23AM 0:36.49 /usr/sbin/configd
root 17 0.0 0.0 273396 568 ?? Ss 9:23AM 0:00.07 /usr/libexec/crashreporterd
root 18 0.0 0.0 272968 496 ?? Ss 9:23AM 0:00.04 /usr/sbin/cron
root 19 0.0 0.0 284136 1556 ?? Ss 9:23AM 0:01.01 /System/Library/Frameworks/IAP.framework/S
root 20 0.0 0.0 273696 784 ?? Ss 9:23AM 0:01.01 /usr/sbin/mDNSResponder -launchd
root 21 0.0 0.0 275144 1072 ?? Ss 9:23AM 0:01.17 /usr/libexec/lockdownd
root 22 0.0 0.0 274000 436 ?? Ss 9:23AM 0:03.34 /usr/sbin/syslogd
root 23 0.0 0.0 274168 788 ?? Ss 9:23AM 0:00.07 /bin/sh /etc/hackinit.sh
root 24 0.0 0.0 273576 780 ?? Ss 9:23AM 0:00.09 /usr/libexec/ptpd -t usb
root 25 0.0 0.0 289932 2304 ?? Ss 9:23AM 0:06.40 /usr/sbin/mediaserverd
root 26 0.0 0.0 273456 408 ?? Ss 9:23AM 0:00.33 /usr/sbin/notifyd
root 29 0.0 0.0 272904 364 ?? S 9:23AM 0:00.09 /usr/sbin/PXLdaemon
root 30 0.0 0.0 264644 276 ?? S 9:23AM 0:00.25 /usr/sbin/update
root 34 0.0 0.0 302268 5372 ?? S 9:23AM 0:05.06 /Applications/MobilePhone.app/MobilePhone
root 48 0.0 0.0 273276 760 ?? S 10:53AM 0:00.73 /usr/sbin/sshd -i
root 50 0.0 0.0 272872 332 p0 R+ 10:53AM 0:00.02 ps aux

# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/disk0s1 307200 195192 108936 65% /
devfs 18 18 0 100% /dev
/dev/disk0s2 3657400 2809748 847652 77% /private/var

sIMON - 4 Oktober, 2007

Za klicat bo…

iPhone

sIMON - 17 September, 2007

Ucimo se ruby ! Vedno manj…

takle_se_mamo-2.jpg

sIMON - 8 September, 2007

ena hitra, preden odbrzimo na piknik.

# cal
September 2007
S M Tu W Th F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

poskusite tudi

# cal 2007

in

# cal 1 2007

sIMON - 28 Avgust, 2007

Miza, ki jo natakarji kar predolgo niso našli…

404 argentinc

sIMON - 21 Avgust, 2007

Počitnice… pa malo lenobe, pa malo gužve, pa je nastala takšna luknja med objavami…

Je Vini, medtem ko sva reševala svet s hardlinki navrgel pobudo za današnji post.

Torej hardlink na unix datotečnih sistemih, veliko uporabljen, malo poznan, veliko manj kot njegov primitivni sorodnik symlink.

Nekako takole gre: na datotečnem sistemu ima vsaka datoteka svoj unikatni id, reče se mu “inode”.

Direktorijska struktura datotek je tabela, ki ima vnose (imena datotek), ki so kazalci na id-je datotek, torej inode. Ko se mi sprehajamo po tej strukturi datotek in zahtevamo datoteko, sistem preveri v tabeli kateri inode je pod datotečnim imenom, ga poišče po tej številki in servira.

Hardlink je možnost, da v direktorijski strukturi kažeta dve imeni datotek na isti id datoteke / inode.

V praksi:
# vpišemo vrstico "vsebina" v novo datoteko
:~/test simon$ echo vsebina >datoteka

# pregledamo vsebino datoteke
:~/test simon$ cat datoteka
vsebina

# pregledamo vsebino direktorija
:~/test simon$ ls -al
total 8
drwxr-xr-x 3 simon simon 102 Aug 20 23:53 .
drwxr-xr-x 44 simon simon 1496 Aug 20 23:52 ..
-rw-r--r-- 1 simon simon 8 Aug 20 23:53 datoteka

# naredimo hardlink datoteke "datoteka" v novo ime "hardlink"
:~/test simon$ ln datoteka hardlink

# pregledamo vsebino direktorija
:~/test simon$ ls -al
total 16
drwxr-xr-x 4 simon simon 136 Aug 20 23:53 .
drwxr-xr-x 44 simon simon 1496 Aug 20 23:52 ..
-rw-r--r-- 2 simon simon 8 Aug 20 23:53 datoteka
-rw-r--r-- 2 simon simon 8 Aug 20 23:53 hardlink

# pregledamo vsebino datoteke hardlink
:~/test simon$ cat hardlink
vsebina

# zapišemo vrtico "novavsebina" v datoteko hardlink
:~/test simon$ echo novavsebina >hardlink

# jasno se s tem spremeni vsebina druge
:~/test simon$ cat datoteka
novavsebina

# pa še način, da vidimo da datotečna imena kažeta na isti "id datoteke / inode" - prva kolona
:~/test simon$ ls -li
1082466 -rw-r--r-- 2 simon simon 12 Aug 21 00:01 datoteka
1082466 -rw-r--r-- 2 simon simon 12 Aug 21 00:01 hardlink

Zakonitosti hardlinkov:

  • hardlink-ate lahko samo datoteke,
  • hardlink do datoteke lahko postavite samo na isti datotečni sistem (na enak mountpoint), linkanje med diski torej ni mogoče,
  • vsebina datoteke bo iz diska izbrisana takrat, ko nanjo ne bo kazal več nobeden link. Torej ko zbrišete kateregakoli izmed dveh datotek, bo vsebina še vedno v drugi datoteki,
  • število hardlinkov datoteke lahko vidite v drugi koloni ukaza ls (bodite pozorni na primer zgoraj, ko je bila ena datoteka je bilo število hardlinkov 1, nato 2).

Uporabnost ? povsod kjer se enake datoteke pojavljajo v različnih direktorijih

  • pri sistemskih datotekah virtualnih okolij “jail na FreeBSD”, kjer ima vsak jail kopijo celotnega sistema,
  • varnostnih kopijah, pri čemer imamo lahko za vsak dan celotno direktorijsko strukturo strežnika, zares pa bo ena datoteka zasedla samo enkratno velikost.
  • blackbox programi, programi ki znajo opravljati već funkcij, glede na to kakšno ime smo jim dali. (primer /rescue na FreeBSD)
  • razno :-)

Pa primitivni bratec symlink ?

Symlink pa pod datotečno ime zapiše pot do datoteke, na katero kaže, torej samo tekstovni opis kje najdemo datoteko.

Zakonitosti symlinka:

  • symlink-ate lahko direktorije in datoteke,
  • symlink lahko uporabljate med večimi diski / mount pointi,
  • symlink se ne ozira na to, če datoteka na katero kaze obstaja ali ne,
  • datoteka bo iz diska odstranjena, ko odstranimo original, torej datoteko na katero kažejo ostali symlinki.

Kaj uporabiti ? Seveda odvisno od primera, če želite samo malo organizirati datotečno strukturo in imeti ene stvari “pri roki”, bližje, potem symlink.

So pa stvari ki jih symlink ne zna, kot recimo če želite datoteko ki se nahaja v direktoriju do katerega uporabnik načeloma nima dostopa, deliti z njim, potem narediti hardlink v uporabniku viden prostor.

Ko želite, da se dodoteke obnašajo kot datoteke, ko jih želite sinhronizirat z rsyncom itd.

Z Vinijem sva namreč imela primer, pri katerem sva imela organizacijo datotečnih imen po nekem svojem ključu, ki pa, jasno, naročniku ni bil povšeči :-) Rešil je hardlinking, dve popolnoma drugačni ureditvi datotečnih imen, pod njima pa enake datoteke.

Toliko da prelomim ta molk,
kmalu več, noč,
s.

sIMON - 14 Julij, 2007

Verjetno se vam je že zgodilo, da ja kakšen ukaz dlje časa trajal in niste imeli časa / možnosti, da imate za čas trajanja ukaza odprto terminalsko povezavo do strežnika.

Programček screen rešuje ta problem.

Zaženete screen z ukazom screen, potrdite z entrom disclaimer in znajdete se v ukazni lupini, ki se zdaj nahaja “znotraj” screena. Začenete ukaz ki ga želite in ko se izvaja, pritisnete tipke CTRL+A Z, torej stisnete CTRL, ko ga držite pritisnete še A, spustite obedve tipki in pritisnete Z.

dobili boste sporočilo v stilu:

[1]+ Stopped screen

in mirno se lahko odjavite iz sistema.

Ko se kasneje ponovno prijavite v sistem, napišite ukaz: screen -r in screen bo nadaljeval terminalsko sejo, v kateri ste prej zagnali ukaz. Videli boste tudi izpis programa za nazaj.

Še ena luštna… če se tudi prijatelj prijavi v isti sistem z enakim uporabnikom in ste vi v screen-u, lahko izvede screen -x, pri čemer se bo vključil v vašo sejo in gledal kaj počenjate, lahko tudi kaj napisal… Mogoče tudi primerno za kaj komu pokazati…

Če bo interes bom napisal o screenu še kaj več, je namreč tudi odlično orodje za vsakodnevno terminalsko delo, ker nam omogoča preko ene terminalske seje več odprtin lupin v stilu “tab”-ov.

s.

sIMON - 11 Julij, 2007

tusmobil

Pa je med nami, tretji slovenski mobilni operater, TušMobil.

Sliši se dobro :-)

Več kmalu, slikica je čudna, telefon ne zna auto-focusa…

Bo danes ma.tija.cc nardil profi fotko s tapravo mašino.

S.

sIMON - 24 Junij, 2007

Prišel je čas slovesa, dobro si služil…

Torej, *smrk*,

Prodam, PowerBook, G4, 1.5 GHz PowerPC, 768M RAM, CD-RW, 60G disk, bluetooth, AirPort Extreme… International razpored tipk, dodatna slovenska USB tipkovnica. Baterija je nova (stare so bile nevarne in jih je Apple vploklical nazaj), a je malo poskodovana, sem ga malo ruknil… malo :-)

powerbook 1 powerbook 2
powerbook 3
powerbook 4

Cena: 700 €

kontakt @ simon@zekar.com

sIMON - 24 Junij, 2007

Žal starejše verzije Ciscotovega IOS sistema ne poznajo “interface range” ukaza, ki omogoča da več portov konfigurirate naenkrat, zato si je potrebno pomagati drugače.

da bi vsak port konfigurirali ročno, je prezamudno, še posebaj, če imate switch z 48-imi porti.

Pomagate si lahko z enovrstičnico (bash), kot je recimo tale:

i=1; while [ $i -lt 49 ]; do echo "int fast0/$i"; echo "span portfast”; echo “switchport mode access” ; echo “switchport access vlan 934″ ; let i+=1; done;

koda zgoraj bo za vsak port izpisala konfiguracijo, izpis lahko copy-paste-ate v cisco switch in marsikatera minuta vam bo prihranjena. Seveda si kodo preuredite za željeno število portov in seveda za željene ukaze.

Kakorkoli, gre samo za prikaz zanke - štetja v ukazni lupini, kar lahko s pridom uporabljate za veliko stvari.

Ponedeljek je dela prost dan ! ;-)