Latest Entries
koledar terminalsko
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
404 ? table not found
Miza, ki jo natakarji kar predolgo niso našli…
trda povezava ? hardlink !
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.
screen – virtualni terminal
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.
TušMobil – dobrodošel…
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.
PowerBook, pasme G4, išče novega lastnika
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 🙂
Cena: 700 €
kontakt @ simon@zekar.com
skriptna pomoč pri konfiguraciji Cisco opreme
Ž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 ! 😉
ibm x3950 bučka
Spet ena iz družine bučk.
Spet IBM.
Novejši strežnik, IBM x3950.
WTF ! se mi zdi da sem enako sliko videl IBM-ovih 286-kah, zdaj jih pa vidim na večjih strežnikih. Tile IBM fantje so malo rusty…
Aja, server seveda nima floppy-ja 🙂
Slikam ga pa raj ne, grd..