<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Simon Žekar - unix, communications, stupidities &#187; hardlink</title>
	<atom:link href="http://simon.zekar.com/tag/hardlink/feed/" rel="self" type="application/rss+xml" />
	<link>http://simon.zekar.com</link>
	<description>"Unix is simple, but it takes a genious to understand the simplicity" --Dennis Ritchie</description>
	<lastBuildDate>Fri, 23 Apr 2010 22:11:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>trda povezava ? hardlink !</title>
		<link>http://simon.zekar.com/2007/08/21/trda-povezava-hardlink/</link>
		<comments>http://simon.zekar.com/2007/08/21/trda-povezava-hardlink/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 22:35:16 +0000</pubDate>
		<dc:creator>sIMON</dc:creator>
				<category><![CDATA[general bluez]]></category>
		<category><![CDATA[hardlink]]></category>

		<guid isPermaLink="false">http://simon.zekar.com/2007/08/21/trda-povezava-hardlink/</guid>
		<description><![CDATA[Počitnice&#8230; pa malo lenobe, pa malo gužve, pa je nastala takšna luknja med objavami&#8230;
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 [...]]]></description>
			<content:encoded><![CDATA[<p>Počitnice&#8230; pa malo lenobe, pa malo gužve, pa je nastala takšna luknja med objavami&#8230;</p>
<p>Je <a href="http://wicked.si/" target="_blank">Vini</a>, medtem ko sva reševala svet s hardlinki navrgel pobudo za današnji post.</p>
<p>Torej hardlink na unix datotečnih sistemih, veliko uporabljen, malo poznan, veliko manj kot njegov primitivni sorodnik symlink.</p>
<p>Nekako takole gre: na datotečnem sistemu ima vsaka datoteka svoj unikatni id, reče se mu &#8220;inode&#8221;.</p>
<p>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.</p>
<p>Hardlink je možnost, da v direktorijski strukturi kažeta dve imeni datotek na isti id datoteke / inode.</p>
<p>V praksi:<br />
<code># vpišemo vrstico "vsebina" v novo datoteko<br />
:~/test simon$ echo vsebina &gt;datoteka</code></p>
<p><code># pregledamo vsebino datoteke<br />
:~/test simon$ cat datoteka<br />
vsebina</code></p>
<p><code># pregledamo vsebino direktorija<br />
:~/test simon$ ls -al<br />
total 8<br />
drwxr-xr-x    3 simon  simon   102 Aug 20 23:53 .<br />
drwxr-xr-x   44 simon  simon  1496 Aug 20 23:52 ..<br />
-rw-r--r--    1 simon  simon     8 Aug 20 23:53 datoteka</code></p>
<p><code># naredimo hardlink datoteke "datoteka" v novo ime "hardlink"<br />
:~/test simon$ ln datoteka hardlink</code></p>
<p><code># pregledamo vsebino direktorija<br />
:~/test simon$ ls -al<br />
total 16<br />
drwxr-xr-x    4 simon  simon   136 Aug 20 23:53 .<br />
drwxr-xr-x   44 simon  simon  1496 Aug 20 23:52 ..<br />
-rw-r--r--    2 simon  simon     8 Aug 20 23:53 datoteka<br />
-rw-r--r--    2 simon  simon     8 Aug 20 23:53 hardlink</code></p>
<p><code># pregledamo vsebino datoteke hardlink<br />
:~/test simon$ cat hardlink<br />
vsebina</code></p>
<p><code># zapišemo vrtico "novavsebina" v datoteko hardlink<br />
:~/test simon$ echo novavsebina &gt;hardlink</code></p>
<p><code># jasno se s tem spremeni vsebina druge<br />
:~/test simon$ cat datoteka<br />
novavsebina</code></p>
<p><code># pa še način, da vidimo da datotečna imena kažeta na isti "id datoteke / inode" - prva kolona<br />
:~/test simon$ ls -li<br />
1082466 -rw-r--r--   2 simon  simon  12 Aug 21 00:01 datoteka<br />
1082466 -rw-r--r--   2 simon  simon  12 Aug 21 00:01 hardlink</code></p>
<p>Zakonitosti hardlinkov:</p>
<ul>
<li>hardlink-ate lahko samo datoteke,</li>
<li>hardlink do datoteke lahko postavite samo na isti datotečni sistem (na enak mountpoint), linkanje med diski torej ni mogoče,</li>
<li>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,</li>
<li>š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).</li>
</ul>
<p>Uporabnost ? povsod kjer se enake datoteke pojavljajo v različnih direktorijih</p>
<ul>
<li>pri sistemskih datotekah virtualnih okolij &#8220;jail na FreeBSD&#8221;, kjer ima vsak jail kopijo celotnega sistema,</li>
<li>varnostnih kopijah, pri čemer imamo lahko za vsak dan celotno direktorijsko strukturo strežnika, zares pa bo ena datoteka zasedla samo enkratno velikost.</li>
<li>blackbox programi,  programi ki znajo opravljati već funkcij, glede na to kakšno ime smo jim dali. (primer /rescue na FreeBSD)</li>
<li>razno <img src='http://simon.zekar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ul>
<p>Pa primitivni bratec symlink ?</p>
<p>Symlink pa pod datotečno ime zapiše pot do datoteke, na katero kaže, torej samo tekstovni opis kje najdemo datoteko.</p>
<p>Zakonitosti symlinka:</p>
<ul>
<li>symlink-ate lahko direktorije in datoteke,</li>
<li>symlink lahko uporabljate med večimi diski / mount pointi,</li>
<li>symlink se ne ozira na to, če datoteka na katero kaze obstaja ali ne,</li>
<li>datoteka bo iz diska odstranjena, ko odstranimo original, torej datoteko na katero kažejo ostali symlinki.</li>
</ul>
<p>Kaj uporabiti ? Seveda odvisno od primera, če želite samo malo organizirati datotečno strukturo in imeti ene stvari &#8220;pri roki&#8221;, bližje, potem symlink.</p>
<p>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.</p>
<p>Ko želite, da se dodoteke obnašajo kot datoteke, ko jih želite sinhronizirat z rsyncom itd.</p>
<p>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 <img src='http://simon.zekar.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Rešil je hardlinking, dve popolnoma drugačni ureditvi datotečnih imen, pod njima pa enake datoteke.</p>
<p>Toliko da prelomim ta molk,<br />
kmalu več, noč,<br />
s.</p>
]]></content:encoded>
			<wfw:commentRss>http://simon.zekar.com/2007/08/21/trda-povezava-hardlink/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
